主页 > imtoken2.0下载 > 比特币分叉的主要原因:ECDSA算法漏洞导致的延展性攻击

比特币分叉的主要原因:ECDSA算法漏洞导致的延展性攻击

imtoken2.0下载 2023-01-18 13:56:33

广告牛来了! 5月12日关注这3股! 5 月将飙升 68%!

×

如果您已经从事加密行业多年,您一定听说过“交易延展性”问题,并且知道这不是一件好事,儿子。但究竟什么是“交易延展性”,为什么不好呢?

让星君(微信:o-daily)带你看看PascalCoin基金会创始人兼CEO、PascalCoin核心开发者、RandomHash(随机哈希)发明者Herman Schoenfeld如何解释这个问题。

在比特币等加密货币中,“交易”是在用户之间转移价值的原子操作。用户创建交易后,会在网络上发布,这些交易会在网络上广播,最终经过“矿工挖矿”确认后接入区块链,交易的接收方也会使用区块链进行判断交易。已确认。

但问题是,随着比特币交易数量的不断增加,以及区块链上每分钟“飞”起来的数百万笔交易,用户如何才能快速识别和区分这些交易呢?不仅如此,对于那些分散在世界各地的链下用户,如何在不使用缓慢的全球注册系统的情况下,以同样的方式快速准确地识别交易?答案其实很简单,可以使用交易密码哈希作为标识。

事务加密哈希是一种从任意文件创建小型数字“指纹”的方法。与指纹一样,事务加密哈希是保证文件唯一性的一小段信息。身份,与事务(或文件)中的每个字节相关联,很难找到相反的模式。因此,当原始事务(或文件)发生变化时,其标志值也会发生变化,从而告诉文件用户当前文件不是您需要的文件。

事务加密哈希允许仅使用数据本身获取任何数据的“指纹”(听起来有点迂回),这个“指纹”是唯一的,不会随着每次计算而改变。但是,即使交易数据发生“1位”的变化,交易哈希也会完全改变,从而保证了交易的唯一性。

在比特币中,交易哈希称为“TXID”,用作交易的唯一通用标识符。

好吧,说到这里,你可能会有一个疑问,既然每笔比​​特币交易都是唯一标识的,那怎么会有所谓的“可扩展性”问题呢?

首先我们来看看比特币交易的“可扩展性”问题是什么

比特币交易延展性是指改变一个比特币交易字符(TXID)的唯一交易标识符,但不会使原始交易失效。实际上,根据加密货币的不同,有很多方法可以做到这一点,其中最常见的一种是“签名延展性”,这也是本文重点介绍的内容:

比特币协议使用椭圆曲线签名算法(ECDSA),该算法于 1999 年成为 ANSI 标准,2000 年成为 IEEE 和 NIST 标准。不同于普通的离散对数问题 DLP 和整数分解问题 IFP,椭圆曲线离散对数问题 ECDLP没有次指数时间解,所以椭圆曲线离散对数问题 ECDLP 曲线密码学的单位比特强度高于其他公钥系统,计算参数更小,密钥更短,运算速度更快,签名更短。

但是,椭圆曲线签名算法存在一个漏洞,即更改交易签名并不会立即使原始交易失效。虽然该算法确保签名不会被伪造,但它允许攻击者更改包含相关签名的交易的 TXID,这可能会产生非常严重的后果。

比特币延展性攻击

为了更好地解释比特币延展性攻击,我们介绍了两个虚构的交易员“Bob”和“Alice”。

假设 Bob 将通过一个标识符为“X”的交易向 Alice 支付一些比特币,该标识符在比特币被挖掘之前被黑客入侵并更改为一个新的符号“Y”,这样当 Alice 收到比特币付款时,Bob 不会知道他发送的支付交易已经完成。如果 Alice 是一个“坏人”,并且她知道 Bob 不知道他发送的比特币已经被她收到,Alice 可以再次向 Bob 发送请求交易,要求 Bob 再次付款,并且可以重复多次这样做,直到 Bob 最终意识到问题所在,但可能为时已晚。

