宇宙链 宇宙链
Ctrl+D收藏宇宙链

挖掘真相 Coinbase深度分析BCH硬分叉事件

作者:

时间:1900/1/1 0:00:00

金色财经比特币6月3日讯5月15日,Coinbase在比特币现金区块链上检测了一个depth-2链上重组,重组的目标,是被错误地发送到比特币隔离见证地址上的比特币现金资金,这些地址以前是不可花费的,但是在5月15日比特币现金硬分叉升级的时候,一部分资金被恢复可以使用了。根据公开数据显示,重组是由两名矿工之间算力斗争造成的,结果让139万美元被发送到了最初预定的接收者那里,而8.2万美元被发送到了未知地址。

第一部分:比特币现金上的双重支付

比特币现金网络每年会进行两次硬分叉,这也是他们预定协议升级工作的一部分。最近的一次升级发生在太平洋时间5月15日星期三上午5点,其中主要涉及两个变化:

1、启动Schnorr签名,这种签名是一种加密签名系统,也是比特币现金扩容解决方案发展路线中的一部分;

2、允许隔离见证恢复。隔离见证是一种在比特币网络上有效但在比特币现金网络上无效的地址格式。但是,比特币现金代币偶尔会被发送到隔离见证地址,在这次比特币现金硬分叉之前,这些地址里的代币是不能花费的。然而,这次升级改变了这些代币的状态,在某些情况下,代币状态已经从不可花费变成了可以被比特币现金矿工认领。

事件时间表

比特币现金升级发生在太平洋时间5月15日星期三上午5点,这导致矿工会根据新的共识规则生成区块,区块582689成为了第一个在升级后规则下生产出的区块。在太平洋时间上午5点20分到9点05分之间,在比特币现金分叉币BitcoinABC上发现了一个漏洞,让矿工生产出了空区块,结果导致比特币现金内存池中的交易挤压。而在此期间,还没来得及升级的比特币现金区块链则被延展到了一个新区块582680上。

在BitcoinABC实施了漏洞补丁后不久,两个区块582698和582699就分别被两个独立矿工开采了,这两个矿工在Coinbase交易中用“unknown”和“Prohasing”字符串标识了这两个区块。“Unknown”矿工开采的是区块582698,其中包括了从1000多个隔离见证地址中花费的比特币现金交易。

太平洋时间5月15日星期三上午9点10分,Coinbase检测到一个“双区块”区块链重组,区块高度582698和582699的区块被一个更长的链给孤立出来了,而区块高度为582698到582701的区块则是由BTC.top和BTC.com两个矿池开采的。区块582701包括了一个独立的双重支付交易,而该交易包含了孤立区块582699。双重支付交易似乎来自于BSV网络重播,因为这些交易并不是从隔离见证地址花费,而且看上去和其他双重支付交易也没有任何关联度。

太平洋时间5月15日星期三上午10点零五分,区块582705被BTC.top开采出来。该区块包含了1278个交易,这些交易将大部分输入被双重支付到了孤立区块582698中的28个隔离见证花费交易里。但是,孤立交易输入中有56个没有被包含在双重支付交易里,而双重支付交易输入中有120个输入也不在孤立交易的输入里。所有这些双重支付都被发送到了与之等效的有效比特币现金地址上,后续我们会进一步解释这个问题。

动态 | “Save Yourself”恶意软件可秘密挖掘Monero:Reason的网络安全研究人员发现,自去年以来一直困扰着互联网的“Save Yourself”恶意软件除了会感染计算机、发送威胁将泄露视频的电子邮件并勒索比特币之外,还会秘密地挖掘以隐私为中心的加密货币Monero,所产生的所有资金都直接流入了攻击者手中。研究人员表示,具有讽刺意味的是,许多提供产品来删除该恶意软件的网站实际上都是在兜售恶意软件。此外,该恶意软件仅使用受感染计算机50%的CPU来挖掘Monero,以免引起怀疑。(thenextweb)[2019/10/15]

