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终极方案。