结论
一种编程语言
富厚的状态
事实证明,Plasma 和通道以及其他完全链下的 layer 2 协议有一些根天性的弱点,使得它们无法完全复制 layer 1 的本领。
不只存在一种编程语言重要,并且该编程语言如何准确地集成到区块链中也很重要。在可集成语言的更受限的要领中,假如它用于纯粹生意业务验证:当你向某个地点发送代币,该地点代表了计较机措施 P,P 可用于验证从这个地点发送代币的生意业务。
区块链需要处理惩罚和确保几多数据?好吧。这取决于你想要几多 TPS。通过 rollup,你可以将大大都勾当压缩至每个生意业务约莫 10-20 字节,因此,1kb/秒,约莫可以有 50-100 的 TPS,1MB/秒约莫 50,000-100,000 的 TPS, 以此类推。
我在这里具体探讨。总结来说,这些协议需要一种判定景象的要领,个中一些参加方恶意地不提供他们理睬提供的数据,且因为数据宣布并非是全局可验证的,这些判定游戏在博弈论上看是不不变的(你无法知道什么时候宣布数据,除非你已经自行下载)。
原文标题:《V 神:冲破 layer1 和 layer2 干系的通例思维》
Rollup 也需要这种属性:在 rollup 内的代币必需由措施节制,该措施一连跟踪状态根 R,而且假如某验证器 P(R,,R’,数据)返回 TURE,则将 R 变动为 R’,但在这种环境下,它仅仅将状态改变为 R’,它并不释放代币。
授权状态改变而无须完全释放一个账户中的所有代币,这种本领我称之为「富厚的有状态性」。它可以在许多方面实现,有些基于 UTXO 的,但假如没有它,区块链不敷以实现大大都 layer 2 协议,而无须包括信任假设(譬喻,一组人获得集团信任执行这些富厚状态的措施)。(蓝狐条记:也就是无须信任第三方)
幸运的是,互联网带宽一连快速增长,而且在计较方面并没有看到摩尔定律的减速,因此,在不增加计较负载的环境下增加数据的可扩展性,这对付区块链来说,长短常可行的路径。
请留意,不只数据容量很重要,数据延迟也重要,也就是具有低区块时间。Layer 2 协议,如 rollup(或就此而言,Plasma)只是当数据实际宣布到链上时才给以任何安详性担保。因此,数据被靠得住地包括在链上(抱负环境下是「实现最终性」)所淹灭的时间是指当 Alice 向 Bob 发送付出金钱和 Bob 确信付出被包括进去之间所耗费的时间。
这种疏散层的想法长短常好的主意,从恒久看,我强烈支持这种想法。然而,这种想法忽略了一个重要的概念:尽量 layer 1 无法很强大,可是由于更大的本领意味着更大的巨大性并因此带来更大的懦弱性,因此 layer 1 也必需足够强大,以使得构建其上的 layer 2 协议首先是大概的。
足够的数据可扩展性和低延迟
原文来历: 蓝狐条记 作者:Vitalik Buterin
区块链规模有一个普遍的思路:区块链应该最洪流平上简朴,因为它们是很难改变的基本架构,一旦粉碎会造成庞大危害,而更巨大的成果应该在上层构建,以 layer 2 协议的形式:状态通道、Plasma、Rollup 等。layer 2 是举办一连创新的处所,而 layer 1 应该保持不变性和举办维护,只有在紧张环境下才举办大的变动(譬喻防备基本层的加密被量子计较机攻破,这种环境下举办一次性重大的变动是可以的)
遗憾的是,假如仅用纯函数这种技能无法实现。问题是:需要用某种方法将代币从「正常」状态转变为「期待提款」状态。但措施 P 无法会见方针地。因此,任何可以授权将代币移至期待提款状态的生意业务也可以授权当即盗取这些代币;措施 P 无法判别出个中差别。
这种改变代币状态而无须完全释放它们的本领,对许多应用来说都很重要,个中也包罗 layer 2 协议。Plasma 自身就切合这种「授权,最终确定,打消」的范式:从 Plasma 退出必需被核准,然后有 7 天时间的挑战期,在这个挑战期内,假如能提供正确的证据,退出大概被打消。
来历链接:mp.weixin.qq.com
可是,这种「纯函数」的要领还不足。这是因为这种纯粹基于函数的要领并不敷以执行人们实际想实现的多种范例的 layer 2 协议。它可以处理惩罚通道(以及基于通道的系统,如闪电网络),但它无法实现具有强大属性的其他扩展性技能,它也无法用于引导出具有更巨大状态观念的系统,等等。
这是 ZK rollup 和 optimistic rollup 背后的逻辑。假如区块链答允宣布并确保公道的大量数据的可用性,纵然其计较本领很是有限,那么,区块链也能支持这些 layer 2 协议,并实现高程度的可扩展性和成果。
必需有大概在链上执行定制的用户生成的剧本。这种编程语言可以很简朴,且实际上并不需要高机能,但它至少需要拥有这种级此外成果:可以或许验证大概需要验证的任意内容。这很重要,因为要构建于基本层之上的 layer 2 协议需要某种验证逻辑,这种验证逻辑必需以某种方法由区块链执行。
你大概传闻过图灵完备性。对这个术语,「门外汉的直觉」是假如一种编程语言是图灵完备的,那么它可以做计较机理论上可以做的任何工作。一种利用图灵完备语言编程的措施可以翻译成任何其他图灵完备语言的等效措施。可是,事实证明,我们只需要更轻一些的对象:可以将编程限制为无轮回,可能可以担保措施在特定命量的步调之后终止。
「保持 layer 1 简朴,在 layer 2 上补充」并不是办理区块链可扩展性和成果性问题的通用谜底。因为它没有思量到 layer 1 区块链自身必需要有足够的可扩展性和成果性,以使得构建其上实际上成为大概(除非你所谓的「layer 2 协议」只是可信的中介)。
媒介:V 神认为,固然从久远看,layer 1 应保持简朴和不变,layer 2 聚焦更多创新,这种想法是好的。可是,从短期看,layer 1 还不足强大,要想告竣这种 layer 1 和 layer2 的完美分层干系,首先要让 layer 1 足够强大,而这个足够强大就是要让 layer 1 协议到达必然级此外成果。所谓的必然级别,就是实现 layer 1 和 layer 2 完美互补干系的最小成果级别。V 神用「成果逃逸速度」举办比喻。那么,layer 1 必需要有那些最小成果呢?个中包罗一种可以验证需要验证的任意内容的编程语言;富厚的有状态性(如授权改变代币状态而无需完全释放它们的本领);数据可扩展性和低延迟等。本文由「蓝狐条记」社群的「SIEN」翻译。
基本层的区块时间配置了任何内容的延迟时间,这些内容简直认依赖于其被包括进基本层。可以用链上安详存款(也称为「债券」)来办理此问题,其价钱是成本效率低下,这种方法本质上不完善,因为恶意行为者可以通过牺牲一个存款质押欺骗无数人。
通道和 Plasma 巧妙地通过添加特别假设来办理这种不不变性,出格是假定对付每个状态,都有一个参加者对该状态不被错误修改感乐趣(凡是是因为它代表了其拥有的代币),因此,为其自身好处可以被信任。可是,这远非通用。譬喻,像 Uniswap 这样的系统,有一个大型的「中央」合约,它不归任何人所有,因此,它们无法有效地受到这种范式的掩护。
有一种要领可以办理这个问题,个中 layer 2 协议在链上宣布很是小量的数据,但完全在链下举办计较。假如数据可以确保可用,那么,链外举办计较是可行的,因为判定谁正确计较谁没有正确计较的游戏在博弈论上是不变的(可能可以完全由 SNARKs 或 STARKs 代替)。
一旦 layer 1 协议到达必然级此外成果,我将其称为「成果逃逸速度」,那么到了这个时候,你可以在这个基本上做其他所有工作,而无须改变基本层。可是,假如 layer 1 成果不足强大,那么,你可以谈论填补与 layer 2 系统的旷地,但现实是,假如不再次引入 layer 1 试图挣脱的整套信任假设,实际上就没有步伐构建这些系统。
为了简朴说明纯函数范式无法做什么,可以思量一下具有如下成果的储备账户:存在一个加密密钥 k,k 可以提倡提款,且假如提倡了提款,在接下来的 24 小时内利用沟通的密钥 k 可以打消提款。假如提款在 24 小时内仍未打消,则任何人都可以「戳」该账户以完成提款。
这么做的目标是,假如密钥被盗,账户持有人可以防备盗窃者提取资金。盗窃者虽然可以阻止正当持有人得到资金,但这种进攻对付盗窃者来说将是无利可图的,因此他们大概不会去干这种事。
也就是说,假如你发送的哈希值为 h 的生意业务,你提供的签名为 S,那么区块链会运行 P(h,S),假如输出为 TRUE,那么生意业务是有效的。凡是,P 是用于加密签名方案的验证器,但它可以执行越发巨大的操纵。尤其需要留意的是,在这一模子中,P 并不能会见生意业务的目标地。
请留意:是的,我知道假如 P 可以会见 h,那么,你可以将方针地点包罗进来作为 S 的一部门,然后比较 h 举办查抄,并以此方法来限制状态改变。可是,大概有一种编程语言其资源太有限或受限于实际上的执行。让人受惊的是,在区块链剧本语言中凡是确实如此。(蓝狐条记:这里的 h 是指哈希值,S 是指签名)
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。