BM回应Vitalik Buteran关于eos的评论

in #cn7 years ago

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

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

在上面视频中第8:20秒的时候,Vitalik Buteran说:

eos说他们可以处理更多的交易,原因主要有两个。一个原因是以太坊有很多协议特性(protocol feature),而eos没有。比如,默克尔树。所以,如果你可以证明一个交易,那网络上的任何人都能证明。这样你就不需要那么多的算力,去证明账号的信息,同样也能把交易打包。eos没有这些东西。

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

我以前在我的博文:区块链状态应当是抽象的,且不需要称为共识的一部分中说过生成默克尔树的问题。我还做过类比,区块链状态就像是薛定谔的猫,你永远都不可能观察它,或证明它,除非你把盒子打开,才能知道那只猫是死是活。更准确点说,就算你能证明了1分钟之前的状态是1(就是你上一次打开盒子的时候),你也不能证明现在的状态是什么。一笔交易的状态随时都可能改变,当你读取它的时候,状态已经变了。我们唯一能指望的,就是使用“时间锁”,断言(assert)状态在一定时间内不能修改。但是频繁使用时间锁会降低性能,不应频繁使用。

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

eos的设计是,允许节点验证部分状态。这意味着不需要所有的节点都去运行每一个合约。反过来,这就是说,即使你没有完全节点--完全节点要求的资源太多了—你也可以知道你关心的应用和合约的状态。第二,轻客户端可以证明用户进行了什么动作(交易),因此,他们就可以证明支付行为。第三,如果一定需要一个证明,他们可以把交易广播出去,那样就会断言他们关心的状态。如果你找不到你可以交叉引用的区块链信任的多种独立源,那么你面临的问题就更大。最后,在eos生态中的每个人都是被宪法绑定的,如果api节点谎报区块链状态,会有证据留下来,他们就需要为由此造成的损失负责。

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

攻击DPOS

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

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

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

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

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

DQmRmDVbfqF1aYtUkbXTWxYB1XQWgA9s2hwDFXChueh3tDE_1680x8400

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

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

黑市

Vitalik最后认为dpos会被政府,isp,和企业轻而易举地关掉。这种观点是建立在对去中心的错误假设之上的,我在上面已经证明了。事实是以太坊和比特币都遭受过dos攻击,而steem和bitshares则运行良好。正如上图显示的那样,以太坊中7个节点的哈希算力就达到了整个网络的90%,把这7个节点拿掉,就能轻松摧毁以太坊。

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

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

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

结论

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

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

Sort:  

好吧,加大筹码买eos

steem和bitshares好像是BM的两次试水,EOS才是发大招。

现在回过头来可以这样说,但事实上是 BitShares 和 STEEM 让 BM 通过真格的、单个项目的社会实验(去中心化交易所和去中心化媒体)积累了更多技术和社区反馈,完善了 DPoS ,从而升华出来了平台级的 EOS!在某种程度上是“水到渠成”!

如果交易费是零,那么记账的成本应该是可以忽略不计。那需要多大的算力可以参加记账呢?个人电脑可以参加记账么?

bm的意思是eos的交易费由开发者这边承担,不用普通用户承担

我感兴趣的是,EOS 的节点是怎么选出来的?比特币目前的状况你可以说是矿主用钱堆出来的,但它也是自由市场竞争的结果。

另外,从经济学的角度出发,我赞同 Nothing is cheaper than Proof-of-Work。所以基于 DPOS 的区块链最终如果做到现在比特币的规模,整个网络的运行成本其实不会差别太大。比特币的主要缺点还是交易吞吐量。