Vitalik:Rollups 不完全指南 - 币圈动态 - 找空投网
您当前位置:首页>>币圈动态

Vitalik:Rollups 不完全指南

发布日期:2021-01-06 13:00:17

浏览:

来源 | vitalik.ca

作者 | Vitalik Buterin

Rollups 解决方案在以太坊社区中正风靡一时,并有望在将来成为以太坊的关键扩容解决方案。但是这项技术究竟是怎样的呢?它能给我们带来什么?我们将如何使用这项技术呢?本文将尽量回答其中一些关键问题。

背景:何为一层、二层扩容?

区块链扩容方式有两种。第一种,可以提高区块链本身的交易容量。这种技术的主要挑战就是:当区块容量越来越大时,区块链将越来越难验证,且中心化程度越来越高。为了避免此类风险,开发者可以提高客户端软件的效率。或者选择另一种更为可持续的方式:利用诸如分片这类技术,使得区块链上的构建区块和验证工作可以分散至许多节点 (Eth2 升级中就会将此技术引入以太坊)。

第二种,可以改变使用区块链的方式。即用户不是将所有交易都直接在区块链上进行,而是通过二层协议在链下执行大部分交易。好比链上有一个智能合约,该合约只有两个任务:处理存款和提款交易、以及验证所有链下交易的有效性。对链下交易进行验证的方法有多种,但他们都具有同一个特性:在链上验证证明比在链下进行原始计算的成本要低得多。

状态通道 vs Plasma vs Rollups

二层扩容方案的三种主要类型是:状态通道、Plasma 和 rollups。他们是三种不同的范式,具有不同的优劣势。我们可以把所有二层扩容解决方案大致地归为这三类 (尽管有的方案因分类模糊而存在命名争议,如 validium)。

状态通道的原理

更多资料请参考:http://www.jeffcoleman.ca/state-channels and statechannels.org

假设 Alice 正给 Bob 提供互联网连接,作为交换,Bob 每兆字节向她支付 0.001 美元。他们不需要每一次支付都执行交易,而是使用下面的二层解决方案。

首先,Bob 向一个智能合约中存入 1 美元 (或等值的 ETH 或稳定币)。Bob 在一张写着 “0.001 美元” 的票上进行签名 (一条链下信息),然后发给 Alice,这样就完成了对 Alice 的第一笔支付。而第二次支付时,Bob 在另一张写着 “0.002 美元” 的票上进行签名,然后发给 Alice。以此类推,可以根据需要进行多次付款。当他们完成交易了,Alice 可以将数值最高的票单发布到链上,并对其进行签名。链上的智能合约将验证 Alice 和 Bob 的签名,然后向 Alice 支付 Bob 票据上的金额,并将剩余的钱退还给 Bob。

如果 Alice 不愿意关闭他们之间的状态通道 (出于恶意行为或由于技术故障),则 Bob 可以启动提款期 (withdrawal period),如果 Alice 在这段期间内 (比如 7 天) 还是没有向 Bob 提供票据,那么 Bob 就可以拿回他的所有钱。

该技术功能强大:可以对其进行调整,以进行双向支付、处理智能合约关系 (如,Alice 和 Bob 在通道中签订金融合约)、以及对通道进行组合 (比如,当 Alice 和 Bob、Bob 和 Charlie 之间有一条开放通道时,Alice 和 Charlie 也可以进行去信任交易)。

但状态通道的作用是有限的:无法将资金在链外发送给没有参与进来的用户;通道不能代表那些逻辑上没有明确所有者的对象 (如 Uniswap);并且如果要进行更为复杂的交易,需要在通道内锁定大量资金。

Plasma 的原理

更多资料请参考