以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > 屎幣 > Info

挖掘真相,Coinbase深度分析BCH雙重支付事件_比特幣

Author:

Time:1900/1/1 0:00:00

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個輸入也不在孤立交易的輸入里。所有這些雙重支付都被發送到了與之等效的有效比特幣現金地址上,后續我們會進一步解釋這個問題。

外媒:上市礦企MARA挖掘“符合美國法規”的比特幣區塊引發爭議:5月9日消息,許多人認為諸如上市礦企Marathon Digital Holdings(MARA)挖掘“符合美國法規”的區塊對比特幣承諾抗審查性,自主權交易的承諾構成威脅。因此,加密行業很快就對MARA池及其新區塊進行了感到不滿。而一些用戶指出,盡管謹慎過度,但處理的兩筆交易的地址以前與暗網市場Hydra有關。

開發者Giacomo Zucco指出,礦工可以選擇生成“空”區塊,防止人們在鏈上進行交易,但這些區塊需要外部補貼,最終的問題是“未經審查的交易的市場需求有時或會高于審查制度的預算”。 此前昨日消息,上市礦企MARA新礦池已挖出“符合美國法規”的比特幣區塊。(The Block)[2021/5/9 21:39:35]

太平洋時間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決定將這些資金發送給最初的預期接收者。

開發人員編寫代碼使人們可利用1982年推出的Commodore 64電腦挖掘比特幣:金色財經報道,一位軟件開發人員編寫了代碼,使人們可以在最早的大眾市場計算機之一Commodore 64(1982年推出的計算機)上挖掘比特幣。該代碼可在開發人員文件共享平臺GitHub上訪問。憑借0.2 h/s的哈希率,該電腦比現代挖礦硬件要慢幾個數量級。[2021/4/13 20:12:08]

基于這些事實,似乎有一個算力在搶奪認領已經發送到隔離見證地址的比特幣現金。在之前硬分叉升級被激活之后的幾個小時,BitcoinABC阻止了比特幣現金礦工驗證區塊中所有交易,所以這場爭奪戰從很早時候就已經開始了。區塊582698包含了從隔離見證地址發送到與“Unknown”礦工關聯地址的比特幣現金花費。重組從主鏈中刪除了這些花費,接著這筆花費被區塊582705中隔離見證地址內等值的比特幣現金給替換了。之后,區塊582715被“Unknown”礦工開采,該礦工收集了剩余交易,而且還把保留在隔離見證地址里的一小部分比特幣現金發送到了一個未知地址。基于這些區塊中的Coinbase數據,Coinbase認為挖掘主鏈區塊582715的礦工和挖掘孤立區塊582698的礦工是同一個“人”。

雙重支付交易樣本

以下是來自區塊582698“Unknown”礦工的樣本交易,其中包含了從一些隔離見證地址花費的比特幣現金代幣交易。在這次比特幣現金硬分叉升級之前,這些代幣是無法被訪問的。

圖一:孤立隔離見證交易樣本

在上面的交易ebc4中,“Unknown”礦工將46個輸入花費在了“1My1”開頭的單個地址上……這個交易輸入的獨特之處在于它們都是隔離見證地址,比如上圖中特別圈出的“35hL”開頭的那個地址。

下圖中是出現在區塊582705中的交易,該交易被雙重支付在了上述樣本里。需要注意的是,那個“35hL”開頭的隔離見證地址也是該交易的輸入,這導致下面那個交易變成了雙重支付。

圖二:區塊582705“e872”開頭地址的雙重支付交易

BTC.top沒有像“Unknown”礦工那樣聚合隔離見證輸入,而是將相同的輸入雙重支付到了單獨的抵制。這些單獨的抵制其實是無效隔離見證抵制上的有效等值比特幣現金。舉個例子,來自“35hL”開頭的隔離見證地址中所有的資金轉移到了“1EVW”開頭的有效比特幣現金地址。

為了更好地理解這個操作是如何完成的,我們需要再深入研究一下隔離見證地址的運作機制。

第二部分:從隔離見證地址花費比特幣現金

作為5月15日比特幣現金硬分叉升級的一部分,比特幣現金網絡對清除堆棧規則做了例外處理,目的是為了允許在隔離見證地址恢復比特幣現金。只要滿足下面兩個條件,修改清除堆棧規則就能讓任何人在隔離見證地址上花費比特幣現金:

任天堂下架Cookstar,因后者涉嫌利用其終端挖掘加密貨幣:任天堂已下架剛剛發售不久的一款新游戲《Cooking Mama: Cookstar》,傳言稱這款游戲實際上是在玩家不知情的情況下利用任天堂終端進行加密貨幣挖礦。(Dexerto)[2020/4/6]

條件一:公鑰哈希、或與隔離見證地址相關的解鎖腳本是已知的,將資金發送到隔離見證地址時并不會泄露這些信息,但是從隔離見證地址發送資金的過程中會選址這些信息。因此,如果一個特定的隔離見證地址已經接收到了比特幣現金,但隨后又在比特幣區塊鏈上發送了比特幣,那么在比特幣現金網絡上也會顯示花費了同樣金額的資金;

條件二:礦工必須同意開采這筆交易,因為從隔離見證地址花費的比特幣現金交易并不是標準交易,這意味著雖然他們是有效的交易但不會通過網絡傳播,因為網絡節點拒絕中繼轉發非標準交易。

恢復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”:

