TER:DFINITY 网络与 BTC 网络直接集成的进展调查报告

作者:icpleague2021年9月15日,互联网计算机治理系统NNS的20586号提案通过,DFINITY基金会将对密码学部分持续开发,让互联网计算机网路与BTC网络直接集成。这种集成,可以让互联网计算机的软件容器直接持有并发送比特币主网的BTC,也为比特币网络带来的智能合约。更重要的是,互联网计算机的密码学创新在无需私钥的前提下为合约创建了签名。因此除了为比特币主网带来智能合约能力,这也是让互联网计算机的软件容器直接与以太坊主网交互的基础。我们将不再依靠中心化程度较高的资产桥,而是依靠IC的网络共识,实现直接多链节点端到端的集成。▍什么是直接集成

让Canister在比特币网络上直接收取并持有比特币;让Canisters可以追溯并且查询他们自己在比特币网络中的UTXO;Canister能够创建比特币交易,并接受其他Canister中的比特币交易,交易转发到比特币网络。在Canisters可以直接持有比特币后,因为Canisters为图灵完备,可以编写业务,决定何时与其他比特币用户交易,包括与其他使用比特币网络的Canisters进行比特币交易,而业务运行在IC网络中。因此可以可以利用比特币网络上的流动性在互联网计算机上进行智能合约,而不涉及任何中介和桥梁。在完成比特币直接集成后,下一步将尝试让容器能够持有ETH,并让容器发送以太坊主网的交易,让IC的Canisters与以太坊主网智能合约交互。▍需要阈值ECDSA签名

ECDSA签名广泛应用于比特币与以太坊网络,因此互联网计算机上的Canister应该能够拥有比特币或以太坊的公钥,且能创建ECDSA的签名,才能在其他公链网络中发送交易。显然,不应该在容器状态下保存比特币公钥对应的密钥,即使是Canister能设置pirvate来封装数据,但该密钥仍可能暴露在所有的节点前。因为Canister内状态将在子网的节点间共享,和所有的区块链一样,在互联网计算机的信任模型下,可能会存在作恶节点,作恶节点可能通过攻击拿到签名密钥从而盗取资产。为此,必须先完成阈值ECDSA签名,即**在运行Canister所在子网的所有节点之间,共享私钥,并通过阈值加密来创建签名**。也就是说,如果节点的阈值参与并正确完成签名协议,则该协议的输出为有效签名。另一方面,一些不符合阈值的节点不能自己签署未经授权的消息。这是互联网计算机与比特币和以太坊集成的先决条件。▍风险与挑战

RWA借贷协议Goldfinch面临贷款违约:金色财经报道,Goldfinch是一个向现实世界链下业务提供贷款的 DeFi 协议,在一笔500万美元的贷款中,肯尼亚摩托车公司 Tugende 违约。据报道,Tugende 违反了贷款协议的条款,导致违约金额占 Goldfinch 总锁定价值(TVL)的约4%。

这次违约将导致 Senior Pool 的资产净值减记3.95%。由于过去一年 Senior Pool 的年化收益率为7.81%,这意味着在这次120天减记结束时,过去12个月的整体年化收益率将仅为正1.50%。

Goldfinch 是一个去中心化信用协议,旨在促进金融包容。该协议使用现实世界资产作为抵押,进行加密货币贷款。Goldfinch 社区向全球企业提供贷款,业务重点为新兴市场。[2023/8/9 21:33:54]

这里的主要挑战在于定义和实现安全的多方计算协议,以实现阈值ECDSA签名方案,并将其与互联网计算机协议集成。围绕阈值ECDSA签名协议的进一步挑战,是安全的分布式密钥生成协议,以及用于私有签名密钥的安全密钥备份和恢复方案。同时,子网不能容忍超过1/3的恶意节点,阈值ECDSA功能也基于这样的假设:如果子网中有太多串通的恶意方,他们可以在未经容器批准的情况下代表容器创建签名。▍解决的方法

再来回顾上述的三个需求:让Canister在比特币网络上直接收取并持有比特币;让Canisters可以追溯并且查询他们自己在比特币网络中的UTXO;Canister能够创建比特币交易,并接受其他Canister中的比特币交易,交易转发到比特币网络。针对功能(1),Canisters需要有一个阈值ECDSA公钥,其比特币地址基于此派生。针对功能(2),需要将比特币块提取到互联网计算机中,以此来验证并跟踪比特币的区块链。一旦区块链上的后续区块中有足够的工作量,该交易及其UTXO就可以被提取,并根据要求提供给Canisters;针对功能(3),互联网计算机必须建立出一个出站通信通道(outboundcommunicationchannel),基于此,来自比特币智能合约容器的出站交易可以可靠地发送到比特币网络。

DFINITY 已集成比特币网络,可本地保存、发送和接收比特币:12月5日消息,DFINITY已集成比特币网络,目前在IC(Internet Computer)上可以本地保存、发送和接收比特币,而无需第三方跨链桥,以在IC上为比特币提供智能合约功能。DFINITY基金会目前正在研究比特币封装资产ckBTC,可在IC上低成本流通,旨在使IC开发人员能够在比特币上进行本地编码。

