BSV遭遇“人人可双花” 零交易确认是否可行

互联网 2019-01-12 17:20:51

“风水”轮流转,明年到我家。

这不,前两天风风火火的BSV还被人们戏称为“保险品”,近日,就有消息称,BSV丝毫不安全,且人人都可双花。

BSV双花视频

12月8日,一位名为Reizu的研究人员在Vimeo平台上发布了一个名为“Double-spending 0-conf POP! BSV”(双花零确认交易BSV)的视频。提醒投资者BSV可能会出现双花(double spending)问题。

视频中,该操作者只用手机和不到12分钟,就为人们演示了如何使任何人都可以双花BSV代币。从而否定了Craig Wright的说法,即比特币SV比分叉前的比特币现金更安全。

1

不仅如此,这名研究人员还发文表示:“我已经在比特币SV网络上进行了很多次双花。在几个区块挖掘出来以后,我发现正在被挖掘的交易就是那些一直被发送到相同节点的交易。”

而且,除了双花问题以外,Reizu还表示BSV网络“非常中心化”。

该视频中的操作让常人有些难以理解,不过,Reizu在视频中提到,“只有6个节点(一般来说,当一笔交易获得了至少6个验证过的区块,就可以认为这笔交易获得了最终确认)有双重交易支出,而这项交易是矿工们所拥有的。下一个区块被开采之后,交易失败。”接着,“此项交易已列入开采区块。1个交易确认,目的地址已更改,原来的转变不再存在,资金没有来。”

2

对此,评论中有自称为是英国最大的证券经济公司之一的互动投资者密码分析师表示,“非常令人深刻,希望互相联系”。还有名为“刘一鸣”的网友表示,“实际上,同样的做法也可以用来使双花成为不可能”。不过也有评论称,这是“粗糙的谎言”。

3

双花攻击与案例

所谓双花,也就是双重消费。用现金交易时,没有双重支付的问题。因为一笔钱支付出去,意味着实实在在地完成了资产的转移。而且,就算是在转账支付时,也会有强大的第三方机构做转账处理,比如银行、支付宝、微信等,不会存在一笔钱花多次的情况。

而在区块链世界里,由于交易的是数字资产,本质上是一些虚拟信息之间的传递,而且由于去中心化,没有第三方机构保护,所以存在同一笔资产反复支付了多次的可能性。

对此,区块链的解决办法是,利用点对点文件分享技术和公钥加密技术,来确保代币的不可篡改复制和交易的难以重复确认的问题。

简而言之,就是每个人利用自己的私钥进行代币转移签名,然后全网利用公钥进行所有权验证,整个过程公开透明。如果你想利用转账带来的时间差进行二次消费的话,(在交易完成之前,代币还在钱包中)那么全网任意一个节点,都能验证出第二笔交易为重复支付。区块链中,每录入一个数据,就会创建一个区块。而且,下一个区块的信息,必须通过上一个区块的信息计算出来,同一条信息要在网络中的每个区块上都存储一遍。

而且,所有信息都存储在全网的计算机,并不集中在某一个点,也就是所谓的分布式记账。

就这样,区块链技术的一大好处就是信息安全。因为每一个区块都由上一个区块计算出来,任何区块的篡改,都会牵一发动全身。篡改需要集合全网51%以上的算力才行,即“51%算力攻击”(双花攻击)。这几乎无法做到。

目前为止,双花攻击成功的案例极其罕见,但也并非没有。今年5月底,就发生了BTG(比特币黄金)事件。

攻击者预先准备了8000个BTG与大量可用算力,将BTG充入交易所,随后调用自己手中的算力开始私自挖矿。

等充币成功之后,攻击者在交易所将BTG卖掉提款。但是在攻击者拥有的算力超过51%,可以对BTG区块链进行控制,攻击者的这条区块链变成BTG的新主链。

随后,攻击者控制这条主链,排斥刚才自己往交易所充币的交易行为,使充币这个动作失效,8000BTG回到攻击者手中,但这时已经在交易所完成了套现。

该攻击者在4天内重复进行了17次这样的攻击尝试,尝试“双花”了20.5万个BTG。而BTG也由于此次双花攻击损失了超过38万个BTG,按照当时的行情来算,价值超过1800万美元。

据了解,该攻击者是在Crypto51(一个追踪POW算法挖矿的数字加密货币并测算发起51%算力攻击理论成本的网站)上获悉攻击成本,然后在目前全球最大的算力租借平台Nicehash上获取算力,其成本每个小时不超过4000美元。

不太一样的0确认交易

很明显,Reizu视频中的做法并不属于“51%算力攻击”,因为并没有超过51%的算力攻击BSV。实际上,除了“51%算力攻击”,网友还总结了其它两种双花攻击。

1、一个人同时向网络中发送两笔交易,一笔交易发给自己(为了提高攻击成功率,他给这笔交易增加足够的小费),一笔交易发给商家。由于发送给自己的交易中含有较高的费,会被矿工打包成区块的概率比较高。

2、一个人挖到了一个区块(这个区块中包含一个交易 :A向B转10BTC,其中A和B都是自己的地址),他先不广播这个区块,先找一个愿意接受未确认交易的商家向他购买一个物品,向商家发一笔交易:A向C转10BTC,付款后向网络中广播刚刚挖到的区块,由于区块中包含一个向自己付款的交易,所以他实现了一次双花。

可以看到的是,以上两种攻击,只要收款方不接受0确认交易即可避免。但是,重要的是BSV一直以来宣扬就是0确认交易(0-conf transaction)。

众所周知,比特币交易的拥堵情况随着并发交易数量的增加而增加,许多矿池会对内存池中的交易按照手续费高低排列,优先处理高手续交易。其理想情况是高手续费交易先解决,低手续费交易后解决。

然而在实际的市场应用中,由于新的交易不断出现,低手续费交易可能永远得不到处理,长时间甚至永久处于0确认状态。

而0确认交易就是让交易卖家不等待该笔交易被区块链网络节点确认,即交付出售的东西。0确认交易是一种信任的标志,卖方必须相信买方在该笔交易被区块链中的其他节点记录前,不会再尝试将其持有的加密货币再花在其他地方。

事实上,人们对于0确认交易是否可行的问题一直处于争论之中,而由于0确认交易被双花的例子也出现过。此前,Blockcypher(大型交易所和支付服务提供商)的一个大客户,就由于0确认交易遭受了双花攻击,损失了2.6BTC。不过,对于那些拥有快速交易能力的企业来说,0确认交易对他们来说扔是可行的,也是可以最大化避免的。

如果说前两种“攻击“是零星的无系统风险的,就像少数人用假钱骗了一个老人。吃亏的是老人,但只要老人留个心眼,把钱交给靠谱的人验一下(确认数大于1)就可以了。

那么,只有51%算力攻击才是系统性的,验证过的区块都可以推翻重写。这种是必须防止的。

从利益角度来说,51%攻击会导致共识毁坏,币值暴跌,结果攻击者得不偿失。这就是系统自洽。没有一个处于本系统利益范围之内的主体会发起这样的攻击。

对于此次有关BSV可以被双花攻击消息,还有待存证。不过澳本聪今日已经回应称,“我们可能需要对这些发布虚假声明的人采取法律行动。这些关于零确认攻击的谎言在英国是属于市场操纵。在英国发布虚假声明是重罪。”

来源:共享财经

作者:共享财经Neo

相关资讯Relevent