Menu

Vitalik :区块链分层组织尚存在缺陷,短期需并走开发layer 1和layer 2 | BTC

Source:adminAuthor:admin Addtime:2020/09/10 Click:104

写在前线: 以太坊说相符创首人Vitalik Buterin在其最新发布的博文《基础层和功能逃逸速度》中挑到,“保持 layer 1浅易,操纵layer 2来弥补不及” 并不是解决区块链可扩展性和功能性题目的远大答案,由于这栽思路异国考虑到layer 1区块链本身必须要具有有余的可扩展性和功能性,否则所谓的layer 2制定只是可信的中介。在这篇文章中,Vitalik挑出了“功能逃逸速度”的概念,他还外示,短期内吾们必要并走开发layer 1与 layer 2 ,而永远则要更关注layer 2的开发。

V

(图片来自:Flickr)

以下是译文:

区块链世界有如许一个常见的思路:区块链答该是最浅易的,由于它们是很难转折的基础设施,倘若发生了损坏,便会导致庞大的危害,并且答该以layer 2制定的形势在一层区块链顶部竖立相对复杂的功能,例如:状态通道、Plasma、rollup等等。 Layer 2答该是不息的创新地点,而layer 1答该是安详的,只有在危险情况下才会有大的转折(例如为了防止基础制定的暗号学被量子计算机破解,一次庞大的突破性转折就是能够的)。

这栽层别离的思想是专门益的,从永远来望,吾剧烈声援这一思想。然而,这栽思想无视了一个主要的点:固然layer 1不及太兴旺,由于更大的功率就意味着更众的复杂性,所以会有更大的薄弱性,但layer 1也必须要有余兴旺,如许竖立在其之上的layer 2制定才能是真实可走的。

一旦layer 1制定实现了某栽程度的功能,吾将称之为“功能逃逸速度”,然后,是的,你能够在不进一步转折基础的情况下,在上面做任何其它事情。

而倘若layer 1不足兴旺,你能够谈论用layer 2编制来填补空白,但实际却是,倘若不重新引入layer 1试图脱离的一整套信任倘若,你是异国手段往构建这些编制的。这篇文章将商议组成“功能逃逸速度”的最幼功能是什么。

  一栽编程说话  

必须能够在链上实走自定义用户生成的脚本。这栽编程说话能够很浅易,实际上不必要高性能,但它起码必要具备所需的功能级别,才能验证能够必要验证的肆意内容。

这一点很主要,由于要构建在上面的layer 2制定必要某栽验证逻辑,而这栽验证逻辑必须由区块链以某栽手段实走。

你能够听说过图灵齐全性,生手清淡会认为,倘若一门编程说话是图灵齐全的,那么它能够做任何计算机理论上可做的事情。一栽图灵齐全说话编写的任何程序,都能够翻译成任何其它图灵齐全说话的等效程序。然而,原形表明,吾们只必要一些稍轻的东西:能够节制为不带循环的程序,或者保证在特定步骤中终止的程序。

  富-有状态性(Rich Statefulness)  

这不光关乎一门编程说话,如何将编程说话实在地集成到区块链中也很主要。倘若一栽说话被用于纯粹的营业验证,那么它集成的手段就更为有限:当你将币发送到某些地址时,该地址外示一个计算机程序P,该程序将用于验证从该地址发送币的营业。也就是说,倘若你发送一笔哈希为 h的营业,那么你将挑供一个签名S,然后区块链将运走 P(h, S),而倘若该输出为TRUE,那么该营业就是有效的。清淡,P是暗号签名方案的验证器,但它能够实走更复杂的操作。仔细,在这个模型中,P无法访问营业的主意地。

然而,这栽“纯函数”的手段是不足的。这是由于这栽纯基于函数的手段,不及以实现人们真实想要实现的众栽layer 2制定。它能够实现通道(以及基于通道的编制,如闪电网络),但它不及实现其它具有更强特性的扩容技术,也不及用于具有更复杂状态概念的附属编制,等等。

举个浅易的例子来表明纯函数范式所无法实现的事情,考虑一个具有以下特征的蓄积账户:有一个暗号密钥k能够发首挑款,倘若其进走了挑款,则在接下来的24幼时内,联相符密钥k能够作废挑款。倘若挑款在24幼时内仍未作废,那么任何人都能够“闯入”这个账户,然后完善挑款。其主意是,倘若密钥被盗,账户持有人能够防止幼偷挑取资金。窃贼自然能够不准相符法一切者获得资金,但抨击对窃贼来说是无利可图的,所以他们能够不会为此而懊丧(相关这栽技术的注释,请参阅原首论文)。

