原文地址:https://medium.com/eosio/eosio-dawn-4-0-release-b25661a49ac2
作者|Daniel Larimer
日期|5月12日
翻译|EOS原力
队长点评
EOSIO Dawn 4.0版本在5月12日正式发布,作为EOSIO 1.0发布前的最后一个测试版本,Dawn 4.0有什么样的更新和内容?
队长已经把原文翻译成中文给老铁们浏览了。EOSIO 1.0版本将会在6月份的第一个星期内发布,算下来也只剩20多天的时间了,拭目以待吧。
上一周我们介绍了EOSIO Dawn 4.0,今天我们非常自豪能为大家带来新的EOSIO预发布版本。在过去的一周里发生了许多事情!
Dawn 4.0 RAM分配的反馈
有些社区成员在担心有些人可能会在别人不能上链之前就先买到便宜的RAM资源,从而获得不合理的利润。
为了缓解这种情况,我们建议启动链的团队在一开始只提供非常有限的RAM资源,然后在接下来的几个月里逐步增加RAM供应。
如果RAM的供应量从32GB开始,然后在几个月内增长到1TB,那么内存的价格可能会随着时间的推移而迅速下降到最初定价的3%。
只有那些真正需要RAM或者在出价时考虑到未来的RAM供应量的人才会购买初始RAM。不管怎样,没有人能得到“廉价”的RAM或“免费利润”。
测试网络状态
我们在欧洲,亚洲和美国拥有节点的内部测试网络一直运行良好,没有出现重大问题。
主观CPU资源使用
在过去的几个月里,我们一直在测试客观CPU计费。客观计费试着以确定性的方式来计算交易中使用到的多个CPU指令。这样就可以确保大家对交易消耗的资源有完全的和明确的共识。而这也是大部分智能合约平台所使用的方法。
一年前我们介绍EOSIO的时候,我们提出了主观调度的用法。在这种模式下,每个超级节点将计算执行交易所花费的wall-clock时间并根据这些时间向用户收费。为了维持对使用情况的一致性,超级节点要向交易报告其计费时所花的微秒数。
虽然客观计费可以很好地避免计费纠纷和简化共识,但它存在以下几个缺点,这导致我们最终决定使用主观计费的方式:
1)客观CPU测量因为引入了额外的账本,降低性能。
2)任何时候当一个行为的实际成本与其目标近似值之间存在不一致时,客观CPU测量会引入攻击和拒绝服务向量。
3)客观CPU测量难以维护,升级和优化。
主观计费自身也存在一些挑战,特别是在共识系统方面。幸运的是,我们找到了新的解决方案来使其变得具有实用性。其中一些挑战包括:
1)需要相信超级节点能准确地报告使用情况。
2)解决超级节点之间的意见分歧(由硬件/软件/负载引起)。
3)处理恶意超级节点。
在DPOS机制下,超级节点被预期成为具有履行合同义务和给恶意行为施以法律后果的公共实体(类似法院)。也在预期内的是,所有21个活跃的超级节点都会得到选择它们的社区的高度认可。
基于此,我们可以将一个信任元素放在所有这些元素上,来充当cpu运行时间,而不是谎骗交易需要多长时间运行。这意味着在正常运行条件下,我们可以相信所报告的运行时间处于一个合理无法范围和所有超级节点的平均运行时间内。
一些批评者可能会指出,单个的恶意超级节点可以构建一个无限循环的块,并报告它未花费时间。为了防止这种情况,所有节点要为所有区块设置一个几秒钟的运行时间上限;
然而,即使有上限,(恶意的超级节点)也可能会导致网络中断。一个聪明的恶意超级节点可能会构建一个块,使得50%的节点接受它并且50%拒绝它,并因此分割网络。
我们团队已经分析了这些攻击媒介,并认识到运行时间非常长的块与网络延迟或中断很长时间没有区别。
在实际网络分叉中强健的任何一致性算法,在面对其他主观事物时也应该是稳健的。由于带有BFT的DPOS机制可以抵挡网络分叉(例如,如果美国和中国暂时与更广泛的互联网断开连接),它可以在存在恶意超级节点的情况下继续运行。
有几种超级节点可以减少网络分叉可能性的方法,无论原因是切割大西洋的光缆还是恶意超级节点,都有相同的方法。
1、维护多个连接
采用这种方法,如果跨大西洋的连接被切断,那么超级节点会将数据包发送过太平洋。说到验证块,超级节点应该有多个验证节点,并且从来没有两个节点试图验证同一个块。
在最极端的情况下,每个超级节点可以有专门的节点来处理来自每个同伴生产者的传入块。如果一个超级节点用无限循环堵塞他们的验证通道,那么来自其他超级节点的块仍然可以通过他们独立的和冗余的通道。
一旦不可逆块号移过恶意块的块号(具有无限循环的块号),该节点可以强制块处理终止并退出。这将需要2/3以上的超级节点才能成为拜占庭不断推进的共识。
2、维修或路线周围的损害
在切断其中一个光纤时,并不总是可以准备好接管多个光纤。在这种情况下,可以派遣一个小组来修理损坏的电缆并恢复连接。这可能需要更长的时间,但最终连接返回并且网络恢复达成共识,只不过要经历一段停机时间。
当涉及到一个恶意的超级节点作恶时,其他超级节点可以简单地更新他们的配置,将恶意超级节点列入黑名单,然后网络将恢复正常操作。
将恶意超级节点列入黑名单的过程甚至可以在他们观察到运行时间不合理的块时自动执行。最坏的情况是一个恶意超级节点在禁区边缘制作一个区块,这样只会导致一半超级节点将他列入黑名单。
在所有上述情况下,依靠最后一个不可逆转块来确定终结点的用户是免于双重支出攻击的,并且网络经历的“停机时间”可能小于人们从他们的功率经历的典型“停机时间”公司或ISP。
我们认为,DPOS的治理流程和激励措施使得导致短期停机的恶意行为的概率低于导致所有区块链平台停机的互联网连接问题的可能性。至少在DPOS用户可以安然无知地在重新连接之后解开的少数连锁店。通过工作链的证明,网络分叉可能会导致对只依靠固定数量确认的人进行双重支出攻击。
系统合约更新
'eosio.system'合同是提供给超级节点注册,投票,放样和资源分配的实施方式。我们团队一直致力于提供社区在创建链时可能会选择采用的参考实施。在此版本中,系统合同已进行了包含以下内容的更新:
没有人可以解锁,直到1.5亿TOKENS投票给至少一个超级节点或代理人。
如果一条连希望将10%的TOKENS分配给Block.one,这条链会将解锁速率限制在每年1%以内。
黑客帐户恢复和丢失的密码恢复
我们团队创建了一种使几乎所有事情都可以在Web Assembly中实现的新方法来恢复被黑的帐户和丢失的密码。我们添加了一个返回上次权限级别由帐户授权的情况的新的内部API。
通过这些信息,智能合约现在可以实施执行30天不活动所需的逻辑,然后在完成Web Assembly的重设完全丢失的密码之前提前7天通知。
我们删除了3个硬编码的动作处理程序,消除了潜在的错误,并可以稍后使用软更新轻松进行增强。丢失密码恢复的一个或多个实现可以在1.0发布之后作为单独的智能合约来提供。
Github上已经可用
EOSIO Dawn 4.0现在可在GitHub上使用,因此开发人员可以开始测试他们的应用程序。
我们团队在全天候工作,以在6月的第一周为市场带来稳定的EOSIO 1.0。这个初始版本将具备让任何人创建自己的基于EOSIO的区块链所需的一切。
我们实施了“功能冻结”,接下来的几周将致力于运行和测试内部测试网络并修复发现的错误。我们的目标是确保最关键的功能坚如磐石。
在EOSIO 1.0之后,我们将继续增强EOSIO软件的非分支变化,这将实现大量的可用性和基础设施改进。
免责声明
Block.one是一家软件公司,正在生产EOSIO软件作为免费的开源软件。除此之外,该软件还可以使那些部署它的人启动区块链或具有各种功能的分散式应用程序。欲了解更多信息,请访问https://github.com/eosio 。
block.one不会为任何想成为任何可能采用或实施的EOSIO平台版本的块生产商提供财务支持。
Block.one将不会启动任何基于EOSIO软件的初始公共区块链。这将是第三方,社区和/或那些希望成为超级生产者的人员以他们选择的方式采用和实施EOSIO以及他们选择的功能和/或提供他们选择的服务的唯一责任。
Block.one不保证任何人将采用或实施此类功能或提供此类服务,也不保证EOSIO软件将以任何方式被采用和实施。
Block.one不认可任何第三方或其产品或服务,即使在此提及。Block.one不负责任何链接的内容。
请注意,此文档只是Block.one的愿景的表达,不是在做任何保证。尽管我们会尽力实现这一愿景,但Block.one可自行决定在所有方面对其进行更改。我们称之为“前瞻性陈述”,其中包括本文件中的所有陈述,但历史事实陈述除外,如有关Block.one业务战略、计划、前景、发展和目标的陈述。
这些陈述仅仅是一种假定,反映了Block.one当前的信心和对未来的预期,但这些基于假设的陈述也随时受到风险,不确定性和变化的影响。
我们在瞬息万变的环境中运作,新的风险时不时就会出现。鉴于这些风险和不确定性,你被告诫不要完全信赖这些前瞻性陈述。因为实际的结果和表现可能与前瞻性陈述中包含的内容大不相同。
可能导致实际结果与前瞻性陈述存在重大差异的一些因素包括但不限于:市场波动性; 资金,融资和人员的持续可用性; 产品验收; 任何新产品或技术的商业成功; 竞争; 政府法规和法律; 和一般经济,市场或商业条件。
所有陈述仅代表首次发布日期,Block.one不承担任何义务,并明确表示不承担更新或更改任何陈述的义务,无论是由于新信息,后续事件还是其他原因。 本文没有任何内容构成技术,财务,投资,法律或其他建议,无论是一般的还是任何特定的情况或实施。在实施或利用本文档中包含的任何内容之前,请咨询相应领域的专家。
本文表达的观点和信息仅为作者的观点和信息,并不一定反映Block.one或Block.one的任何其他员工的立场,观点或建议。
欢迎加入EOS原力社区
入群方式:
添加原力队长微信
公众号后台菜单栏
电报群
https://t.me/eosforce01
关注公众号
后台回复“教程”,参与EOS超级节点链上投票
后台回复“测试结果”,获取EOSeoul测试报告
后台回复“超级节点”,获取最全竞选节点信息
后台回复“视频”,获取EOS相关视频
后台回复“白皮书”,获取EOS白皮书全集
后台回复“华为”,获取华为白皮书
后台回复“映射”,获取EOS映射分析报告
推荐阅读
网友评论