互联网计算机的比特币集成即将完成
互联网计算机与比特币的直接集成正在为世界上最大的加密货币带来先进的智能合约,无需中介或链桥,为使用比特币的 DeFi 项目提供了一个无需信任的基础。
比特币集成和阈值 ECDSA 签名的开发,将使互联网计算机智能合约能够安全地持有和使用 BTC 和其他加密货币,具有高度的探索性,因此 DFINITY 研发团队必须克服各种困难,努力实现全面实施。
团队在这方面取得了出色的进展,我们最近在测试网上部署了副本,启用了比特币集成,并同步了整个比特币测试网。测试网上的指标,例如完成率和检查点时间,看起来都很健康。
以下是来自测试网的日志片段:
本周,我们将部署一个新的互联网计算机子网,我们将在该子网上启用比特币集成。然后,我们将开始在该子网上同步比特币测试网。
一旦确认系统按预期工作,我们将启用比特币 API 并将其公开用于测试和开发。比特币 API 目前仅支持比特币测试网,一些功能将丢失,但从那时起它们将被快速且逐步地引入。
Chromium(铬,又名 Satoshi Release)里程碑的目标是在 2022 年 5 月底之前发布,比特币集成和阈值 ECDSA 功能是这一里程碑的重要组成部分。
团队正在努力开发这两个功能以满足这一时间表,但由于其复杂性,它们不像常规的“商业”软件开发那样具有计划性。如果一切顺利,我们可能会达到这个时间表,但有可能会推迟几周。
达到这一点需要克服的关键挑战之一是确定如何有效地存储比特币状态,使用简单的 Rust 标准集合将使其成为副本运行时的一部分,这会由于副本的检查点而带来相当大的困难,因为副本的检查点每隔几分钟就会获取其内存中的内容并将其持久化到磁盘。
内存消耗带来了一个额外的问题,以这种方式表示比特币状态将需要数十 GB 的 RAM 来存储状态。
我们介绍了一种存储比特币状态的解决方案,称为 StableBTreeMap:BTreeMap 与 Rust 标准 BTreeMap 具有非常相似的接口,但关键区别在于它管理自己的内存。
这允许我们拥有一个键值存储,它以与容器完全相同的方式持久化的记忆被持久化了。大多数比特币状态都存在于磁盘上,每当我们需要从这个键值存储中获取数据时,我们只会从磁盘中获取相关的内存位,检查点只会序列化副本内存中的内容和磁盘上的内容之间的差异。
StableBTreeMap 是一种使用稳定内存的有效方法,它对互联网计算机上内存管理的其他方面有影响,研发团队目前正在探索这一点。
在我们最近将比特币测试网与部署在测试网上的副本同步中,我们验证了 UTXO 集的正确性以及我们的 StableBTreeMap 实现的正确性。接下来的步骤将涉及在测试环境中执行进一步的运行,以便在 IC 主网子网上第一次部署以进行观察和测试之前自信地确定一切都按预期工作。
作为一项附带任务,另一个团队正在研究该功能的 SDK 集成 —— 即从 SDK 管理比特币适配器进程,包括其配置。这是一项至关重要的工作,它使该功能朝着完全完成的方向发展,同时允许开发人员方便地针对比特币 API 执行容器。
DFINITY 研究人员 Victor Shoup 和 Jens Groth 最近发表了一篇论文,描述了阈值 ECDSA 功能背后的密码原语,但仍在完成与共识的集成 —— 比如,对于阈值 ECDSA 密钥的 XNet 重新共享,以及作为系统集成的其他部分。
例如,与网络神经系统提案的密钥管理(特别是灾难恢复)相关的功能仍然需要更多的工作。剩下的一项将是与 dfx DFINITY 命令行执行环境的集成,dfx 本质上是在本地开发环境中启动副本时启用该功能并生成/加载密钥。
另一个重要且迫在眉睫的任务是让外部第三方对整个比特币集成功能以及阈值 ECDSA 代码的共识相关部分进行安全审查,这将很快开始,我们计划在调查结果得到解决后发布最终的审计报告,以便与互联网计算机社区分享其见解,阈值 ECDSA 的加密协议部分已经过独立审计。
尽管仍有大量工作要做,但该项目中最具挑战性的部分已成功解决,在达到普遍可用性之前的许多剩余任务 —— 例如对 Taproot 地址的支持、对 UTXO 的分页支持和性能优化 —— 都相对简单。
感谢您耐心等待比特币集成和阈值 ECDSA 功能的推出,这将为比特币和互联网计算机区块链解锁一系列令人兴奋的用例。
在 smartcontracts.org 上开始构建,并在 forum.dfinity.org 加入开发者社区。
来源:DFINITY
翻译:Catherine
- 往 期 推 荐 -
如何使用 NNS 前端 Dapp 质押 ICP 代币并获得奖励
互联网计算机更新:InfinitySwap 介绍、DSCVR 用户和 Jelly NFT 市场
长按关注 DFINITY 微信公众号
随时答疑解惑
*添加小助手微信 comiocn 进交流社群