BM介绍EOSIO最新版本Dawn 4.0

EOShelloEOS2018-05-10 14:42:30  阅读 -评论 0  阅读原文

BM在5月5日于Medium上发布文章,从10个方面介绍了EOS最新版本——EOSIO Dawn4.0。

作者:Daniel Larimer

翻译:IMEOS

距离 block.one 发布 EOSIO Dawn 3.0已经一个月了。 在过去的一个月里,我们的团队一直专注在EOSIO软件的优化和稳定性,这其中很大一部分工作是在证明链间通信的可行性。

不将merge操作计算在内,共有43位开发者提交818个commit到项目的github仓库。 这让EOSIO成为过去一个月中github中最活跃的8个C++项目之一。 正如你所看到的,许多事情正在发生。

BM介绍EOSIO最新版本Dawn 4.0

时间一致性|Now is now Now

EOSIO Dawn 4.0最大的变化之一是我们已将当前时间的定义从"头块的时间"改为"当前区块的时间"。 这种变化使得大量包含时间操作的案例可以在存在缺失区块的情况下执行,并且更精确地计算智能合约的运行时间。

新的内存分配模型|RAM Allocation Model

测试中我们发现了EOSIO系统合同分配RAM(数据库空间)的方式会导致未来资源的短缺。我们改用了一种基于市场的分配方法,使用Bancor算法。

我们的计算表明,如果1TB RAM按比例分配给token持有者,那么每字节的成本将是0.018美元(假设每个token20美元)。事实上,大多数token持有者实际上并不需要使用他们可能拥有的RAM;因此,我们最初对RAM的定价是每字节0.000018美元(假设每个token20美元)。创建一个新帐户需要大约4KB的RAM,这意味着将花费约0.10美元。随着RAM被分配,价格会自动增加,这样在系统耗尽RAM之前价格就会接近无穷大。

在Dawn 3.0系统合约中,您只能以您支付的价格出售RAM。 目的是抑制囤积和投机。 这种方法的缺点那些廉价购买RAM的人在RAM变得更紧缺后,没有为其他用户腾出RAM的经济激励。在Dawn 4.0之下,系统合约现在以当前市场价格购买和销售RAM分配。 这可能会导致交易商在预计明天可能出现短缺的情况下购买RAM。 总的来说,这将导致市场随着时间的推移平衡RAM的供需。

随着时间的推移,摩尔定律将允许超级节点升级到4TB甚至16TB的内存,并且这种供应增长将逐渐降低EOSIO RAM市场价格。

对智能合约开发者的影响|Implications for Smart Contract Developers

作为一名智能合约开发者,RAM是一项宝贵的资源,数据库记录需要消耗RAM。考虑到RAM的成本,将存储在内存数据库中的数据量减到最小,并且设定你的应用程序在用户使用完后释放RAM将是非常重要的。例如,Steem仅在RAM中存储了1周的内容,因此总体的量大小不会随着时间增长而增长。

尽量遏制投机|Minimizing Speculation

那么现在形成了一个RAM市场,投机者或许想要利用RAM价格的波动性获取盈利。而 EOSIO 系统合约设定RAM不可转让,并收取1%的交易费用。这笔费用的结果是通过将其退出市场来抵消Token 的自然通货膨胀。如果RAM的年度交易量等于 Token 供应量,则所有块生产者奖励的100%将由 RAM 市场费用支付。

链间通信兴起|The Rise of Inter Blockchain Communication

高性能区块链需要RAM中的所有数据,因为访问磁盘的时间会使事务吞吐量迅速下降到几百TPS。 为了扩展RAM使用量,我们需要在独立硬件上运行独立内存区域的多个链。

EOSIO区块生产者可以运行许多不同的链,它们都使用相同的token来购买RAM和持有带宽。超级节点选举将在主链上进行,所有相关的侧链将由同一组超级节点维护。 每个链可以拥有1 TB以上的RAM,DAPP可以在链间发送消息,仅需几秒钟的延迟。

RAM的价格在所有的链上都会有所不同,这会告诉DAPP开发者哪里运行起来最便宜。

并行链的发展|Roadmap for Parallelism

链间通信(IBC)涉及到两条链的merkle证明验证,这些证明大小在1KB以上,还涉及数十个密码散列函数以及15个以上的签名验证。换句话说,验证来自另一个链的消息的成本比验证正常事务的成本高出大约15到30倍。

幸运的是,验证这些证明很容易并行化,因为它们不依赖于区块链状态。一条链仅仅只处理来自其他链的消息就很轻易需要消耗30核CPU,同时只能维持几千TPS。

