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個輸入也不在孤立交易的輸入里。所有這些雙重支付都被發送到了與之等效的有效比特幣現金地址上,后續我們會進一步解釋這個問題。
安全公司:黑客利用惡意Docker鏡像挖掘Monero:網絡安全公司Palo Alto Networks威脅研究部門Unit 42表示,最近發現的一個加密劫持挖礦方案使用惡意的Docker鏡像來隱藏加密貨幣挖礦代碼。
研究人員發現這個Docker鏡像六個變體,其中包含XMRig加密挖礦木馬,這使得黑客能夠從受損的Docker容器中挖掘門羅幣(Monero)。這些鏡像保存在官方Docker Hub存儲庫的一個賬戶中,下載次數超過200萬次。報告指出,其中一個與黑客有關的加密錢包里有大約525枚門羅幣,價值約3.6萬美元。(Data Breach Today)[2020/6/27]
太平洋時間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的礦工是同一個“人”。
動態 | 外媒:半導體公司Xilinx正在使用FPGA挖掘加密貨幣:據CryptoBriefing報道,市值超過240億美元的半導體公司Xilinx內部泄露的信息顯示,他們正在使用FPGA(現場可編程門陣列)挖掘加密貨幣。這一領域之前由Nvidia和AMD gpu主導。FPGA是一種芯片,礦工可以配置它來有效地挖掘不同的算法,從而挖掘不同的代幣。Core Scientific前首席技術官Kristy-Leigh Minehan表示,目前,FPGA主要集中在低流動性的代幣上,這些FPGA對較小的山寨幣和較少使用的挖掘算法構成了威脅。[2019/12/25]
雙重支付交易樣本
以下是來自區塊582698“Unknown”礦工的樣本交易,其中包含了從一些隔離見證地址花費的比特幣現金代幣交易。在這次比特幣現金硬分叉升級之前,這些代幣是無法被訪問的。
圖一:孤立隔離見證交易樣本
在上面的交易ebc4中,“Unknown”礦工將46個輸入花費在了“1My1”開頭的單個地址上……這個交易輸入的獨特之處在于它們都是隔離見證地址,比如上圖中特別圈出的“35hL”開頭的那個地址。
下圖中是出現在區塊582705中的交易,該交易被雙重支付在了上述樣本里。需要注意的是,那個“35hL”開頭的隔離見證地址也是該交易的輸入,這導致下面那個交易變成了雙重支付。
圖二:區塊582705“e872”開頭地址的雙重支付交易
BTC.top沒有像“Unknown”礦工那樣聚合隔離見證輸入,而是將相同的輸入雙重支付到了單獨的抵制。這些單獨的抵制其實是無效隔離見證抵制上的有效等值比特幣現金。舉個例子,來自“35hL”開頭的隔離見證地址中所有的資金轉移到了“1EVW”開頭的有效比特幣現金地址。
為了更好地理解這個操作是如何完成的,我們需要再深入研究一下隔離見證地址的運作機制。
第二部分:從隔離見證地址花費比特幣現金
作為5月15日比特幣現金硬分叉升級的一部分,比特幣現金網絡對清除堆棧規則做了例外處理,目的是為了允許在隔離見證地址恢復比特幣現金。只要滿足下面兩個條件,修改清除堆棧規則就能讓任何人在隔離見證地址上花費比特幣現金:
條件一:公鑰哈希、或與隔離見證地址相關的解鎖腳本是已知的,將資金發送到隔離見證地址時并不會泄露這些信息,但是從隔離見證地址發送資金的過程中會選址這些信息。因此,如果一個特定的隔離見證地址已經接收到了比特幣現金,但隨后又在比特幣區塊鏈上發送了比特幣,那么在比特幣現金網絡上也會顯示花費了同樣金額的資金;
條件二:礦工必須同意開采這筆交易,因為從隔離見證地址花費的比特幣現金交易并不是標準交易,這意味著雖然他們是有效的交易但不會通過網絡傳播,因為網絡節點拒絕中繼轉發非標準交易。
聲音 | CoinGeek創始人:在挖掘比特幣并轉換成了BSV,且只持有BSV:CoinGeek創始人Calvin Ayre今日在推特回復網友提問“你是否在挖比特幣?”時表示:“是的,我在挖比特幣,并用來支付開支。然后我把剩下的轉換為BSV存起來,我的加密貨幣存儲里只有BSV。”隨后Ayre補充說,“當然,我也挖BSV,但有太多的礦工來專門挖實用型代幣,所以我通過BTC挖礦來獲得更多的BSV。”據今日早間消息,Coingeek礦池已經控制了BSV超過51%的算力。[2019/8/20]
恢復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”:
動態 | 加密貨幣挖掘容易受到惡意軟件感染:據ibsintelligence消息,芬蘭技術供應商諾基亞的一份報告發現,惡意軟件感染的目標是加密貨幣挖掘。諾基亞發現,受惡意軟件感染的加密貨幣挖掘已經從擁有專門處理器的高端服務器擴展到相關物聯網設備,以及智能手機和網絡瀏覽器。[2018/12/5]
}},{“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這個步驟,因為我們已經從公鑰哈希中獲得了對應的哈希:
$echo‘93fdaf42a7b8e82fede6fe0f6184536a11193cce’|bxaddress-encode
動態 | 黑客在Windows安裝文件中隱藏加密貨幣挖掘惡意軟件:據cnBeta消息,趨勢科技的安全研究人員表示,黑客正在偽裝加密貨幣挖掘惡意軟件,并將其作為合法的Windows安裝包傳遞出去。這種惡意軟件,通常被稱為Coinminer,使用了一系列混淆方法,使其攻擊特別難以檢測。[2018/11/9]
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:比特幣COICOINOIN買賣比特幣會坐牢嗎太原mskccoinlitecoinhdMintMe.com Coin
5月30日23:40,比特幣價格一路上揚,最高漲至9064USDT,但到31日5:30,BTC價格最低觸及8010USDT,跌超10%.
1900/1/1 0:00:00混跡于鏈圈、礦圈或是幣圈的人,大概都知道比特幣、以太坊和柚子這三個里程碑式的區塊鏈項目,比特幣讓人類結識了區塊鏈,以太坊創造的智能合約平臺打開了區塊鏈應用的大門.
1900/1/1 0:00:00本報告由火幣區塊鏈研究院出品,報告發布時間2019年5月26日,作者:袁煜明、王蕊 摘要 本周區塊鏈資產市值比上周上漲3.35%,TOP100項目中75個項目市值有不同程度上漲.
1900/1/1 0:00:00據外媒報道,《福布斯》雜志撰稿人比利?班布洛稱,加密貨幣經紀商DadianiSyndicate的埃莉薩?達達尼(EleesaDadiani)向他透露稱:“我們的一位客戶找到我們.
1900/1/1 0:00:00一、我們來自哪里 比特幣出現 比特幣于2009年1月推出,最初僅限于少數幾個人知道。在接下來的3年里,比特幣受到了越來越多的媒體關注—-但相對于今天的數據而言仍然非常小.
1900/1/1 0:00:00DragonEx項目2019年進度簡報 2019-05-31 一.重大事件: 5月24日根據DragonEx通證管理規則,平臺對BEAM/USDT從創新區遷移至USDT交易區.
1900/1/1 0:00:00