L4

State Channels 状态通道

Layer 1 原生扩展方案 - 无限吞吐量与即时确权

概述
核心优势:Aeternity 的状态通道是 Layer 1 原生协议,允许双方在链下进行无数次交易,仅在发生争议或关闭通道时上链。

状态通道解决了区块链扩展性的“不可能三角”,提供了:

  • 无限吞吐量 - 仅受限于网络带宽,不受区块 Gas 限制
  • 即时确权 - 链下更新即时生效,无需等待区块确认
  • 隐私保护 - 交易数据仅对参与双方可见
  • 零手续费 - 通道内的更新无需支付 Gas(仅开启/关闭需要)
核心架构
有限状态机 (FSM)

Aeternity 节点内部集成了一个复杂的有限状态机(FSM)来管理通道状态,确保协议的安全性。

链上状态 (On-Chain)

仅存储最少量的元数据:

  • Channel ID - 通道唯一标识
  • Participants - 参与双方地址
  • Total Amount - 锁定的总资金
  • Round - 当前轮次号(用于争议仲裁)
链下状态 (Off-Chain)

包含完整的业务逻辑:

  • Current State - 最新的余额分配
  • Contracts - 运行在通道内的智能合约
  • Updates - 双方签名的状态更新历史
争议解决 (Dispute Resolution)

如果一方试图作弊(例如广播旧的状态),另一方可以通过 Solo 交易 提交最新的签名状态进行“强制进度”或“关闭”:

  • 系统总是信任轮次号 (Round) 更高且有双方签名的状态。
  • 作弊者可能会受到惩罚(Slash)。
生命周期与交易

通道的生命周期涵盖开启、使用和关闭三个阶段:

1. 开启 (Open) - ChannelCreateTx

功能:双方锁定资金,建立信任通道

关键参数
  • initiator / responder - 发起方与响应方
  • initiator_amount / responder_amount - 初始锁定金额
  • lock_period - 争议锁定期
执行逻辑

双方签名后上链,资金被锁定在 Channel 账户中。此后,双方建立 WebSocket 连接进行链下通信。

2. 更新 (Update) - 链下消息

功能:在通道内进行转账或调用合约

  • 转账:A 向 B 转账 1 AE,只需双方更新余额并签名,无需上链。
  • 合约调用:可以在通道内创建和调用智能合约,实现复杂的业务逻辑(如预测市场)。
这些操作通过 WebSocket 消息完成,毫秒级响应,零 Gas。
3. 关闭 (Close) - ChannelCloseMutualTx

功能:双方协商一致,结算资金并关闭通道

  1. 双方在链下达成最终余额分配协议
  2. 生成 ChannelCloseMutualTx 并共同签名
  3. 提交上链,资金即时解锁并转回各自账户

注:如果无法协商,可发起 ChannelCloseSoloTx 进入争议期。

应用场景
高频预测市场

用户可以对即时事件(如价格波动、体育赛果)进行高频预测。所有预测和结算都在链下完成,仅最终结果上链,体验流畅且成本极低。

实时游戏

支持回合制游戏(如棋牌),每一步操作都是一次状态更新。玩家无需等待区块确认,且无需为每一步支付 Gas。

微支付流

适用于按秒计费的场景,如视频流媒体、Wi-Fi 共享或充电桩。用户可以逐秒支付费用,服务商即时收款。

开发者建议
保持在线

虽然协议有争议期保护,但为了获得最佳体验和安全性,建议参与者(或其代理服务)保持在线以响应状态更新。

状态备份

务必持久化存储链下状态(State)。如果丢失了最新的签名状态,在发生争议时可能无法取回属于你的资金。

学习路径
State Channels (当前)