此前报道,8月份DFINITY推出与比特币网络直接集成的IC(Internet Computer)Beta版本。[2022/12/5 21:23:20]

阈值ECDSA在功能上是与比特币完全分离,作为一个单独的功能构建在IC上,Canisters通过它获取公钥和签署交易的API,从而允许支持比特币的智能合约。在IC网络自己的易用性上,根据现在的计划,所有使用比特币网络的API调用都是异步的。值得注意的是,异步调用在这个设定下非常迅速,因为在功能上发送比特币的交易与该Canister是在同一个子网内运行的,不存在跨子网延迟。▍需如何检查比特币网络状态

互联网计算机会引入其他网络的区块并验证它们是否正确,并在得到一定数量的确认后再处理交易,保证最终性。由于互联网计算机上的副本直接从比特币网络中引入区块,因此安全性取决于互联网计算机和比特币网络的正常运行,而不是其他因素。比特币的状态主要用于跟踪每个装有比特币的Canisters的当前余额。但在副本上不会运行比特币及以太坊的节点,只会在副本上配置专门的适配器来获取来自比特币及以太坊P2P网络上的区块。适配器会与其主网处于同一共识下,所以副本上会有同样的状态,并且系统能保持期望中的安全性质。互联网计算机和比特币网络之间的中继通过一种尽可能的去中心化的方式在IC节点上实现:在支持比特币集成的IC子网中的每个节点,都将随机地连接到比特币网络的一组节点。这种方法还允许以高度去中心化的方式,快速分散交易到比特币网络的多个节点。关于相关的安全问题,DFINITY计划对执行危险任务的代码进行沙盒处理,例如在高度受限的沙盒中解析不受信任的内容,这样即使有人通过提供恶意的网络响应成功发起远程代码执行攻击,他们也无法突破沙盒,从而无法造成任何实际伤害。比特币的最终性在适配器的get_UTXO_set的API中得到了解释。对于API返回的比特币地址,可以把UTXO集合中获得一个确认的总金额,作为UTXO的元数据,比特币最终性将被进一步抽象为账户模型下的余额。▍集成比特币之后

DFINITY基金会就Logo问题起诉Meta,要求其停止使用并赔偿损害:5月3日消息,商标律师Josh Gerben发推称,Web3非营利组织DFINITY基金会近日在加州联邦法院提起诉讼,指控Meta Platforms (Facebook)的新Logo与其无穷符号∞的Logo过于相似。Meta在商标申请的“商品和服务”定义中也使用与DFINITY相同的描述。

DFINITY基金会表示,“如果这些用户将DFINITY与Meta的在线隐私丑闻联系起来,那么DFINITY在Internet Computer开发和吸引用户的能力方面将受到严重损害。”DFINITY已要求法院禁止Meta使用该Logo,同时要求对“严重声誉损害”给予未指明数额的救济和损害赔偿。

据悉,DFINITY成立于2016年,并于2018年为其Logo注册联邦商标。Meta于2021年由Facebook更名,并于同年推出Meta Logo。(Beincrypto)[2022/5/3 2:47:36]

上述提到的适配器这种网络体系结构,是以一种非常通用的方式构建的。用一个单一、统一的体系结构提供所有这些功能,该体系结构是IC协议栈的一部分。因此除了比特币集成之外,它还可以用于多种用途:这里的另一个关键用途是未来的以太坊集成;允许容器进行http调用或进行任意网络连接。不同的协议将共享大部分架构组件,例如在网络级别,并且每个协议都接收自己的协议适配器。这样,我们可以保持架构高度模块化但功能强大,并且与IC协议的耦合尽可能小。目前计划是首先进行比特币集成,然后进行以太坊集成。我们会为这些区块链引入特定代码,例如连接比特币或以太坊P2P网络的专用适配器。目前只会增加对这两个区块链的支持。如果整合取得巨大成功,社区要求整合Litecoin、Dogecoin和其他网络,我们当然可以投票表决。与比特币集成将为实现外部HTTP调用的功能奠定基础,DFINITY可能在明年开始进行这部分的开发。▍最新进展:

Dfinity将于9月底举办最后一个测试网SODIUM的线上发布会:8月10日消息,去中心化计算平台Dfinity宣布将于9月30日举行主网前最后一个测试网络SODIUM(钠)的线上发布会。在该版本中,将会首次披露神经网络系统(NNS)并演示新的算法治理模块,同时还会阐述DeFi(去中心化金融)的复杂性并探讨互联网计算机的经济模型。Dfinity将在未来的几周内发布更多此次活动的细节。[2020/8/10]

9月15日更新:

关于加密协议研究论文中,还需要进行内部安全审查,然后才能将结果发布给社区。9月22日更新:

阈值ECDSA社区对话10月4日更新

阈值ECDSA功能的实施工作:已经实现了一个很好的部分“基础”,如数据类型,工件池的阈值ECDSA工件,用于创建和验证交易等。到目前为止,上述实现都是在都模拟状态下进行的。一些加密原语已经并行实现,但到目前为止尚未与一致意见集成。下一个重大里程碑是在11月20日左右,实现最小子网的共识与ECDSA加密的集成。10月19日更新:

