教程区块链区块链技术ch088.3 侧链:双向锚定与联邦侧链

本页目录

侧链(Sidechain)是最早的 L2 构想:创建一条独立的区块链,通过"双向锚定(Two-Way Peg)"机制与主链交换资产。用户将主链资产锁定在特定地址,侧链释放等值代币;反向操作则销毁侧链代币、解锁主链资产。这一思路看似简单,但锚定机制的安全性设计决定了整个侧链的信任模型。


8.3.1 双向锚定的基本逻辑

**锁定(Lock)$

ightarrow$ 铸造(Mint)**:

Alicelock 1 BTCMainChainproofSideChainmint 1 sBTCAlice\text{Alice} \xrightarrow{\text{lock 1 BTC}} \text{MainChain} \xrightarrow{\text{proof}} \text{SideChain} \xrightarrow{\text{mint 1 sBTC}} \text{Alice}

**销毁(Burn)$

ightarrow$ 解锁(Unlock)**:

Aliceburn 1 sBTCSideChainproofMainChainunlock 1 BTCAlice\text{Alice} \xrightarrow{\text{burn 1 sBTC}} \text{SideChain} \xrightarrow{\text{proof}} \text{MainChain} \xrightarrow{\text{unlock 1 BTC}} \text{Alice}

核心问题:谁控制主链的锁定地址?谁验证侧链的销毁交易?

graph LR
    A[Alice] -->|锁定 1 BTC| B[主链多签/合约<br>锁定地址]
    B -->|SPV 证明| C[侧链验证者]
    C -->|铸造 1 sBTC| D[Alice 侧链地址]
    D -->|销毁 1 sBTC| E[侧链合约]
    E -->|SPV 证明| F[主链多签/合约]
    F -->|解锁 1 BTC| A
    style B fill:#ccffcc
    style F fill:#ccffcc

8.3.2 SPV 侧链:简化支付验证锚定

SPV 侧链通过轻客户端验证实现锚定:

  • 侧链节点只需保存主链的区块头(而非完整区块),验证主链锁定交易的 Merkle 路径;
  • 主链通过类似方式验证侧链的销毁交易。

安全边界

SPV 验证的安全性与主链的算力/质押分布成比例。若主链遭 51% 攻击,伪造的 Merkle 路径可被接受为"有效",导致侧链铸造了无抵押资产。

侧链安全性=min(主链安全性,侧链自身共识安全性)\text{侧链安全性} = \min(\text{主链安全性}, \text{侧链自身共识安全性})

8.3.3 联邦侧链:信任的多签实体

Liquid (Blockstream) 是联邦侧链的代表。它不是去中心化共识,而是由15 个 functionaries(功能实体,多为交易所)组成的多签联邦:

锁定地址=15-of-15 或  11-of-15  多重签名脚本\text{锁定地址} = \text{15-of-15 \text{或 } 11-of-15 \text{ 多重签名脚本}}

优点:速度快(1 分钟确认),隐私性好(机密交易);

缺点:完全信任联邦实体,联邦串通即可窃取锁定资金。


8.3.4 侧链与 Rollup 的本质区别

维度侧链Rollup
数据可用性侧链自行维护,L1 不验证压缩交易数据必须上传到 L1
验证方式侧链自己验证交易L1 验证状态根(欺诈/ZK 证明)
桥接资产安全依赖侧链共识/多签只要 L1 安全,桥接资产即安全
退出机制依赖联邦/SPV通过 L1 合约强制退出(censorship resistance)
代表项目Liquid, Polygon PoS(旧版)Optimism, Arbitrum, zkSync

关键差异:Rollup 的安全性继承自 L1,侧链的安全性独立于 L1

ts
// sidechain-vs-rollup-sim.ts
// 纯内置:模拟侧链与 Rollup 在 L1 安全假设下的信任层级

interface Chain {
  name: string;
  l1Security: boolean;   // 是否继承 L1 安全性
  ownConsensus: boolean; // 是否有独立共识
  dataOnL1: boolean;     // 数据是否必须在 L1 上可用
}

function trustModel(chain: Chain): string {
  if (chain.l1Security && chain.dataOnL1) {
    return '信任最小化(继承 L1 安全性,L1 合约强制退出)';
  }
  if (chain.ownConsensus && !chain.dataOnL1) {
    return '独立信任(依赖侧链自身共识或联邦多签)';
  }
  return '混合信任模型';
}

const sidechain: Chain = { name: 'Sidechain', l1Security: false, ownConsensus: true, dataOnL1: false };
const rollup: Chain = { name: 'Rollup', l1Security: true, ownConsensus: false, dataOnL1: true };
console.log(`sidechain.name:{sidechain.name}:{trustModel(sidechain)}`);
console.log(`rollup.name:{rollup.name}:{trustModel(rollup)}`);
// 输出侧链 vs Rollup 在 L1 继承与强制退出上的本质区别

8.3.5 Polygon 的旧 PoS 与 zkEVM 路线

Polygon 是侧链到 Rollup 转型的典型案例:

  • Polygon PoS(旧):一条独立侧链,由 100 个验证者的 PoS 共识保护,桥接安全性由多签控制;
  • Polygon zkEVM(新):ZK-Rollup,所有交易压缩后在 L1 上验证,继承以太坊安全性。

这种转型说明:生态正在从"侧链信任模型"向"Rollup 密码学信任模型"迁移


关键认知三:侧链的优势是灵活性与速度,代价是安全性外挂。当侧链的共识比 L1 弱(无论是联邦还是低成本 PoS),资产的"锁定"实际上是"托管"。Rollup 体现了更好的安全哲学——桥接资产的安全假设与 L1 完全一致。


← 8.2 分片 | 前往 → 8.4 状态通道

评论

0

评论加载中…

发表评论

0/2000