查看原文
其他

为什么说ICP会是多链之间互联互通的枢纽

D Plus D Plus Community 2022-06-15

文章来自于|D Plus

投稿、转载请联系|D Plus小助手

说到IC与BTC的整合,就不得不说说跨链这个技术,从我们早年间提出这个概念后,谁都没想到我们的“跨链”会是现在这个样子。


一堆安全性隐患巨大的桥,每天在负责我们各个链上的资产相互转移,之前憧憬的合约级别的真正的“互操作性”,更是雾里看花。



那我们为什么会需要跨链这个技术呢,从互联网聊起可能会比较容易理解一些,互联网的诞生之初的一个早期愿景就是为了让全世界的人都能够公平获取信息和链接你我,在交互中产生巨大的价值。


之后TCP/IP等互联网协议的成功更是使得大规模的信息交换成为了可能,信息的自由流转带来了互联网的蓬勃发展,打开了信息化的革命。



01

互联网的演变史




网的进化演变,共经历了两个完整的阶段性变迁,分别是从Web1.0到Web2.0,Web2.0到”Web3.0”,但我们当前所迁移的Web3.0是否会是完整的,我在这里先打一个问号❓。


如果说从有到无是Web0到Web2的话,简单到丰富是Web1到web2,那Web2到Web3就是丰富到价值的爆发。


Web1时代最大的一个特点是信息由平台方发布,我们只有搜索和阅读的能力,形态为平台>人。


在经过多年发展后,技术和底层协议的不断迭代,走到了我们现在身处的Web2时代,Web2的创新之处在于提供了多样的丰富性,内容形式不只局限于浏览和展示,我们还可以在平台内与其他用户进行交互产生出内容,比如在一个博客平台或社交平台内上传自己的内容与其他用户进行互动。


Web 2.0的主要目标是使互联网更加民主,并使其尽可能地方便用户访问,但随着时间的推移和发展,这一点并没有发生,相反,当前互联网底层的设计使得管理和存放数据和关键基础设施的公司最终控制了互联网。


根据Synergy提供的数据显示,截至 2020 年末,亚马逊控制了互联网市场 33% 的份额,微软、谷歌紧随其后,分别占据 20% 和 10% 的市场份额。这「三大巨头」加起来一道控制了如今 60% 的互联网。


更加内卷的还有在应用层的平台方们也展开了一系列的零和竞争,每个平台方都无所不用其极的提高用户粘性和留存,打造一条利己的数据护城河,从中榨取最大价值,保持自己的增长,哪怕这会给用户的利益和隐私造成了极大损害。


而在Web3里通过利用区块链去中心化和公开透明的特性打造一个以数据为价值的数字经济体系,以及围绕去中心化为主导的商业模式,让所有网络参与者(用户、平台方和底层设施提供方)之间都能够平等的去产生价值。


笔者在这里斗胆总结一下大家对Web3.0在众说纷纭的时都认可的一个观点 - 那就是来自数据的价值,无论是在Web2还是在Web3数据都是一座没有价值上限的金矿,这座金矿的价值多少完全取决于使用者,举个不恰当的例子,我们在使用Facebook的时候,只有部分的数据使用权,所有权归平台所有,平台可以肆意的使用我们的数据进行变现和产出,换个角度理解就是,由我们产生的数据价值,从来都不归我们所有,“一分都不分给你的那种”。


在Web3里,每一个人都不仅能够真实的持有自己的数据,由自己交互产生的数据价值都归自己所有,举例,当你在某个L2项目中产生了交互时,项目方对早期用户的地址进行快照,待项目的Token上线后,项目方向这些早期用户进行空投,或者说,当你持有某个NFT时,待项目方发行第二系列时,项目方向第一系列的NFT持有者进行空投。


