织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

专访 Cdot 刘毅:中继跨链是无需信任的理想跨链方式,但难以实现 (2)

时间:2020-10-09 18:05来源:未知 作者:admin 点击:
那它俩的区别是什么?当我在目标链上收到一个消息后,如果是见证人跨链,我验证的是这条消息来自于见证人,如果我相信见证人,我就相信这个消息,

那它俩的区别是什么?当我在目标链上收到一个消息后,如果是见证人跨链,我验证的是这条消息来自于见证人,如果我相信见证人,我就相信这个消息,就执行该执行的操作。

如果是中继跨链,我验证的不是这条消息来自于哪个中继,我验证的是这条消息是不是来自于源链,如果是,就执行该执行的操作。

也就是说,见证人可以看做是需要被信任的中继,中继可以看做是无需被信任的见证人。这就是两者的核心区别,中继显然比见证人更符合 trustless 的原则。

中继是无法做恶的,如果一个中继提交的信息不是来自于源链,目标链验证之后会把它识别出来。但是见证人是可以做恶的,它可以造出一个消息发给目标链,目标链验证它是来自于自己相信的见证人后,就会执行这个操作。

这样看来,似乎大家都应该用中继去做跨链产品,但为什么还存在见证人方式?因为中继跨链的要求比较高。

它的要求到底是什么?假设咱们是两条链,你上面发生了一个事件,由一个中继发给了我,我要验证这个信息来自于你这条链,对吧?

怎么验证呢?我的链上需要有你的链的轻客户端。可以粗略地理解为类似于比特币 SPV 的机制,但发生在链上,而不是在手机钱包里,即你的所有区块头我这儿都要有。

这个时候,当一条消息过来,中继不但要把消息给我,还要把消息的证明给我,这个证明是一个 Merkle Proof,它告诉我这个事件或这笔交易是发生在你这条链上的哪个区块(高度)。

我拿到 Merkle Proof 后,因为有你所有的区块头,就可以把对应高度的区块头拿出来,用 Merkle Proof 验证这个交易或者这个事件是否存在。如果存在性得到证明,我就确定了这个消息确实是源自于你这条链的。

然后,当我这条链生成一个事件或者发生一笔交易后,中继也发给你,你也有我全部的区块头,也可以验证这个消息是否来自于我。这是一个完美的跨链,对吧?

可为什么大家不去实现完美的中继跨链呢?因为有些链是没有办法实现别的链的轻客户端的。比如比特币,它上面实现不了任何一个链的轻客户端。

以太坊上能不能实现别的链的轻客户端呢?要看实现的难度。以太坊需要用智能合约实现轻客户端,但智能合约是有 gas 限制的,所以轻客户端验证的计算量是要能够容纳到 Gas Limit 以内的。

问:可不可以这么认为,如果一个链不具备实现另外一个链的轻客户端的条件,它就永远无法以中继的方式与另一个链跨链?

刘毅:它就只能用见证人的方式跨链,但可以混合,一个方向上用见证人,另外一个方向上用中继。

比如我开发一条链,比特币肯定实现不了我的轻客户端,但我可以实现比特币的轻客户端,那么比特币到我这个方向能够用中继,我到比特币这个方向就只能用见证人。 (责任编辑:admin1)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容