TomoChain与EOS.IO:PoSV与DPoS之战还是只是设计哲学的巧合?

权益证明(PoS)一直在上升,成为取代目前在以太坊和比特币等主流区块链技术中使用的工作证明(PoW)的最性感的技术之一。 EOS.IO和TomoChain等基于PoS的区块链的目标不仅是消除与PoW相关的电力消耗,而且还提供可扩展的解决方案来解决以太坊和比特币中的交易处理性能问题。 后者每秒只能处理10至15笔左右的交易,这与Visa和MasterCard不能相提并论。

在这篇文章中,我们深入分析并详细比较TomoChain和EOS.IO之间的异同。 这篇文章是一系列旨在比较Tomochain和一些基于PoS的著名区块链技术文章的连续篇,这些区块链包括EOS.IO,Casper FFG,Cardano和Tendermint。

经典的数学证明的CAP定理说,分布式系统不能同时保证所有三个要求:一致性(C),可用性(A)和分区容限(P)。

  • 一致性意味着在分布式系统的任何节点上读取某些数据的结果要么是最新的结果,要么是错误。
  • 可用性要求每个读取请求都接收到响应,而不能保证接收到的结果是最新的。
  • 分区容忍是分布式系统中固有的,这意味着“尽管节点之间的网络丢弃(或延迟了)任意数量的消息,系统仍可继续运行”。

由于分区容忍度是分布式系统的本质,因此许多系统设计必须在选择一致性或可用性的同时牺牲其他要求。 在分布式环境中运行的区块链也无法摆脱这种循环。 每个人都希望在对任何节点的读取请求之后立即获得最新结果(可用性),但这会失去系统一致性,因为存在块传播延迟,这会使不同节点中的数据不同。

即使CAP定理对区块链用户而言并不明显可见,但区块链有其自身的困境,其中三个要求(即去中心化,安全性和性能/可扩展性 )难以保证融合到同一区块链中。 比特币和以太坊擅长去中心化和安全性,但性能却很差。

安全似乎是用户要求的明显可见和明智的要求。 不会出现赔钱或双花的情况。 许多区块链正试图通过减少网络中的区块生产者数量来平衡分散与性能之间的权衡。 生产者数量较少意味着网络传播更快,因此块生产者之间的共识更快。

EOS和TomoChain都在试图提高性能,而它们之间的差异在于他们的共识细节和为提高性能而牺牲的可分散性。

2017年6月开始了为期一年的ICO,最近结束时筹集了近40亿美元。 然而,与比特币和以太坊相比,EOS仍然是一个相对较新的项目。 EOS继承了Dan Larimer从其特定于应用程序的祖先区块链(即Bitshares和Steemit)发明的委托权益证明(DPoS),并概括了这些祖先的多种功能。 与其他区块链类似,EOS具有一些安全功能,因此如果攻击者总数不超过1/3,则系统可以容错。 另一方面,在不可能一起完成去中心化,安全性和可扩展性的区块链不可能三角中,EOS为可扩展性牺牲了去中心化。 因此,只能选举21个块生产者并通过选举来创建块,但是块时间可以减少到500ms。

“共识是任何去中心化区块链系统的心脏和灵魂” 。 是驱动系统不同要求(包括分散,安全性和性能)的主要参与者。

EOS.IO和Bitshares都使用了一种新的基于PoS的共识算法,称为委托权益证明(DPoS)。 在后者中,EOS中的区块生产者(即目击者区块生产者)通过投票系统选举出来,而不是像比特币和以太坊那样参与哈希运算竞赛的矿工。 见证人是其他利益相关者投票最多的利益相关者:利益相关者将大宗生产能力委托给见证人。

在EOS和TomoChain中,产生区块的能力是投票最多的节点(EOS中的见证人或TomoChain中的主节点)的责任。 将此责任平均分配给这些块生产者,以便每个块生产者都可以并且必须创建块。 块生成器的集合在一个称为epoch的时间段内固定,但可以在每个时间段动态更改。 块生成器有一个预定的顺序,每个顺序都生成块。

EOS使用我们所谓的单一验证来验证块,而TomoChain设计了双重验证技术。 那么,进行双重验证有什么意义呢?