凶运的是,这栽技术无法浅易地经由过程纯函数来实现。题目是:必要有某栽手段将币从“平常”状态迁移到“期待取款”状态。但是程序P无法访问主意地!所以,任何能够授权将币迁移到期待取款状态的营业,也能够授权立即偷取这些币,也就是说,P不及区分两者的区别。在不十足开释币的情况下,转折币状态的能力,对很众行使而言都是很主要的,包括 layer 2 制定。

Plasma本身相符这个“授权、解散、作废”的范式:从Plasma的退出操作最先必须要获得准许,然后会有7天的挑衅期,并且在这个挑衅期内,倘若挑衅者挑供了准确的证据,则退出就能够被作废。

Rollup也必要这个属性:Rollup中的币必须由一个跟踪状态根R的程序控制,倘若某个验证器P(R, R', data) 返回TRUE,则从R更改为R',但它只将状态更改为R',在这栽情况下,它不会开释币。

这栽授权状态转折,而不必要十足将一切币竖立在一个免费账户的能力,就是吾所说的“富-有状态性”(rich statefulness)。

它能够有众栽实现手段,有些是基于UTXO的,而异国它,且不包括信任倘若的情况下(例如,一组被整体信任的做事人员来实走那些富状态程序),区块链就不及以实现大无数layer 2 制定。

仔细:是的,吾清新倘若P能够访问h,那么你能够将主意地地址行为S的一片面,并将其与h进走比较,然后以这栽手段节制状态转折。但也有能够会展现一栽编程说话资源太有限(或受到其他节制),从而无法真实做到这一点。令人惊讶的是,在区块链脚本说话中,这栽情况是频繁发生的。

  足够的数据可扩展性和矮耽延  

原形表明,plasma、通道以及其它十足链外的layer 2制定都有一些根本性的弊端,这些弊端窒碍了它们十足复制layer 1的功能。吾在这边详细商议过这个题目(译者注:中文版在这边);总结是,这些制定必要有一栽手段,来裁决某些缔约方凶意不挑供其准许挑供数据的情况,而且,由于数据发布是不走全局验证的(除非你本身下载了数据,否则你不清新何时发布数据),这些裁决游玩在理论上并担心详。

通道和Plasma经由过程增补额外的倘若,纤巧地绕过了这栽担心详性,稀奇是倘若对于每一个状态,都有一个对该状态感有趣的参与者异国被舛讹地修改(清淡是由于它代外了他们拥有的币),所以可信任他们。然而,这远远不是通用的,例如,Uniswap如许的编制就包含了一个大型的“中央”相符约,它不由任何人拥有,所以它们不及有效地受到这栽模式的珍惜。

有一栽手段能够解决这个题目,那就是一栽在链上发布幼批数据,但在链外实走计算的layer 2制定。

倘若数据被保证是可用的,那么在链外进走计算就是能够的,由于判定"谁准确计算,谁舛讹计算"的游玩,在理论上是安详的(或者十足能够被SNARKs或STARKs代替),这就是ZK rollup和optimistic rollup背后的逻辑。倘若一个区块链准许发布并保证相等大数据量的可用性,即使其计算能力照样专门有限,则区块链可声援这些layer-2制定,并实现高程度的可扩展性和功能性。

区块链必要处理和保证众幼批目的数据?益吧,这取决于你所请求TPS的程度。经由过程rollup方案,你能够将大无数运动压缩到每笔营业约10-20字节,所以每秒1 kb就能够为你挑供50-100 TPS。每秒1 mb 就能够为你挑供50,000-100,000 TPS,依此类推。幸运的是,互联网带宽不息在迅速添长,而且其添长速度益像并异国像摩尔计算定律那样在减慢,所以,在不增补计算负载的情况下增补数据的伸缩性,是区块链可采取的一条扩容路径!

还要仔细的是,主要的不光仅是数据容量,还要考虑数据耽延(即具有较矮的区块时间)。像rollup如许的Layer 2制定(或者说Plasma)仅在数据实际发布到链上时挑供任何坦然保证,所以,数据郑重地包含在链上(理想情况下为“最后确定”)所需的时间,是指Alice向Bob发送付款和Bob信任将包含此付款之间所需的时间。基础层的区块时间,是为其包含的内容而竖立的耽延时间。这能够经由过程链上坦然存款(又称“bond”)来解决,但这栽手段本身就不完善,由于凶意方能够经由过程殉国一笔存款来欺骗无限数目的分歧人群。

  结论  

“保持 layer 1浅易,操纵layer 2来弥补不及” 并不是解决区块链可扩展性和功能性题目的远大答案,由于这栽思路异国考虑到layer 1区块链本身必须要具有有余的可扩展性和功能性,否则所谓的layer 2制定只是可信的中介。然而,确实在某个阶段,任何layer 1功能都能够复制到layer 2,在很众情况下,如许做是一个改善可升级性的益主意。所以,短期内吾们必要并走开发layer 1与 layer 2 ,而永远则要更关注layer 2的开发。