但当前的Web3.0所面临的最大问题是数据孤岛效应:价值虽然平等的交还给各方,但却分散在不同的Web3.0引领者上(多个公链),不同链之间的价值无法快速的传递给其他链,生态与生态之间产生不了联动,无法得到进一步的增长。


大部分的L1区块链都通过跨链桥等技术来完成这一点,但却带来了信任问题和复杂性,即为你要完成A链到B链的资产跨链,你就必须要相信中间第三方中介跨链桥一定是可信的,它不会受到攻击和作恶,但事实上每隔一两个月就来一次几千万甚至几亿的被盗新闻好像都在把我们打回现实,更别说跨链的合约调用这种互操作性了。



02

IC的直接整合方案




在以太坊诞生后,区块链开始大量讨论智能合约,本质上就是代码,这些代码可以依据区块链的特定数据来触发执行。


智能合约我们可以简化理解成一个函数,输入特定参数,代码就会自动触发执行,就能得到特定的结果,并且给出稳定的输出结果。


举例:不跨链的智能合约


f(x)=y;

f()是智能代码;

x就是激活代码的条件;

y就是合约执行的结果。


f(),x和y都是在同一条链上,不会出现在其他链上。


举一个例子说明👇


以太坊上有一个IDO平台合约,这个合约有一个合约地址;

用户用户将自己控制私钥的以太坊地址把ETH转入这个合约地址;

IDO合约每隔24小时计算合约地址一共收到了多少ETH,计算出用户将获得多少IDO代币;

过了24小时后,用户就可以向该合约发起一次调用函数,要求合约返回计算好的IDO代币;

这个IDO合约就会将相应IDO代币发送到用户的以太坊地址。

但以太坊上的智能合约,代码是在以太坊区块链上,要激活合约也需要在以太坊区块链上发送特定的交易。


按照这个思路思考下去,要实现A链的合约可以调用B链的合约的这种跨链互操作性,要满足的需求是在A链可以输出B链的x(激活代码的条件),难吗?天花板级别的难,从跨链合约调用这个概念早年间提起后,几乎就进展不大。


DFINITY在去年发布的一项原生集成BTC的提案中,提出了一种全新的原生跨链架构,无需中介,使得真实BTC(而不是封装的WBTC)能够在IC网络上自由流转,简单来说,其他的跨链方案你需要相信A、B、中介三个人,中介可能会被攻击或作恶,但IC的跨链方案,你只需要相信“大裁缝”和中本聪就行了,没有任何中介。


紧接上文,简要概括一下IC的原生跨链架构:


1、在IC上实现一个可以持有、发送、接收真实BTC Canister;

2、集成门限椭圆曲线签名(Threshold ECDSA)协议使BTC Canister可以签名交易;

3、实现接收和拉取BTC网络区块的BTC适配器;

4、实现检索BTC Canister UTXO集和中继到BTC网络交易的BTC系统组件;

5、完成一个CKBTC Canister(BTC的封装合约)和真实的BTC Canister进行交互。



PS:Canister为ICP上的智能合约


这一整套架构实现的目标:


  • Canister可以持有BTC地址;

  • Canister可以访问其地址的UTXO集;

  • Canister可以安全的签名BTC交易;

  • Canister可以向BTC网络中继交易。


如上图所示,在ICP协议栈的执行层中实现了BTC组件,该组件提供查询BTC Canister公钥关联的UTXO集,以及将交易提交到BTC网络的API:get_xtxos、send_transaction


在网络层中,实现了一个跨ICP协议栈所有层的BTC适配器,默认情况它随机连接BTC网络中的8个节点,将BTC区块拉入到IC网络中,并根据区块中所包含的交易输入和输出更新所有的UTXO集,以提供BTC链的最新状态。


BTC Canister能够允许原生的接收、持有和转移真实的BTC,这主要得益于集成的门限椭圆曲线签名协议(Threshold ECDSA),该协议将签名交易的ECDSA私钥碎片分发给托管BTC Canister的子网节点中,当BTC Canister要向外输出交易时,需要该子网中的阈值节点协作创建一个完整的ECDSA签名,联合签署交易。

