跨链信任传递
实现目的区块链对跨链数据的可信性的确认,保证跨链数据已在源区块链中达成共识并写入主链
跨链数据包括:
- 账本数据:包括交易,即验证一笔交易是否写入源区块链主链
- 状态数据:各区块链节点在本地维护的全局一致的区块链状态(比特币的UTXO或以太坊的状态树)
跨链数据验证主体
链上验证
一般在目的区块链上以智能合约的形式实现源区块链数据的验证
链下验证
目的区块链将跨链数据可信性验证委托给一个或者一组链下代理,目的区块链节点仅确 认链下代理的验证结果
- 基于身份的链下验证:需要验证收到的跨链信息是否有正确的链下代理背书。例如wecross信任跨链路由
- 基于行为验证的链下验证:通过技术手段,目的区块链确认链下代理的验证行为后,信任可以传递到目的链。当前主要基于可信执行环境(TEE)与零知识证明技术(ZKrelay)
跨链数据验证方法
账本数据验证
一般包含两部分
交易打包验证(交易$T_x$是否被打包到区块$B_n$中)
区块一致性验证(验证区块$B_n$是否在源区块链链上)
PoPoW、NIPoPoW、FlyClient等(缺点为需要源区块链中包含指定的数据结构)
两种类型
- 共识算法为确定性共识算法(不会分叉),只需要验证区块是否符合源区块链的出块规则(只需要验证签名)
- 共识算法为非确定性共识算法(可能分叉),需要额外验证区块在主链上