一家区块链测试公司声称他们发现了一些令人震惊的事情:EOS,这个数月前筹集40亿美金的区块链协议,可能并不是一种区块链。
在一项新的实验中,基准测试公司Whiteblock得出结论,EOS代币(及其RAM市场)本质上是一种用于计算的云服务,它建立在一个完全集中的前提之上。因此,它缺少一些区块链最基本的方面,比如不可更改性。
这些测试是由区块链实体CosenSys公司委托进行的,目的是为基础层区块链协议进行基准测试并建立指标。
Whiteblock在共享给Hard Fork的报告中宣称,
“通过在受控实验室环境下的实际测试和实验,本研究提供了一个关于(EOS)设计、性能和经济学的全面而客观的模型,以便为区块链社区提供参考。”
Whiteblock建造了一个EOS的复制品来进行摧毁试验
EOS在很多方面不同于以太坊和比特币,尤其是它如何决定谁应该验证区块并从中获得回报。
与允许所有人为网络提供动力的PoW区块链不同,EOS通过一个复杂的投票过程来选择谁应该来处理交易(区块生产者),这个过程称为委托权益证明(DPoS)。
在这些选举中,每一个EOS代币都等同于一票,这意味着那些拥有很多EOS的人在控制网络方面有更多的发言权。
因此,为了进行这个实验,Whiteblock运行了EOS的一个复制品,并声称这个复制的EOS的工作原理和真实的EOS是一样的。
Whiteblock的首席技术官Zak Cole对Hard Fork说:
它运行的软件完全一样。在Whiteblock的环境中,区块生产者会执行与区块生产者在EOS主网络中执行相同的功能。我们在受控的测试环境中提供节点,在这些节点之间配置网络条件,以模拟真实的性能,并自动化他们的过程和行为,以便我们可以观察他们,并以确定性的方式衡量他们的性能。”
Whiteblock最初在9月份开始测试他们的复制版EOS区块链。这些测试是在一个孤立的环境中进行的,持续了两个月。
该公司将EOS描述为一个网络,为用户提供存储在“黑盒”中的计算资源。更糟糕的是,它说整个EOS系统是建立在一个有缺陷的中心化模型之上的。
Whiteblock认为:
“EOS不是区块链,而是分布式同构数据库管理系统,它们的区别在于EOS的交易没有经过加密验证。EOS区块生产者高度中心化,用户只能使用区块生产者作为中介访问网络。区块生产者是整个系统的单一故障点。
EOS的速度并不快,可以被卡特尔(或联合企业)(cartels)控制
这篇论文的很大一部分致力于证明EOS没有合适的协议来防止区块生产者串通一气来维持他们作为区块生产者的角色,几乎无法阻止不良行为者组建卡特尔来摧毁整个网络。
因此,该报告指出,EOS在没有拜占庭容错能力(BFT)的情况下存在共识失败,使得网络容易受到流氓成员的控制。
为了让区块链拥有BFT,网络必须能够承受系统故障,这些故障会引发一个被称为拜占庭将军问题的数学难题。如果不能,从理论上讲,不良行为者能够处理虚假交易,因此BFT与区块链的可靠性相关。
从概念上讲,EOS不可能实现拜占庭式的容错。真正的BFT系统不容易受到系统中形成卡塔尔的影响,[但是][……]在EOS中卡特尔很容易形成,因此否定了EOS所有声称BFT的努力。
研究人员特别指出,对EOS完整性的主要威胁是Sybil攻击(女巫攻击),这种攻击涉及恶意行为者通过创建虚假身份,并利用这些身份发起垃圾邮件和DDoS攻击,迫使其他网络贡献者完全无法处理交易。
Whiteblock警告称:
“这实际上是系统中的一个大漏洞,因为欺诈性用户创建恶意账户的速度,实际上远远快于区块生产者达成共识(要排除哪些账户)的速度。这进一步证明了EOS网络中存在的高度中心化,以及这些区块生产者所拥有的巨大权力。”
报告接着指出,区块生产者实际上并不基于任何共识算法来处理交易,而是以一种“机械的方式”来确认交易,而没有对正在处理的交易的有效性进行正式的验证。
为此,Whiteblock的基准测试显示,EOS能够处理的交易数量明显低于EOS最初宣称的数量,从未超过每秒250笔交易(TPS),即便是在零延迟和丢包等最佳设置下也是如此。
必须指出的是,其他测试人员之前已经对EOS网络的速度进行了基准测试。一般认为,目前EOS的最大吞吐量约为4000 TPS。
EOS白皮书宣称,有一天,EOS完全有可能以每秒数百万的速度处理交易。
Whiteblock说:
“在真实世界条件为50(毫秒)的往返延迟和0.01%的包丢失的测试中,EOS网络性能下降到50 TPS以下,使系统接近于以太坊的性能。”
比特币目前的交易速度大约为7 TPS, 而以太坊大约为20 TPS。
Whiteblock说EOS没有使用密码学技术
根据Cole的说法,EOS将所有与交易相关的数据存储在一种由BM设计的名为链基(Chainbase)的表格中。
Whiteblock声称,当EOS网络确认交易时,区块生产者只是针对该表交叉引用新的交易数据,而不是用密码技术验证它们的合法性。
该公司表示,EOS交易只有在区块生产者更新存储在底层链基中的数据时才会进行,而不是像以太坊那样,经过加密验证的对底层区块链状态的更改。
“所有这些操作都是在缺乏合约和交易密码验证的环境中进行的,”研究人员说。“EOS基本上与中心化的云计算架构(客户端/服务器)相同,没有区块链或点对点网络的基本组成部分。”
让网络参与者通过检查一个特殊的表格来验证交易会导致一些后果。对于加密货币来说,这不仅是不寻常的,而且它实际上为开发人员提供了无限的“取消”(undos),这意味着EOS交易可以被具有访问权的人(比如区块生产者)逆转。
事实上,已经出现了逆转交易和EOS账户冻结的情况。
Cole总结道:
“这种撤销与状态相关的历史记录(或任何相关事物)的能力,与可以被认为是与区块链的基本定义存在直接冲突。区块链的特征是数据的不变性。”
EOS只是与众不同而已?
Hard Fork联系了许多EOS区块生产者,请他们置评。截止发稿时,多数代表拒绝置评,并指出他们正在等待完整报告的公布。
一位EOS dApp开发人员表示,Whiteblock对EOS如何验证交易的解释非常“奇怪”。
消息人士解释说,链基(Chainbase)只是一种存储实时信息的方法,就像文件夹或文件一样。在本例中,EOS将与交易相关的数据存储在Chainbase中,并将其放置在中心位置(类似于比特币全节点)。
然后,区块生产者使用加密技术验证交易,将已确认的交易写入区块链作为流程的一部分。
Chainbase实际上是为了优化EOS性能,因为它们允许EOS将数据存储在RAM中,然后使用RAM快速生成区块。
这意味着EOS实际上用到了密码学,这与Whiteblock的结论相矛盾。
看一看这次针对EOS的测试的背后
需要指出的是委托Whiteblock进行这次测试的Consensys。该公司由以太坊联合创始人Joseph Lubin创办,向以太坊生态系统进行了大量投入,而以太坊被认为是EOS的竞争对手。
这整个事情更奇怪的是——EOS实际上是在以太坊区块链上产生的,最初是一种ERC-20代币。不过,这与其他很多项目并没有区别,一些项目在没有发布自己的主网之前,很多会使用以太坊作为代币流通平台。
但在Block.one在6月发布了EOS主网之后,EOS就有了自己的区块链。
也应该说,EOS对争议的存在并不陌生。例如,其主网的发布简直是一场噩梦,整个过程持续了一周多,区块生产者此前一直未能就EOS是否准备好独立运营达成一致。
由于EOS已经完全运行,并且Block.one已经通过赏金计划向自由职业安全研究者提供了40多万美元的奖赏,奖励他们在代码中发现的没有及时修复的关键bug。
无论如何,ConsenSys表示,它将利用Whiteblock的研究成果,发布全面的报告,并将提交给合作伙伴,包括Ledger Capital、Bo Shen(沈波)、企业以太坊联盟(EEA)、微软和谷歌。据报道,像麻省理工学院、南加州大学和杜克大学这样的学术机构已经承诺提供资源来完成这项研究。
更奇怪的是,上述合作伙伴之一沈波实际上是比特股(Bitshares)的联合创始人。Bitshares是由BM开发的一个自主的区块链组织,于2014年发布。
该研究不断强调了BM的Bitshares系统与EOS的架构相似性——特别是恢复网络状态并进行修改的能力。
Whiteblock已经允许Hard Fork发布这项研究,其中包括对其方法论的详尽描述,以及详细的测试结果。完整的报告可以从这个链接访问。
对于那些仍不相信的人,该公司还表示,将在11月对EOS基准测试进行实况直播。