Layer2 扩容之侧链#
我们在前面文章《区块链的技术逻辑架构 ——Layer0-3》中提过,Layer2 扩容的方案有很多,状态通道我们在上一期已经讲过,所以本期会继续讲解下一个方案,即侧链 (Side Chain)。
一、什么是侧链?#
侧链是一个独立的区块链网络,并通过一个双向通道连接到主链上。与其他扩容方案不同,通常拥有自己的一组节点和共识规则,但它设计成可以与主链通常是公共区块链,如 BTC 或 ETH 互操作,这种互操作性允许资产和数据从主链传输到侧链,以便在侧面上执行特定任务或应用。所以侧链上的交易安全性由自己保障,并不依赖主链,这也是侧链与其他方案的最大不同点。
由于侧链有自己的共识机制 (比如使用 POA,或者 DPos),所以它可以通过修改出块时间、或者区块大小来提高交易吞吐量,但这也会牺牲一定的去中心化和安全性。
侧链与主链之间主要靠一个双向通道 (双向网桥) 进行交互,这条通道用于交换主链和侧链上的 Token (代币)。
侧链的示意图如下:
二、侧链的作用#
1. 扩展性:侧链可以处理主链上无法承受的交易负载,提高整个区块链生态系统的性能,特定用途侧链可以针对特定用途或应用程序进行优化,如金融服务、供应链管理或隐私交易。
2. 隔离性:侧链可以提供额外的安全性和隔离,以防止主链上的问题对侧链产生负面影响。
3. 功能性:侧链可以实施新的功能和智能合约,不受主链的限制。
三、侧链的运行机制#
假定我们有一个侧链叫 Polygon,主链是我们的以太坊。当我们要在 Polygon 上进行交易我们能直接使用以太坊的 ETH 吗?答案是不行的,我们需要使用 Polygon 上的代币,那这些代币又怎么来的呢?
答案是质押,为了完成这个过程,首先以太坊上会创建一个智能合约 P,当你往这个合约质押 10 个 ETH,合约 P 就会调用侧链的智能合约 C 使其等比例铸造侧链的代币,这个过程也叫 Deposit,铸造完成后你就得到了 10 个侧链代币,也就能够去 Polygon 上进行交易。
当我们在侧链 Polygan 上进行一系列交易后,剩下了 5 个代币,那么这 5 个代币还能换回主链的 ETH 吗?答案是可以的,这个过程也称为 Withdraw (提款)。
Withdraw 的过程会比 Deposit 更复杂一点,需要先销毁 Polygan 上的 5 个代币,并将销毁证明提交到主链上。当这笔销毁证明在主链提交通过,就会触发智能合约 P,将剩余的质押 ETH 退还给交易者。
所以,侧链和主链之间的双向通道,其实就是侧链智能合约和主链智能合约在交互和调用。
但是,侧链仍然有它的弊端。 侧链的弱安全性可能会导致主链财产遭受损失。比如之前有一个黑客利用侧链的漏洞,在侧链凭空造出了很多代币,并通过 Withdraw 把这些代币在主链等比例提出 ETH,造成巨大的损失。
Layer2 的另一个解决方案:Plasma
Plasma 的大部分设计和侧链是类似的,因此本期将它与侧链一起讲解。
Plasma 和侧链主要有两个不同,一是它会定期提交 Plasma 链的状态 (Merkle Root) 到主链上,二是它的退出机制 (即 Withdraw) 引入了欺诈证明。
欺诈证明就是比如我从 Plasma 提款 100 个 ETH,则其他人可以对此发出质疑,如果确认存在欺诈,则交易作废,并且质疑者也可以得到奖励。
在欺诈证明的作用下,Plasma 的安全性会比侧链高,但同时提款速度也会比侧链慢很多,因为欺诈证明需要一个等待期 (质疑期),一般需要一周。
1. 侧链、Plasma 虽然會经被认为是以太坊扩容的有效解决方案,但现在已经慢慢被抛弃,转而使用更有效、更安全的 Rollup 等 Layer2 方案;
2.Rollup 主要有两种方案,分别是 OptimisticRollups 和 Zk Rollups,Optimistic Rollups 是目前比较成熟的方案,而 Zk Rollups 是 V 神点名的 Layer2 终极方案。