为了理解这一点,让我显示以下两种验证技术之间的差异(鼓励读者参考TomoChain技术论文以获取更多比较详细信息):

  • 在单一验证中,每个块由一个块生产者创建,并由其他块生产者异步验证。 然后,按预定顺序的下一个块生产者将验证该块并在其之上构建另一个块。
  • 在双重验证中,添加了另一层块验证,即必须由另一个随机选择的块生产者(即块验证者)验证所创建的块然后下一个块生产者才从该块拉长区块链。

这意味着,在EOS中,如果没有顺序,则在块创建之后,块生产者就不应该签署该块。 具有双重验证技术的TomoChain要求在创建的块上签名的第二个主节点必须是被随机选择的块验证者。 如果此块验证程序检测到该块中的异常,它将拒绝该块,并且所有其他主节点也将很快拒绝它。

一个时期是由该时间段内可以创建的最大块数来衡量的。 在EOS中,一个纪元等于126个块(每个块生产者在每个纪元中创建6个块),而在TomoChain中此纪元是900个块。

在每个时期结束时,在奖励区块内奖励区块生产者。 在EOS中,为该纪元创建的已成功验证的已生产区块将奖励区块生产者,而TomoChain中每个成功区块的奖励均由在主节点之间平均共享,这些主节点将对区块进行验证并签名以完成区块。

TomoChain需要3/4个主节点签署一个块才能完成。 一旦一个主节点的3/4签名可用于一个块,则该块将最终确定,这意味着以后再也不会通过任何方式对其进行修改。

EOS旨在提供零费用交易,但实际上并非零。 “零用户费用”的想法是不真实的,因为它表明不再需要经济诱因来维护网络。 EOS确实有收费,但以通货膨胀的形式隐藏了。

“对区块链感兴趣的主要推动力是将信任关系降至最低的实体之间的权力分散。 但是,规模与权力下放之间存在根本的张力。 虽然我们知道如何扩大规模,但扩大规模的解决方案可能需要损害区块链的分散性”。

EOS仅允许21个块生产者在每个时期生产块,以简化共识并最小化块生产者之间的网络传播延迟。 另一方面,TomoChain中的主节点数为150,因此在此术语中的分散性更高。

EOS和TomoChain拥有其治理应用程序,该应用程序允许其网络的涉众投票给区块生产者或主节点。 当TomoChain支持TomoMaster时,EOS利益相关者使用eosauthority或eportal进行投票。 如何计算投票权重的细节彼此不同。

在EOS和Lisk中, 投票权重取决于利益相关者在其钱包中拥有的总资产。 这意味着“ 如果钱包中有100个EOS,则无论您进行多少次投票,投票权重/权力都是100 ”。 每个持有人最多可以为集体生产者候选人投票30票。 实际上,实际上,我们经常看到这种投票方式,每个人都参加一次选举,选择他们想要投票的候选人,然后为他们投票。 但是,民主选举中的每一票都具有相同的分量。

TomoChain的投票权重更多地取决于投资决策,而不是资产。 每次投票都具有不同的权重,权重由利益相关者放入智能合约中以投票给主节点候选者的TOMO代币数量来计算。 除非做出不赞成的决定 ,否则利益相关者将无法使用他们投票给候选人的代币数量。 此外,利益相关者可以投票的候选人数量没有限制。 如果我们将主节点候选者视为一家企业 ,则投票代币的数量可以视为对企业的投资,并且选民会根据主节点候选者的业务结果在每个时期获得激励,如果后者在前150名中名列前茅投票最多的候选人。

就像在Lisk中一样,EOS块生产者可以自由决定要分配给选民的收入的百分之几。 但是,在TomoChain中,如果每个投票者在该时期的投票候选者被选为主节点,则根据每个时代结束时投票代币的数量来明确奖励每个投票者。 此外,每个签署成功完成区块的主节点都会收到相同数量的令牌作为奖励。

TomoChain利益相关者应谨慎选择他们投票的主节点,以最大化其利润。 我们可以说,投票给投票最多的主节点的令牌将获得比投票给投票最少的主节点的令牌少的奖励。 知道的是,想要最大程度地从投资中获得利润的明智选民应该考虑投票最少的主节点,即使候选人的排名紧随150个投票最多的候选人之后。 最终,每个候选人都有机会成为主节点,从而逐步将权力下放水平转移到平衡点。 通过这种方式,我们相信TomoChain的权力下放及其TomoMaster治理投票系统和激励机制将避免像Lisk一样出现“黑手党联盟”问题。