太平洋时间5月15日星期三下午12点53分,区块582715被另一个不知名的矿工开采。这个区块包含了13个交易,该交易输入被双重支付到了之前孤立区块582698中28个隔离见证花费交易里的25个交易。孤立交易的输入中有1181个没有包含在双重支付交易中,因为其中许多输入已经在区块582705中使用了,同时双重支付交易里的564个输入也不在原始孤立交易输入里。点击此链接,可以看到一个交易实例,其中第六个输入被区块582715内包含交易的第三十个输入重复使用了。这些双重支付被发送到了13个比特币现金地址,我们会在附录A中提供这些地址的具体信息。基于区块链分析,我们相信所有地址已经把他们的资金转移到了Bitfinex和HitBTC两家加密货币交易所。

双重支付分析

这次涉及到双重支付的交易总数为29笔,涉及的比特币现金数量为3796BCH,双重支付交易被分成了三组:

1、区块582701中1笔交易,包含4BCH,但似乎这笔交易与其他双重支付无关;

2、区块582705中有1278笔交易,包含3655BCH,其中有将隔离见证地址的比特币现金花费到了有效的等值比特币现金地址;

3、区块582715中有13笔交易,其中有极可能将隔离见证地址里的比特币现金发送到了被前文提及的“Unkown”矿工控制的比特币现金地址,这些交易包含的输入并没有包含在BTC.top开采出的582705区块里。

根据我们检查得出的结论,在区块582705中双重支付的隔离见证输入被发送到了它们最初的预期接收者。这意味着,挖掘区块582705的矿工能够将有效的比特币现金等价物到处到无效的隔离见证地址,这种做法其实和此前那个“Unknown”矿工对孤立区块582698和主链区块5827015的做法是一样的。唯一不同的是,BTC.top决定将这些资金发送给最初的预期接收者。

基于这些事实,似乎有一个算力在抢夺认领已经发送到隔离见证地址的比特币现金。在之前硬分叉升级被激活之后的几个小时,BitcoinABC阻止了比特币现金矿工验证区块中所有交易,所以这场争夺战从很早时候就已经开始了。区块582698包含了从隔离见证地址发送到与“Unknown”矿工关联地址的比特币现金花费。重组从主链中删除了这些花费,接着这笔花费被区块582705中隔离见证地址内等值的比特币现金给替换了。之后,区块582715被“Unknown”矿工开采,该矿工收集了剩余交易,而且还把保留在隔离见证地址里的一小部分比特币现金发送到了一个未知地址。基于这些区块中的Coinbase数据,Coinbase认为挖掘主链区块582715的矿工和挖掘孤立区块582698的矿工是同一个“人”。

声音 | 叶茂:传统数据挖掘跟区块链数据挖掘相同的地方是整体的基础框架是类似的:金色财经现场报道,2月22日,Chaindigg创始人兼CEO 叶茂在由金色财经主办的金色沙龙北京站第七期圆桌论坛上表示,传统数据挖掘跟区块链数据挖掘相同的地方是整体的基础框架是类似的,是用类似的方法做数据的分析、关联、挖掘,基础框架等。不同点是区块链的链上数据有一个特点,就是数据会有分叉,分叉意味着,如果要做实时的数据挖掘,需要关注后面最新的区块怎么来处理数据的变动。如果没有处理好这个环节的话,在结果里,在某些时间点上,出来的数据是不太准确的。[2019/2/22]

双重支付交易样本

以下是来自区块582698“Unknown”矿工的样本交易,其中包含了从一些隔离见证地址花费的比特币现金代币交易。在这次比特币现金硬分叉升级之前,这些代币是无法被访问的。

图一:孤立隔离见证交易样本

在上面的交易ebc4中,“Unknown”矿工将46个输入花费在了“1My1”开头的单个地址上……这个交易输入的独特之处在于它们都是隔离见证地址,比如上图中特别圈出的“35hL”开头的那个地址。

下图中是出现在区块582705中的交易,该交易被双重支付在了上述样本里。需要注意的是,那个“35hL”开头的隔离见证地址也是该交易的输入,这导致下面那个交易变成了双重支付。

图二:区块582705“e872”开头地址的双重支付交易

