http://www.7klian.com

Vitalik :区块链分层布局尚存在缺陷,短期需并行开拓layer 1和layer 2

 
一旦layer 1协议实现了某种水平的成果,我将称之为“成果逃逸速度”,然后,是的,你可以在不进一步改变基本的环境下,在上面做任何其它工作。

以下是译文:
通道和Plasma通过增加特另外假设,巧妙地绕过了这种不不变性,出格是假设对付每一个状态,都有一个对该状态感乐趣的参加者没有被错误地修改(凡是是因为它代表了他们拥有的币),因此可信任他们。然而,这远远不是通用的,譬喻,Uniswap这样的系统就包括了一个大型的“中心”合约,它不由任何人拥有,因此它们不能有效地受到这种模式的掩护。
 
“保持 layer 1简朴,利用layer 2来补充不敷” 并不是办理区块链可扩展性和成果性问题的普遍谜底,因为这种思路没有思量到layer 1区块链自己必需要具有足够的可扩展性和成果性,不然所谓的layer 2协议只是可信的中介。然而,确实在某个阶段,任何layer 1成果都可以复制到layer 2,在很多环境下,这样做是一个改进可进级性的好主意。因此,短期内我们需要并行开拓layer 1与 layer 2 ,而恒久则要更存眷layer 2的开拓。

 

举个简朴的例子来说明纯函数范式所无法实现的工作,思量一个具有以下特征的储备账户:有一个暗码密钥k可以提倡提款,假如其举办了提款,则在接下来的24小时内,同一密钥k可以打消提款。假如提款在24小时内仍未打消,那么任何人都可以“冲入”这个账户,然后完成提款。其目标是,假如密钥被盗,账户持有人可以防备小偷提取资金。窃贼虽然可以阻止正当所有者得到资金,但进攻对窃贼来说是无利可图的,因此他们大概不会为此而烦恼(有关这种技能的表明,请参阅原始论文)。

连系首创人Vitalik Buterin在其最新宣布的博文《基本层和成果逃逸速度》中提到,“保持 layer 1简朴,利用layer 2来补充不敷” 并不是办理可扩展性和成果性问题的普遍谜底,因为这种思路没有思量到layer 1区块链自己必需要具有足够的可扩展性和成果性,不然所谓的layer 2协议只是可信的中介。在这篇文章中,Vitalik提出了“成果逃逸速度”的观念,他还暗示,短期内我们需要并行开拓layer 1与 layer 2 ,而恒久则要更存眷layer 2的开拓。

事实证明,plasma、通道以及其它完全链外的layer 2协议都有一些根天性的弱点,这些弱点阻碍了它们完全复制layer 1的成果。我在这里具体接头过这个问题(译者注:中文版在这里);总结是,这些协议需要有一种方法,来裁决某些缔约方恶意不提供其理睬提供数据的环境,并且,由于数据宣布是不行全局验证的(除非你本身下载了数据,不然你不知道何时宣布数据),这些裁决游戏在理论上并不不变。
一种编程语言
 
