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

我的网站

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

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

时间:2020-10-09 18:05来源:未知 作者:admin 点击:
问:以太坊的情况如何?比如要实现以太坊与 Cosmos 的中继跨链。 刘毅: 以太坊是一个复杂的问题,它有条件实现一些轻客户端,但就像上边说的,最主

 

问:以太坊的情况如何?比如要实现以太坊与 Cosmos 的中继跨链。

刘毅:以太坊是一个复杂的问题,它有条件实现一些轻客户端,但就像上边说的,最主要的限制是 Gas Limit。

比如一个 Tendermint (Cosmos 采用的共识协议)的链,中继跨链需要验证它的区块头,它的区块头是所有验证者的签名,这些签名用的是 BLS 签名算法,验证区块头就要验证这些 BLS 签名,但是,以太坊上没有预编译 BLS 签名。

智能合约可以直接调用预编译加密算法,比如调 ECRecover 方法,用它验证 ECDSA 签名只需要 3000 gas,还是比较低的;但验证没有预编译的 BLS 签名,就得把整个的签名验证算法 Solidity 实现,不是底层支持的,这个太贵了。

验证一个 BLS 签名,最优好像是二十几万 gas,如果 Tendermint 上有 100 个验证人,那每个区块可能就有 100 个签名,验证 100 个 BLS 签名,gas 肯定会超,不可能做到。

不过今年 Vitalik 写的路线图上,以太坊 1.x 会增加 BLS 签名预编译合约,相当于在客户端底层实现 BLS 验证,那么一个函数调用就可以验证签名。

假设和 ECDSA 一样,也是 3000 gas,那验证 100 个 BLS 签名是三十万 gas,这就有可能在智能合约里实现。

有了 BLS 预编译后,理论上就可以在以太坊上实现 Tendermint 的轻客户端,那么以太坊和 Cosmos 就可以实现双向的中继跨越。所以说和 Cosmos 中继跨链的话,比特币肯定不行,以太坊是现在不行,未来可能行。

问:即便都是采用 Cosmos 的 IBC 标准开发的链,也不是天然就能跨链?

刘毅:对,两条链即使都实现了 IBC,要中继跨链的话还要实现对方链的轻客户端。

跨链消息如何在链间传递

问:轻客户端用于跨链消息的验证,但跨链消息本身是怎样在两条链间传递的?

刘毅:跨链桥很形象,它有两个桥墩和一个桥梁。两个桥墩就是两套智能合约(有些链可能叫模块),一个运行在 A 链,一个运行在 B 链;中间是桥梁,桥梁是链下进程,负责监控两边这两套智能合约的事件。

问:比如我在以太坊上把一只加密猫锁进了智能合约,链下进程监听到这个事件很容易,但它怎么告诉 Flow 上的智能合约我锁了一只猫?

刘毅:链下进程就是给 Flow 发一笔交易,说以太坊这边锁了一只猫,你那边要铸造出一只猫。它是一个程序,通过 RPC (远程过程调用)接口,一边连以太坊的节点,另一边连 Flow 的节点。 (责任编辑:admin1)

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