在比特币网络适配器和比特币系统组件的功能实现方面取得了出色的进展。举个例子,比特币系统组件已经可以从比特币块构建UTXO集合并很好地处理分叉。10月31日更新:

在设置了11月20日的里程碑之后,我们意识到该功能很可能只会在明年最终发布。现在很难给出一个很好的估计,计划将在第一季度发布。昨天我们举办了第一次“比特币社区开发者研讨会”,来自DFINITY的核心开发者正在研究阈值ECDSA和比特币的集成。11月4日更新:

区块链开发团队Madfish发布BETA版Tezos钱包Thanos:金色财经报道,区块链开发团队Madfish发布BETA版本的Tezos钱包Thanos,功能包括汇款和收款、从其他钱包导入账户、查看账户交易历史和创建和管理多个帐户。Madfish提醒用户该版本为Beta版,用户必须自己承担使用风险。[2020/4/26]

关于阈值ECDSA的密钥管理的最终决定还有待商榷;在单一子网上的所有的Canister的密钥将来自于这个一个主密钥(masterkey);当在不同的子网上部署同样的主密钥时,这个密钥的安全性将取决于部署了密钥的子网安全性的短板处。这意味着我们需要使用足够安全的子网来承载给定的主密钥;现在的策略是在多个子网上部署主密钥以确保我们有备份。11月6日更新:

社区建议官方提供一个选项,让Canister选择是希望使用比特币主网还是测试。这样可以更轻松地测试容器代码,而无需在比特币主网上执行交易。阈值ECDSA功能很可能会延续到2022年实现,这也会延迟比特币集成功能的推出。社区建议,如果比特币功能提前完成,我们应该让他们在没有阈值ECDSA的情况下访问比特币功能,并在实施过程中模拟ECDSA功能发展,这将有助于缩短比特币相关功能的推出时间。互联网计算机上的EVM:社区强调了能够在IC上运行EVM代码的重要性,以便在Solidity中编写的智能合约可以在IC上运行,而无需重新实现。11月12日更新:

阈值ECDSA:加密和共识机制的工程团队目前正在加紧进行共识机制和ECDSA签名之间的首次集成,这是一项重大的里程碑,我们将验证一个阈值ECDSA签名所需的最小四节点子网。我们已经为这一里程碑设定了一个最后期限,即下周末。到目前为止,我们已经取得了很好的进展。比特币适配器与比特币系统组件的协议集成:本周工程团队取得了重大进展,网络层的比特币适配器和执行层的比特币系统组件之间的协议开始工作。也就是说,比特币系统组件可以从适配器中获取区块,适配器将请求与其预取区块匹配,并在匹配的情况下提供新的比特币区块,新块由系统组件处理。比特币系统组件的区块请求包括系统组件具有的比特币区块链视图中的所有块哈希。适配器以比特币区块作为响应,以防其区块与系统组件在其本地视图中的区块“顶部”相匹配。该协议级集成是通过单个适配器完成的,该适配器“直接”连接到比特币系统组件,而不是通过IC协议栈。这意味着比特币相关功能的核心部分现在在这两个主要组件中工作,但后续会继续开发新的通信机制。接下来的步骤是解决协议栈的集成问题,如在IC共识层的扩展,使请求和响应与IC协议栈集成,允许提交传出事务。11月19日更新:

官方打算在不支持阈值ECDSA的情况下发布比特币功能的“开发者预览”,以便人们可以开始预实现Canisters上与比特币相关的业务逻辑。11月20日更新:

将在下周达到实现一个里程碑,在内部演示中暗示最小四节点子网的集成情况。11月26日更新:

预签名协议的共识功能和加密原语的集成已经完成了,并且我们还增加了加密功能。其中,预签名是最阈值ECDSA功能实现中最复杂的部分,现在我们仍在使用仍然需要“解决”的快捷方式进行端到端的工作。对于这些快捷方式,我们在签名协议实现后将完成全部功能。为了使预签名更加具体,我们通过Grafana仪表盘对功能进行了可视化。细节如下图:

下一个里程碑是签名协议的实现,该协议为每个阈值ECDSA签名使用预签名协议的四倍。它比预先指定协议更简单,目前正在研究中。11月27日更新:

1月份的时间很紧,因此我们可能会在12月底或1月份看到开发者预览,这样人们就可以开始使用比特币功能构建智能合约。预计将在2022年第1季度后半阶段全面发布。11月29日更新:

Taproot和阈值Schnorr签名可能是阈值ECDSA之后的下一步,但目前还没有确定的决定。在实施阈值Schnorr时,我们完全可以利用阈值ECDSA工作的协同效应,但是,我们仍然需要定义协议规范,包括密钥派生方案,证明其安全性,创建系统设计并实施它。因此,我们的计划是在符合优先级的条件下,先推出阈值ECDSA,然后考虑Taproot和阈值Schnorr。▍资源

https://forum.dfinity.org/t/threshold-ecdsa-signatures/6152https://forum.dfinity.org/t/direct-integration-with-bitcoin/6147

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-0:872ms