互联网计算机与 BTC 集成即将推出,通过本篇的官方 AMA 回顾将能够更好的帮助你理解两者之间是如何集成的,以及集成之后将带来哪些价值的体现。

— 导读(Web3Caff 编辑部注)

Presented byDiego Prats & Manu Drijvers

原用标题:关于 IC 与 BTC 集成的官方 AMA 回顾

封面:Photo by Jeremy Bezanger on Unsplash

互联网计算机概述

互联网计算机是一个像比特币和以太坊的 Layer1 公链,但技术是完全独特的,由世界领先的密码学专家构建。自从 5 月份互联网计算机公开发布以来,开发者的增长非常惊人。从游戏到社交、到 NFT,再到元宇宙的初创公司,都在使用互联网计算机协议,为 web3 世界创建这些新的去中心化应用。IC 生态最大的不同之处在于,一切都是完全建立在链上的,从去中心化的、基于浏览器的钱包,到 DeFi 金融平台,再到内容媒体,都是 100% 运行在区块链上。

比特币将今年 13 岁, 在过去的 13 年里人们出于种种原因买入比特币,有些人是为了赚钱,但也有些人是为了一个更美好的未来,我们现在将这个关于美好未来的承诺称作 Web3。比特币是建立在技术基础上并有数学证明支持,这引起了与互联网一起成长的人的共鸣。

智能合约和现在的 IC 出现,将这个早期以太坊世界计算机的愿景变成了现实。互联网计算机 IC 是一个去中心化的互联网,允许任何人在不需要任何中央政府、中介或服务的情况下托管或访问软件。

而在最近,DFINITY 的密码学家完成了非交互式的门限 ECDSA 签名技术,并完成了 IC 网络于 BTC 网络的密码学直接集成,这不同于传统的跨链桥、hub,这种直接集成不需要引入任何其他的第三方基础设施,而是作为系统底层功能供 IC 的所有智能合约使用。

ICP 的有什么独特的特性?

互联网计算机区块链的设计和实现消除了许多智能合约的传统限制。首先,IC 更快,也更便宜。IC 可以无限扩展,这是一个很微妙的词。大多数协议的设计是,无论有 10 个服务器,100 个还是 100 万个服务器,每秒能进行的交易都有一定数量的限制,或者说交易受到协议的限制。如果在 IC 网络中增加更多的子网和硬件,它可以继续扩展,IC 可以通过增加更多机器来无限扩展。

IC 也是一个全栈架构,这意味着代码的前端和后端、整个网络、整个 Dapp 都是在链上。这和其他公链很不一样的,因为通常说去中心化的其实只有一小部分在智能合约中,其余都在中心化协议中。

最后一件事是互联网计算机有链上的治理,所有 IC 代码都由代币持有者和留下来的人的投票结果来更新。

两个区块链的 “直接集成” 是什么意思?

这没有一个明确的定义,但我们知道现在有很多不同的区块链,持有不同的资产或不同的智能合约。不同的区块链有不同的优势和劣势。整合的想法在于,我可以将原生在区块链 B 上的资产,也使用到区块链 A 上。不同的资产可以在不同的区块链之间交叉使用。类似地,对于智能合约来说,可能一个区块链上的智能合约可以调用另一个区块链上的智能合约,或者与它进行交互。这不同于传统的跨链桥、hub,这种直接集成不需要引入任何其他的第三方基础设施,这就是所谓的 “直接继承”。

IC 去集成 BTC 需要被 BTC 许可吗?

这取决你继承的方式,一般情况下,你不需要任何许可,因为对于被 IC 集成的区块链网络来说,IC 智能合约乃至整个网络都可以被看成一个能发送交易的一般用户账户,在这种整合下,IC 的集成和网络中其他用户发送交易没什么区别,因此不需要许可。

在比特币背景下是不需要许可的,但对于其他智能合约区块链,如果需要去调用 IC 的网络,就需要在他的智能合约合约中进行许可。

什么是跨链桥,使用桥的利弊是什么?比特币与 ICP 的整合与桥相关吗?

