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
功能:双方协商一致,结算资金并关闭通道
- 双方在链下达成最终余额分配协议
- 生成
ChannelCloseMutualTx并共同签名 - 提交上链,资金即时解锁并转回各自账户
注:如果无法协商,可发起 ChannelCloseSoloTx 进入争议期。
应用场景
高频预测市场
用户可以对即时事件(如价格波动、体育赛果)进行高频预测。所有预测和结算都在链下完成,仅最终结果上链,体验流畅且成本极低。
实时游戏
支持回合制游戏(如棋牌),每一步操作都是一次状态更新。玩家无需等待区块确认,且无需为每一步支付 Gas。
微支付流
适用于按秒计费的场景,如视频流媒体、Wi-Fi 共享或充电桩。用户可以逐秒支付费用,服务商即时收款。
开发者建议
保持在线
虽然协议有争议期保护,但为了获得最佳体验和安全性,建议参与者(或其代理服务)保持在线以响应状态更新。
状态备份
务必持久化存储链下状态(State)。如果丢失了最新的签名状态,在发生争议时可能无法取回属于你的资金。
相关主题