2022加密货币中的“加密”:到底能给你带来什么保障

当前位置:首页 > 币圈百科 > 2022加密货币中的“加密”:到底能给你带来什么保障

2022加密货币中的“加密”:到底能给你带来什么保障

2022-06-30币圈百科262

注:本文是科技公司Blockstream的研究总监Andrew Poelstra在纽约MCC大会上的演讲。他在演讲中从密码学的角度谈到了数字签名的安全性,指出签名机制的设计与理论和实际应用情况完全不同,所以对于很多声称创造神奇效果的项目,用户更应该提高警惕。同时,在他看来,比特币正在以惊人的速度发展,所以从技术角度来说,适当放慢速度并没有错。

2022加密货币中的“加密”:到底能给你带来什么保障

以下是演讲全文:

我没有准备PPT。我想让这个演讲尽可能的技术化,我试图剥夺自己在屏幕上写下方程的权利。我演讲的主题是为什么加密货币的一切都很奇怪,很难。从数学和科学的角度来看密码学是什么?它在实践中是如何工作的?

加密

从历史上看,密码学的目的就是加密,就像试图想出一些随机的东西。这里的安全性很简单:如果你有一个密钥,那么你就可以解密一些东西,用安全模型或风险模型来描述它的想法实际上毫无意义。

密码学在现代2022 coir.com取得了很大的进步,包括零知识证明。知识的零证明是由计算机程序证明的,计算机程序只陈述输入而不揭示输入的细节。2022蓑衣网小编

数字签名和加密是相关的。签名类似于两个密钥的加密,一个公钥和一个私钥。任何有公钥的人都可以加密数据,任何有解密密钥或私钥的人都可以解密数据。这也意味着加密数据可以通过不安全的通道发送。

数字签名

数字签名正好相反。3354只有拥有私钥的人才能生成签名,只有拥有公钥的人才能验证签名。如果要在这里讨论方案的安全性,那就更难做了,更难定义了。我先讲一下学术背景下的数字签名,然后讲一下随机数生成的实际问题,再有时间的话讲一下如何扩展到多重签名设置。

没有密钥的人无法伪造消息和公钥的签名。在学术上将其形式化是相当困难的。这里的形式化指的是做一个定义良好的状态声明。

很多年后,我们多次尝试找出这些定义。3354我们得出结论,如果没有多项式概率时间算法可以占优,那么数字签名方案是安全的。我们会绝对排除任何算法的可能性(只要它的边界合理),绝对不能伪造。即便如此,在定义时也很难证明其安全性。在现实生活中,有一个人知道密钥,这个人应该可以生成签名。那么,如何明确排除所有情况,但仍然包含特殊情况呢?

假设你在一场比赛中有一个对手,你的对手赢不了下面的比赛:我随机拿一个私钥和一个公钥,我把公钥给你的对手。如果他能生成一个签名,那么这个签名就是伪造的,这个方案是不安全的。

直觉上,这是有道理的。您生成了一个随机密钥,但是您的对手没有私钥。对手知道的唯一密钥是公钥。然而,这种想法是错误的。这种方案的问题在于,对手掌握了这种公钥的大量签名,而类似GPG的东西可能是通过电子邮件或过去区块链上的比特币交易签署的。这个公钥包含一串签名。现有的签名方案对能看到公钥的对手是安全的,但对能看到签名的对手是不安全的。这不应该是它的工作方式,但现实仍然是一样的。这个事情很难。有个竞技币就有这个问题。许多人声称能够解决不可能的问题。但是大多数人都在骗你,这才是这次演讲的真正目的。

假设这个对手比较强,可以向挑战者索要信息,挑战者必须在这个信息上签字。 现在,对手不仅可以伪造信息,而且当我们给出几乎所有可能的信息时。我们想提供尽可能多的信息。因此,在任何消息上签名就足够了。当对手伪造信息时,他必须在新消息上生成签名。