BTC.top没有像“Unknown”矿工那样聚合隔离见证输入,而是将相同的输入双重支付到了单独的抵制。这些单独的抵制其实是无效隔离见证抵制上的有效等值比特币现金。举个例子,来自“35hL”开头的隔离见证地址中所有的资金转移到了“1EVW”开头的有效比特币现金地址。

为了更好地理解这个操作是如何完成的,我们需要再深入研究一下隔离见证地址的运作机制。

第二部分:从隔离见证地址花费比特币现金

作为5月15日比特币现金硬分叉升级的一部分,比特币现金网络对清除堆栈规则做了例外处理,目的是为了允许在隔离见证地址恢复比特币现金。只要满足下面两个条件,修改清除堆栈规则就能让任何人在隔离见证地址上花费比特币现金:

条件一:公钥哈希、或与隔离见证地址相关的解锁脚本是已知的,将资金发送到隔离见证地址时并不会泄露这些信息,但是从隔离见证地址发送资金的过程中会选址这些信息。因此,如果一个特定的隔离见证地址已经接收到了比特币现金,但随后又在比特币区块链上发送了比特币,那么在比特币现金网络上也会显示花费了同样金额的资金;

条件二:矿工必须同意开采这笔交易,因为从隔离见证地址花费的比特币现金交易并不是标准交易,这意味着虽然他们是有效的交易但不会通过网络传播,因为网络节点拒绝中继转发非标准交易。

动态 | 格鲁吉亚人正出售旧车以挖掘比特币:据纽约时报报道,尽管比特币已从最高点20000美元下跌了82%至3600美元左右,成千上万的格鲁吉亚人却正在出售旧车甚至是奶牛,转而购买高性能的计算机以挖掘比特币。经济部长George Kobulia表示,经济的数字化转型是该国的首要任务,会尽全力支持。[2019/1/29]

恢复P2WPKH隔离见证资金

正如我们之前所提到的,为了在比特币现金网络上将花费资金意外地发送到P2WPKH隔离见证地址,矿工必须要知道改地址的公钥哈希。公钥哈希有两种获取方式,一种可以直接从地址所有者那里获得,另外如果相同的隔离见证地址已经在比特币区块链上花费了资金,那么就能从比特币区块链上对应的交易中提取。

举个例子,在下面这笔交易中,比特币现金被发送到了“35hL”开头的隔离见证地址

图三:在比特币现金网络上向一个隔离见证地址发送资金

之后,一笔转账交易在比特币网络上相同的隔离见证地址上完成,对应的比特币后来又从这个隔离见证地址上被花费掉,此时改地址的公钥哈希就显示出来了。

图四:在比特币网络上发送一个样本隔离见证地址

下面那笔交易,是将比特币存入到了比特币网络上的隔离见证地址,上面那笔交易在一个区块之后花掉了这些比特币,而上面那笔交易里包含之前隔离见证地址的公钥哈希,其原始格式如下所示:

{“txid”:”3ffbf713629fcf66ae6e7155c1f931ad3e6108e47d557c247831c1b7f617a266",”hash”:”469395c9292e04f0b476b77d420d882ecf7bb67be01c0314b503802e26705d32",”version”:1,”size”:249,”vsize”:167,”weight”:666,”locktime”:0,”vin”:,”sequence”:4294967295}],”vout”:[{“value”:0.01542272,”n”:0,”scriptPubKey”:{“asm”:”OP_DUPOP_HASH1604aed1e7a21ee87a69be93dbeda198d65752ff73aOP_EQUALVERIFYOP_CHECKSIG”,”hex”:”76a9144aed1e7a21ee87a69be93dbeda198d65752ff73a88ac”,”reqSigs”:1,”type”:”pubkeyhash”,”addresses”:

}},{“value”:0.00049692,”n”:1,”scriptPubKey”:{“asm”:”0532b4f8533e6a0d51ee537ec48319228b374f4cb”,”hex”:”0014532b4f8533e6a0d51ee537ec48319228b374f4cb”,”reqSigs”:1,”type”:”witness_v0_keyhash”,”addresses”:}}]}

