实现跨链的两个关键问题分别是跨链交易的原子性和跨链交易验证。通过保证跨链交易的原子性能够实现跨链资产互换,具体实践中主要依靠哈希锁定实现。跨链资产转移还需要进行跨链交易验证。
跨链交易的原子性是指跨链交易要么成功,要么失败,不存在第三种中间状态。一个完整的跨链交易由多个子交易构成,子交易分别发生在不同的区块链系统中,彼此相互独立,跨链交易的原子性要求保证一笔子交易成功后,后续的子交易也能够成功,或者后续的子交易失败,前面的子交易能跨链交易验证指对另一条链的交易进行验证。验证包括两个方面,一是交易已经被写入账本并且满足最终确定性,二是进行跨链数据传递,一条链能够验证另一条链的交易状态。
2跨链的主要模式通过哈希锁定能够保证跨链交易的原子性,对于相互独立的两条区块链而言,为实现跨链交易验证不得不依赖于外部第三方进行信息交互,根据第三方的工作范围可以分为公证人机制和中继模式。
在公证人机制下,第三方负责数据收集和交易验证。在中继模式下,第三方仅负责数据收集,交易验证由目标链完成。