查看原文
其他

干货 | Vitalik Buterin对以太坊的规划——实现Visa级别的二次性可扩展性

2017-12-04 以太坊爱好者

编者按:下文为Trustnodes对Vitalik在BeyondBlock 演讲《Ethereum 2.0》的报道。该演讲的PPT已经分享到Ethfans,有兴趣回顾或是对照阅读的读者请点这里:PPT分享 | V神在BeyondBlock的演讲:《Ethereum 2.0》


“以太坊是不断更新换代的,在中国内地,以太坊还是以太坊,到了台湾,就成了以太坊……2.0。”

这是以太坊创始人Vitalik Buterin在台北举行的BeyondBlock区块链会议上的开场白。在会议上,他提出了在今后的3至5年内实现Visa级别的扩展计划。

Buterin指出以太坊存在的主要问题在于隐私、安全性和可扩展性,隐私问题已经解决了3/4。他当天穿着一件拜占庭T恤,也就是最新的以太坊硬分叉的名字。

Buterin表示这次升级引入了一些很棒的新型加密算法,包括虽然不能自行解决隐私问题但能为开发者提供可找到解决方案的工具的零知识证明和环签名。

他表示,从底层角度来看,隐私问题解决了3/4,还有1/4未解决……从协议层面来看,依然有漏洞。如果你使用混合器并支付gas,就可能出现隐私漏洞,但是此处的大部分工作是在第二层。

这表明zk-Snarks至少从概念上已经解决了底层隐私问题。这使得你能够在完全隐藏一笔交易的同时选择你希望这笔交易对哪些人可见。


-以太坊的主要问题-

当然,安全性不是一个可以解决的问题,只能根据情况将安全性降至最低或升至最高。不过,可扩展性倒是个可以解决的问题。

然而,这可是个大难题,因为去中心化、安全性和可扩展性是个三难抉择。Buterin表示,要解决三个中的任意两个难题很容易,并给出了当前三取二的解决方案的例子:

Buterin指出,现有区块链,如当前状态下的以太坊和比特币,牺牲的是可扩展性,而10GB大小的超大区块会牺牲去中心化。

但是,以太坊旨在找出一条三全之策,不牺牲任一方面。一类方法是通过第二层解决方案,就像Plasma、Raiden或Lightning Network那样。无论如何,以太坊旨在实现链上去中心化、安全性和可扩展性的三头并进。

他表示以太坊打算不依靠主节点、联盟节点或其他任何中心化方式在主链上处理数千个交易。

“那么,我们如何做到这点呢?”——他问道。“我相信我们可以的。”他说完,展示了分片的第一个较为基础的概念化版本。

“我通常是这么形容分片的……你可以这么想,简单来说,分片就是创建一条区块链,其中你有,比方说,100个不同的宇宙,而每个宇宙就是一个不同的账户空间”,Buterin随后又补充道:

“因此,你可以在某个宇宙建立一个账户,或是在某个宇宙签订一个合同。你可以在其中发起一笔交易,如果你这么做了,只会影响到这个宇宙内的东西。

“你可能在这些宇宙之间建立了某种关于转移资源和数据的协议,但是这个协议可能更有局限性,不同步,还会有两周的延迟,通常也不如在单个宇宙内的操作那样干净便捷。

“但是,这100个宇宙不只是不同的区块链,还是互相联系的系统。特别是,它们之间存在共识。因此,若要打破其中之一,就得打破全局。

“并非每个可能的分片解决方案都是如此,我们实际可以提升边缘事物,最终在这些不同的美好宇宙之间进行交流,甚至可能使宇宙内和宇宙间的区别变得模糊,不过这是一种简单的想法。

“其实例可以对以太坊起到何种作用?我们可以试着想想最终的最优系统会是什么样子,或者我们在短期内能轻易设计出什么。

“要说我们在短期内能轻易设计出什么,这里有个例子。想象一下,我们保留主要区块链,在上面发布合同,这份合同叫作验证经理合同,来维护内部的权益证明(PoS)系统……

“验证经理合同也会跟踪一组分片……即100个宇宙。在每个区块或周期内,验证经理合同都会授权一个随机验证程序在每个分片上创建下一个区块……

“每个分片都有区块和交易,然而我们不会将所有这些区块和交易放在主链上。相反,我们的做法是,采用与当前的以太坊相同的结构,其中由一个小区块头代表一个大区块,我们只是向下一层复制。