我们相信,通过链间通信的扩展,几乎可以释放无限的性能扩展潜能。这种方法同时扩展RAM、网络和CPU。考虑到签名验证、无上下文操作验证和IBC证明已经满足了大多数CPU的高单线程吞吐量,对多线程WASM执行的优化可能会受到其他资源限制的阻碍。

在EOSIO Dawn 3.0下,我们围绕未来多线程WASM执行的潜力做出了许多设计决策。不幸的是,在您真正实现一个完整的多线程实现之前,不可能知道我们是否涵盖了所有的个例。这意味着EOSIO Dawn 3.0具有许多架构复杂性,而这些复杂性并没有立即带来任何好处。

我们现在认为,从单线程升级到多线程执行的途径是启动一个具有多线程支持的新链,由相同的区块生产者运行,并使用相同的本地token。这使得新链可以完全自由地进行必要的设计调整,以支持多线程操作,而无需对现有活跃链进行就地升级。

通过这个并行性路线图,我们可以简化EOSIO 1.0并优化它以实现最高的单线程性能和易于开发。 我们预计EOSIO的单线程版本有一天可能达到5,000-10,000 TPS。 我们也预计,许多应用程序将更倾向于多链方法来扩展,因为它会降低总体成本并加快扩展。

DPOS不可逆确认算法|Upgrade DPOS Last Irreversible Block Algorithm

参与过共识算法讨论的人可能听说过,使用最后一个不可逆块(LIB)算法(如 Steem&BitShares 中存在的算法)的DPOS在某些极端网络连接中断时有可能失去共识。在过去,由于其纯粹的理论性质以及相对最低的成本和停机时间,我已经驳回了这种潜在的失败模式。LIB算法只是一个度量标准,就像比特币的6区块规则。纯粹的DPOS总是依赖最长链规则,这将永远达到最终的一致。LIB算法是一种捷径,旨在优化还原历史并为交易提供可信度度量。

EOSIO的IBC算法依赖于DPOS LIB以确定最终结果。一旦你引入IBC,与LIB失败相关的成本和修复它的难度都会变高。我们的团队,特别是 Bart 和 Arhag,对LIB算法进行了优化改进,以保证不超过其中的1/3是拜占庭式的时,两个节点不可能达到不同的LIB。此外,有可能检测单个对等体的拜占庭行为。关于此的更多信息见:https://github.com/EOSIO/eos/issues/2718

特币以太坊区块的缺限导致区块链与传统链之间的沟通困难和/或非常高的延迟。对DPOS的新调整将其带到全新的拜占庭容错水平,并且在所有网络环境中都具有强大的可靠性。

账户命名|Name Squatting

一些用户对EOSIO帐户上的12个字符名称限制表示担忧。 这12个字符名称是从64位整数的base-32编码派生的。 64位整数是本地机器字大小,因此非常有效。 在一个事务中,我们多次引用帐户名(代码,范围,权限等),而我们的数据库索引也是以这些64位整数为基础的。 增加帐户名称的长度将对性能和架构产生深远影响。

也就是说,我们关于区块链的愿景是将帐户的概念与身份分开,并在帐户名称和更易读的显示名称之间建立动态链上映射。

最好将帐户名称视为牌照,用户可以选择容易记住的个性名称。也就是说,绝大多数人应该能够找到一个有吸引力的12个字符(或更少)的名字。

由于某些名称潜在的高价值,我们认为EOSIO系统应为帐户名称提供动态定价模式。 此外,诸如* .com之类的命名空间帐户的能力可以为用户或者群体提供额外的安全保护。

由于从现在到EOSIO软件1.0版的开发时间有限,我们将建议所有帐户名都强制为12个字符,而不包含任何"."字符。一旦确定了可行的定价和反名称抢占政策,社区就可以升级系统合约(不是通过硬分叉)。我们可能会提供一个类似于Bitshare的模式,其中帐户名的定价是根据长度和字符内容。

块头验证|Header-Only Validation

在Steem, BitShares和 EOS Dawn 3.0以及更早的版本中,如果不使用整个区块是不能验证区块头的。在EOS Dawn 4.0中,我们支持了只需要对区块头进行验证。这个功能是轻客户端和链间通信的基础,同时还可以阻止一系列攻击媒介,同时无需等待每个节点进行全节点验证的情况下,区块数据也可以在网络中传播。

用于高频通信的链间通信的最简单的形式需要轻客户端处理所有头信息,然后用户提供与已知区块相关行为的最简单的merkle证明。

区块重构和应用结构|Refactored Block Building & Applying Architecture

我们花费了大量时间来优化区块构建和应用的过程。在新的模型中,区块由应用于该区块的API序列创建。这样做保证了遵循相同的代码路径,并且能够最小化生产者和验证者在确认是否有效时发生不一致性的可能。这次优化让应用区块的过程相当于是重新执行了生产者的脚本。