与安全性相关的多个方面将在下面进行分析。

根本没有问题

如果链中有一个分叉,则任何验证程序的最佳策略是在每个链上进行验证,以便验证程序获得奖励,而与分叉的结果无关。 攻击者可以创建多个分叉,而区块生产者将在每个分叉中的每个区块上签名,以便获得奖励,而不管哪个链将获胜。 然后,攻击者利用此安全漏洞,进行了一个交易以在一条链上支付某些费用,而另一笔交易将相同的钱发送到其受控帐户,因此发生了双重支出。

EOS和TomoChain都选择否决签署多条链的区块生产者,而不是像Casper那样大幅削减惩罚。 而且,尽管不是所有情况,具有块生产者的顺序来创建块也提供了防御此问题的方法。 看下图,下一个块生成器A将创建一个添加到蓝色之后的块,然后将其新创建的块传播到其邻居。 但是,一部分区块生产者不会按时收到该新创建的区块,因此认为A错过了其生成区块的时间,然后验证104绿色或红色。

网络可能会收敛到蓝色链,因为它比错过一个阻塞时间段的另一个链更长。 但是,如果蓝链由于其区块生产者在另一条链上,或者攻击者主观上错过了一个区块时间而错过了一个区块时间,则导致两条链的长度相等,因此一无所获。为所有块生产者去?

TomoChain通过双重验证为该问题提供了更多保护。 当块验证程序对104蓝色签名时,蓝色链可以继续运行。 另一方面,要使另一条链继续,它需要与蓝链分开的那个链上的区块创建者和区块验证者,这不太可能发生。

远程攻击

EOS和TomoChain都可以通过区块确定性和可以在特定时间点创建区块的区块生产者的顺序来防御远程攻击。 因此,一个恶意区块生产者没有机会创建更长的有效链,因为其他区块生产者会拒绝它。

审查制度攻击

如果区块链平台不提供抗审查性(即它们依赖于一定数量的受信任参与者来生产和验证区块),那么我们只是回到了旧数据库系统,尽管以牺牲像Amazon Web Services这样的旧系统的效率为代价提供 ”。

EOS和TomoChain都在试图通过投票系统来增强对审查的抵抗力,在该系统中,利益相关者可以将恶意节点从块生产者列表中投票出去,并且通过每个时期的投票偏好来动态更改块生产者的集合。 此外,由于任何节点都必须投入大量令牌才能成为区块生产者,然后才能因其诚实的工作行为而得到回报,因此,从经济上讲,他们没有受到恶意行为的激励。

如果控制EOS的2/3或区块链生产者的TomoChain的3/4,则可能会发生审查检查攻击,因此需要投入大量资金,从而使该系统成为富豪主义,没人愿意使用它,因此减少了代币价格,这是攻击者不想要的。

与EOS相比,TomoChain的审查阻力似乎更强,因为(1)TomoChain具有150个主节点,而EOS的区块链生产者却只有21个;(2)TomoChain主节点的股份已锁定在智能合约中,这些合约只有一个月才能解锁。 如果任何主节点行为不当,它将被淘汰,并且其股份不能长时间使用。

性能

显然,EOS在阻塞时间(500毫秒)方面要优于TomoChain的目标(2秒),因为只有21个主节点可以减少与网络传播和同步有关的一些问题。 EOS还具有更好的交易确认等待时间,如其团队所期望的那样,大约不到1秒(0.5秒的阻止时间+ 0.25秒的完成时间+发送交易的时间)。

在我看来,EOS的阻塞时间为0.5秒,它试图对网络带宽和传播提出很多期望。 区块生产者必须验证上一个区块中包含的交易,使用另一组经过验证的交易创建另一个区块,并按顺序将创建的区块快速发送到下一个区块生产者,以便该下一个区块生产者不将其视为丢失的块。

另一方面,TomoChain尝试通过提供双重验证技术来提高安全性,该技术巧妙地需要一些额外的等待时间才能到达块验证程序并在块上签名,以便其他主节点可以接受它。

