主页 > imtoken钱包下载国际版 > 【里程碑意义】Dfinity关于整合比特币网络必要功能的提案被接受

【里程碑意义】Dfinity关于整合比特币网络必要功能的提案被接受

imtoken钱包下载国际版 2023-03-01 06:05:47

比特币意义_比特币发展意义_比特币分叉对比特币的影响

UTC时间2021年9月17日,ID为20586的NNS提案以301,806,620投票权被接受,即集成ICP的比特币网络无需私钥即可在ICP链上发起更快、更低Gas的比特币交易,并且实现这个过程的前提是门限ECDSA签名函数,它在整合比特币网络中起着关键作用:Canisters必须有一个ECDSA公钥,整合网络的比特币地址来自于这个具有ECDSA函数的公钥Canisters 可以使用 UTXO,这使 Canisters 能够创建比特币交易并接受来自 Canisters 的此类交易,并将它们可靠地中继到比特币网络。

比特币发展意义_比特币意义_比特币分叉对比特币的影响

ECDSA:椭圆曲线数字签名算法 (ECDSA) 是使用椭圆曲线密码术 (ECC) 的数字签名算法 (DSA) 的模拟。 ECDSA 于 1999 年成为 ANSI 标准,2000 年成为 IEEE 和 NIST 标准。它于 1998 年被 ISO 接受,包括它在内的其他一些标准也在 ISO 的考虑之中。 与普通的离散对数问题(DLP)和整数分解问题(IFP)不同,椭圆曲线离散对数问题(ECDLP)没有次指数时间解。 因此,椭圆曲线密码的单位比特强度高于其他公钥系统。

提案 21340:将阈值 ECDSA 签名集成到互联网计算机中

概述:ECDSA签名广泛应用于区块链行业。 在 Internet 计算机上集成此功能允许 Canister 拥有 ECDSA 公钥,并且相应的 ECDSA 密钥持有子网节点之间的共享阈值,从而使 Canister 拥有 ECDSA。 功能是ICP链整合ETH和BTC网络的前提。

提案发起人:Victor Shoup、Manu Drivers、Dieter Sommer、Jan Camenisch

提案时间表:

门槛ECDSA提案整合方案:

ETH 和 BTC 网络都使用 ECDSA,因此如果您希望 Canisters 创建 BTC 和 ETH 交易,Canister 必须能够创建 ECDSA 签名。 但是相应的密钥不能成为复制容器状态的一部分,因此密钥将在子网节点之间跨阈值共享,当容器发起签名请求时,这些节点协作创建阈值 ECDSA 签名。

比特币分叉对比特币的影响_比特币意义_比特币发展意义

1. 滤毒罐接口:

创建ECDSA签名:出于效率考虑,每个子网都会有一个ECDSA密钥对,从中会使用标准的密钥推导机制来推导出每个Canisters的密钥,然后Canisters可以使用BlP32密钥进一步推导出许多密钥。

创建请求的 ECDSA 签名:实现阈值 ECDSSA 签名比 Dfinity 共识层中的阈值 BLS 签名要困难得多。 阈值 BLS 签名只需要在节点之间共享一个密钥。 对于ECDSA来说,不仅需要在节点之间共享一个密钥,还需要共享多个值,只能用于单个签名请求,这意味着需要生成许多分布式密钥才能响应到签名请求。 出于效率考虑比特币意义,方案会使用交互式DKG协议(本方案使用的DKG协议不同于BLS非交互式DKG协议),因为交互式版本的计算效率更高,交互式DKG协议和完成阈值 ECDSA 签名加密细节将在未来几周内发表的一篇论文中公布。

共识层编排交互式 DKG 私钥:使用额外的有效载荷扩展块表明以下内容

元组:一种数据结构,例如当函数返回多个不同类型的变量时,可以使用元组(a,b,c)

一个单独的阈值 ECDSA 组件将根据区块链中的信息处理大部分实际工作:

ECDSA 组件建立在加密组件之上,共识/加密接口将扩展创建交易/验证交互式 DKG 消息、创建/验证签名共享以及聚合/验证 ECDSA 签名的方法。

比特币分叉对比特币的影响_比特币发展意义_比特币意义

2.实施该提案的风险:基于子网不能容忍超过1/3的节点是恶意的,阈值ECDSA函数也是基于这样的假设:如果一个子网有太多的恶意方串通,他们可以在 Canister 批准的情况下代表 Canister 创建签名。

3.备选方案:本提案采用与【非交互式DKGBLS签名】相同的方案,采用非交互式分布式密钥生成算法。 它的优点是概念更清晰,更容易融入区块链。 然而,这需要计算密集型零知识证明,并且由于 ECDSA 需要为每个签名使用多个 DKG 密钥,因此交互式 DKG 是最佳解决方案。

4. 测试和质量保证:这是互联网计算机高度安全的关键特性,因为比特币和以太坊的巨大价值将在未来得到保护。 因此,该功能的实现需要进行相应严格的自动化测试。 显然,单元测试和集成测试将分别用于确保各个方法和组件的正确性。

系统测试将有助于确保该功能作为一个整体按预期工作,并且不会以意想不到的方式干扰 Internet 计算机的行为。 系统测试使用基于 Rust 的框架编写,并针对测试环境中的功能启动了测试子网。 生产测试还端到端地测试功能,但在尽可能接近未来生产环境的环境中进行测试。 例如,生产测试框架将使用地理分布的数据中心中的节点机器来启动测试互联网计算机,以运行端到端的功能测试。 生产测试可以提供识别性能领域瓶颈的能力。

提案团队打算编写的生产测试的一个具体示例是负责生成签名时的子网外副本。

除了测试之外,提案团队还将在项目结束时对 Threshold ECDSA 实施进行彻底的安全审查,确保实施能够忠实、安全地实施协议。

5. 推出计划:ECDSA 功能将由注册表子网记录中的功能标志指导。 这意味着可以通过提案启用/禁用此功能。 ECDSA 功能初始实现后,该功能在所有子网上禁用,用户和开发者可以通过 NNS 提案在特定子网上启用该功能。

ECDSA 在首次发布时将该功能的公共 API 标记为实验性的。 一个功能 - 一旦在真实世界的生产环境中获得足够的经验并被社区使用比特币意义,将被标记为不再是实验性的。

6. 时间表:鉴于 ECDSA 功能的复杂性和严格的质量保证要求,预计需要几个月的工程和测试工作。 目标是在 2021 年完成此功能。

扫描二维码加深圳社区小助手进群

获取有关 Dfinity 的第一手资料

比特币发展意义_比特币分叉对比特币的影响_比特币意义

Dfinity深圳社区,专注于Dfinity生态技术开发交流和优质项目挖掘分析。