mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

巴比特专栏 | 法院能有效判罚矿池回滚比特币,以纠正丢币盗币吗?

收藏
分享

执法部门冻结违法行为相关的银行卡,将违法所得还给受害者,这是我们经常能看到的。但比特币能被如此操作吗?

本文不讨论执法部门有没有权力、伦理、道义等下令逆转比特币交易,我们假定有。我们讨论的是,在技术上能不能做到。是否比特币真的是在技术手段上保证了私有财产神圣不可侵犯。 我们知道,51%攻击是可以逆转比特币等加密数字货币交易的。

我们先假想一个潜在的51%攻击过程。

比如在高度是620000高度区块的比特币,确认了一笔被法院认定为“非法”的交易tx_illegal,金额100BTC,从地址A发到了地址B。法院立刻下达逆转tx_illegal的命令,要求境内矿池执行。

在法院下达命令的同时,受害者使用自己的私钥,构造了一笔和tx_illegal相冲突的交易,tx_legal,tx_legal是从受害者钱包发出的,并且还发回到自己钱包的地址。即受害者双花了自己那笔被盗的币。

法院的命令,明确指定三个要素,1)矿池必须从619999高度重新挖矿;2)作废tx_illegal;3)在620000高度或之后确认tx_legal。 命令花了1小时到达矿池,到达之前,比特币网络又挖出了6个区块,此时最新高度为620006。

罪犯的钱包已经收到了tx_illegal转来的币,并且有了7个区块确认。受害者的钱包里,已经少了对应的币。

在命令之下,矿池必须回到619999高度挖矿,即主动抛弃掉这1小时挖出的7个区块,并且将tx_illegal踢出内存池,同时将tx_legal纳入内存池。在10分钟后,新挖出620000高度区块,tx_legal成功被打包,而tx_illegal被成功回滚了。

此时,罪犯的钱包里躺了1小时的100BTC,就消失了,而受害者钱包里,消失掉的100BTC又回到了自己的钱包。 就是这么神奇。 发生以上过程,关键点在哪里?

关键要素是法院辖区的比特币算力,必须超过51%,并且命令必须有效地传达到所有这51%算力,以及这些51%算力必须有效执行命令。

考虑到安全边际,法院辖区的算力比例超过75%为好。算力大小,主要是影响tx_illegal被逆转的时间长短。

如果达到100%,命令到达矿池后,平均80分钟就可以逆转tx_illegal,即挖8个块就可以覆盖掉从620000到620007这个7个区块。

如果是75%,平均需要100分钟,即10个区块。因为另外的25%算力,已经领先了6个区块,而75%对25%有3倍的优势。当75%算力挖到10个块时,25%只能挖到3个块,3+6<10。如果只有刚刚好51%算力,那平均要306个区块,即3060分钟(51小时)才能逆转。

如果达不到51%,就不可能逆转了。

而如果拖延时间越长,被逆转的难度就越高,并且逆转行为涉及的合法经济行为就越大,就越不可能发现。

而对应的,币圈的反制措施就是尽可能将算力不要放在同一个执法机构下。就目前来说,理论上所有PoW币,算力主要集中在中国。包括BTC在内,都是可以被法院下令使用51%攻击的方式来逆转非法交易的。

而PoS币,如果是半数以上的超级节点在同一个政府管理范围内,也是可以实现这种逆转的。 但以上过程,执法仅仅是通过算力这一个层次来完成。区块链技术,还有没有反制措施?

我们知道,包含所有比特币协议规则的是完整节点。运行完整节点的有矿池、交易所、大钱包商等。而完整节点的发布,则是开发者的事。 如果执法单位,在下达命令要求辖下矿池逆转tx_illegal,而与此同时,比特币社区要求其他力量否决掉该执法单位,以及否决掉所有服从该执法单位的矿池行为,就可以有效阻止tx_illegal的逆转行为。

可以通过以下过程来完成。开发者可以发布一个紧急版本的完整节点,指定在接下来的某个高度,(承接上面的案例),比如在620010高度,植入一个Checkpoint检查点。Checkpoint的值就是620000高度区块(tx_illegal在620000高度被确认)的哈希值。

Checkpoint是完整节点验证指定高度区块合法性的一个流程,该流程指定了一个区块高度必须包含特定的值,否则该区块就是非法的。 通过Checkpoint就可以阻止服从法院命令的矿池作废掉包含tx_illegal交易的620000高度的区块。

所有交易所、钱包商,和不服从法院命令的矿池,都可以下载这个紧急版本的完整节点,并且认定此为比特币。那服从法院命令的矿池,哪怕是重组了区块链,但得到的是一条没有交易所、开发者、钱包商、和其他矿池支持的分裂链。 现在的BCH上的完整节点,是有一个10区块深度的动态滚动Checkpoint的,即BCH链每挖出10个区块,就会在该第10区块里,内置一个离该最新区块高度距离为10的高度区块的哈希值。

BCH的完整节点,验证区块的合法性时,每隔10个区块,就需要检查对比一下,该区块是否包括了前面第10个块的哈希值。如果不包括,则是非法的。BCH的这种规则,是可以防止区块链被重组10个区块以上。 我们补充一点道义、伦理、合法性的考虑。

通过51%攻击来逆转交易,同时也会影响被重组的所有区块里的交易。比如在620000高度到620006高度被重组了,而在这7个区块里,有10万个比特币被充值进交易所,卖掉换成了ETH,并且被提现。当重组发生时,这10万个比特币的用户会发现,其账户上又多出了10万个币,爽歪歪。(这和交易所的充值提现系统有关)

BTC网络平均一小时要处理几万个BTC的交易量,这是平均每小时高达几亿人民币的交易金额。我们有充分的理由相信,任何执法机构,都不可能为了远小于此金额的犯罪行为,而推翻几亿人民币的合法商业交易。

所以除了算力去中心化外,商业价值更大化,更是保护比特币交易不被逆转的关键所在。 从执法的行政效率来说,任何国家的法院,都不太可能在犯罪事实发生后,几小时内就下达执法指令的,这又不是在打战。确认犯罪事实就是一个论天来计的事。

下达51%攻击的命令,以及需要的组织能力,响应速度,都是太高了。事实上,更有可能发生的是,法院下达冻结罪犯所得币的转账行为。 法院可以给辖区下所有的矿池和交易所下令,不得接受该地址,以及后续所有相关联的地址上的币。这在技术上是更具有可行性的。但区块链有混币,洗币等技术,一样可以让冻结命令作废。

法院可以下令辖区矿池甚至是交易所逆转或冻结特定的币,但结局更可能是执行命令的矿池和交易所的商业价值被清零,而不是比特币系统受损。

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。