一 什么是Sidechain,为什么需要Sidechain
1.1 什么是Sidechain
Sidechain是一种以太坊2.0扩容方案或者技术,它是一条完全独立于主链的一条区块链,和主链是平行关系。因此它有自己的共识机制。Sidechain通过和Mainnet 互相锚定,可以实现资产的在主链和侧链之间的转移。
1.2 为什么需要侧链
第一: 扩展主链处理交易能力
第二: 降低拥塞,降低成本
第三: 通道效率低下,使用场景有限
二 Sidechain的工作原理
2.1 双向锚定(Two-Way Pegging)
2.1.1 锁定资产(Locking Assets)
用户在主链上发送资产到一个特殊的锁定地址或者智能合约中,这个智能合约会冻结这部分资产。例如,在以太坊主链上,用户将一定数量的以太坊币发送到一个特殊的多重签名地址或者合约中
2.1.2 验证和确认(Verification and Confirmation)
用户的这个锁定交易,不是发送了就可能立即写入到了区块链中,可能因为其他原因这笔交易被取消了等等。
因此,需要等待这笔交易被验证和确认,可能需要等待足够的区块确认,比如以太坊可能需要64个区块才会是finalized
2.1.3 生成等值资产(Minting on Sidechain)
一旦锁定的交易在主链上被确认,侧链就会mint出来等值的代币或者资产。比如主链锁定10个ETH, 那么侧链可能自己mint出10个WETH或者Liquid Network中的L-BTC
2.2 在侧链上进行操作和交易
在资产被锚定到侧链后,用户可以在侧链上自由交易和操作这些资产, 侧链通常有自己的共识机制和区块生成规则,交易速度和费用可能会比主链更有优势
2.2.1 交易确认
侧链上的交易会按照侧链的共识机制进行确认,例如通过PoS(权益证明)或PoA(权威证明)等机制。这些交易记录在侧链的区块链上,不会直接影响主链的负载
2.2.2 智能合约
侧链可以支持复杂的智能合约,用户可以在侧链上运行各种去中心化应用。例如,侧链可以支持DeFi(去中心化金融)应用,提供借贷、交易和保险等服务。
2.3 解锁和转移回主链
当用户希望将资产从侧链转回主链时,需要经历以下步骤:
2.3.1 销毁侧链资产(Burning on Sidechain)
用户在侧链上销毁等值的侧链资产,这一操作会记录在侧链的区块链上。例如,在Liquid Network中销毁一定数量的L-BTC。
2.3.2 生成解锁证明(Generating Proof of Burn)
销毁操作需要在侧链得到确认,并生成一个可验证的解锁证明(Proof of burn)。这一证明需要包含足够的交易信息和区块确认,以便主链能够验证销毁操作的真实性
2.3.3 验证解锁证明(Verification on Mainnet)
用户将解锁证明提交到主链上的特殊地址或智能合约,主链上的智能合约或节点会验证这一解锁证明,确保其真实性和完整性
2.3.4 解锁主链资产(Releasing Assets on Mainchain)
一旦解锁证明在主链上得到验证,主链会将锁定的资产释放给用户。例如,在比特币主链上,解锁并释放原先锁定的比特币给用户
三 Sidechain和Channel比较
3.1 相同点
第一: 都是区块链扩容方案, 都可以增加交易吞吐量,降低费用
第二: 数据都是存储在L1主链之外的
第三: 都会在主链上锁定资产
3.2 不同点
3.2.1 提现速度
Sidechain: 提现速度快,因为没有挑战期
Channel: 提现速度慢,因为存在挑战期
3.2.2 是否支持智能合约
Sidechain: 支持智能合约
Channel: 不支持智能合约
3.2.3 通道需要交易参与方在线
Sidechain: 没有在线的概念,在不在线的问题
Channel: 通道有在线概念,即参与方需要保持连接,在线的话能够及时接收和处理交易状态更新以及参与争议解决;如果一方试图恶意关闭通道或提交错误的状态,在线的另一方可以及时介入,通过链上的争议解决机制
3.2.4 参与者是否有限
Sidechain: 不存在参与者限制问题
Channel: 状态通道通常设计为两个或多个特定参与者之间的交易。这意味着它们不适合多方交易或开放市场。
3.2.5 扩展性问题
Sidechain: 可以适用于大规模网络
Channel: 不适用于大规模的网络,因为每个通道都需要单独管理。
四 Sidechains和Plasma比较
4.1 相似点
Sidechain 和 Plasma 都是旨在解决区块链扩展性问题的 Layer 2 解决方案。它们通过将一部分交易和计算从主链转移主链之外来处理,从而提高系统的吞吐量和效率
4.2 不同点
4.2.1 设计方式
Sidechain: 侧链是一个完全独立于主链的区块链,它有着自己的共识机制和操作规则。通过双向锚定,实现资产在主链和侧链上转移
Plasma: 创建的子链是构建在L1主链基础之上的,需要依赖主链的共识机制来保证安全
4.2.2 数据存储
Sidechain: 侧链数据完全独立存储在侧链,所有交易和状态更新都在侧链上进行,完全独立于主链
Plasma: 交易数据也主要是存储在链下的,但是它会定期,一般是间隔几个区块,就会提交State Root状态根到L1主链, 用于校验
4.2.3 验证机制不同
Sidechain: 侧链有自己的验证机制和节点,主链对侧链的数据和状态不进行直接验证
Plasma: 使用状态根来验证链下数据和校验请求,通过状态根提交和欺诈证明机制确保链下数据的合法性。
4.2.4 安全性不同
Sidechain: 侧链的安全性依赖于其自身的共识机制,如果侧链的共识机制不安全,侧链上的资产可能面临风险;用户需要信任侧链的操作员和节点,确保侧链不会发生双重花费或其他攻击
Plasma: Plasma 依赖主链的安全性,通过定期提交状态根和使用欺诈证明机制来确保链下交易的安全性和合法性。
4.2.5 是否支持智能合约
Sidechain: 侧链支持智能合约
Plasma: 子链不支持智能合约
4.2.6 提款速度
Sidechain: 没有挑战期,提款速度快,但是不够安全
Plasma: 有挑战期,提款比较慢,但是相对安全
五 Sidechain的优缺点比较
5.1 优点
5.1.1 扩展性好
侧链可以处理大量交易,从而提高整体网络的吞吐量,减轻主链的负担
5.1.2 降低交易费用
由于交易在侧链上进行,侧链通常具有更低的交易费用,提升了用户体验
5.1.3 提升交易速度
侧链的区块生成速度通常比主链更快,这使得交易确认时间显著减少
5.2 缺点
5.2.1 技术难度高,实现和维护复杂
实现和维护侧链的复杂性较高,涉及主链和侧链之间的交互、安全验证以及跨链通信等问题
5.2.2 安全性依赖
侧链只有自己独立的共识机制,如果被攻击,可能带来安全问题;尽管侧链有自己的安全机制,但其最终安全性仍然依赖于主链的基础安全
5.2.3 侧链上Operator缺乏足够监管,容易作恶
存在中心化风险,篡改数据、操纵链上状态等等