主页 > 大陆如何下载imtoken > 比特币如何防止双重支出?是否发生过双花事件?

比特币如何防止双重支出?是否发生过双花事件?

大陆如何下载imtoken 2023-08-23 05:07:19

原标题:666833 区块的分叉、RBF 和“一成不变”

比特币 BTC 最近在 666833 区块分叉,每个分叉一个区块。

分叉和孤块实际上在 BTC 网络中并不少见,由于矿工之间的竞争,大约每 1-2 周发生一次。但这次的巧合是,两个相关的 RBF(Replace-By-Fee)交易在两个分叉的区块中,所以有人认为这是双花攻击比特币双花是指什么,认为 RBF 并不安全。另外,我看到一个BSV支持者(微博@中本黄-元伟)说BTC0.1版本的协议可以稳定,应该是“一成不变的”(不可变)。BCHer 和 BSVer 也批评 RBF 交易是 Core 引入的不安全机制。

要了解这些问题,首先要了解的是RBF交易的历史。

RBF 的基础是事务替换。BTC 交易的每个输入都有一个字段序列(sequence)。如果矿工在打包交易时发现两个交易使用相同的输入(即花费相同的UTXO),那么序列较大的交易可以替换序列较小的交易。交易替换在 BTC 的第一个版本中可用,即中本聪亲自设计了交易替换机制。中本聪的初衷已经不可考,我们只能猜测,祖父希望给未经证实的交易一个回头的机会。

但是,事务替换会带来一个严重的拒绝服务漏洞,即攻击者可以不断地将这个替换事务发送给矿工,从而影响矿工的打包过程。矿工会不断改变要打包的区块中的交易,最终影响出块速度,而攻击者的攻击成本几乎为0。所以中本聪在2011年自己禁用了这个功能。

2015年BTC交易拥堵后,大家意识到交易替换其实很有用:如果交易手续费太低,当交易卡在矿工的内存池中时,可以换成交易更高的交易费用。原始交易,这种方式比矿工的加速器更透明,更便宜。

所以在 2016 年,由 Peter Todd 设计的 Opt-in RBF 被重新添加到 BTC 源代码中。为了防止原来的拒绝服务攻击,Peter Todd 增加了两个限制:

被替换交易必须明确声明可以被替换(序列<MAX-1)。替换交易的交易费用必须大于被替换交易,并且必须支付一定的网络费用。这样就杜绝了拒绝服务。可能性。

具有讽刺意味的是,Peter Todd 因设计 Opt-in RBF 而遭到 BCH 和 BSV 支持者的攻击,认为它改变了 Satoshi 的设计。我觉得很奇怪,显然 Peter Todd 改进和完善了 Satoshi Nakamoto 的原始设计。BSV 支持者总是说协议的 0.1 版本应该一成不变。您是否尝试重新引入事务替换?

比特币区块 666833 的分叉

回到666833区块的分叉,看到有几个人说0确认不安全,所以RBF只要不是0确认就安全。事实上,本次分叉的两次RBF交易都进了区块,不是0确认,确实有双花的可能。但是经过仔细分析比特币双花是指什么,这种双花的可能性其实是非常难以忍受的:

两个冲突的 RBF 交易进入两个分叉的概率很低,攻击者一般很难找到这样的机会。而哪个分叉获胜是随机的,所以即使攻击者找到这样的机会,如何获利也是一个难题。如果一个拥有强大算力的矿工想要进行双花攻击,与交易是否为 RBF 交易无关。结论是 RBF 不会增加双花的风险。对于钱包或交易所来说,实际上很容易防止这种双花的可能性。只要是比特币全节点,就可以直接看交易是否分叉,然后延迟确认交易。由于矿工之间的高速通信协议,分叉通常会在三个区块后结束,因此最多等待三个区块后,就消除了这种双花的可能性。Bitcoiner一再强调全节点的重要性,不仅是为了制作更多静态账本的副本,也是为了让更多人更容易观察账本的动态变化,查看异常情况的出现。这绝对是不相信少数矿工会替代的。

原创微博@Velazquez

//@废物X废物:得出一个关键结论:“RBF不会增加双花的风险”。0 确认交易不安全与是否存在 RBF 没有直接关系。RBF 仅将替换交易的权力委托给普通用户。矿池不需要RBF主动替换交易。

Maya cndx:谢谢,硬币知识增加了。我只知道中本聪首先提出并支持 RBF。后来,Core 改进并实施了新的 Opt-in 以选择 RBF。知道背后的原因。中本聪非常有先见之明。他知道以后交易满了,会出现需要增加手续费的情况,所以设​​计了RBF,还解释说支持小区块软扩路由。它只是暂时禁用,直到当时没有解决拒绝服务攻击。