“在分片层面上,有种东西叫做交易组(collations)。从根本上来说,交易组就是一组交易,会有一个数据头(header),基本上就是权益证明签署了的区块头,这些交易组的数据头会进入验证经理合同,但是分片里的所有真实交易,所有分片状态和所有分片交易组都在链下。

“唯一在链上的是这些数据头,验证经理合同会追踪这些数据头,以及每个分片的状态根源。

“因此,这是一种分工,其中验证经理合同对每个分片来说基本只是充当轻客户端的角色。”

Buterin表示会出现两个世界。旧世界在同样的可扩展性下运行,目前其可扩展性受限制,因为每个交易都由必须在笔记本电脑上运行的每个节点复制。

而新世界拥有自身规则,具有二次可扩展性,因为节点会验证某些分片,并充当其它分片的轻客户端。在如何执行或不断改进分片的基础上,新世界可能具有更高的可扩展性。

Buterin表示,这些都在分片的早期,制定分片的发展规划,最终通过紧耦合(tight coupling)实现协议层面上的结合。

这就是说以太坊网络要进行更新,以便客户端执行这样一个规则,即如果区块链包含了一个无效的分片头,继而整个区块链也会失效。

Buterin 说:“因此,从根本上来说,紧耦合就是指第一层的有效性以第二层的有效性为条件。”在这一阶段,整个分片机制会具有同样的安全性,并且全由硬分叉支配。

最初会出现一个双速以太坊,由个人运行一个以太节点以及一个与该以太节点连接的分片节点。一旦网络实现紧耦合,这两个节点最终会融合在一起。

Buterin说,新分片创造了一个新的地址空间,这意味着该地址空间不会影响正常交易和当前网络。

他指出,最终需要升级主链,不过我们后面可以做到这点,因为没必要通过不断的链上向后不兼容升级来降低速度。

那些改变是增强平行化、更迅速的以太坊虚拟机、二进制默克尔树和无状态客户端。

无状态客户端本身就是一类分片,Buterin将其形容为“我们不需要客户有状态,而需要交易发送方提供一种他们进入状态的特定部分的默克尔证明。”

Buterin指出,无状态客户端尚处于初期阶段,有很多方法可以实现,不过这是分片的一则用例。因此分片规划就像是初步创建一个新“宇宙”或100个宇宙,对主链没有特别的大影响。

Buterin解释说,这是因为会出现很多可能影响当前状态或项目的向后不兼容改进,因此不如从头开始。

因此,以太坊将要变成一个双速车道,直到最终再次合并为一条道路为止。

开发者创建新的分片,不断改进节点,将zk-Snarks加到分片和其它特性之上,增强它们进行数据共享和交流的能力,之后通过较小的改进继续优化。

时间线安排的是3至5年,因此是到2020年左右。然而,最难的架构方面,似乎在概念上已经稳定,因此我们或许能在明年看到原型,在2019年或更早的时候看到初版。

与此同时会向混合权益证明/工作量证明的以太坊转变。就其本身而言是一次重大升级,乐观地讲,可能会在夏季实现。

因此,以太坊采取的一般方法似乎是重视速度更胜完善性。先找出某些方面进行改善,不要太过完美主义到第一个版本就准备好给老奶奶用的程度。

这一方法是非常必要的。目前,以太坊处理的交易量比其它去中心化公共区块链加起来的都要多。

去年以来,对以太坊交易的需求已经增至10倍,该网络目前最多能只能处理另外4倍的量。

因此,对于这一尚处于初期的项目来说,时间并不宽裕。它还是该领域内唯一继承了硅谷“快速行动、破旧立新”信条的杰出项目。


原文链接: http://www.trustnodes.com/2017/11/25/vitalik-buterin-lays-roadmap-ethereum-visa-levels-quadratic-sharding
作者: Trustnodes
翻译&校对: 闵敏 & Elisa


更多文章:

PPT分享 | V神在Devcon3的分享: “一个区块链,两套系统”

观点 | 企业代币化

记录 | 以太坊:走向公众

干货 | 理解ERC-20 token合约

科普 | Vitalik: 25分钟认识以太坊(上)

干货 | Vitalik: 25分钟认识以太坊(下)

干货 | 以太坊Sharding FAQ

干货 | STARKs, Part I: 多项式证明

问答 | INFURA如何解决以太坊的其他大规模挑战

干货 | 共识算法的比较:Casper vs Tendermint

白皮书 | zeppelin_os

观点 | Vitalik 对token设计的看法

访谈 | Truebit × 管理未来

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

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