ICP 上的直接比特币集成使容器(高级智能合约)能够在协议级别与比特币网络进行交互,这使得容器可以直接在比特币主网上接收、持有和发送 BTC,而无需使用存在大量安全问题的中介机构和第三方区块链桥。
全球Web3 安全报告显示,到 2022 年,仅 12 起涉及这些链桥的事件就造成了近 18.9 亿美元的损失。
通过比特币集成,ICP 上的容器可以安全地读取和写入比特币账本。
1. 容器可以通过运行在互联网计算机协议上的比特币轻节点读取比特币区块链的状态,为此,ICP 网络中的节点直接从比特币网络获取区块并提取和处理其中包含的交易,这使他们能够及时了解完整比特币网络当前未花费的交易输出(UTXO)集。
该 UTXO 信息通过 API 提供给容器,从而使容器能够访问比特币地址的余额和 UTXO 等信息,换句话说,容器可以查询任何比特币地址的余额和 UTXO,包括它们控制的地址,这使得他们能够通过查看区块链的状态来确定比特币地址的可支出余额(和 UTXO)。
2. 为了写入比特币网络,容器可以安全地签署比特币交易并将其提交到比特币网络,安全签名是通过一种新颖的阈值 ECDSA 协议(称为链密钥 ECDSA)完成的,签名交易通过协议级集成提交,这会导致 ICP 副本将交易提交给许多连接的比特币节点。
ICP 上的私钥存储在哪里?
现在容器也可以写入(签名和提交)交易,这是否也意味着它们存储私钥?
将私钥保存在容器状态中可能会将其暴露给 ICP 网络中的恶意节点,从而授予对用户数字资产的访问权限,为了防止这种情况,ICP 使用阈值加密技术,以便私钥永远不会完全存储在任何单个节点或容器上。
阈值加密允许将秘密(如私钥)分为多个部分,称为秘密共享或共享,需要一定数量(至少阈值)的这些份额来重建秘密或使用它来签署消息。
因此,不是将整个私钥存储在一个位置,而是将其分为多个部分,即秘密共享,由高复制子网(即比常规应用程序子网具有更多节点的子网)内的所有节点持有。
此外,这些秘密共享会定期在节点之间重新共享,以防止可能的共享泄露,重新共享意味着使用加密协议从当前共享创建新共享,一旦重新共享,以前有效的共享就会过时,使得它们对于任何可能获得它们的恶意行为者来说毫无用处。
当写入比特币网络时,比特币交易使用阈值签名进行签名,这意味着如果子网中有足够数量的节点同意签名,每个节点将使用各自的密钥共享来帮助共同签署交易,计算签名至少需要与阈值一样多的密钥共享。
这确保了密钥对于任何整体实体以及控制少于阈值的节点的攻击者来说都是不可用的,就 ICP 而言,根据容器交易请求,节点使用其份额共同签署比特币交易,而不是重新创建原始私钥,该签名协议假设超过三分之二的节点是诚实的,并且不到三分之一的节点受到损害。
ICP 用于 ckBTC 和比特币集成的非托管方法
大多数设计用于使用参与者之间分布的密钥共享来协作计算 ECDSA 签名的协议都假设零稳健性或活跃性、同步网络或两者兼而有之,如果没有健壮性,当单个节点崩溃或不参与时,该协议可能会失去生成数字签名的能力。
因此,假设同步网络意味着简单的消息延迟可能会导致签名协议失败并且无法生成签名,因此该协议容易受到可用性攻击。
ICP 被设计为容错的,确保该协议在异步通信网络中工作,即它可以容忍消息延迟而不会失败,只要不到三分之一的节点受到损害、出现故障或崩溃,整个系统就保持有效运行,即以降低的吞吐量继续运行。
如果子网中的某个节点发生故障,ICP 会选择一个备用节点来替换故障节点。
进一步阅读:
比特币集成:技术概述
ckBTC 是 Web3 上的比特币
认真对待安全性:Trail of Bits 评估的两项顶级 ICP 功能
你关心的 IC 内容
技术进展 | 项目信息 | 全球活动
收藏关注 IC 币安频道
掌握最新资讯