这样安全吗?这在常规安全概念下是安全的,也叫选择性信息攻击下存在的不可伪造性。但是在更复杂的系统中,由于某些原因这是不安全的。我们在比特币中发现,通过允许对手仅在新消息上提供签名,我们排除了对手可能使用现有签名并在保持其有效性的同时对其进行调整的可能性。这在模型中没有被捕获。一旦消息被签名,谁会关心对手是否能为同一消息生成不同的签名呢?

在比特币中,我们使用的ECDSA和txid都是基于这些签名。所以攻击者有能力更改签名,允许他们更改事务的txid,这将保持事务有效,但会使引用此txid的任何事务无效,因为txid具有可塑性。所以我们需要一个更强的模型。

我们现在需要一个对手。我们说,如果它在消息上提供签名,则消息可以是相同的,但是签名必须总是相同的。这就是所谓的“强签名”。这安全吗?没有

假设你有一个签名方案3354。假设您正在使用Schnorr签名。这些签名特别容易受到攻击。例如,1989年最初的Schnorr算法的攻击者获得了你的一个签名。他没有对其进行调整,而是以保持消息有效性但改变公钥的方式进行了调整。他将获得一个对照公钥进行验证的签名,并生成一个与第一个公钥相关的签名。有了比特币,某种程度上可以生成与代数相关的密钥,比如bip32分层决定论生成的密钥。

理论上,有人可以生成一个签名,其他人可以得到这个签名的交易,并在另一个交易上创建一个签名。这是针对不同键的代数关系攻击。

在实际情况下,这对于比特币来说不是问题,因为基于比特币的设计,比特币交易中签署的数据不仅包括关于交易的所有细节,还包括之前的交易(以及它们的公钥)。所以结果就是你得到了看起来像Schnorr签名的东西(公钥除外)但事实证明这比“强签名”更安全,强签名是签名信息的零知识签名,签名密钥相同。这比我想说的要复杂得多。

每一步,我都在强化安全观念,彻底杜绝伪造的可能。我们花了一些时间探索这个设计,研究伪造及其在实际情况下的表现。对于签名,我可以在舞台上描述一场安全比赛,而不用到处用图表和箭头。多重签名更复杂。

当你谈论零知识证明3354包含一个零知识证明和一个模拟器以及所有不同的规则3354试图证明这些复杂系统的唯一性,部署更理想的模型等等,直到你得到一些具体的东西。然而,在现实生活中,拥有可证明的安全性是很有价值的。

可证明安全性

接下来我想讲一下可证明安全性的概念,尽管我告诉过你这很难。其中之一是随机数生成的概念。我将把话题从定义安全性切换到部署安全系统。

基于ECDSA或Schnorr,生成这些签名需要生成一致的随机数据。一致随机是指你可以选择所有可能的随机数3354,实际上是介于0和一个固定的大素数之间。如果您不能随机生成数字,并且您在多个签名中重复使用相同的数字或相同的nonce,那么您的硬币将被盗。这种情况已经发生好几次了,比如有人用这个小问题破解了ps3。2012年比特币就发生了这种情况。一些Android钱包重复使用随机数,并生成了一个错误的随机数生成器。 最后,很多人丢了钥匙和硬币。

并不是说nonce被重用了。随机的2022 coir web series nonces是存在的,但是有些软件生成的nonce在一定程度上是有偏差的,比如前几位总是0。即使和随机数无关,只要有足够多的签名,就足以泄露你的私钥。所以我们有这些在学术模型中被证明是安全的签名方案,但是它们总是需要一致的随机性。直觉告诉我们,随机性是猜不出来的,但这里的随机性和均匀随机性没有区别。区分这两者足以打破学术证明,但在实践中,你会失去关键和硬币。

总结一下

这些事情很难,很微妙。你不应该对声称能够创造神奇事物的新项目感到兴奋,而是保持怀疑。比特币发展非常快。我们需要放慢速度,保持警惕。

2022加密货币中的“加密”:到底能给你带来什么保障 | 分享给朋友: