在 ICP League 之前的文章《为什么说是下一代区块链,DFINITY的8大核心优势!》中提到过 DFINITY 的核心密码学技术 ChainKey,在描述其特性时,我预测了 DFINITY 能通过 ChainKey 签名的方式调用以太坊等其他公链。 而在最近 DFINITY 的创始人 Dominic 发布的推特与文章中,详细介绍了从 DFINITY 到以太坊,再从以太坊到 DFINITY,无需中介的合约互操设计,这给我们展示了两者集成的巨大潜力。 总结如下: ChainKey 技术让 DFINITY 的区块链具备大小为 48KB 的唯一公钥; 基于 ECDSA 的改进,DFINITY 智能合约可以签名发出比特币与以太坊类型的交易; 在以太坊的智能合约中保存 48KB 的唯一公钥能去验证链发来的消息,来保证交易与和状态的有效性; 在 DFINITY 智能合约(4GB运行内存)中实现以太坊的轻节点,检验区块获得调用返回值; 无需中间件、跨链桥、Hub、预言机,DFINITY 与以太坊合约直接通过点到点方式互操作; 可以使用 DFINITY 为以太坊 DeFi 等应用扩容,比如由 DFINITY 运行某个以太坊游戏的数据操作的指令,再通过以太坊直接结算; 两者的无缝集成将打来巨大的商业潜力,DFINITY 能为以太坊无限扩容,并实现中间件、前端资源、业务逻辑等全栈的去中心化。 ChainKey 技术 ChainKey 是互联网计算机的核心技术,是实现上述合约互操作魔法的原理。 在以太坊中,由于使用 PoW 机制竞争出块,节点使用自己的私钥签名区块链并广播,当你去验证这个区块时,就需要获取节点的公钥。因为每次出块节点可能不同,因此你需要保存大量的签名信息,并同步区块。因此用户想去验证以太坊的交易,需要同步 400GB 的区块。普通用户只用通过运行在 AWS 上钱包中间件 Infura 的全节点来访问。 而在 DFINITY 中,基于可验证随机数 VRF + 门限签名 BLS + 非交互式分布式密钥分发 Noninteractive DKG,保证了区块链只具备唯一不可变的公钥,所有的区块的签名都能使用这个 48KB 的唯一公钥验证,来保证交互与区块的可信。 DFINITY 链具备唯一的公钥,但并不具备对应的唯一私钥,组成链的节点保存了私钥的碎片,他们使用这个碎片签名区块,只有在收集到足够多的私钥碎片后,才能聚合出完整的签名,从而能被唯一公钥验证。这也是 DFINITY 实现一致性共识的方式。 非交互式分布式密钥分发 Noninteractive DKG 向节点分配的了私钥碎片,因为其非交互式的特点,分配私钥碎片时基本对带宽占用很低,节点可以随意的加入与退出网络,这保障了整体的去中心化。 因此任何的设备,即使是另一条区块链上的智能合约,只要保存了这个公钥也能亲自去验证 DFINITY 链的消息、事件与状态。ChainKey 技术就是能实现合约互操作的基础。 使用 DFINITY 调用以太坊合约 ChainKey 能支持 ECDSA,这是比特币和以太坊都在使用的密码学原语,因此可以通过 ChainKey 代理 DFINITY 上的智能合约签名,不需要生成对应的密钥(使用 BLS 阀值签名技术)。在使用一条链唯一的 ChainKey 进行签名后,通过 P2P 发送一个满足比特币与以太坊格式的交易。最终调用以太坊的智能合约。 同时 DFINITY 的智能合约都是使用 actor 的异步消息处理模型,因此可以对以太坊的调用的返回设置等待。 (0) 在 DFINITY 上部署一个代理签名合约,运行着 ChainKey 的模拟签名代码。 (1) DFINITY 上的合约调用代理签名合约。 (2) DFINITY 的合约需要调用以太坊,向签名合约发送合约地址、调用方法、参数。 (3) 使用链唯一的公钥签名产出以太坊格式交易,通过 P2P 手段在以太坊网络广播交易,等待交易确认。 (4) 获取以太坊的调用返回的方式有两种可选:早期可以在以太坊上专门部署一个查询合约,专门用于向 DFINITY 返回以太坊调用结果,但这个成本依然很高;后续可以直接在 DFINITY 的容器中建立一个同步以太坊状态的轻节点,直接验证并返回结果。 但在获取以太坊的调用返回时,还是存在问题,使用第一种方式在以太坊上部署查询合约的成本很高,因为每一次的返回都需要发送额外的合约调用;而在 DFINITY 上建立轻验证节点可能受到当前容器运行内存 4GB 上限的制约,以太坊的状态可能要在很多个容器中分开存储。因此我们可能需要开发者实现更有效率的创新方案。 直接的互操作性会带来什么? DFINITY 底层密码学的创新的确来带了一些使用体验上的突破,用户无需中间件就可以享受端到端的区块链级别安全性。这同时也有机会帮助以太坊实现可直接互操作的扩容。 这种跨链合约间的互操作性被大范围使用后,chainlink、TheGraph、Infura 等中间件存在的意义会被逐渐替代,或者被直接部署在 DFINITY 上而获得无限扩宽与去中心化优势。在 DFINITY 上编写数据库容器替代中间件,是一个不错的方向,也是我们重点关注的领域之一。从这个角度看,DFINITY 像一个具备通用计算能力的中间件与前端服务,能结合两者的特点的商业尝试会更加亮眼,比如能快速验证以太坊上 NFT 视频、图片等资源,并通过运算能力扩展玩法的专用 NFT 平台。 同时 DFINITY 也可以帮助以太坊实现扩容,在链上快速地、低成本地维护与处理大量数据。并且这种扩容能力是一劳永逸的,因为作为一个异步消息处理机器,DFINITY 具备无限划分子网实现扩容的能力。在以太坊上 1GB 的智能合约需要花费上千万美元,而在 DFINITY 上每年只需要花费5美元。 因为可以实现合约级别的互操作,而 DFINITY 链本身具备高安全性,且不依赖与 AWS 等云服务,也不需要只运行在几个节点上的跨链桥、Layer2 状态链等,因此也避免了传统二层扩容方案的流动性、中心化与安全性问题。 在以太坊上的运行结算层,把 DFINITY 当作指令层使用,这种架构具备很多的可能性。同时基于 DFINITY 的身份系统与反向 gas 模型,极大的降低了使用门槛,用户甚至可以不需要为使用以太坊的合约支付 gas,我可以预见这样一种业务:在 DFINITY 上实现以太坊上 Compound、AAVE、DYDX 等聚合形态的第三方前端,然后免除用户使用的 gas,第三方前端的创建者可以通过推荐策略并收取一定比例收益,来支付以太坊的 gas ,同时赚到钱。 比如可以在 DFINITY 实现完整的中心化交易的逻辑,包括订单簿的撮合与做市,用 DFINITY 区块链不可篡改的记录价值与资产的流动,最终在以太坊上进行结算,这能保证去中心化的安全性、无准入与公共所有权,也能获得中心化传统交易所的体验。 同时如 AXIE Infinity 这类的游戏,也可以通过 DFINITY 的扩展能力升级玩法,目前的 AXIE Infinity 并不是可交互的,在小精灵对战之前胜负就已经决定,但是使用 DFINITY 集成指令层后,可以实现即使的策略对抗。 甚至可以在 DFINITY 上托管 ETH 的 FlashBot 套利机器人,而不用再去部署一个中心化服务器,并把自己的私钥托管在中心化服务器上。因为容器并不共享状态,你的策略可以设置为 “Private”,也可以通过分享策略获取收益(DFINITY 生态项目 ENSO)。 —- 编译者/作者:ICP League 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
黑科技DFINITY与以太坊的深度集成如何实现合约的直接互操作?
2021-06-01 ICP League 来源:区块链网络
LOADING...
相关阅读:
- LOL(英雄联盟)于6月1日19:00正式上线HECO2021-06-01
- 【716/730】PRS要清算;闪电贷攻击频发是否还在继续挖矿的你依的是什么2021-06-01
- 行情上行为哪般?是放开三孩政策还是靴子落地||抹茶也开始拥抱监管2021-06-01
- [2Miners] 五月 – 工作进度报告2021-06-01
- 超过 10 万美元的比特币期权的 9 亿美元未平仓头寸有何相关性?2021-06-01