关于性能的更多信息,EOS本身被设计为类似于操作系统的结构,可以安排事务和所谓的“动作”。 可以安排独立的动作并行执行。 但是,TomoChain对于改善其性能有不同的看法。

在EOS中,智能合约用C ++编写,而不是EVM智能合约语言(例如TomoChain中使用的Solidity),因为后者旨在提供与EVM兼容的平台,因此将重点放在当前在以太坊上运行的EVM智能合约的可移植性上。

TomoChain团队目前正在研究两个正交方向以提高其性能。 一种是状态分片,另一种是EVM并行化。

状态分片将网络分为多个主节点,每个主节点有助于维护一部分区块链,称为分片。 主节点对特定分片的分配基于统一分布和可公开验证的分散式随机化,以确保网络安全,因为一个节点无法确定自身是否分配给特定分片来避免分片攻击,因为所有攻击节点将主动加入同一分片。 然后,每个分片将与其他分片并行处理一组不重叠的事务,从而增加了网络的整体吞吐量。 有关分片的更多信息,请参见我们的分片建议。

EVM并行化扩展旨在通过使多个EVM实例在连接到主节点的多台计算机上运行来提高智能合约处理的性能。 换句话说,EVM并行化正在尝试调度智能合约并将其执行外包给其他计算机,以提高每个主节点的性能。

EOS于2017年夏季开始开发,并于2017年秋季拥有最小的可行测试网络。2018年6月,在获得足够的票数(占EOS令牌总数的15%以上)后,EOS主网已经启动。 当前主网中的每个块生成器仅启用一个线程。 EOS的并行化机制仍在开发和优化中,可能会在2018年秋季发布。

TomoChain成立于EOS之后,在成功的ICO之后于2018年春夏开始开发。 TomoChain在4月发布了testnet 1.0,在8月发布了testnet 2.0。 TomoChain主网及其最新设计的股权证明投票主节点共识将于2018年12月14日正式启动。

在我看来,EOS和TomoChain都在努力将最好的产品带入他们的社区,甚至在后来成立的TomoChain团队也正在追赶EOS和其他基于以太坊的计划,例如Casper。

已经开发了许多DApp,并将在EOS区块链上运行。 敬请读者在此处查看这些DApp的列表。

对于这些DApp和主网启动后的EOS强大社区,我将EOS置于TomoChain之上。 但是请记住,如果EOS已经建立了强大的社区,即使使用基于C ++的智能合约编程语言,TomoChain也具有建立强大生态系统的巨大潜力,因为它与EVM兼容。 因此,在当前以太坊区块链上运行的任何DApp都可以移植到TomoChain上运行,而不会遇到任何麻烦。

如果基于DPoS的Lisk项目因组建黑手党联盟而受到批评,黑手党联盟由一组大宗生产者控制网络和交易处理,EOS和TomoChain试图通过提供几乎零费用的交易来避免这种情况(以鼓励用户使用投票和反对审查制度的共识机制(TomoChain中的双重验证)。

EOS和TomoChain都为交易处理性能牺牲了分散性。 如果EOS仅允许21个区块生产者(少于150个TomoChain区块生产者)能够每0.5s生产1个区块,那么TomoChain似乎通过允许150个主节点创建区块但增加了权衡来平衡分散和性能之间的权衡阻止时间为2秒。 这两秒钟的时间还允许TomoChain通过提供双重验证机制来提高区块链的安全性。

EOS具有其并行化架构和机制,每秒可处理数百万个事务。 另一方面,TomoChain致力于分片和EVM并行化目标,以将TomoChain的性能提高到每秒数千个事务。

EOS已经完成了其主网,这是TomoChain的第一步,并且拥有一个强大的生态系统和许多潜在的DApp。 另一方面,TomoChain专注于开发与EVM兼容的区块链,从而使目前在以太坊区块链上运行的数千个DApp成为可能。

我现在不会说哪一个是区块链赢家(即使我们都知道EOS拥有更好的社区和强大的生态系统),因为它对TomoChain而言是不公平的,因为它的创立时间比EOS还要晚,但它正在朝着很快 因此,我将让时间回答并由用户决定。


在TomoChain公告频道上关注我们| 推特| Facebook | 领英| Reddit | Github | 在网站上注册我们的新闻通讯

对于常规支持:TomoChain聊天

对于技术支持:Gitter