万向峰会DFINITY首席研究员演讲全文:基于区块链的ECDSA签名服务

本文约4239字,阅读全文需要约6分钟
如何使得区块链真正吞噬到软件的世界?

9 月 19 日,由万向区块链实验室举办的第九届区块链全球峰会在上海外滩 W 酒店举办。峰会以「下一站,Web3.0 」为核心主题,聚焦Web3.0、AI、DePIN 三大领域,邀请了数十位海内外优秀开发者、专家学者和知名项目创始人共话新纪元下的Web3.0 世界图景。

万向峰会DFINITY首席研究员演讲全文:基于区块链的ECDSA签名服务

DFINITY 首席研究员 Jens Groth 以「基于区块链的 ECDSA 签名服务」为主题发表演讲。他表示,区块链想要成功的话,必须要实现的跨链互操作性,而且整个世界也需要有这样的跨链互操作性。区块链真正吞噬到软件的世界要达到两个核心要求,性能与集成。Jens Groth 表示将持续研究如何持续提升性能,使得 IC 上的智能合约可以直接存储 BTC,并且能和比特币网络进行交互。

以下为 Jens Groth 的演讲内容:

Jnes  Groth:大家好,我今天想跟大家分享的是我们在 Dfinity 的做的工作,就是 ECDSA 签名服务。在这里从宏观视角介绍一下,区块链想要成功的话,必须要实现的跨链互操作性,而且整个世界也需要有这样的跨链互操作性。所以我们希望在中间做出贡献,必须做一些硬核研究,我希望从用户需求的角度一直到加密算法的角度,来介绍一下要做什么,以及可以做什么。首先介绍一下 Dfinity 基金会,现在有将近 300 员工,是绿色非盈利组织。我们在研发方面进行了大量投入,也获得了大量成果,发布了很多论文。在几年之前推出了 IC 互联网计算机,这是我们的区块链网络,我们希望将所有的传统技术栈放到区块链平台上,这就是我们希望实现的目标。我们实现从Web2到Web3的迁移,我们在这个领域已经深耕了多年。

我现在跟大家具体介绍一下,所有的人当前都关注的一个核心问题,就是区块链是否会吞噬软件栈?从 Dfinity 的软件来说,诚然它有很多优势,这些优势使得我们能替换现有的 IT 站,这从安全性和用户保护角度来说,都是一件好事,也是优势。现在它还只是一条小鱼,我们希望这条小鱼变得越来越大,我们必须证明这是一个可行的理论,并且也会在未来十看到这个理论到底如何变成现实。

现在再看一下区块链,以及区块链会吞噬整个软件世界会意味着什么?区块链意味着公共账本,需要有区块链协议,区块链协议主要是定义区块链网络中的节点如何实现协作,以及如何达到共识,成块的顺序是什么等等。我们需要和区块链平台进行交互,在这个平台上面需要有一些物理机能够和互联网进行连接,除此之外还需要有执行的范式,还要有 Dapp 部署在区块链平台上。除此之外,还要有区块链项目,需要有一些 SDK 为开发者所用,在区块链平台上进行 Dapp 的开发。需要有一些方式,使得用户能和平台进行交互,除此之外还需要有社区,能够和不同的区块链进行交互。所以这一切都非常重要,只有通过这一切的达成,才能够使得区块链真正吞噬到软件的世界。

