【web3学堂】第23课——什么是侧链?
蓝鲸社|幸川

发布于 2023-04-06 14:00

小学堂继续开课啦——

今天我们来说说什么是侧链(Side Chain)?侧链是主网络的一种扩容方式,比如我们熟知的马蹄链就是以太链的侧链。

侧链是一条独立的区块链,并通过一个双向通道连接到主链上(以太坊)。与其他扩容方案不同,侧链有自己的共识机制,所以侧链上的交易安全性由自己保障,并不依赖主链,这也是侧链与其他方案的最大不同点。

由于侧链有自己的共识机制(比如使用PoA,或者DPos),所以它可以通过修改出块时间、或者区块大小来提高交易吞吐量,但这也会牺牲一定的去中心化和安全性。

侧链与主链之间主要靠一个双向通道(双向网桥)进行交互,这条通道用于交换主链和侧链上的Token(代币)。

假定我们有一个侧链叫Polygon,主链是我们的以太坊。当我们要在Polygon上进行交易,我们能直接使用以太坊的ETH吗?答案是不行的,我们需要使用Polygon上的代币,那这些代币又怎么来的呢?

答案是质押,为了完成这个过程,首先以太坊上会创建一个智能合约P,当你往这个合约质押10个ETH,合约P就会调用侧链的智能合约C,使其等比例铸造侧链的代币,这个过程也叫Deposit,铸造完成后你就得到了10个侧链代币,也就能够去Polygon上进行交易。

当我们在侧链Polygan上进行一系列交易后,剩下了5个代币,那么这5个代币还能换回主链的ETH吗?答案是可以的,这个过程也称为Withdraw(提款)。

Withdraw的过程会比Deposit更复杂一点,需要先销毁Polygan上的5个代币,并将销毁证明提交到主链上。当这笔销毁证明在主链提交通过,就会触发智能合约P,将剩余的质押ETH退还给交易者。

所以,侧链和主链之间的双向通道,其实就是侧链智能合约和主链智能合约在交互和调用。

又是一个看起来很完美的方案,那侧链有没有什么弊端呢?答案就是侧链的弱安全性可能会导致主链财产遭受损失。比如之前有一个事件(Wormhole),黑客利用侧链的漏洞,在侧链凭空造出了很多代币,并通过Withdraw把这些代币在主链等比例提出ETH,造成巨大的损失。

接着上面的问题,就引出了Layer2的另一个解决方案:Plasma。

Plasma的大部分设计和侧链是类似的,主要有两个不同,一是它会定期提交Plasma链的状态(Merkle Root)到主链上,二是它的退出机制(即Withdraw)引入了欺诈证明。

欺诈证明就是比如我从Plasma提款100个ETH则其他人可以对此发出质疑,如果确认存在欺诈,则交易作废,并且质疑者也可以得到奖励。

在欺诈证明的作用下,Plasma的安全性会比侧链高,但同时提款速度也会比侧链慢很多,因为欺诈证明需要一个等待期(质疑期),一般需要一周。

虽然侧链、Plasma我在讲解的时候将其归到Layer2,但严格来讲它们并不属于Layer2,因为它们都是独立的区块链,并没有利用主链的共识机制来保证安全性。

侧链、Plasma虽然曾经被认为是以太坊扩容的有效解决方案,但现在已经慢慢被抛弃,转而使用更有效、更安全的Rollup等Layer2方案。

好了,今天就学到这里,下课——

打开APP DoDo提供建站支持