主页 > imtoken钱包下 > 如果我对刚刚发起的比特币转账感到后悔并想立即恢复,我该怎么办?巧用“双花”

如果我对刚刚发起的比特币转账感到后悔并想立即恢复,我该怎么办?巧用“双花”

imtoken钱包下 2023-01-17 05:11:01

image.png

7 月 24 日比特币被骗如何追回,Bitcoin Core 开发者 Jonas Schnelli 在推特上愤怒地询问为什么 BigPay 拒绝了他的订单,因为他在 adafruit 上的购买不成功。

image.png

“@BitPay 你的妹妹!我刚从@adafruit 下订单,为什么你 XXX 拒绝我的 RBF 交易。有两天我都没有被告知为什么,直到我走到门口问我在哪里买的东西。你们太恶心了!”

BitPay 是成立于 2011 年的旧比特币支付处理器。截至撰写本文时,尚未对此做出回复,但另一家支付处理商 Flowee The Hub 在 Twitter 上做出了回应:

image.png

“来吧。让我经历一下,我想它是这样的。你发起了一个比特币支付交易,上面写着“我以后会支付更高的费用来双花”,所以该交易被服务提供商拒绝为一个坏主意。你是个戏剧女王(意思是一个大惊小怪,吸引所有人注意力的人)……”

比特币社区成员比特币,一个运营的推特账户,也嘲笑乔纳斯·施内利的做法:

image.png

“你们这些核心开发成员,你们这些年所做的事情是比特币的可用性越来越差。当像BitPay这样的公司处理你们制造的烂摊子时,他们又开始抱怨了。你们期待什么?”

比特币被骗如何追回

那是比特币核心开发者 Jonas Schnelli 真的没有 zuo no die 还是隐藏了其他东西?要解释这个问题,我们得先介绍一下什么是RBF交易。

1.什么是 RBF 交易

我们知道比特币矿工有两种收入来源:区块奖励和费用。打包一个区块时,矿工会优先打包费用较高的交易,这就是为什么在使用钱包转账时,如果交易转账手续费设置得很低,等待交易确认的时间就会延长。 .

如果手续费设置得太低,很有可能交易要等一个星期,矿工帮你打包。在此期间,比特币就相当于卡在了矿工的记忆里。在池中(内存池是矿工存储网络中收到的未打包交易的地方),有什么办法可以挽救过低的设定费?

答案是肯定的。 RBF 是另一位比特币核心开发者 Peter Todd 提出的解决方案之一。 RBF 是 Replace-By-Fee 的缩写,它可以通过支付更高的费用来替换之前发送的相同的未打包交易。第一笔交易在内存池中设置的太低,无法激发矿工打包的欲望。第二个事务可以通过 RBF 发起。本次交易转移的比特币与第一次交易相同。 ,但通过支付更高的费用,您可以替换旧的未打包的第一笔交易。

例如:

1、大白向小黑转账1个比特币,并向矿工支付0.001个比特币的手续费。由于大白和小黑并不急于交易被矿工打包,所以大白的手续费不高。

2、然而几个小时后,小黑发现自己给花北的还款快到期了,急着要用钱,而大白转给自己的1比特币却没有还没被矿工打包,有些着急,开始催大白。

3、大白深深体会到“支付宝是成熟的软件,还是学不会自己付账”的痛苦!于是发起了另一笔交易。本次交易转入的 1 个比特币与之前发起的相同,支付地址和支付地址与第一笔交易中设置的相同,但这次通过 RBF 支付了更高的费用:0. 003BTC。

比特币被骗如何追回

4、然后这笔交易成功吸引了矿工的注意,并因支付了高额费用而打包。

(P.S.这里写的手续费只是一个例子,实际情况下,一笔交易设置多少手续费可以在白话区块链官网的宝箱里查看。)

根据 Money Mongers 的一篇文章,比特币有 4 种 RBF 模式

image.png

图片来自Money Mongers

1、Full RBF:只要支付足够的费用,就可以无条件允许新交易替代旧交易。

2、可选(Opt-in)RBF:替换操作只有在旧事务明确声明允许替换时才能执行。声明是通过 BIP 125 定义的“序列”字段完成的。可选 RBF 的一个缺点是用户必须提前知道他们何时可能希望替换事务。因此,即使用户不需要使用此功能,可选的 RBF 也会被设置为默认模式以确保安全。

3、First-seen-safe RBF:仅当满足某些附加条件时——新交易必须支付与被替换的旧交易相同的所有交易输出——只允许用新交易替换旧交易。

4、延迟 RBF:当网络中的节点首次接收到旧交易时,如果旧交易在给定数量的块后仍被解包,则允许新交易无条件替换旧交易。

比特币被骗如何追回

2.RBF 交易的缺点

怎么样,你觉得RBF的设计很人性化吗?不过这里需要注意的一点是,RBF的这种设计其实犯了一个大忌——双花。双花意味着一块“钱”被花两次或更多。在比特币创始人中本聪的原始设计中,矿工打包交易需要遵循“先到先得”的规则,也就是说,如果你同时为一个比特币发起两笔交易,矿工将被包括在第一位。内存池中的这笔交易会被打包,稍慢的交易会被认为是尝试双花的非法交易,会被矿工拒绝。