在这里有两个核心要求,一个核心要求是性能,因为区块链的性能必须提高。人们要获得像手机一样的交互体验,这是对区块链的核心要求。另外一个核心要求就是集成,也就是区块链上的智能合约需要彼此之间进行交互。要解决第一个核心诉求,也就是区块链到底是否能获得具有竞争力的性能呢?这就里就存在挑战,因为对区块链来说,智能合约的状态在不同的机器之间进行复制。如果你需要执行一个指令的话,所有的机器都必须要达到共识,所有的机器要达到共识,这决定了下一个状态是什么,才能够去执行。也就是在区块链上进行执行是存在一些重复的工作,我们通过研究证明了区块链可以和传统的云计算媲美的。这种复制状态机,也就是通过研究所传递出来的信息,我们研究表明复制状态机可以跟传统服务器进行竞争,这个研究报告是我们在 2023 年的 ATC 大会上发布的。在世纪中这意味着什么呢?从区块链角度来说性能能达到怎样的程度呢?我们可以在写时延达到 1 秒到 2 秒,可以和传统的互联网模式相媲美。而读的时间只有 200 毫秒,虽然写 1 秒到 2 秒相对较长,但对于很多应用来说是可以接受的。比如你做的是面向媒体的应用,用户发布了什么东西,等 1 秒到 2 秒,再在平台上正式发表,这样的等待时间是用户可以接受的。我们还有高吞吐量,这是在世纪中的应用,我们每一秒可以做到处理数十万笔的交易。除此之外智能合约使我们变得非常强大,智能合约以非常低的成本存储数百 QB 的数据。我在这里做一个数据性能对比,从一般情况来说, 32 GB 是它的上限。区块链的性能上限在哪呢?我们进行衡量的单位就是能耗,所以我们对于能耗进行了衡量,处理每一笔交易的耗能低于一个灯泡需要的能耗。

希望我通过刚刚的介绍,让大家已经相信了,区块链是有潜力、有能力达到所需要的性能,能够真正取代传统的 IT 软件栈。另外一个要求区块链要和世界进行交互,要实现这一点,区块链必须要能够和用户进行交互,能够为用户提供很好的终端使用体验。如果用户打开一个浏览器,并且并定向到区块链或区块链上的 Dapp,这就是我们希望实现的用户无缝式体验。我们还希望给开发者很好的体验,我们并不希望这些开发者在开发过程中变得非常困难。我们希望开发者的开发体验能够非常流畅,一切都能在智能合约上面完成。整个底层的区块链平台可以解决后续所有的问题,所以用任何喜欢的软件进行开发,无论是 python 还是其他。有一些其他的区块链,也提供其他的手段,比如提供Web3你喜欢的编程语言,编译程区块链喜欢的底层语言。这就是如何对区块链平台进行管理、升级、优化,最终将如何进行集成,并且通过这样的方式,逐渐使得用户接受你的区块链。

这也是我们一直致力于做的事情。我们一切都在链上进行托管,也就是说用户去了 IC,可以在 IC 统一的界面上看下一代的 dapp。如果他们通过投票方式同意升级的话,这个平台就能够升级,但它们就可以看到下一代的平台,而且我们是每一周都会做这样的投票。我们将其称为硬分叉。这里展示的就是一些链接,如果大家想感受一下 IC 的用户体验,可以点击其中的链接看一下用户的体验。同时我们也有链接是让开发者感受开发体验,一切都直接是托管在 IC 之上,也就是没有任何的中间层。

另外我希望专注的是 ECDSA 的签名服务,以及 ECDSA 签名服务带来怎样的可能性,它如何助力与 dapp 与世界进行交互,在 IC 上部署的 Dapp 必须从其他地方获得数据,并且发给其他应用和平台。我们也可以提供相关的服务,使得智能合约可以做 HTB 的请求,我们提供区块链集成的服务。但是今天我的主题是 ECDSA,也就是我将会聚焦于 Dapp 如何在 IC 上实现和比特币网络之间的交互。

我们主要是做跨链之间的通信,以及交互,也就是说在 IC 智商运行部署的节点,能够有多个联系的方式,去和比特币网络的验证者建立交互和连接。

哪怕说在出现了一些比特币的网络验证者是恶意验证者,IC 网络上的节点和比特币网络之间的连接也不会丧失。这里的关键,就是听起来很好,已经可以和比特币网络进行通信。但是比特币网络只会接受已经签名的交易,因为智能合约是没有办法存储私钥的,因为智能合约是复制的。任何节点存储的数据,并且是复制了节点,乳鸽这个节点是恶意的话,就会有一些窃取私钥被盗的风险。是这意味着对于需要有签名服务,我需要一个公钥,签名服务说,这就是公钥。智能合约说,请给签名。然后就签名了。现在智能合约拿到了签名的交易以后,就可以和比特币网络进行交互了。

