下拉查看目录

新版 EOS 白皮书,改动了些啥?

赵余 猫说

EosLaoMao 团队除了做好节点应该做好的技术研究,在推广上,看起来没有其他小伙伴那么努力,但这并不意味着 EosLaoMao 只拥有老猫的名望而已,其实,EosLaoMao 的节点竞选过程本身,也让团队在实力上做了更多的积累。


锤子科技有句广告语叫:漂亮得不像实力派!


希望未来可以用这句话来作为对 EosLaoMao 团队的认可。


在下一篇文章中,老猫会告诉大家,为什么把你 30 票当中的一票投给 EosLaoMao,是正确的选择。


以下这篇关于 EOS 白皮书内容变动的文档,本来是 EosLaoMao 的运营 赵余 写出来作为内部分享的,但我建议他将这篇公开,因为,就算节点和节点之间有竞争关系,但社区之间,更加重要的是合作关系,所以,这篇提纲契领的对比文档,贡献给大家。


希望这篇文章对每个关心 EOS 进度的朋友有帮助,也希望竞选节点的小伙伴们都能取得成功。


EOS 新旧版白皮书的变动


赵余:参考了 Syed 的这篇文章,已经获得了他的授权,我做了一些增减。

https://busy.org/@syedjafri/detailed-list-of-changes-made-to-eos-technical-whitepaper


2018 年 3 月 18 日,EOS 的新版白皮书发布:


https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md


对比第一版白皮书,主要的改动如下:


共识算法(Consensus Algorithm)


1、共识算法:BFT-DPoS,即带有拜占庭容错(BFT)机制的委托股权证明 (DPoS)共识算法


2、新块的产生速度加快,由 3 秒一个区块变为 0.5 秒,速度提高了 6 倍。


3、每一轮(即 21 个节点轮流打包一遍,即为一轮)的区块数量也因此从 21 个增加为 126 个(每个节点每次打包 6 个 区块而不是第一版白皮书的 1 个)。


4、21 个区块节点的打包顺序由一套共识算法决定,这个算法规定,这 21 个节点中的至少 15 个节点达成一致,即可以决定打包顺序,其他节点服从该结果。


5、区块节点本身禁止分叉打包,即禁止节点同时在两个分叉链上打包,试图计算最长链。(这个行为被称为是 Double Producing,中文还一时不知道该如何翻译)。EOS 打算通过密码学方法定位这类违规节点,并取消这类节点的打包资格(不再是 Block Producer)。


6、新增的拜占庭容错(BFT)机制,将保证发生在 EOS 主链上的交易在 1 秒之内,就将变为“不可撤销”的状态,秒级的确认成为可能。




账户系统(Account)


1、账户名的最大长度缩短为 12 个字符,原白皮书中账户名的最大长度为 32 字符。


2、支持账户对数据库的并行操作。


3、去掉原白皮书中的将信息响应逻辑(message handlers)分组的功能。


支持并行且执行结果可预期(Deterministic Parallel Execution)


1、首先,并行的支持不会在 6 月份主网上线的时候一起上线,而是随后支持。


2、原有白皮书中关于并行的术语发生了变更,原有的 threads(进程)被换成了 shards(分片),messages(消息) 被换成了 actions(行为)。


3、增加对定时转账(deferred transactions)的支持。定时转账功能有利于运行时间比较久的流程和 dApp 的开发。


4、增加对无上下文行为(Context Free Actions)的支持。这类行为仅仅依赖转账(Transaction)上的数据,不需要状态(State)数据。




代币模型和资源消耗(Token Model and Resource Usage)


1、新增对资源消耗限制(resource usage constraints)的支持,区块节点可以通过插件的方式自定义资源消耗上限。


2、dApp 开发者可以灵活选择资源消耗模型,资源一般指的是带宽、算力和存储。


3、引入社区议案系统(Worker Proposal System),成立 Worker Proposal 基金,EOS token 通胀的一部分收益注入到该基金。议案系统旨在增加社区的活跃度,加速社区的发展。完整的议案系统不会在主网上线的时候一起上线,但 Worker Proposal 基金会和主网一起上线。


治理(Governance)


1、冻结账户需要 21 个节点中的 15 个达成共识。旧版白皮书的规定是至少 17 个节点。


2、对于恶意 dApp,只要 15 个节点达成共识,即可采取替换合约代码等方式进行干预。旧版白皮书的规定是至少 17 个节点。


3、对于源代码和宪法(source code and constitution)的改动,只需要 15 个达成共识,旧版白皮书的规定是至少 17 个节点。

脚本和虚拟机(Scripts & Virtual Machines)


1、引入 通用多索引数据库 API(Generic Multi Index Database API)


2、不再实现原白皮书中对以太坊虚拟机(EVM) 和以太坊 Web Assembly(eWASM)的支持。


链内通信(Inter Blockchain Communication)


1、增加对轻量证明(lightweight proofs)的解释。


2、增进对完整性证明(completeness)的解释。


3、采用类似隔离见证(SegWit)的方式,削减对磁盘的占用。


Many thanks to Syed and his great article: https://busy.org/@syedjafri/detailed-list-of-changes-made-to-eos-technical-whitepaper He is also running for Block Producer with EOS cafe.


注:EosLaoMao 团队成员已经开始最新版的 EOS 白皮书的翻译工作,有兴趣的可以在 Telegram 群里联系管理员 @zhaoyu 参与志愿翻译和校对的工作。


EosLaoMao 官网:http://www.eoslaomao.com


    发送中


    评论