侧链是一个独立的区块链,它与主区块链并行运行,并通过双向桥连接到主区块链,通常被称为“主链”或“父链”。[1]
侧链的概念最初由HashCash的创始人兼Blockstream的首席执行官Adam Back博士在他的论文《使用锚定侧链实现区块链创新》中提出,该论文于2014年10月22日发表。包括Matt Corallo、Luke Dashjr、Mark Friedenbach等在内的几位比特币工程师也参与了它的开发。侧链作为通过双向桥连接到主区块链(通常称为“主链”)的独立区块链,促进了主链和侧链之间代币或数字资产的转移。[3] Adam和他的团队提出:
我们提出了一种新技术,即锚定侧链,它使比特币和其他账本资产能够在多个区块链之间转移。这使用户能够使用他们已经拥有的资产访问新的和创新的加密货币系统。[4]
侧链可以托管去中心化应用程序(dapps),并有助于减轻主链上的一些计算负担,充当扩展解决方案。通过将某些类型的交易或流程转移到专用侧链,可以减少主链上的拥塞,从而提高整体性能。[1]
侧链有两种基本类型:
在前一种情况下,两个区块链都可以被认为是彼此的侧链,也就是说,它们是平等的,有时两个区块链都有自己的原生代币。
在后一种情况下,一个侧链可以被认为是父链,另一个侧链可以被认为是依赖链或“子”链。通常,在父子侧链关系中,子链不创建自己的资产。相反,它从父链的转移中获得任何资产。[2]
SmartBCH是第一种侧链的一个例子——两个独立的区块链。SmartBCH是Bitcoin Cash的以太坊虚拟机(EVM)和web3兼容的侧链,但没有自己的原生代币。SmartBCH使用一个名为“SHA-Gate”的桥。从BCH转移到SmartBCH由BCH全节点客户端处理。
Drivechain是第二种侧链的一个例子——父子关系。比特币是父链,Drivechain是子链,因此Drivechain不发行原生代币。相反,它完全依赖于从比特币网络转移的BTC。Drivechain使用SPV来实现其双向锚定,这依赖于矿工来验证转移。矿工联盟的51%攻击是可能的。Drivechain创建了盲合并挖矿(BMM),它解决了侧链需要自己的矿工的缺点。BMM允许比特币区块链(父链)上的矿工在Drivechain(子链)上挖矿,而无需运行Drivechain全节点,并且矿工以BTC支付。
Polygon是两种侧链的混合体。它使用一个名为Plasma的以太坊框架,该框架允许创建子链,这些子链可以处理交易,然后再定期在以太坊区块链上完成。Polygon是EVM兼容的。另一方面,Polygon通过权益证明验证者发行自己的原生代币MATIC。它具有“两个”双向锚定,一个通过Plasma,另一个通过权益证明验证者。[2]
在典型的侧链实现中,交易是在主区块链(通常称为主链)上通过资产锁定过程发起的。在此之后,在辅助区块链或侧链上创建一个相应的交易,这需要提供加密证明,以确认主链上资产的正确锁定。
侧链被设计为与主链互操作,允许资产或数据在两个链之间转移。这使用户能够将资产从主链移动到侧链,反之亦然。
侧链可以有自己的共识机制、规则和功能,以适应特定的用例。这允许开发人员试验新功能或优化,而不会危及主链的稳定性。
侧链的一个常见特征是能够锁定主链上一定数量的加密货币,然后在侧链上铸造等量的代币。这被称为双向锚定机制,允许资产在主链和侧链之间移动。
可以为特定目的创建侧链,例如增强隐私、提高交易速度或实施智能合约。这种专业化使不同的侧链能够满足不同的需求。
通过在侧链上处理特定类型的交易或功能,可以减少主链的网络负载,从而提高可扩展性并加快交易确认时间。
虽然侧链可以提供各种好处,但安全性是一个关键问题。必须建立适当的机制,以确保在主链和侧链之间转移的资产不易受到攻击或漏洞的影响。[5]
由于侧链通常是独立的区块链,因此它们的安全性可能会受到损害,因为它们不受主链的保护。另一方面,如果侧链受到损害,它不会影响主链,因此它可以用于试验新的协议和改进主链。
侧链需要自己的矿工。在父子侧链中,子链通常没有自己的原生币。这会降低矿工的积极性,因为他们主要的收入来源是发行原生币。
例如,如果用户持有BTC是因为比特币的安全性和信任模型,然后将BTC转移到侧链,那么安全性将降低,并且信任模型将不同。[2]