聽說1W個BCH不安全?好像是媒體過度解讀了
爭吵、分歧、意見不合,
各種偏見交織在人生中的每一絲纖維之中。
伍爾夫《到燈塔去》
BCH硬分叉引發的種種質疑和爭議,不亞於幣圈核爆炸。
11月16日凌晨,雖然BCH在第556767個區塊高度完成硬分叉,分成了BCH ABC和BCH SV兩條鏈,但這場世紀之戰並沒有因此落下帷幕,反而愈演愈烈。
今日,有媒體將矛頭指向BCH存在重大安全威脅,這對於熊市本就如履薄冰的“觀戰者”們無異於又一顆深水炸彈。
根據PeckShield態勢感知平臺數據顯示,BCH硬分叉後的當天,共有341068筆重放交易同時存在於ABC和SV兩條鏈上,涉及10080個BCH。
更有國外使用者爆料稱,在交易過程中遭到了小額重放攻擊損失。
BCH開發團隊第一時間接受45區(ID:block-45)採訪時否認這樣的指控,稱設計了 input汙染法和構造特有操作碼交易兩種方法來防止重放攻擊,錢包和交易所安全交易可以選擇input汙染法。
這無疑是一場被專業名詞佔領的爭論,令“觀戰者”更加如墮雲霧。
| 被質疑的重放攻擊是什麼? |
| 澄清中提到的input汙染法又是什麼? |
| BCH究竟安全嗎? |
1
質疑
重放攻擊是黑客常用的一種攻擊方式,在計算機世界,是指攻擊者重複傳送一個目的主機已經接受過的資訊來達到欺騙目的。
我們可以這樣生動理解。
想象一下,某個商店發放了限量的二維碼優惠券,只要出示優惠券掃碼,即能享受優惠。但這個商店卻沒有辨別某張券是否被掃過的能力,這時,是不是有人就會利用這個漏洞,重複使用同一張券?
現在,“這家商店”來到了區塊鏈世界。
以BCH為例,即便分叉成兩條鏈,但ABC鏈和SV鏈仍然共享著分叉時點以前的相同區塊資料,這也是為什麼分叉後,使用者會憑空擁有了另一條鏈上的資產。
但同樣的原因也會導致資產的憑空流失。 質疑者們認為,如果在ABC鏈上發生了分叉前的老資產的轉移,那麼,這條交易信息有可能會被攻擊者放到SV鏈上廣播。
而分叉後的兩條鏈又是完全獨立的,因此SV鏈並不認為這筆交易已經被記錄過,相反會認為完全合法,交易同樣會被SV鏈的礦工打包到區塊中,造成SV鏈上的資產損失。
如果客戶端升級時加入了重放攻擊保護,就可以避免這類情況發生,但此次BCH客戶端升級,雙方都沒有加入重放攻擊保護,這也正是安全漏洞之說的由來。
2
迴應
面對這種質疑,今天,BCH社群開發團隊對45區(ID:block-45)表示:“ 交易所和錢包並沒有開放充提,所以交易的人是知道的,應該沒有問題。大量的交易是因為分叉當晚CSW製造了粉塵交易。”
開發團隊還表示: “可以肯定的是,並沒有發生大量的重放現象,是極少見的,全世界都知道BCH在算力戰,能夠有這種行為的使用者都可以確定幣是安全的。”
而對於這次BCH硬分叉面臨的重放攻擊,該團隊稱仍然有防範措施,可以通過input汙染法和構造特有操作碼交易兩種方法來防範。對於錢包和交易所來說,可以選擇Input汙染法。
一位圈內技術人士對45區(ID:block-45)解讀,input汙染法中的“input”指的是交易輸入。一個BCH的交易結構中,有交易輸入和交易輸出。
“交易輸入就是資金的來源,它引用的是之前已有交易的輸出,而交易輸出指的是資金的去向,即資金轉給了誰。”他這樣解釋。
“ 如果礦工在驗證交易時,發現交易輸入所引用的交易是非法時,那麼這條交易自然也會因資金“來路不正”而被認為是非法的。”
據45區(ID:block-45)瞭解,input汙染法正是利用了這一點。
BCH分叉後,ABC和SV兩條鏈新產生的區塊資料獨立,因此,ABC鏈上新發行的幣,即產生的coinbase交易,在本鏈上被認為是合法的,但是在SV鏈上是非法的。
BCH社群開發團隊表示,input汙染法可以將本鏈上的 coinbase 交易劃分出大量的小額交易輸出,使用者通過交易所或者錢包提取 ABC 鏈上的資產時,可以構造一筆交易,將新產生的小額輸出也作為這筆交易輸入,構造在其中。
如此一來, 這條交易資訊即便在SV鏈上重新廣播時,礦工會因為存在的這筆非法小額輸入而認為整筆交易非法,相當於這筆交易被汙染了,“汙染源”就是這些小額輸入。
這樣,也就完成了鏈上資產的永遠分離,避免了資產損失。
在迴應者眼中,此次安全質疑完全是媒體過度解讀的結果。
BCH當下成為萬眾矚目的聚焦中心,這場戰役造成的波波“餘震”恐怕還會繼續。