我们现在将这个问题又踢到了 ECDSA 签名服务,以及签名服务如何实现互操作的可能性。比如像匿名分享技术,也就是所有的节点集体拥有签名的密钥,但是整个节点网络中没有一个单独的节点拥有完整的密钥。通过创建密钥,我们可以用多签计算的协议,对于消息进行签名。而且通过这样的方式,我们也实现了安全性,整个节点网络中没有任何一个单独的节点对签名进行篡改。相其实这样的技术从 20 世纪 80 年代就已经存在了,所以它的安全性是久经考验的。它的难度在于,如果在实现安全性的同时,保证它的行营。我们在这方面提出了整体解决方案,与此同时我们也可以对于节点有很高程度的容错性。而且实现了异步交易和异步通信。这和多方计算的文件是不一样的,你觉得异步交易或异步通信是个很简单的模型。但是现实是,有时候的话,在通信过程中会出现一些通信中断的。除此之外,在 ECDSA 签名服务方面,也有大量的研究和性能,这实际上是没有办法通过 ECDSA 最终能得到签名,这是我们所关注、所致力于研究的领域。现在大家可以看到,我刚刚已经提出了问题,需要一个高效的方式解决问题,有什么方案呢?我提出一种解决方案。ECDSA 对消息进行哈希,再进行后续操作。比如我们在这里一个切片里面是智能合约,另外一个切片是我们想传递的消息。在这样的情况下,将整个消息进行传递的话,对消息进行哈希,仅发送消息的哈希,这是所生成的原始签名。对于另外两个性能的提升方案,快速给大家介绍一下。其中就包括大 D,这个密钥是长算法,用来做签名的。它里面包含了一个 Y 作为集体的元素。现在的核心在于你不做多方的计算,你首先有一个阶段就是你不需要知道消息的情况下,就可以进行预与,使得签名过程更快。因为一旦你做了预计算,收到消息以后,可以快速对消息进行签名。从这个角度来说,还是存在问题的,就是它是否还是安全的。你首先进行了预警,然后进行发布,这一步是否安全?我们对其进行了安全性分析,最后得出的结论,如果你不跟原始的签名相结合的话,是完全不安全的。

还最后一个优化方案,就是加法密钥派生。想一下,我们有 ECDSA 的签名服务,它有数百万个不同智能合约,管理数百万的密钥,这是很贵的。因为它需要先生成密钥,如果有些节点离开网络,就需要进行密钥的流转。我们对此的解决方案就是,通过单一的主密钥再衍生或派生出其他密钥,通过算法来实现。在这里的话,已经有相关的标准,比如说像这个标准,就告诉你如何利用智能合约 ID 去派生出公共的数字 E。也就是通过这种方式,你只需要管理一个主密钥。从安全性来说,它和预计算相结合,安全性是否满足要求呢?这是一个值得研究的课题。我们做了很多优化,这些优化都带来了安全性问题,我们需要有降低风险的措施。其中包括一个解决方案,就是我预签名,对签名预计算,进行公开随机化。通过这样的方法,可以通过预签名、预计计算的方式,提升它的效率。

所以我们对于所有不同的组合进行了对比,包括预签名的公开、加法、密钥、派生,以及原始签名等等,这一切都是在 2022 年发表的研究论文。这张幻灯片展示的就是我们分析的结果,需要的就是在这些不同的 LOGO 之间,按照你的需求进行筛选。这使得我们成功完成 IC 与比特币网络之间的集成,虽然依然很慢,但考虑到比特币的交易处理速度只有每秒 7 个交易,我们可以做 ECDSA 的签名服务。无论是和比特币的集成,还是和以太坊的集成,还是和其他币的集成,都可以做。我们持续研究的是如何持续提升性能,我们也会看其他签名,比如石墨签名,可以实现更快的处理速度,凡此种种,就使得 IC 上的智能合约可以直接存储 BTC,并且能和比特币网络进行交互,非常感谢各位的聆听!

本文来自投稿,不代表Odaily立场。如若转载请注明出处。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选