事实上,这种延展性攻击已经在一些加密货币交易所发生,如下图所示:

广告【直播福利】限时发布终极屠龙神器,800%爆率惊人!

×

在这种情况下,攻击者可以通过以下步骤进行攻击:

1、启动一批Sybil节点(Medium red节点以上);

2、用这些节点圈出交换节点(上图中红色节点);

3、从交易所发起兑换提现交易;

4、假设提现交易标识为“X”比特币算法,一旦交易离开交易所,Sybil节点会将交易标识改为“Y”;

5、这笔交易标识符为“Y”的提现交易将被广播到比特币网络的其余部分;

(星君o-daily注:Sybil节点是指那些被恶意操纵进行协同攻击的虚假账户节点,即利用网络中的少数节点控制多个虚假身份,从而利用这些身份控制或影响网络中大量的正常节点。)

当交易标识为“Y”的提现交易被挖到下一个区块时,攻击者已经收到提现金额,但此时交易所后台还没有收到提现的确认信息提款交易。 ,所以交易所一直在等待交易标识符为“X”的交易确认。此时,攻击者将继续攻击:

6、攻击者会要求交易所重新发起提现交易,因为他们会谎称提现交易在网络上“没有通过”;

7、继续重复上述攻击方法。

注意:在上面的第二步中,攻击者实际上并不需要完全包围交换节点,他们只需要几个连接就可以执行攻击——虽然攻击的成功率可能会更低。一般来说,交换节点周围的Sybil节点越多,攻击成功的概率就越高。

此外,攻击者还会根据交易所的大小采取两种不同的攻击策略:

1、第一种攻击方式就是所谓的“寄生攻击”。 “寄生策略”,他们通常会选择一些不规则的小额交易进行攻击,从而逃避一些交易监控工具的追踪,在最大化自身收益的情况下进行长期攻击;

2、第二种攻击方式是所谓的“吸血鬼策略”,在系统管理员发现问题之前,通过高频大额提现交易从交易所抽走资金。

无论攻击者实施何种策略,交易所都会遭受损失,因此加密行业需要通过一些可塑性解决方案来解决这个可塑性攻击问题。

隔离见证解决延展性攻击是比特币社区分裂的主要原因吗?

比特币希望通过引入隔离见证(Segwit)来解决这种延展性攻击问题。

Segwit 将签名交易与 TXID 计算分开,并将 TXID 替换为对签名交易不可延展的加密哈希。此加密哈希仅用作指向已签名交易的指针,该交易存储在另一个数据结构中。

为了验证交易签名,比特币验证者会使用这个加密哈希在另一个数据结构(即存储已签名交易的数据结构)中查找对应的签名,然后执行椭圆曲线签名算法( ECDSA) 验证。这样,延展性攻击将无法获得签名来源,因为此数据与交易存储的位置不同,在这种情况下,攻击者无法篡改指向签名的哈希指针。当然,由于签名数据存储在其他数据结构中,隔离见证增加了对其他数据结构的依赖。比特币需要在这方面做出取舍,毕竟这是一件很重要的事情。

虽然隔离见证本身并不是一个坏主意,但隔离见证的实施仍然在比特币社区引起了裂痕,导致社区分裂为比特币(BTC)和比特币现金(BCH)。然而,应该指出的是,社区分裂的主要问题更多是关于 SegWit 的部署方式,而不是技术本身。

无论你是否喜欢 SegWit,比特币现金都是从比特币区块链分叉出来的。从技术角度来看,延展性攻击问题仍然存在于比特币现金中。

本文来自 Medium比特币算法,原作者为 Herman Schoenfeld,PascalCoin 基金会创始人兼 CEO,PascalCoin 核心开发者,RandomHash 发明者。

Odaily 每日星球翻译 |监听

本文翻译自@herman_10687/malleability-attack-why-it-matters-7b5f59fb99a4。