技术视点 | CF转态通道分析之事实? 反事实?(二)
01 CF 状态通道定义分析
这一点要求:
对应的智能合约只能依赖于智能合约内部状态,而不可以依赖于任何区块链相关的信息(比如:区块链高度和区块时间等)。
同时要求:在创建和初始化 CF 状态通道时,必须完成相关依赖信息的初始化。因为 CF 状态通道运行过程独立于区块链,由于区块链上智能合约的状态可能随时变化,CF 状态通道无法和链上交易一样锚定和访问链上任意数据,而只能访问链上状态中的不可变数据。
这是软件工程中需要特别注意的一点。由于智能合约平台可能存在缺陷和区块链软件的历史难以篡改,区块链平台只能采用分叉的方式升级平台软件,这将会给 CF 状态通道带来一些小麻烦。在区块链平台软件升级过程中,必须细心处理,或采用即时关闭 CF 状态通道的运维处理方式,以保证 CF 状态通道与链上的等价性。
第二个定义中的公平性要求。在 CF 状态通道中的每个操作引起的状态更新对于所有参与人都必须可见和可验证。第一点首先定义 CF 状态通道为参与者固定,并且参与人的数目相对较少。因此,CF 状态通道不是通过区块链中 permissionless 方式通过大量节点验证实现 trustless,而是通过所有参与人自己完成每个操作的状态更新的独立验证,通过参与人全部参与验证的方式实现 trustless。
虽然我们目前只对 CF 状态通道的定义做出一些分析,但可以总结出 CF 状态通道对其运行的智能合约和对状态通道参与者的要求。基于此,区块链应用开发者可以判断自己的应用是否更适合于 CF 状态通道的链外运行方式。
02 CF 状态通道带给我们什么
03 后记