桥就是人们所说的一些可以在不同区块链之间沟通资产的组件或项目。它的优势是你可以使用不同区块链上的资产,把它们放一起,这样你就可以在一个系统中使用不同区块链的优势。缺点在于,允许这种互通性的是一些外部组件,而不是区块链上原生的组件。

比如说我在区块链 A 上有一个应用程序,我还想让它在区块链 B 上也做点什么,如果在这两者建一个桥,那现在就有 3 个部分可能出错。我需要相信每一部分都是有效的,安全的,可用的。只有当一切都运行良好时,这种互通性的整合才能真正运行。

比特币整合对容器开发者而言意味着什么?

通过比特币集成,DFINITY 试图实现的是让容器可以持有真正的比特币,而不需要一些单独的桥,也不需要任何外部组件来管理这个桥。作为一个用户,持有比特币意味着你控制了一些加密签名密钥,你可以把它放在硬件钱包之类的设备中。签名密钥是控制比特币的东西。如果你用它签署了,就等于你授权网络把你的比特币转到其他地址。

在互联网计算机上集成的第一步是允许容器访问这个签名密钥。就像你与硬件钱包交互来签署交易一样,智能合约/容器将获得一个接口来创建签名。这是一个非常具有挑战性的技术项目,因为这个密钥需要严格保密。所有驱动互联网计算机的节点都持有这个密钥的片段。然后它们一起合作完成授权签名。这种让容器控制签名密钥的方式是安全的,就像你在账本设备中的操作一样。这是我们项目的第一个基础。

第二步是去访问比特币区块链。需要通过查看比特币区块链来知道持有多少比特币,我有哪些 utxo 可以发给别人。第二个新的接口是允许容器访问你的比特币区块链。或者更准确地说,你可以查看到底有多少比特币,以及不同地址的 utxo 有多少,基本上就是查看你所拥有的和你能花的。

这两个基础允许您创建一个对应比特币地址的签名密钥。现在你可以让别人把比特币发到对应的比特币地址,你可以通过查看比特币区块链来发送它。这意味着现在比特币容器的开发者可以真正持有比特币了。

这也意味着比特币使用者、开发者或其他人员可以在比特币上使用智能合约。比特币不能运行合约,但集成将提供程序化移动比特币的能力,这将为比特币带来以太坊所拥有的超能力。

哪些技术支持了 IC<>BTC 的集成?

在集成之前,DFINITY 开发的 ChainKey 技术就能让不同的子网之间安全地通信,这与整合比特币所需要的非常接近。IC 上的每个子网区块链都有一个公钥,而密钥会共享给所有驱动该子网的节点。这与我们为比特币整合而保护 ECDSA 签名密钥的方法是完全一样的。我们采取完全相同的阈值签名方案来实现这点,这就有了很多的协同效应。

整合完成后,比特币持有者将可以做哪些之前无法做到的事?

在 IC 上也会出现 DeFi 的快速增长,而比特币的传统持有者也能享受到 DeFi 带来的好吃。这并不是说没有比特币的 DeFi,但它通常需要额外的信任第三方,或使用桥,比特币原教旨主义者不会喜欢。而在 IC 上这些问题迎刃而解,同时你会看到更快的终结性,流动性池。它会给比特币的深层生态系统注入新的刺激。如果你是比特币用户,你会发现使用比特币有一些限制,它更慢,每秒交易更少。许多这样的问题将在互联网计算机整合中得到极大缓解。

对于 IC 社区来说,这种整合意味着什么?

这将为 IC 引入更多的开发者。对一个新来的杰出工程师来说,想要选择从哪里进入加密网络,他们通常从两个方向来考虑:第一个方向是,“足够简单吗”,“编程环境是什么,我能理解吗”,“对我的用例来说,它是否足够快”,“它是否有足够的延展性”,“它是否有足够的表现力”;而另一个考虑方向则是 “潜力有多大”。