蚂蚁矿机现幸运值达4.14万亿的挖掘:蚂蚁矿机官网显示,Block高度为523034的一名矿工于5月16日23时许,获得12.5221953的收益,用时14分钟14秒,算力为5.09MH/s,幸运值达4.14万亿。微博有网友评论“这水平等于自家熊孩子用筷子击杀了灭霸。”[2018/5/21]

一旦5月15日的比特币现金硬分叉升级修改了清洁堆栈规则,意味着比特币现金矿工可以使用上述公钥哈希将隔离见证地址中的资金花费掉,举个例子,下面这笔交易就花费了相关资金:

图五:在比特币现金网络上花费了一个隔离见证地址里的资金

如果查看原始数据的话,你可以在比特币网络上找到与上述比特币网络里这笔交易完全相同的公钥HASH160:

{“txid”:”e872243f11d82ee348b2ae736dccd6b432f719e88c778b5513489f890c19a56d”,”hash”:”e872243f11d82ee348b2ae736dccd6b432f719e88c778b5513489f890c19a56d”,”version”:1,”size”:108,”locktime”:0,”vin”:,”vout”:}}]}

因此,一旦比特币现金清洁堆栈规则被修改,那么来自比特币区块链上这个地址的资金可以被任何一个比特币现金矿工花费,只要那个地址里有比特币现金存在。在区块582698和582699里交易的情况下,对应的比特币现金就会被花费到未知地址上。但是在出现双重支付的区块582705交易情况下,比特币现金是在一些特殊地址上被花费了。

那么,BTC.top如何能够挖掘到特定的隔离见证交易呢?答案其实就是在上文中提到的,他们的目标地址其实与原始隔离见证地址被相同的私钥控制。一旦你知道了隔离见证地址的公钥哈希,那么就可以很容易找到对应的比特币现金地址——这也是要花费这笔钱的首要条件。生成这个地址所使用的方法,其实就是普通的比特币/比特币现金地址推导算法,只是中间跳过了HASH160这个步骤,因为我们已经从公钥哈希中获得了对应的哈希:

$echo‘93fdaf42a7b8e82fede6fe0f6184536a11193cce’|bxaddress-encode

1EVWEWrvrjcpHXPtEvY3D4JfWLrzRVtMQc

通过将资金发送到与隔离见证地址具有相同私钥控制的那个地址,矿工就能访问此前无法恢复的资金,并花费这笔钱。

恢复P2WSH隔离见证资金

上面的示例仅适用于发送到P2WPKH类型的隔离见证地址,但是还有另一种类型的隔离见证地址:P2WSH。以下是恢复由比特币BTC.top玩家资金的一个示例交易,其中就展示了一个P2WSH的隔离见证地址:

路易斯安娜州司法部长开除并刑事调查几名涉嫌利用国家资源挖掘比特币的IT员工 员工却否认指控:美国路易斯安娜州司法部长将其办公室前任IT人员(包括一位被推翻的主管)开除,并正在对其进行刑事调查,指控他们利用国家资源开采比特币。据报道,司法部长办事处的路易斯安那州调查局在发现他们认为可能用于挖掘比特币的“硬件”后,对嫌疑人提出了质疑。目前尚未向公众透露发现了哪些设备。涉嫌挖掘比特币被解雇的员工包括系统管理员,服务台经理,诉讼支持协调员以及隶属于IT部门的人力资源人员。这些前雇员中有三位在接受采访The Advocate时否认了这些指控,称他们是由于司法部长办公室的误解而被解雇的。据当地新闻报道,被解雇的员工表示,因为电脑的能力有限,即使他们想,也无法使用办公室计算机来挖掘加密货币。他们解释说,挖掘比特币这样的活动很容易因计算过程中所需的大量电力而被检测到。[2018/3/2]

图六:从一个P2WSH隔离见证地址回复资金

需要注意的是,“3G8Z”开头的那个隔离见证地址被发送到了一个“35VG”开头的P2SH地址,而不是“1”开头的P2PKH地址。“3G8Z”开头的地址,其实是一个多重签名P2SH脚本,该脚本最初是在比特币改进提案BIP-141中被定义的,因此也使得交易恢复变得更加复杂。

