主页 > 怎么下载imtoken苹果版 > 比特币分叉主要原因:ECDSA算法漏洞导致的可扩展攻击

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

怎么下载imtoken苹果版 2023-02-13 05:21:07

椭圆曲线签名算法存在一个漏洞,即改变交易签名并不会立即使原交易失效。

2017年比特币分叉的起因_比特币分叉币_比特币硬分叉和软分叉

如果你已经在加密行业工作多年,你一定听说过“比特币交易延展性”问题,并且知道这不是什么好事。 但究竟什么是“交易延展性”,为什么不好呢?

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

在比特币等加密货币中,“交易”本质上是用户之间转移价值的原子操作。 用户创建交易后,将在网络上发布。 这些交易会在网络上广播,最终被“矿工挖矿”确认,然后连接到区块链上。 收到交易的人也会用区块链来判断这笔交易。 已经确认。

但问题是,如今比特币的交易量越来越大,每分钟都有数百万笔交易“飞”在区块链上。 用户如何快速识别和区分这些交易? 不仅如此,遍布全球的链下用户如何在不使用缓慢的全球注册系统的情况下,以相同的方式快速准确地识别交易? 答案其实很简单2017年比特币分叉的起因,可以使用交易密码哈希(transaction cryptographic hash)作为标识。

事务加密哈希是一种从任意文件创建小型数字“指纹”的方法。 与指纹一样,交易密码哈希是一种使用更短的信息来确保文件唯一性的标识。 这种标识与交易(或文件)相关是一致的,反之则很难找到。 因此,当原来的事务(或文件)发生变化时,其标志值也会发生变化,从而告诉文件使用者,当前文件不再是你需要的文件。

交易密码散列允许仅使用数据本身来获得任何数据的“指纹”(听起来有点复杂),它是唯一的并且不会随着计算而改变。 但是,如果交易数据发生哪怕“1bit”的变化,交易哈希也会被彻底改变,从而保证了交易的唯一性。

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

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

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

比特币交易延展性是指在不使原始交易失效的情况下,改变比特币交易的唯一交易标识符(TXID)。 事实上,根据加密货币的不同,有很多方法可以做到这一点,最常见的一种是“签名延展性”,这也是本文将重点关注的内容:

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

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

比特币延展性攻击

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

假设鲍勃要通过标识符为“X”的交易向爱丽丝支付一些比特币。 在这些比特币被挖出来之前,这个标识符被黑客控制,变成了新的标识符“Y”,这样一来,当Alice收到比特币支付时,Bob就不知道自己发送的支付交易已经完成了。 如果爱丽丝是一个“坏人”,她知道鲍勃不知道她发送的比特币已经被她接受了,那么爱丽丝可以再次向鲍勃发送请求交易,要求鲍勃再次付款,并且可以重复这样做几次,直到 Bob 终于意识到问题所在,到那时可能为时已晚。

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

比特币分叉币_比特币硬分叉和软分叉_2017年比特币分叉的起因

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

1.启动一批Sybil节点(上图中红色节点);

2.用这些节点包围交换节点(上图中的红色节点);

3. 从交易所发起提现交易;

4、假设本次提现的交易标识为“X”,一旦交易离开交易所,Sybil节点会将交易标识更改为“Y”;

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

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

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

6. 攻击者会要求交易所重新发起提现交易,因为他们会在网络上谎称提现交易“未获批准”;

7.继续重复以上攻击方法。

注意:在上面的第二步中,攻击者不需要完全包围交换节点,他们只需要很少的连接就可以进行攻击——虽然攻击的成功率可能比较低。 一般来说,交易所节点周围的女巫节点越多,攻击成功的概率就越高。

另外,攻击者会根据交易所的规模采取两种不同的攻击策略:

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

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

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

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

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

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

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

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

不管你喜不喜欢隔离见证,比特币现金已经从比特币区块链中分叉出来。 从技术角度来看,比特币现金仍然存在可延展性攻击问题。