聲音 | McAfee報告:加密貨幣挖掘惡意軟件只會變本加厲:McAfee實驗室9月份的威脅報告發現,從事加密貨幣挖掘的惡意軟件(利用你電腦背后的資源為別人挖硬幣),在今年第二季度幾乎翻了一番,增長了85%。總共發現了250萬個新樣本,McAfee發現了一些似乎是較老的惡意軟件,比如勒索軟件,經過改造以鎖定加密貨幣。McAfee還發現,被設計用來利用軟件漏洞的惡意軟件在第二季度激增了151%,其中大部分都是在WannaCry和NotPetya上重新使用的。[2018/9/25]

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

一旦5月15日的比特幣現金硬分叉升級修改了清潔堆棧規則,意味著比特幣現金礦工可以使用上述公鑰哈希將隔離見證地址中的資金花費掉,舉個例子,下面這筆交易就花費了相關資金:

圖五:在比特幣現金網絡上花費了一個隔離見證地址里的資金

如果查看原始數據的話,你可以在比特幣網絡上找到與上述比特幣網絡里這筆交易完全相同的公鑰HASH160:

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

因此,一旦比特幣現金清潔堆棧規則被修改,那么來自比特幣區塊鏈上這個地址的資金可以被任何一個比特幣現金礦工花費,只要那個地址里有比特幣現金存在。在區塊582698和582699里交易的情況下,對應的比特幣現金就會被花費到未知地址上。但是在出現雙重支付的區塊582705交易情況下,比特幣現金是在一些特殊地址上被花費了。

那么,BTC.top如何能夠挖掘到特定的隔離見證交易呢?答案其實就是在上文中提到的,他們的目標地址其實與原始隔離見證地址被相同的私鑰控制。一旦你知道了隔離見證地址的公鑰哈希,那么就可以很容易找到對應的比特幣現金地址——這也是要花費這筆錢的首要條件。生成這個地址所使用的方法,其實就是普通的比特幣/比特幣現金地址推導算法,只是中間跳過了HASH160這個步驟,因為我們已經從公鑰哈希中獲得了對應的哈希:

日本三名礦工利用訪客電腦挖掘門羅幣被起訴:日本中部神奈川縣、千葉縣和櫪木縣的多家警察部門正在聯合調查三名涉嫌在2017年未經游客同意的情況下,利用訪客電腦挖掘Monero(門羅幣)的犯罪嫌疑人。挖礦涉及到使用計算資源(在本例中是網站訪問者的CPU能力)來創建經過驗證的區塊并將其添加到區塊鏈中。這三個人被控使用coinhive專門提供一個用來挖礦的JS引擎,在網站上內嵌一段JS代碼,只要有用戶訪問網站,挖礦程序就會在用戶的電腦上工作,使用用戶的CPU能力來挖掘Monero(門羅幣)。[2018/6/13]

$echo‘93fdaf42a7b8e82fede6fe0f6184536a11193cce’|bxaddress-encode

1EVWEWrvrjcpHXPtEvY3D4JfWLrzRVtMQc

通過將資金發送到與隔離見證地址具有相同私鑰控制的那個地址,礦工就能訪問此前無法恢復的資金,并花費這筆錢。

恢復P2WSH隔離見證資金

上面的示例僅適用于發送到P2WPKH類型的隔離見證地址,但是還有另一種類型的隔離見證地址:P2WSH。以下是恢復由比特幣BTC.top玩家資金的一個示例交易,其中就展示了一個P2WSH的隔離見證地址:

圖六:從一個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

Tags:比特幣COINCOIOIN買比特幣會被局抓嗎coinbase什么意思guesscoinCoinchase Token

屎幣
Soteria 創始人:為何 BTC 超越了我們的時代(2)_BTC

本文作者MingGuo為區塊鏈明星項目Soteria聯合創始人。Soteria由三位分別在分布式網絡、可信程序和云操作系統方面擁有豐富經驗的技術專家發起.

1900/1/1 0:00:00
6.4早間行情:市場轉弱 空頭發力_USD

TRON創始人孫宇晨今日在官方微博宣布:“我正式向大家宣布,我以破紀錄4,567,888美元成功拍下沃倫巴菲特20周年慈善午宴。”巴菲特隨后表示,很高興孫宇晨贏得了拍賣,期待與他見面.

1900/1/1 0:00:00
區塊鏈旅行Trip.org APP「任務中心」重磅來襲 千元現金及海量TRIP等你來領_TRI

為提高用戶體驗,體現分享價值,此次區塊鏈旅行項目-Trip.org運營團隊加大用戶福利力度,讓用戶享受邊玩邊賺“錢”的樂趣!5月30日.

1900/1/1 0:00:00
Gate.io Startup非首發項目Lambda認購結果及上線交易公告_GATE

#關于“Startup非首發打折優惠上線通道”Gate.io正式上線“Startup非首發打折優惠上線通道”,針對已經在主流交易平臺上線的發展穩定有潛力的區塊鏈項目,提供更為快捷的上幣通道.

1900/1/1 0:00:00
原中國銀行副行長王永利:BTC完全違背了貨幣發展的邏輯_比特幣

何謂貨幣的本相?好金融與壞金融的分水嶺是啥?不妨回歸本源,洞悉貨幣的本質與金融的邏輯。貨幣到底是個啥?現代經濟日趨貨幣化的今天,貨幣已成為人們生活生存和社會活動不可或缺的重要元素;但貨幣概念卻日.

1900/1/1 0:00:00
數據公示:「PHV期權補償基金」5.30 虧損補償數據_PHV

為了慶祝LBank期權交易火熱上線,并拓展PHV的交易場景。我們啟動了預算共20BTC的「PHV期權補償基金」激勵補償活動.

1900/1/1 0:00:00
ads