首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

系列:EOS技术白皮书V2.0中文版(2)

版权声明:本文为戴德文首发于微信公众号【区块链践行录】,未经授权,不得转载。

声明:此译文仅供英语学习者或区块链学习者交流、学习使用,不可作为任何商业活动或投资行为的依据,因此导致的任何损失与本文译者无关。文章内容如有纰漏、误译之处,请最终以英文原版为准。

共识算法(BFT-DPOS)

EOS.IO软件利用了只有已知的去中心化共识算法,委托权益证明(DPOS),后者已被证明有能力满足区块链应用程序的性能表现。基于此算法,那些拥有采用EOS.IO软件的区块链的token的人,可以通过一个持续的认可的投票系统选出区块产生者(block producers)。任何人都可以选择参与区块的生产,任何人都被给予机会以产出区块,他们还能劝说token持有者为自己投票。

EOS.IO软件能够使区块精确到每0.5秒钟就被生产出来,精确到一个区块产出者被授权在任何已知点及时产出区块。若区块未在预定时间被生产出来,那么那个时隙的区块就会被跳过。当一个或更多区块被跳过时,区块链上便会存在一个0.5秒或更多秒的时间间隙。

使用EOS.IO软件,区块以126(21个生产节点,每个节点6个区块)为一轮被打包生产。初始的21个独一无二的区块生产节点,是由EOS token持有者投票选举出来。被选中的区块生产者是基于15个或更多个生产者商定的顺序进行安排的。

若一个区块生产者错过了一个区块,且在过去24小时均未处理任何区块,这样的生产者将被考虑清单中移除,直至它们告知区块链它们重新开始处理区块的意向。通过最小化由被证明是不可信赖的生产者所忽略的区块数量,从而确保网络的流畅运行。

在通常情况下,一个基于DPOS(共识算法)的区块链是不会经历分叉的,因为这些区块处理节点是在一起合作而非完成区块的打包处理。如果出现分叉,共识算法将会自动切换至最长的链。这种方式之所以有效,是因为区块被加入分叉链上的比率,是与共享此相同算法的区块链生产者的百分比直接相关的。换言之,一个拥有更多生产者区块链将会比只有少量生产者的区块链,在长度上增长更快,因为前者忽略的区块将会更少。

此外,一个区块生产者不应该同时在两条分叉链上处理区块。被发现有此行为者,很可能会被投票出局。诸如重复生产(double-production)的加密证据也会被用来自动移除作恶者(abusers)。

在传统的DPOS算法中,只要没有生产者用相同的时间戳或相同的区块高度登记两个区块,允许所有生产者登记所有的区块,通过这种方法,拜占庭容错机制被引入其中。一旦15个区块生产者已经登记了一个区块,这个区块就会被视为不可逆的。任何拜占庭生产者将会被迫生成一个加密证据,以证明它们通过使用相同时间戳或区块高度登记两个区块的谋-反的行为。在此种模型中,一种不可逆的共识应该在1秒内达成。

交易确认

传统的基于DPOS算法的区块链有100%的区块生产者参与。一笔交易应该在自广播时间起平均0.25秒之后得到99.9%的确认。

除了DPOS,EOS.IO加入了异步拜占庭容错算法(aBFT),以更快地实现不可逆性。此算法在1秒内提供100%的不可逆性的确认。

作为权益证明的交易

EOS.IO软件要求每一笔交易都要包含部分当前区块头的哈希值。后者主要有两个目的:

1、 预防在未含相关区块的分叉链上的一笔交易的一次重播;

2.、向释放一种信号,告知个别用户和他们的资产正处在一个具体分叉链上。

随着时间的推移,所有用户均以直接确认区块链告终,如此,使得伪造假链变得困难,因为假链不能从法定的链上迁移交易。

账户

EOS.IO软件允许所有账户引用一个独一无二的可读人名,最长可达12字节。名字由账户的创建者选择。账户创建者必须要储备存储新账户所必需的RAM,直至新账户有了token资产,储备了自己的RAM。

在去中心化的环境下,应用程序开发者们将会支付账户创建的名义成本,以登记一个新用户。传统企业以打广告、免费服务等形成,为获得每一个客户花了大量的金钱。相比之下,投资一个新区块链账户的成本应该是无关紧要的。所幸的是,没必要为已用其它应用程序登记的用户再创建账户。

操作和处理程序

每一个账户可以给其它账户发送结构化的操作指令,后者收到后便会定义脚本以处理它们。EOS.IO软件给每一个账户配置了各自的私人数据库,后者只能被它们的操作处理程序访问。操作处理脚本也能给其它账户发送操作指令。这些操作和自动操作程序的组合物,便是EOS.IO所定义的智能合约

(未完待续)

【参考文献】

官方白皮书V2.0英文版来源:EOS.IO Technical White Paper v2,https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md

若我的文章对你有帮助,请为我点赞或者转发给有学习需要的朋友。关注【区块链践行录】,一起在区块链的世界践行,共同成长,知行合一。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180506G08J4Z00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com