所以,可以想象,在 Peter 提出 RBF 之后,这个提议遭到了很多开发者社区的反对。

比特币前首席开发者 Gavin Andresen 在推特上写道:

“RBF 是个糟糕的主意比特币被骗如何追回,我不知道现在比特币网络上有多少交易在使用 RBF。虽然不太确定它给比特币网络增加了多少复杂性,但请记住,复杂性是安全的敌人。”

(经过特朗普推特的经验法则,感觉就像是核心开发团队的一员,似乎有点在推特上统治比特币。)

Gavin Andresen 的观点实际上可以转化为史蒂夫乔布斯的一句话:保持简单,保持安全。

比特币的初衷是做一个简单的货币支付系统。一旦系统增加了太多复杂的功能,其安全性就会降低。这也是比特币开发团队最初提出隔离见证+闪电网络扩容模式的原因,遭到了很多人的反对。除了一些阴谋推论之外,也是因为这种展开方式的设计过于复杂。

据外媒 CBC 报道,今年 3 月,四名加拿大出生的男子在 10 天内对比特币 ATM 进行了 112 次双花攻击,总收入超过 20 万美元。加密货币爱好者 Collin Enstad 认为,正是因为 RBF 功能,双花攻击现在如此容易,比特币不再是一种支付系统。

比特币被骗如何追回

image.png

对此,RBF 的作者 Peter Todd 回应:

“请不要把这个锅放在RBF头上,比特币一开始就不保证链上0确认交易的安全性,过去不保证,将来也不保证。那些声称0-确认交易是安全的要么是无知要么是不诚实,而这些人通常是向您出售不安全产品的人。“零确认强盗”很好。

很遗憾这篇文章没有提到比特币ATM运营商的一个缺陷:他们接受零确认交易,完全没有安全保障,这会让读者认为这是比特币的一个新缺陷。”

3.交易可以被中本聪的倡议取代

虽然看这篇文章的你并不清楚你对 RBF 有什么看法,但我想告诉你,用新交易替换旧交易并不是 Peter Todd 发明的,而是由中本聪的设计者发明的。比特币。此时你可能会有点头晕。刚才不是说中本聪对矿工打包交易的设置是先到先得吗?为什么说中本聪提出新交易可以用旧交易代替?

中本聪最初设计的比特币系统有locktime锁定时间设置,可以实现延迟交易打包的功能。通过 Locktime,用户可以用更新的交易替换旧交易。

Locktime的值可以分为三个等级:

1.如果locktime的值为0,表示可以立即打包。通常,我们发送的事务锁定时间默认设置为 0。 ;

比特币被骗如何追回

2.如果locktime值大于0小于5亿,locktime代表区块高度,在指定区块高度之前不能打包交易;

3.如果locktime值大于5亿,则为Unix epoch时间戳,矿工必须等到指定时间点才能打包交易。

例如(这里不考虑手续费):

在区块高度 10 时,大白向小黑转账 1 个比特币,并设置 locktime 为 20 ,由于尚未达到区块高度 20,矿工不会打包此交易。

然后,小黑开始催促大白加快转账速度,大白再发起交易。本次交易转入的 1 个比特币与第一笔交易相同,只是这次的固定锁定时间为 0,此时矿工收到后会直接打包交易。

这样,第二个新事务成功替换了第一个旧事务。当区块高度达到 20 时,第一笔旧交易会发生什么?它将被矿​​工拒绝为试图双花的非法交易,并且不会进入主链。此锁定时间功能后来被比特币核心开发人员升级为比特币的闪电网络。

4.巧用双花让黑客空手而归

RBF 不是没用的。国外加密货币爱好者 Igor Korsakov 在网上分享了他是如何利用 RBF 化解比特币勒索危机的。一个使用 Igor Korsakov 提供的比特币支付服务的网站遭到黑客攻击,黑客索要 2 个比特币。他们同意了黑客的要求,但设定的转账费用很低,只有0.0001BTC。

这笔交易还没有得到矿工的确认,但黑客此时可以在区块浏览器上查看交易,认为赎金在囊中。然后 Igor Korsakov 再次使用 RBF 发起另一笔交易,同样是转了 2 个比特币,但收款地址是另一个,并给了 0.1 BTC 费用以加快该笔交易的确认。最后,第二笔交易先被矿工确认,黑客一无所获,熟鸭子就这样飞走了。

下次有人遇到比特币勒索,也许试试RBF交易?反正不管大家是否支持RBF,早在2015年比特币网络就部署了RBF功能,生米已经煮得很好。那么我们普通人应该如何应对这种情况呢?其实很简单,等待交易被矿工确认,等交易清楚地记录在区块链上后再进行后续操作。如果涉及的比特币数量很大,请至少等待6个区块才能确认。