轻量级BP调度变化证明|Lightweight Producer Schedule Change Proofs

在我们实施IBC概念验证时,我们意识到Dawn 3.0有一些极端情况,在这些情况下简单的签名证明是不可能的。我们希望尽可能简化轻量级稀疏头验证,这需要对区块的签名方式进行重构。

BM介绍EOSIO最新版本Dawn 4.0
1.生产者调度链可独立进行块头验证
2.每个区块头引用调度版本
3.如果没有签署调度变更证明,就不可能生产区块
4.轻客户端和IBC合约只能处理生产者调度变更

使用EOSIO Dawn 4.0 现在可以验证生产者调度的更改,而无需验证任何区块头。当一个生产者签署一个区块时,他们也签署新的调度,这样就不可能出现两者相互竞争和有效签署的生产者调度,而没有⅔以上生产者的共同勾结或者⅓以上在非常差的网络分离中勾结

新的节点报酬范例|New Producer Pay Paradigm

BM介绍EOSIO最新版本Dawn 4.0

关于节点收益的社区讨论以及如何分配最高5%的通货膨胀问题已经有很多。EOSIO 1.0中发布的参考系统合同将像这样分配通货膨胀:

有21个活跃生产节点和任意数量的备选节点。排名前21节点按区块数量每块奖励分成0.25%。所有BP候选人(包括前21名)也将按照他们收到的总票数,以每票0.75%的比例提成。他们最多可以每天一次要求获得每票收益的份额。为了要求他们的份额,他们必须有资格获得至少每天100个token。如果没有资格,那么他们将不会收到任何费用。

该算法背后的思想是确保所有候选生产者有足够的收益为社区提供全面节点服务,并确保没有人能够接受不足以支付其成本的资金。假设前200名生产者候选人都获得相同数量的选票,这将支持21名活跃生产者和179名备用生产者。实际上,一些BP会比其他人拥有更多的选票,这可能会减少达到收益资格的备选BP的数量。设定每日收益最低限额是至关重要的,因为那些无意生产区块的富裕人士不能试图通过为自己投票成为BP候选人来获益。

投票权重衰减|Producer Vote Decay

自Dawn 3.0以来,我们所做的大部分工作都涉及调整系统合约。 其中一项调整是实施投票衰减。 为了保持最大的投票影响力,每个选民必须每周重新投票。 对于那些不更新其选票的人来说,其投票影响力会衰退,而且半衰期为1年。

我们建议宪法规定禁止使用自动投票机器人,因为投票衰减政策的目的是确保选民重新评估他们的决定,而不是"设定然后忘记"。 虽然无法证明使用机器人,但可以证明人们不使用智能合约进行自动投票。

集成交易所合约|Exchange Integration Support

随着EOSIO 1.0版本的临近发布,很多人都在要求我们提供有关交易所如何监控EOSIO区块链接收存款,以及确认其外部撤回被接受并不可逆转地确认的信息。 我们已经创建了一个使用cleos(我们的命令行eosio界面)来监视链上交易的教程。 我们还创建了一个python脚本的验证来监视存款和提款。 通过本教程和示例脚本,交易所就可以让一切所需的基于EOSIO的区块链集成开始工作了。

EOSIO Dawn 4.0的可用性|Availability of EOSIO Dawn 4.0

EOSIO Dawn 4.0代码的开发工作正在Github上进行。 我们将在2018年5月11日正式将其发布。届时,我们会将slim移到master分支上,掌握并打一个版本标签。 希望继续使用最新版本的开发人员可以继续关注slim分支。

总结|Conclusion

今年6月,EOSIO软件正朝着强劲的1.0版本迈进。 使用Dawn 4.0后,代码已经被显著优化,我们比以往更加自信。

在下一期,我们邀请了EOS New York接受我们的采访,扫描下方微博话题的二维码,可参与我们的提问。

= END =

转载声明:本文转载自「IMEOS」,搜索「IMEOSONE」即可关注。


声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们100@7234.cn

参与讨论 (0 人参与讨论)

相关推荐

仲裁冻结黑客账户:EOS向左转,还是向右转?

仲裁冻结黑客账户:EOS向左转,还是向右转?

7月21日,一款名叫狼人游戏的FOMO游戏在EOS上出现了。这款游戏一经推出就大受欢迎,在短短数小时内积累了十万多EOS。但是很快,这个游戏就被发现存在两个重大问题:该游戏会修改玩家的账户权限,导致用户资产可以被随意支配、控制;该游戏智能合约存在整型溢出漏洞,智能合约内部数据可能会损坏。果然很快就出问题了,账户名称为eosfomoplay1的攻击者对该游戏进行攻击,并成功提现了60686.4190