比特币整合将给新的智能合约开发者带来这两方面的优势。它将提供非常有表现力、强大的 IC 智能合约,然后它也将提供对比特币流动性的许可,这是世界上市值最贵的加密货币。这将让新进入 IC 领域的人更容易做出决定。对于需要写智能合约的比特币世界而言,真正相信比特币的人现在可以为比特币写更多的代码,而不用再去其他地方了。

对于在 IC 上搭建的 DAPP,整合将带来什么?当整合上线,期待从社区中看到哪些新的用例?

确实有一些简单的 DeFi 可以在比特币上实现了。我们将看到大量的贷款流动资金池,这将给予 ICP 创业者很多的机会,我们期待看到很多在以太坊上已有的 DeFi 出现。

另一件很酷的事情是,Diego 已经暗示过了,IC 上的包装比特币缺乏可信的基础,我们比较熟悉以太坊上的包装比特币或者不同链上其他形式的包装代币。它们通常是一些第三方项目,说,“如果你给我一个包装代币,我会还给你一个真正的代币”。你可能需要信任这个外部项目。我们可以做的一件很酷的事就是直接与比特币整合,你可以在互联网电脑上写一个容器,就像一个智能合约,来为你做这个包装。所以容器就可以持有真正的比特币了。真正的比特币总是很慢,因为它们发生在真正的比特币区块链上。然后现在就可以是,“如果你给我一个真正的比特币,我就会给你一个包装好的比特币”,这个包装比特币是互联网计算机的原生代币。这将让转账变得非常快。在那里,您可以获得秒级的最总确认和很高的 TPS。这将支持很多很酷的用例出现。

比特币即成之后呢?ICP 能否以一种对用户有意义且安全的方式与其他链进行整合?

在技术层面上,我们可以设想更多的整合。我们现在做的这个阈值 ECDSA 签名是可以转移到其他项目的。许多区块链使用这种签名来验证进入系统的交易。这个技术可以很好地沿用到其他整合中。

我们也希望 IC 与以太坊整合。想象一下,一个智能合约可以与 Defi 生态系统整合在一起来持有比特币,甚至可以相互交换,而且整个前端是安全的,因为它是托管在链上的。这就是我们看到的那种世界,你可以利用利用以太坊的 Defi 生态系统,并且同时具备比特币的资产规模、IC 用户体验的安全属性。我认为我们会从这样的系统中极大收益,例如,更友好的用户体验以及让在不在链上的 Dapps 更安全。

DFINITY 拥有一个 200 人的团队,其中许多人是密码研究人员和工程师,有多少人在 DFINITY 从事比特币整合的工作?

我们之前讨论了这个项目的基础设施,其中一个是 ECDSA 的工作,大概有 10 个人在全力开发;另一个是把比特币区块链导入互联网计算机中,大概有 20 个人的小团队。在工作方式方面,这类项目中的一个挑战是如何将研究和实践更好地结合起来。你可能只关注了搭建工作而忽视了学术严谨性以及所需要的密码协议安全。另一方面,研究部门通常是学院派的独立团队,与真实的工程世界分离。而我们的做法是,我们有很多有学术背景的人,很多密码学家和分布式系统专家,他们在研究部门但也是工程团队的一部分。我们努力让大家密切合作,来应对理论和实践分离的风险。大概不到一个月前,Victor 发表了一篇关于 ECDSA 协议的论文,就是我们现在在使用的 ECDSA 协议,大部分都已经在代码中运行了。所以理论与实践之间的差距相对较小。

可以分享一下时间线吗?具体发布日期是什么时候?

首先我们已经发布了一个比特币整合的开发者 API,开发者可以使用它了。当大家使用开发者 API 时,我们可以从内部看到哪些运行良好,哪些运行不好,这样我们可以修复现在的问题。第二阶段是把它部署到一个特定的子网。最后一个阶段是实际部署到所有子网。我们确实提到过第一季度是下一个里程碑的目标日期,可能会晚几个星期,但它进展挺顺利的。我们取得了很大的进步。你很快就会看到了。可能是在 3 月底后的几周,不会只是晚几个小时或者几天,但也不会晚几个月,只是几周。