与P2WPKH一样,解锁脚本可以从比特币网络上相应的交易中获取:

{“txid”:”085685b104a6ee79d90546a27873d52fdf9cd252aa714d4f533a780bfe31dd88",”hash”:”300564866319ba006cfecea46b354c649c5f91fe778f5857091977efd11824c0",”version”:1,”size”:408,”vsize”:216,”weight”:864,”locktime”:0,”vin”:

[{“txid”:”acc8ef9eca068e36062b050321fd8e4adf13bcad49718eb4f992e29c6426a512",”vout”:1,”scriptSig”:

{“asm”:”0020883a730777b7119f563b84221abd5c742665f659d4c835ad771fb0bfb21064be”,”hex”:”220020883a730777b7119f563b84221abd5c742665f659d4c835ad771fb0bfb21064be”},”txinwitness”:

,”sequence”:4294967295}],”vout”:

[{“value”:0.01848363,”n”:0,”scriptPubKey”:{“asm”:”OP_HASH160c55c269abd40a8d21519d44b030c7d14e1ecd544

OP_EQUAL”,”hex”:”a914c55c269abd40a8d21519d44b030c7d14e1ecd54487",”reqSigs”:1,”type”:”scripthash”,”addresses”:

}},

{“value”:0.0262,”n”:1,”scriptPubKey”:{“asm”:”OP_DUPOP_HASH16089e5e15821fe9c9ec96b078c0e1ed72db3743589OP_EQUALVERIFYOP_CHECKSIG”,”hex”:”76a91489e5e15821fe9c9ec96b078c0e1ed72db374358988ac”,”reqSigs”:1,”type”:”pubkeyhash”,”addresses”:

}}]}

获得使用脚本签名确认的原始隔离见证地址的HASH160,这样就可以用于恢复交易了:

$echo‘0020883a730777b7119f563b84221abd5c742665f659d4c835ad771fb0bfb21064be’|bxbitcoin160|bxaddress-encode-v5

3G8Z2tdL1GwC9NcjBC6Ycghnc84cJshN1f

但是,为了将这些钱发送到比特币现金网络上的非隔离见证地址,我们就必须要查看比特币交易隔离见证部分中的解锁脚本。注意上面最后一个txinwitness条目,它定义了一个多签名脚本,可以按如下方式解码:

$echo

‘5221026965ff50ba461b7bc54ae88c5dd45f334db242d0bf63a5bd5a6158835784b8f82102f864ea0765243a045bf572b6f62bb2ccd0c736ffcda21442ecc252eb32c388262103e3f2e6c762fd7aeafcd390b492accf5cd1108cf1eff1b8f78f76a56442e8684e53ae’|bxscript-decode

2

3checkmultisig

为了在比特币现金网络上复制同样的行为,我们需要基于上面完整的检查多重签名(checkmultisig)脚本生成等效的P2SH地址:

$echo

‘5221026965ff50ba461b7bc54ae88c5dd45f334db242d0bf63a5bd5a6158835784b8f82102f864ea0765243a045bf572b6f62bb2ccd0c736ffcda21442ecc252eb32c388262103e3f2e6c762fd7aeafcd390b492accf5cd1108cf1eff1b8f78f76a56442e8684e53ae’|bxbitcoin160|bxaddress-encode-v5

35VGQpXdATDdkArZpafKwCMJRsoFwi6Gab

这个地址对应于BTC.top在恢复交易中使用的那个地址,两个地址是一样的,并且可以由比特币现金网络上同一个预期接收者解锁。

总结

Coinbase的调查正在进行中,不过Coinbase的分析范围仅限于双重支付交易。但需要注意的是,有些在隔离见证地址上花费的比特币现金交易并不是双重支付,因此不会被包含在本次分析之中。现在的重点在于需要充分了解究竟有多少比特币现金被发送到了隔离见证地址,目前在隔离见证地址中到底还有多少比特币现金,在隔离见证地址内能够被花费的比特币现金数量有多少,以及还有多少比特币现金被发送到了不相关的地址。

