详解ICP与BTC集成

Presented by Diego Prats & Manu Drijvers

详解ICP与BTC集成

开发者的增长非常惊人。从游戏到社交、到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代码都由代币持有者和留下来的人的投票结果来更新。

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

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

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

安全的,可用的。只有当一切都运行良好时,这种互通性的整合才能真正运行。

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

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

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

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

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

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

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

在 IC 上也会出现 DeFi 的快速增长,而比特币的传统持有者也能享受到 DeFi 带来的好吃。这并不是说没有比特币的 DeFi,但它通常需要额外的信任第三方,或使用桥,比特币原教旨主义者不会喜欢。而在 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 协议,大部分都已经在代码中运行了。所以理论与实践之间的差距相对较小。

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

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

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

稳定币,在多个链上交易?

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

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

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

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

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

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

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

原创文章,作者:Odaily星球日报,如若转载,请注明出处:https://www.kaixuan.pro/news/4550/