比特币整合意味着我们可以在 IC 区块链上接收和发送比特币,就像以太坊区块链上的包装比特币一样,真的这么简单吗?

差不多。从功能上看是这样。从技术角度来看,它更安全,因为包装比特币不是真正的比特币。它是不同区块链上的不同令牌。只是有一群人说,“它们是等价的,包装比特币也可以是真正的比特币”。我们在互联网计算机上用容器做的是得到真正的比特币。真正的比特币区块链上的真正的比特币只由一个容器控制。

联系到最近加密领域的新闻,比如协议被黑客攻击,损失了 1 亿美元。在大多数情况下,攻击 Layer1 协议实际上是很少见的,通常是桥被攻击。这意味着,IC 智能合约中的比特币将与 IC 一样安全,这比桥的安全级别高得多。功能上看起来一样,但是安全阈值要高得多。

能否在 ICP 上部署一个以比特币为抵押的稳定币,在多个链上交易?

这应该是可行的。作为一名容器开发者,你可以运行容器或智能合约,它们对比特币有完全程序化的控制,这样你可以做到所有需需要做的事。一个单独步骤是,你需要价格信息,需要知道市场是如何发展来保持你的货币稳定的。为此,我们正在研究一个独立的功能,它将允许 IC 上的容器在系统外进行安全的 HTTP 请求,而区块链仍然会在答案上达成共识,所以它仍然是安全的和一致的。这是一个独立的功能,你可以使用它来获得真实世界市场的价格。有了这两个功能,我觉得你应该可以做到你问题中想要创建的了。

在一个 DeFi 容器中使用比特币时,是否还能完全控制你发送过资金的比特币地址?

DeFi 需要智能合约对资产有一定的控制权。如果我想用比特币作为抵押品,这意味着他们应该能在特定的情况下拿走我的比特币。我认为这就像很多应用程序的一个先决条件,它们的智能合约能够访问比特币。智能合约是比特币的控制者。你没有把比特币送走。事实上它是持有你的比特币的容器智能合约。你可以检查源代码,并说服自己它遵循规则,所以不是你的比特币跑了。

如果我把比特币发送到一个容器里,容器控制着这个比特币,当这个容器的 cycles 用完了并且被回收空间后,这些比特币是否永远消失了?

你的容器不会在 cycles 刚用完时就马上被销毁,这回有一个阈值。大概是你的容器会先进入休眠状态,并且在这个阶段停留很长时间,然后才会被回收。在这段时间里,你应该给你的容器充值,然后就可以继续使用,并且你也会再次得到相同的签名密钥的访问权。所以你仍然可以使用你的比特币。现在已经有一些工具可以自动给你容器充值了。

如果你的容器被回收了也没事,因为主密钥会被储存在子网中。主密钥能够控制所有从它衍生出来的密钥,所以我不认为容器垃圾回收会让你损失资金。理论上讲,密钥仍然存在,可以用来花这些比特币。这里的挑战是,我们为容器 ID 派生出了一个特定的密钥,而且只有容器 X 能够向它派生出的密钥请求签名。如果你的容器被卸载了,你需要确定能把相当的容器 ID 找回来,这样才能真正授权调用。所以理论上,系统中的信息仍然存在以拿到这些比特币,我不认为这存在任何实际的障碍。

根据我的理解,每个容器都会有一个比特币私钥,这个私钥是从哪来的?

我们的实现方案是由整个区块链产出签名并处理私钥。它们有一种公钥和一种相应的私钥,它被分成很多部分,所有驱动子网的节点都有一个相应的私钥碎片。只有当足够多的人一起同意签署一项交易,这样才能得到完整的签名,从而于其他 ECDSA 的区块链协议的进行交互。

现在我们有一个公钥和一个私钥,但我们希望每个容器都有私钥,我们做的是类似于 bip32,我们从一个主私钥中得到不同的私钥。每个容器都可以询问它自己控制的公钥,公钥是从根私钥派生出来的。其实你可以把 IC 网络理解成一个比特币网络的硬件钱包,他会为你产出签名。

免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。