EOS白皮书进行了一次重大升级.....每次改动,不只是团队的成长,也映射了行业的变化。相对于POW共识的公链更加的高效,但是也更加的中心化。此时此地正是区块链市场勃起之时,具有一定的中心化的利益团体来推动,不妨是一个推动技术发展方法和权宜之计。
2018 年3月18日,EOS正式版技术白皮书(中文)EOS (Enterprise Operation System) 为商用分布式应用设计的一款区块链操作系统。
EOS白皮书地址:
https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md
那么,EOS白皮书第二版到底修改了什么?
背景
Blockchain技术源于2008年推出的比特币,自那时以来,企业家和开发人员一直在努力推广该技术,以便在单个块链平台上支持更广泛的应用。
虽然一些通用区块链平台还在努力实现第一个能正常运行的区块链应用,针对特定场景的区块链应用诸如BitShares去中心化交易所(2014)和Steem社交媒体平台(2016)已经成为日活跃用户上万的成功应用。 这两个应用成功的把性能提高到每秒数千个交易,延迟降低到1.5秒,降低交易费用,并实现了与中央服务器方案相似的用户体验。
由于现有的块链平台使用费用高昂,性能有限,阻碍了区块链应用的广泛传播。
区块链应用的要求
成为一个成功的区块链应用平台块,应该需要满足以下要求:
支持百万级别用户,如Ebay,Uber,AirBnB和Facebook这样的应用,需要能够处理数千万日活跃用户的区块链技术。 在某些情况下,应用程序可能无法正常工作,除非达到了大量用户,因此可以处理大量用户数量的平台至关重要。
免费使用
有时候应用开发人员需要灵活的为用户提供免费服务; 用户不必为了使用平台而付出费用。可以免费使用的块链平台自然可能会得到更多的关注。有了足够的用户规模,开发者和企业可以创建对应的盈利模式。
轻松升级和Bug恢复
基于块链的应用程序在进行功能迭代的时候自然需要能支持软件升级。所有软件都有可能受到bug的影响。一个区块链底层平台在遭遇bug的时候,需要能够从bug中修复错误。
低延迟
及时的反馈是良好用户体验的基础。延迟时间如果超过了几秒钟,会大大影响用户体验,严重降低程序的竞争力。
串行性能
有些应用程序由于命令执行必须是顺序的,从而无法用并行算法进行实现。诸如交易所之类的应用经常需要处理大量的串行操作,因此一个成功的区块链架构需要具有强大的串行性能。
并行性能
大规模应用程序需要在多个CPU和计算机之间划分工作负载。
共识算法
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 秒之内,就将变为“不可撤销”的状态,秒级的确认成为可能。
账户系统
1. 账户名的最大长度缩短为 12 个字符,原白皮书中账户名的最大长度为 32 字符。
2. 支持账户对数据库的并行操作。
3. 去掉原白皮书中的将信息响应逻辑(message handlers)分组的功能。
支持并行且执行结果可预期
1. 首先,并行的支持不会在 6 月份主网上线的时候一起上线,而是随后支持。
2. 原有白皮书中关于并行的术语发生了变更,原有的 threads(进程)被换成了 shards(分片),messages(消息) 被换成了 actions(行为)。
3. 增加对定时转账(deferred transactions)的支持。定时转账功能有利于运行时间比较久的流程和 dApp 的开发。
4. 增加对无上下文行为(Context Free Actions)的支持。这类行为仅仅依赖转账(Transaction)上的数据,不需要状态(State)数据。
代币模型和资源消耗
1. 新增对资源消耗限制(resource usage constraints)的支持,区块节点可以通过插件的方式自定义资源消耗上限。
2. DApp 开发者可以灵活选择资源消耗模型,资源一般指的是带宽、算力和存储。
3. 引入社区议案系统(Worker Proposal System),成立 Worker Proposal 基金,EOS token 通胀的一部分收益注入到该基金。议案系统旨在增加社区的活跃度,加速社区的发展。完整的议案系统不会在主网上线的时候一起上线,但 Worker Proposal 基金会和主网一起上线。
治理
1. 冻结账户需要 21 个节点中的 15 个达成共识。旧版白皮书的规定是至少 17 个节点。
2. 对于恶意 dApp,只要 15 个节点达成共识,即可采取替换合约代码等方式进行干预。旧版白皮书的规定是至少 17 个节点。
3. 对于源代码和宪法(source code and constitution)的改动,只需要 15 个达成共识,旧版白皮书的规定是至少 17 个节点。
脚本和虚拟机
1. 引入 通用多索引数据库 API(Generic Multi Index Database API)。
2. 不再实现原白皮书中对以太坊虚拟机(EVM) 和以太坊 Web Assembly(eWASM)的支持。
链内通信
1. 增加对轻量证明(lightweight proofs)的解释。
2. 增进对完整性证明(completeness)的解释。
3. 采用类似隔离见证(SegWit)的方式,削减对磁盘的占用。
过去二十年中国无数次冲击操作系统的经验告诉我们。操作系统不难做,经营操作系统的生态才难。PC时代我们已经有数个操作系统因为生态的匮乏而无疾而终。互联网时代,无论存储和计算我们都可以摆脱本地的限制。我们是否还有机会,再次冲击操作系统的桂冠?