1
frienmo 2019-05-17 19:23:34 +08:00
可行
发现之后立马用大算力重新挖矿,越早发现越有机会,极限情况是发现被盗(发现 utxo,但还没打包)之后立马自己 double-spend, 什么事情都没有了。但问题是没那么大的算力听他的 |
2
acess 2019-05-18 12:30:15 +08:00
这个其实就是 51%双花攻击……只不过是用于“正义”目的而已。关键还是矿工愿不愿意配合,不愿意配合,技术可行也没用。
如果偷币交易还在零确认状态,没进链,那愿意配合的矿池可以把偷币交易从内存池里删掉,换成转币给自己的交易。如果愿意配合的矿池成功挖出下一个块,里面打包了转币给自己的交易,那盗币基本上就失败了,大家都没什么损失。不过实际上等被盗用户反应过来,可能早就有好几个确认了,这样就不适用了。 如果偷币交易已经进链,要回滚,那就需要 50%以上( 51%这个数字只是个形象的说法)的算力,坚持足够久,才有 100%的把握能超过原链(然后原链就被所有人丢弃作废了)。在原链挖到区块的矿工很显然会受到损失(白挖了)。 即使没有 50%以上的算力,也仍然有一定概率能成功超过原链(中本聪的白皮书算的就是这个概率),不过这样很显然风险太大。 |
3
acess 2019-05-18 12:35:22 +08:00
还有一点我再啰嗦一下:如果偷币交易已经进链,和没进链的情况一样,都得把偷币交易删掉、换成转币给自己的交易。只有这样,才能让偷币交易和转币给自己的交易互相冲突,然后偷币交易就不能再被打包进链了。
|
4
acess 2019-05-18 12:36:36 +08:00
另外,理论上矿工完全有能力把偷币交易和转币给自己的两笔交易都打包进链,这样等同于凭空造币(非法通胀),违反规则,会被全节点拒收。
|
5
fff333 OP @acess 如果用极限分析的方法,假如比特币的转账金额足够大(假设 10w 枚),是不是从经济价值上就可以操作。
|
6
fff333 OP @acess 产出 7000 个币大概要 100 小时吧,如果 2 小时内发现,然后联系几大矿池,还是很有经济上的可行性的。
现在看来,矿池是 btc 的主要威胁啊。 |
7
acess 2019-05-18 15:09:36 +08:00
@fff333
没回滚,我也不清楚具体原因。 我印象里,很多人说,主要是因为回滚会打破“不可篡改”的承诺,破坏比特币的可信度吧——言下之意难道是可以回滚,只是舍不得“不可篡改”这块遮羞布? 一些批评比特币的文章,比如这篇:《加密货币和区块链(二):分布式共识与去中心化》 ,里面就指出了算力因为规模经济而自然地趋向于集中。 而且里面还提到了一篇旧闻,说比特大陆曾经计划要新建一个能容纳全网 75%算力的大矿场,里面那么多的矿机,实际上都控制在比特大陆自己手里。 最近还有开发者提出了一个新的挖矿协议 Betterhash,意在缓解目前“全节点和矿工的角色实质上已经分离”“矿工不知道自己在挖什么链”的问题,让矿工重新取回对自己算力的控制权。这样应该可以抵御矿池在矿工不知情的情况下偷偷切走算力的做法,但是矿工未必愿意用这种新的协议,而且矿圈外的人还是不能确信算力的集中程度到底怎么样(因为实际上高度集中的大矿场完全可以在网络上“伪装”成许多个小矿工)。 |