区块链 · 数字资产知识 · 行业资讯
文章库关于本站

区块链基础

区块链状态通道如何退出|签署状态、挑战期限与资产释放分别看

摘要

链下双方签过一份状态,不等于资产已经回到链上账户。借助一个明确标注为简化模型的退出流程,理解状态新旧、挑战窗口及结果最终确定之间的关系。

状态通道区块链的科技主题配图

先区分链下状态与链上处理状态

搜索状态通道区块链时,常会看到“多次链下更新、最后统一结算”的概括。以太坊文档说明,参与者可以交换带签名的状态更新,开闭通道及争议处理则涉及链上合约。双方手里保存的消息,与合约当前记录的处理阶段,并不是同一份数据。

为看清这一区别,本文采用Statechannels项目在2020年发布的教学模型。原文明确称它为简化模型:要求所有参与者签署每次更新,只记录分配结果,且进入挑战后不能回到原来的链下互动。这些限制不能被推广为所有状态通道的必然规则。

新旧顺序要看协议字段而非文件日期

这个模型把参与者、通道标识相关值、轮次编号turnNum和结果outcome放入状态中。轮次用于表达更新先后;某个文件今天才被复制到电脑,并不会让里面较早的轮次自动成为最新状态。整理资料应保留消息内容与对应签名,不能只凭文件名称判断版本。

假设一份双方完整签署的记录轮次为7,另一份只有一方签署的草案写着8。在本文所用模型里,数字较大本身不足以满足完整签署条件。这个例子只是解释两个检查维度,不是真实通道记录,也不建议对任何正在运行的协议手动改写状态字段。

区块链节点同步的科技主题配图

挑战期限与最终确定不是到账倒计时

教学模型在启动挑战时记录提交状态及finalizesAt,后者按当前区块号加挑战持续区块数计算。另一参与者如提交满足条件且轮次更高的完整签署状态,可以形成反挑战,并重新开始挑战期。于是,最初看到的期限并不一定是以后永远不变的结束点。

原文还特意说明:超过所记录区块界限后,模型在逻辑上视结果为已最终确定,但那个瞬间不一定发生一笔新的链上写入;结果仍要交由持有资产的组件处理释放。不能把网页倒计时归零,直接当成已经收到资产,更不能把区块数未经假设就换成精确分钟。

合作关闭与争议退出需要不同证据

该教学文章随后增加了带isFinal标记且完整签署的最终状态,让合作结论不必走完原模型的挑战等待。它没有说任意一份双方签名的普通更新都等于关闭请求。读不同实现时,要分别核对普通状态、明确最终状态以及对应处理结果的含义。

以太坊文档同时提醒,争议响应依赖在期限内行动和取得所需的有效状态资料。保有一条摘要、看到对方在线或记得曾经签名,都不能替代具体协议需要的证据。本文没有开通通道、签署消息或执行退出;用途是读懂流程说明,不是任何通道的资金恢复方案或退出时长保证。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验