硬分叉後,BCH的錢包解決方案
上週BCH進行了硬分叉,分叉成了兩條鏈:BCH和BCHSV,對於分叉後的BCH如何進行交易呢?錢包是否有相關的危險因素?
由於分叉後的兩條鏈沒做重放保護,可能導致一條鏈上發起的交易,在另一條鏈上做重放攻擊,造成相關物件的財產損失(依實際攻擊場景而定)。
在無重放保護的情況下,分離這兩種鏈上資產的方法,目前社群的解決方法主要有如下兩個:
1.input汙染法
原理是引入了一筆非法交易的輸出作為輸入,那麼這筆非法交易的輸入將會使得這筆交易也會變為非法。 例如: 一筆交易廣播到了 BCHSV 鏈中,引用了非法交易(在 BCH 合法,在 BCHSV 非法)的 UTXO 作為輸入,那麼這筆交易相當於被汙染了,不會被 BCHSV 鏈承認,那麼這筆交易就被重放免疫了;對應的,一筆交易廣播到了 BCH 鏈中,引用了非法交易(在 BCHSV 合法,在 BCH 非法)的 UTXO 作為輸入,那麼這筆交易相當於被汙染了,不會被 BCH 鏈承認,那麼這筆交易就被重放免疫了。
2. 構造特有操作碼交易
兩條鏈的共識是有差別的,如果出構造一個本鏈合法,對方鏈上不合法的交易也可以進行分離,本次分叉雙方的共識差別也體現在操作碼上,可以在 BCH 鏈中,構造含有 OP_CHECKDATASIG 的輸出,那麼該筆交易在 BCH 上是合法的,但在 BCHSV 上是不合法的;同理在 BCHSV 鏈中,構造含有 OP_MUL 的輸出,那麼該筆交易在 BCHSV 上是合法的,但在 BCH 上是不合法的。結合社群的方式及交易所相關工程實踐經驗,我們推薦使用第 1 種 input 汙染法,但這需要有分叉後的 BCH 或 BCHSV 的 coinbase 交易(創幣交易) UTXO 作為汙染源,從這個 coinbase 交易中可以劃分大量的小額 output,在使用者提現時,可以將這些小額的 output 作為新交易的 input 之一來構建提現交易,從而較方便地完成分離。
另外,從工程實踐上,我們也建議充提幣的確認數可以適當提高,雖然目前來看兩條分叉鏈未發生明顯的攻擊情況。
對於普通使用者來說,等著先,不著急。
作者:慢霧安全團隊
相關文章
- BCH硬分叉,BitcoinABC強勢逆襲BitcoinSV
- MiiX私享會 · 第六期: BCH姜家志100分鐘深聊BCH硬分叉與算力戰
- 粘包拆包及解決方案
- 區塊鏈錢包開發解決方案六個重點介紹區塊鏈
- Mt. Gox冷錢包轉出價值1.65億美元BTC及BCHGo
- 造成黏包的原因,及解決方案
- Netty粘包&半包解決方案Netty
- TCP 粘包 - 拆包問題及解決方案TCP
- 血壓計方案定製設計軟硬體解決方案
- Netty解決粘包和拆包問題的四種方案Netty
- go get下載包失敗的解決方案Go
- Jar包衝突解決方案調研JAR
- 軟硬兼備 戴爾更新VDI Complete解決方案
- 詳解華為錢包
- Netty2:粘包/拆包問題與使用LineBasedFrameDecoder的解決方案Netty
- java nio訊息半包、粘包解決方案Java
- react native之android多包共存解決方案React NativeAndroid
- Flutter中http請求抓包解決方案FlutterHTTP
- 錢包量化交易系統開發方案
- 企業WiFi解決方案,解決所有後顧之憂WiFi
- Xcode更新後Pod init出錯的解決方案XCode
- 計算機網路 - TCP粘包、拆包以及解決方案計算機網路TCP
- Android studio無法提醒v4包的解決方案Android
- 阿里中後臺UI解決方案 - Fusion阿里UI
- 鎖定、解鎖Qtum錢包QT
- TP錢包/ImToken/MetaMask小狐狸錢包系統設計開發及詳細方案
- 即將來臨的君士坦丁堡硬分叉詳情(2019年1月)
- 最安全的SRM錢包,SRM冷錢包使用教程
- 最安全的PMEER錢包,PMEER冷錢包使用教程
- NSIS 官方對安裝包出現 NSIS Error 的解釋與解決方案Error
- 區塊鏈去中化錢包開發方案,交易所錢包社交軟體開發區塊鏈
- 區塊鏈數字錢包系統開發方案,去中化多幣種錢包搭建區塊鏈
- Netty中使用MessagePack時的TCP粘包問題與解決方案NettyTCP
- SpringMVC後臺token防重複提交解決方案SpringMVC
- Android平臺HTTPS抓包解決方案及問題分析AndroidHTTP
- 智慧包裝·工業物聯網數字解決方案
- 區塊鏈錢包之ETH錢包生成區塊鏈
- [譯] 數字貨幣錢包詳解