查看原文
其他

以太坊V神 vs. EOS BM,质疑与反击

2017-08-02 Dan Larimer 白话区块链

白话区块链,从入门到精通,看我就够了!


https://v.qq.com/txp/iframe/player.html?vid=e1322907tb6&width=500&height=375&auto=0

Vitalik Buterin最近在深圳演讲(见上图视频)的时候,对EOS 提出了质疑。今天我想对他的看法做一些纠正。我会把他的观点一一列出来。

质疑EOS


在深圳演讲视频中第8分20秒时,Vitalik Buteran说:

EOS 说他们可以处理更多的交易,原因主要有两个。

其一是存在很多协议特性(protocol feature),事实是以太坊有这些而EOS 并没有。

其二是默克尔树,假如你想要证明一个交易,那么网络上的任何人都能证明。这样你就不需要那么多的算力,去证明账号的信息,同样也能把交易打包。

然而,EOS 并没有这些东西。


其实,EOS 是有默克尔树的。这意味着,不需要处理所有的区块,也不需要信任所有的完全节点,就能证明你已经被支付了。事实上,这些证明比以太坊的小,因为轻节点不包含区块头(block header)的全部历史数据。


我以前在我的博文中写道:区块链状态应当是抽象的,且不需要称为共识的一部分中说过生成默克尔树的问题。


我还做过类比,区块链状态就像是薛定谔的猫,你永远都不可能观察它,或证明它,除非你把盒子打开,才能知道那只猫是死是活。


更准确点说,就算你能证明了1分钟之前的状态是1(就是你上一次打开盒子的时候),你也不能证明现在的状态是什么。


一笔交易的状态随时都可能改变,当你读取它的时候,状态已经变了。我们唯一能指望的,就是使用“时间锁”,断言(assert)状态在一定时间内不能修改。但是频繁使用时间锁会降低性能,不应频繁使用。

这意思就是如果你加入了EOS 网络,你就没有一个完全节点,完全节点就是处理所有交易的节点。这意味着你必须信任完全节点。那样你就不能自己验证所有事都正确无误。


EOS 的设计是,允许节点验证部分状态。这意味着不需要所有的节点都去运行每一个合约。反过来,这就是说,即使你没有完全节点(完全节点要求的资源太多了),你也可以知道你关心的应用和合约的状态。


第二,轻客户端可以证明用户进行了什么动作(交易),因此,他们就可以证明支付行为。


第三,如果一定需要一个证明,那么可以通过广播一个交易去认证,这个交易广播会证实他们的观点。如果你找不到你可以交叉引用的区块链信任的多种独立源,那么你面临的问题就更大。


最后,在EOS 生态中的每个人都是被宪法绑定的,如果api节点谎报区块链状态,就会有证据留下来,那么他们将必须负责由此造成的相关损失。


而在以太坊中,你必须信任轻客户端,由他们验证证明,并从相应的区块链中同步。而你所生成的那些关于状态的默克尔证明,很快就过时了。


攻击DPOS


接着,Vitalik开始攻击DPOS机制:

EOS 的完全节点的数量将会更小。所以 Dan Larimer用了DPOS的概念,他说在DPOS中,网络只需要100个节点就够了,只需要这些完全节点能达成共识就行了,其他人就只是一个轻客户端。它(EOS )说它能处理更多交易的另一个原因,是这些完全节点需要的条件(带宽,算力)都更高。这是实现可拓展性的一个方法。

但问题是,如果你只有100个节点,那这个系统就更中心化。你可以对它们实施dos攻击。由于完全节点是选举产生的,被选出的节点,大家都知道它们是谁。这样一来,要对它们进行攻击就容易很多。isp可以轻而易举地关掉它们,公司可以轻而易举地关掉它们,政府可以轻而易举地关掉它们。这种实现可拓展性的特殊方法,成本也会非常的高,这个成本就是,如果你通过缩小节点的数量,提升节点的能力来实现可拓展性,这会让系统变得更中心化。


他的观点基本就是:EOS 的完全节点数更少,他们很容易被辨识出来,也就很容易被政府关停。他还说,通过使用性能更强的节点来实现可拓展性,会让系统更中心化。这就涉及到一个比较的问题了,”比谁更中心化“。


这是以太坊的区块生产节点分布图。你可以看到,两个矿池控制了51%的哈希算力,它们可以任意忽视其它所有矿池生产的区块。


而且,以太坊的完全节点也都是经过加强的,普通大众根本承受不起。所以,几乎所有的轻客户端根本不需要操心默克尔证明的问题,虽然Vitalik说默克尔证明多么的有价值。


对于区块生产者来说,事实是,以太坊和其它协议,都比DPOS区块链更中心化。


认为DPOS、ISP是黑市


Vitalik最后认为DPOS会被政府,ISP,和企业轻而易举地关掉。这种观点是建立在对去中心化的错误假设之上的,我在上面已经证明了。


事实是以太坊和比特币都遭受过dos攻击,而steem和bitshares则运行良好。正如上图显示的那样,以太坊中7个节点的哈希算力就达到了整个网络的90%,把这7个节点拿掉,就能轻松摧毁以太坊。


真正的问题是,所有这些公共区块链都依赖于点对点的发现过程。世界上的政府和ISP清楚地知道每个以太坊节点在哪,也就可以轻松地把它们关掉。


我们已经说过,在当下实际情况中,以太坊的完全节点已不切实际。这意味着那些真正的应用必须依赖于公共的api终端。最近的EOS 代币分发应用,就足以停掉所有的公共api终端(endpoint)。


实际上政府关停的威胁,主要是基于非法活动的假设。我们认为,对于合法的区块链应用来说,并不需要担心存在被关停的风险。区块生产者和api终端仍可以自由的设置。


结论


EOS 的设计是基于现实的考量和逻辑,实现了可扩展性,避免了比特币和以太坊的教条。我在实践中已经证明了DPOS是更去中心化的----无论从什么角度来衡量评价去中心化。我也证明了轻客户端拥有更多的选择,而Vitalik关于政府的看法忽视了任何公共区块链的基本特征和脆弱性。


如果你对去中心化这个话题感兴趣,可以阅读我的博文:

•Decentralization of Nxt vs BitShares

•Decentralization, Scalability, and Fault Tolerance of Bitcoin

•How to Measure the Decentralization of Bitcoin

The Most Decentralized Proof of Stake System



翻译 | Peterchen145

编辑 | WangMe

原文地址:https://steemit.com/eos/@dan/response-to-vitalik-buterin-on-eos



点击“阅读原文”,查看公众号所有历史消息。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存