不幸的是,,这种技能无法简朴地通过纯函数来实现。问题是:需要有某种要领将币从“正常”状态转移到“期待取款”状态。可是措施P无法会见目标地!因此,任何可以授权将币转移到期待取款状态的生意业务,也可以授权当即盗取这些币,也就是说,P不能区分两者的区别。在不完全释放币的环境下,改变币状态的本领,对很多应用而言都是很重要的,包罗 layer 2 协议。
你大概传闻过图灵完备性,外行一般会认为,假如一门编程语言是图灵完备的,那么它可以做任何计较机理论上可做的工作。一种图灵完备语言编写的任何措施,都可以翻译成任何其它图灵完备语言的等效措施。然而,事实证明,我们只需要一些稍轻的对象:可以限制为不带轮回的措施,可能担保在特定步调中终止的措施。
区块链世界有这样一个常见的思路:区块链应该是最简朴的,因为它们是很难改变的基本设施,假如产生了粉碎,便会导致庞大的危害,而且应该以layer 2协议的形式在一层区块链顶部成立相对巨大的成果,譬喻:状态通道、Plasma、rollup等等。 Layer 2应该是一连的创新所在,而layer 1应该是不变的,只有在紧张环境下才会有大的变革(譬喻为了防备基本协议的暗码学被量子计较机破解,一次重大的打破性变革就是可以的)。
结论
它可以有多种实现方法,有些是基于UTXO的,而没有它,且不包罗信任假设的环境下(譬喻,一组被集团信任的事恋人员来执行那些富状态措施),区块链就不敷以实现大大都layer 2 协议。
还要留意的是,重要的不只仅是数据容量,还要思量数据延迟(即具有较低的区块时间)。像rollup这样的Layer 2协议(可能说Plasma)仅在数据实际宣布到链上时提供任何安详担保,因此,数据靠得住地包括在链上(抱负环境下为“最终确定”)所需的时间,是指Alice向Bob发送付款和Bob确信将包括此付款之间所需的时间。基本层的区块时间,是为其包括的内容而配置的延迟时间。这可以通过链上安详存款(又称“bond”)来办理,但这种要领自己就不完美,因为恶意方可以通过牺牲一笔存款来欺骗无限数量的差异人群。
Rollup也需要这个属性:Rollup中的币必需由一个跟踪状态根R的措施节制,假如某个验证器P(R, R’, data) 返回TRUE,则从R变动为R’,但它只将状态变动为R’,在这种环境下,它不会释放币。
必需可以或许在链上执行自界说用户生成的剧本。这种编程语言可以很简朴,实际上不需要高机能,但它至少需要具备所需的成果级别,才气验证大概需要验证的任意内容。
富-有状态性(Rich Statefulness)
充实的数据可扩展性和低延迟
留意:是的,我知道假如P可以会见h,那么你可以将目标地地点作为S的一部门,并将其与h举办较量,然后以这种方法限制状态变革。但也有大概会呈现一种编程语言资源太有限(或受到其他限制),从而无法真正做到这一点。令人惊奇的是,在区块链剧本语言中,这种环境是常常产生的。
这种层疏散的想法长短常好的,从久远来看,我强烈支持这一想法。然而,这种思维忽略了一个重要的点:固然layer 1不能太强大,因为更大的功率就意味着更多的巨大性,因此会有更大的懦弱性,但layer 1也必需要足够强大,这样成立在其之上的layer 2协议才气是真正可行的。

写在前面:

有一种要领可以办理这个问题,那就是一种在链上宣布少量数据,但在链外执行计较的layer 2协议。
Plasma自己切合这个“授权、终结、打消”的范式:从Plasma的退出操纵首先必需要得到核准,然后会有7天的挑战期,而且在这个挑战期内,假如挑战者提供了正确的证据,则退出就可以被打消。
然而,这种“纯函数”的要领是不足的。这是因为这种纯基于函数的要领,不敷以实现人们真正想要实现的多种layer 2协议。它可以实现通道(以及基于通道的系统,如闪电网络),但它不能实现其它具有更强特性的扩容技能,也不能用于具有更巨大状态观念的隶属系统,等等。
假如数据被担保是可用的,那么在链外举办计较就是可以的,因为判定”谁正确计较,谁错误计较”的游戏,在理论上是不变的(可能完全可以被SNARKs或STARKs取代),这就是ZK rollup和optimistic rollup背后的逻辑。假如一个区块链答允宣布并担保相当大数据量的可用性,纵然其计较本领仍然很是有限,则区块链可支持这些layer-2协议,并实现高程度的可扩展性和成果性。
这一点很重要,因为要构建在上面的layer 2协议需要某种验证逻辑,而这种验证逻辑必需由区块链以某种方法执行。
这不只关乎一门编程语言,如何将编程语言精确地集成到区块链中也很重要。假如一种语言被用于纯粹的生意业务验证,那么它集成的方法就更为有限:当你将币发送到某些地点时,该地点暗示一个计较机措施P,该措施将用于验证从该地点发送币的生意业务。也就是说,假如你发送一笔哈希为 h的生意业务,那么你将提供一个签名S,然后区块链将运行 P(h, S),而假如该输出为TRUE,那么该生意业务就是有效的。凡是,P是暗码签名方案的验证器,但它可以执行更巨大的操纵。留意,在这个模子中,P无法会见生意业务的目标地。
区块链需要处理惩罚和担保几多数量的数据?好吧,这取决于你所要求TPS的水平。通过rollup方案,你可以将大大都勾当压缩到每笔生意业务约10-20字节,因此每秒1 kb就可觉得你提供50-100 TPS。每秒1 mb 就可觉得你提供50,000-100,000 TPS,依此类推。幸运的是,互联网带宽继承在快速增长,并且其增长速度好像并没有像摩尔计较定律那样在减慢,因此,在不增加计较负载的环境下增加数据的伸缩性,是区块链可采纳的一条扩容路径!
这种授权状态变革,而不需要完全将所有币配置在一个免费账户的本领,就是我所说的“富-有状态性”(rich statefulness)。
而假如layer 1不足强大,你可以谈论用layer 2系统来填补空缺,但现实却是,假如不从头引入layer 1试图挣脱的一整套信任假设,你是没有步伐去构建这些系统的。这篇文章将接头组成“成果逃逸速度”的最小成果是什么。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读