① 当源链 A 有请求传递一笔跨链交易信息给目标链 B 时,交易发起者将该交易的明细内容、区块高度、以及该交易 SPV 证明(指该交易的 Mekre 路径)一并提交到 B 链; ② 部署在 B 链上的 A 链轻节点合约,通过 SPV 证明,重新计算该交易所在区块的区块头哈希值; ③ 得到的哈希值与轻节点中对应的区块头哈希值进行比较,如果一致,则表明该交易确实发生在该区块中,若不一致,则说明该交易并不存在于该区块。 尽管任何人都可以向目标链提交交易明细及其 SPV 证明,但实际跨链应用中,往往会有专门的角色来做这件事,而不是交易发起者来做。我们在本文中,我们称该角色为 Relayer (中继者)。Relayer 除了要负责帮助用户传递跨链消息,还需要负责将源链的区块头传递到目标链,以建立轻节点合约。 Relayer 和见证人一样,都是为传递跨链消息而设的一个特定角色,但 Relayer 和见证人有两点不同:
不同跨链项目中对 Relayer 的称呼不同。有些项目中,Realyer 的角色被拆分,负责传递区块头的 Relayer (Head Relayer)和负责传递交易消息的 Relayer(Message Relayer) 被定义为两种角色。有些项目中不存在一个专门的 Relayer 角色,Relayer 的职能被合并入了其他角色,例如由源链的验证人直接承担 Relayer 的角色。不过,万变不离其宗,轻节点式侧链方案的技术本质始终是:Relayer 将源链的区块头传输到目标链,建立轻节点,然后 Relayer 从源链搬运交易信息到目标链时,用轻节点上的区块头信息验证交易信息的正确性。 双向锚定 我们需要理解的是,主链和侧链的关系是相对的,两条链可以互为侧链。我们在前文中提到的「源链」和「目标链」也是相对概念,在一个跨链消息传递事件中,消息的源起方往往被称为源链,消息的接收方则被称为目标链。 跨链双方通过互埋对方轻节点,即可实现互相读取对方链上的信息,互联互通,这种形态被称为双向锚定(Two-Way-Pegging),这种形态下,两条链成为了彼此的侧链。两个方向都有 Relayer 组负责向对方传递信息,当然,两组 Relayer (B→A Relayer & A→B Reayer)也有可能是同一批人,被合并为同一个角色,兼负责双向的信息传递。 侧链与子链 (责任编辑:admin) |