以太币:比特兄,今天我们来谈谈拓展性。
比特币:以太,我们两个就你这个白皮书已经谈了差不多三个星期了。不过基本上已经谈的差不多了,我也对你有了更进一步的了解。真是长江后浪推前浪啊。
以太币:比特兄千万不要这样说,没有本聪兄,一切可能都还未有任何改变。
比特币:社会总是一直向前发展的。即使不是本聪兄,也会有另外一个人将这些发明出来。说正事吧。对于以太坊普遍的担心是它的拓展性。像我一样,每一样交易都需要被网络上面的所有节点处理,这也算是一个头疼的问题吧。
以太币:比特兄你当前区块链的大小在15GB(以太坊白皮书发布的时间)左右,同时每小时以1MB增加。如果你的网络每秒处理visa级的2000个交易,那么三秒钟就要增长1MB(每小时1GB,每年8TB)。
比特币:是的。现在以太坊似乎也是同样的增长状态,甚至会更糟。因为在以太坊上还有很多的应用,不像我就只有货币的交易。但在某种程度上有缓解,因为以太坊的全节点只是储存状态而不是像我存储整个区块链的历史。
以太币:问题是如此大尺寸的一个区块链是有中心化风险的。如果区块链的尺寸增长到100TB,可能的状况是只有极少数大型的交易才会在全节点里面运行,同时普通用户可以用轻SPV节点。
比特币:在这样的情况下,会有一种潜在的担心,那就是全节点会捆绑在一起欺诈牟利(例如改变区块的奖励,换成给他们自己BTC)。轻节点是没有办法立即将这个鉴别出来的。当然,至少会有一个诚实的全节点存在,几个小时之后欺诈的信息会通过reddit这样的渠道泄露,但那时候就已经太迟啦。任凭普通用户做出怎样的努力去除已经产生的区块,他们都会遇到与发动一次成功的51%攻击同等规模的巨大不可行的协调问题。在我这里,这就是一个问题,但是Peter Todd建议的一个改动可以缓解这个问题。
以太币:近期,以太坊会有两个额外的办法解决这个问题。第一个基于区块链的挖矿机制,至少每一个矿工会被强制的成为全节点,产生了一定数量的全节点。第二也是最重要的,在处理每一个交易以后我们会在区块链里面包含一个中间的状态树根。即使区块验证是中心化的,只要有一个诚实节点存在,中心化问题就可以通过一个认证协议避免。如果一个矿工发布了一个无效的区块,那个区块要么是很糟糕的格式,要么S[n]是错的。因为S[0]是正确的,一定会有第一个状态S[i]不正确同时S[i-1]正确。认证的节点会提供指引i,一起提供的还有“无效证明”的处理APPLY(S[i-1],TX[i])-> S[i]所需的帕特里夏树节点的子集。节点能够用这些帕特里夏树的节点进行那部分的计算。看产生的S[i]是否与先前提供的一致。
比特币:更复杂的情况是,有一些恶意的矿工会发布不完整的区块,因此所有想要验证区块是否有效的信息都不存在。解决方案是质疑-回应协议。验证节点对交易索引发布质疑,接受信息的轻节点会对相应的区块取消信任。直到另外一个矿工或者验证者提供一个帕特里夏节点子集作为正确的证据。
以太币:现在我们说到结论了。以太坊协议原始被认为是升级版的加密货币。它提供了一些如链上第三方,提现限制,金融合约,博彩市场,高度通用语言的先进特征。以太坊协议并不会直接支持任何应用。但是存在的图灵完备程序语言意味着任何交易和应用理论上都可以被创建。
比特币:更有趣的是,以太坊的协议覆盖远远大于加密货币。围绕去中心化的数据存储,计算和预言的协议,以及数十种其它的概念。它有潜力去大量地增加计算产业的效用。通过增加第一层的经济效用层可大大提升其它点对点的协议。最后,这也是一个大量的与金钱没有关系的应用排列。
以太币:任意状态转换功能作为以太坊协议的执行提供了一个非常有潜力的平台,对于特殊的数列应用如数据存储,博彩或者是金融。它不是提供一个关闭的一次性使用的终端。以太坊的设计是开放的终端。我们坚信它作为一个基础层对于大量数据(金融或者非金融)是极度匹配的服务。
比特币:是,在本聪兄的基础上升级了更多的应用。
以太币:比特兄,接近三个星期的对话终于要结束了,下次见面还不知道是在什么场合。
比特币:是啊,特别舍不得。不过总有再见面的机会。听说现在EOS很火,在你的基础上他又有很多升级的应用。
以太币:是的,下次我们找他一起聊聊。
比特币:好主意。
------------整个对话完------------
参考阅读
https://ethfans.org/posts/ethereum-whitepaper
https://github.com/ethereum/wiki/wiki/White-Paper
领取专属 10元无门槛券
私享最新 技术干货