上述隔离见证恢复机制,是通过收集比特币区块链上记录的公钥、或是解锁脚本数据来实现的。由于这些信息时公开的,因此也创造了一个竞争条件,而这也意味着在BTC.top矿池有机会执行隔离见证恢复之前,未知矿工其实有可能已经尝试将这笔钱花费出去了。

不过,Coinbase发现BTC.top通过技术解决方案将用户错误丢失的比特币现金给恢复了,而且他们选择将这些钱还给目标收款人,而不是占为己有。

附录A

在区块582715中被矿工挖出的恢复隔离见证地址资金的比特币现金地址:

qzgxrv03axyj43tlghez3lfx0w7qgzc4lupuuhn7rj

qreyu2fng05c8pu2dgt5qlrm4fnhqeqg4shqaetvqx

qr505me362r482zmztpf374trh0azme4xuwanu94l0

qrt28quv2ur4rk27mj5ts0c0z9akqgl9ss34xfpc9p

qpczrc2ueqc0lfp72u9fh08um8a3nqlgyclz3q00a6

qr586dnpnc9nysv4e00z8zzc5nanxamy8ggaanuktq

qrwertpzqn53xhhcy9r5rgl4qglzu64tgs6pxry5kh

qz2mjv4gurwxr2qm9yurke4le6tl7w9hsqzzjnc06r

qp8ap9hhuljhegylvqcg5t05a5tddzt565pdf83jxj

qp3y94tyrvjn5y38sh02mq87g2j7hrktyy2tnrut7k

qpxw8w8yh5xhq9w2hxzfse9qyq6u0yx3q57nzvh46n

qqtzhnu2th0f5u8ay3wrp8v7ugkmvp7ypuqc4lfyuu

qpu7jawy36a7cvamcyc2y4lgn7ckq0pwpg3r9tydc3

文章翻译自Coinbase

标签:比特币COICOINOIN比特币行情走势k线图行情分析kucoin创始人OP CoinBitcoinus

火必交易所热门资讯
LTC震荡整理后 有望开启减半启动前的再次拉升行情

如图,LTC从18年12月最低触及22美元开始至目前,整体走势处于上升通道内运行,并在BTC大幅拉升至9000美元上方时,LTC也跟涨至通道上边线并向上最高插针至121美元然后触及阶段顶回落.

1900/1/1 0:00:00
BTC「电梯惊魂」:平均每半月一次暴涨暴跌,这是牛市初期的标志?

2019年5月31日凌晨,BTC上演“电梯惊魂”。北京时间2019年5月30日23:40开始,BTC价格一路上扬,创下年内新高,但随即上演“电梯惊魂”,仅过了15分钟,BTC价格便被打回8700USDT以下,最低触及8010USDT,

1900/1/1 0:00:00
BTC等主流币全线进入调整局面,近期谨慎做多

6月4日BTC/USDT破位断崖式下跌,日线收长阴线,就线路来看,日线连续击穿三道防线,收盘反弹未过布林带中轨,上方均线形成死叉状态,近期5MA将向下交叉22天MA,近期将在8000点以下运行,今日换线后延续惯性下跌.

1900/1/1 0:00:00
区块链技术引卷之九:状态通道——链下交互链上清算,两条腿走路 | 火星号精选

通证通研究院×FENBUSHIDIGITAL联合出品文:宋双杰,CFA;程东锋特别顾问:沈波;Rin;JX 导读 状态通道是一种比较热门的扩容方案,以太坊基金会近期披露的3000万美金的年度资金预算.

1900/1/1 0:00:00
Second Round Of UNUS SED LEO Discounts Live

WearenowpleasedtoannouncethesecondroundofbenefitsforUNUSSEDLEOtokenholdersonBitfinex.Asoftoday,TuesdayJune4th.

1900/1/1 0:00:00
专题丨孙宇晨拍下巴菲特午餐 谁给谁洗脑?

2019年5月31日,由金色财经主办,TEAMZ联合主办的金色沙龙东京站第五期成功落幕。该沙龙以“区块链金融科技”为主题,SBIFintechSolutions常务董事山口智宏、日本IBM区块链部长川村篤史、QURAS创始人角谷茂樹等.

1900/1/1 0:00:00