其中BTC组件与BTC适配器跨共识层和消息路由层协作将已签署的交易中继到BTC网络中。


在今年的2月份,DFINITY正式推出了CKBTC的设计方案,以解决BTC整合完后交易速度慢和高昂的Gas Free问题,根据官方此前的描述,CKBTC Canister将作为一个L2方案直接与BTC Canister交互。


依照这个思路思考下去,DFINITY的整合方案就有点想实现合约调用的味道了,举IC为A链,BTC为B链,可以直接把BTC Canister理解为B链的合约,CK BTC Canister为A链的合约,它们在IC上是无缝交互的。BTC本质上不存在智能合约这个概念,但DFINITY的整合方案是直接在IC上为BTC创建一个合约属性来实现这种互操作性。


能够使在IC上产出B链合约x(使Canister能够发送BTC交易)的关键因素之一是实现了门限ECDSA签名协议,也是目前大部分区块链采用的签名协议,这也为未来拓展更多公链奠定基础。



03

BTC整合时间线




BTC整合时间线-由Beryl/AstroX整理


2021.9 

通过BTC集成设计提案


2021.11

通过集成BTC Adapter适配器和BTC系统组件的提案


2022.02

发布开发者预览版本,虚拟管理Canister提供BTC API


2022.04

StableBTreeMap代码实现,测试网准备(子网上同步BTC测试网)


2022.05

首次在IC主网上同步了BTC测试网


2022.05 - 2022.07

计划完成以下任务:比特币测试网API在IC主网向公众开放,比特币主网在IC主网同步,阈值ECDSA在IC主网上被激活


2022.06.03

IC主网上的一个子网开始和BTC主网同步


2022.07

完成所有BTC API测试和阈值ECDSA部署,就可以将智能合约从测试环境(比特币测试网API,阈值ECDSA测试密钥)切换到主网环境(比特币主网API,阈值ECDSA Prod密钥)


完成与BTC集成后的第二阶段任务:包装BTC的实现 - CKBTC


PS:对于与BTC集成方案的推迟部署,官方认为质量保证对于比特币集成功能和阈值ECDSA功能都具有至关重要的作用,因为一旦以比特币形式的价值被转移到容器中,功能部署就不能再合理地回滚了。



04

总结




从底层架构和底层技术出发做到原生兼容其它公链很难,难到了需要将方案融入到IC的底层架构上,包括协议的各层上(消息路由层、共识层、执行层等),但所产出的好处也很明显,不仅实现了与各大公链们之间的强强结合,还满足了优缺互补需求,同时为拓展更多公链奠定基础。


据悉,在DFINITY的Vanadium路线图还将依托该框架完成对ETH的整合,实现两条链合约之间的无缝调用。在此我们能够做出的一个展望是未来ICP可能会成为一个多链之间的枢纽,使其他区块链都能够通过IC与其他的区块链产生链与链之间原生交互,打破孤岛效应和固有边界,让价值不再局限于止步互操作性的大门前,更多的价值将会自由流转起来。



本文仅对整合方案原文中的部分内容引用,原文中更加详细的描述了整合BTC的细节,对于那些想要更全面了解整合BTC技术开发者来说,可通过下方原文链接和开发者论坛阅读,如果您在阅读本文时遇到了问题,可通过下方二维码随时找到我们,我们将全程为您提供支持与帮助。


  • BTC整合概述:

    https://wiki.internetcomputer.org/wiki/Bitcoin_integration

  • 开发者论坛:

    https://forum.dfinity.org/t/direct-integration-with-bitcoin/6147/25



每周必看



AMA预告



联系我们

 电报 

       t.me/DFINITY_ZH

 英文推特 

       twitter.com/D_PlusCommunity

 中文推特 

       twitter.com/D_PlusCN

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存