“EOS和他的朋友们”杭州之约,等你来!

“EOS和他的朋友们”杭州之约,等你来!

EOS 主网已经上线一月有余,之前吹了一年的"牛逼"终于在 EOS 全球社区的共同努力下变成了实实在在跑起来的"区块链操作系统"。这是一块摆在我们面前亟待开发的新大陆,充满机会。就像上个世纪70年代互联网刚刚兴起,我们并不知道日后会出现谷歌、腾讯、阿里这样的互联网商业帝国。此时此刻我们也不知道谁能够凭借 EOS 创造出区块链世界中的谷歌、腾讯、阿里。我们唯一能做的就是了解并参与。区块链的核心是共识

LUBANSO带你了解,身在币圈不得不知十大货种

LUBANSO带你了解,身在币圈不得不知十大货种

币圈一日,人间一年,短短八个字却是币圈真实的写照,在大环境的趋势下,项目层出不穷,走势狂涨暴跌,不少投资者连项目是什么都不知道,就盲目跟投,引发了大量的空气币泡沫市场,下面LUBANSO来推荐几个"正常"的加密货币。不管是你收割者还新韭菜,身在币圈不得不知的十大加密货币NO.1、比特币(BTC)最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。点对点的传输意

区块链硬件钱包遭秒破解,LUBANSO来救场?

区块链硬件钱包遭秒破解,LUBANSO来救场?

硬件钱包是目前来说最为安全可靠的数字资产存储媒介,可以就是这么安全一说的硬件钱包,在7月21日召开的"看雪·2018,安全开发者峰会"上,来自安全网络企业知道创宇先进技术部总监、404实验室成员胡铭德胡总监,分分钟把目前号称主流应用的国内外硬件钱包破解了个遍。着实让人大跌眼镜,说好的安全呢?用胡总监的话来讲,如果硬件厂商没有以安全人员的角度深度研发安全性的话,必将留下严重的安全隐患。据知道创宇前不

拨开迷人眼的表象,分析各大钱包优缺点

拨开迷人眼的表象,分析各大钱包优缺点

区块链技术以迅雷不及掩耳之势改变着生产力的解放与崛起,推动者全球生产关系和交换机制的变革。从区块链1.0到区块链3.0,愈发成熟的技术已走出空中楼阁的概念阶段,它将与更多行业产生紧密关联,越来越多的用户享受到区块链技术所带来的成果与价值。数字时代的钱包:无现金,无卡交易,数字资产存储多重合一。钱包作为数字货币资产安全储存的重要媒介,越来越受到重视。据了解,目前全球钱包生产商已超百家,中国大概就有多

比特币有什么缺点?

1.交易平台的脆弱性。比特币网络很健壮,但比特币交易平台很脆弱。交易平台通常是一个网站,而网站会遭到黑客攻击,或者遭到主管部门的关闭。2.交易确认时间长。比特币钱包初次安装时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。3.价格波动极大。由于大量炒家介入,导致比特币兑换现金的价格如过山车一般起伏。使得比

业务中使用区块链的四种方式

业务中使用区块链的四种方式

暴走时评:区块链是一种支持像比特币这样的数字货币的公共分类帐本,并且正改变着我们的业务方式。一旦那些对匿名交易,甚至是秘密交易感兴趣的人接纳了这样一种鲜为人知的工具,加密货币就会日趋成为主流。 区块链是一种支持像比特币这样的数字货币的公共分类帐本,并且正改变着我们的业务方式。一旦那些对匿名交易,甚至是秘密交易感兴趣的人接纳了这样一种鲜为人知的工具,加密货币就会日趋成为主流。越来越多的个人和企

区块链:法定数字货币技术路线的必然选择

区块链:法定数字货币技术路线的必然选择

在人类发展史上,货币的进化从未停止。从物物交换,到金属铸币,再到纸质货币,以及当前正在发展的数字货币正在向着越来越便捷的方向进化。 比特币的出世起初并未带来轰动,但是最近几年其价格惊人的爬高创造出了一个个造富神话,引起各国政府及监管机构的关注。虽然金融专家普遍认为它只是一种资产,而非货币,但是,其背后的区块链(Blockchain)技术引起了包括各大金融机构、政府、企业及学术界的浓厚兴趣,未

麦妖榜
更新日期 2018-08-14
排名用户贡献值
1六叶树19432
2BitettFan17753
3等待的宿命16198
4天下无双15330
5让时间淡忘14211
6lizhen00214067
7冷风大q11188
8Butterfly10433
9momo10085
10区块大康9540
返回顶部 ↑