BCH算力戰提到的重放保護是甚麼?

BitAsiaEx 發表於 2018-11-9 13:57:37 [顯示全部樓層] 只看大圖 回覆獎勵 閱讀模式 0 2278
123.jpg
2018年11月15日,BitcoinCash從版本0.17硬分叉升級到0.18時候,出現了另外一個與0.18不相容的版本BitcoinSV,但是這個版本沒有添加重放保護,號稱要以算力戰的方式用BitcoinSV替換BitcoinABC 0.18。算力戰的問題這裡暫且不談,只說重放保護的問題以及如何分離BCH和BSV。

關於重放保護的相關問題

1. 什麼是重放保護?

重放保護,就是讓交易只在當前鏈中有效,並且在其它鏈中無效。通常在一條鏈分裂成兩條鏈時,為了讓兩條鏈的交易互不影響,需要在生成交易資訊的時候,加入不同的標識或者使用不同的交易結構,這樣,另一條鏈的礦工就會驗證該交易無效,從而不打包該交易。

2. 添加重放保護的一方,有什麼影響?

目前來看,添加重放保護的一方,是處於劣勢的,因為該舉動意味著放棄了另一方的所有生態。2017年8月1號BCH分叉時,主動添加重放保護,只能重新建立自己的相關應用,從0開始。

但是,添加重放保護,是能上交易所的基本條件。雖然不添加重放保護,交易所也可以把兩種分離,但是交易所要花費很多精力和技術去做這些事。技術差的交易所,會因為賬務混亂,無法支持。除非這種幣有很大的用戶群,否則交易所不願意花費高成本去支持這種幣。

3. BCH每年兩次的硬分叉升級,為什麼不添加重放保護?

BCH的硬分叉升級是為了升級(本來是升級,不知道誰取名字叫硬分叉),不是為了分叉,和ETH一樣,全節點用戶端都需要升級,否則就無法同步區塊,但是輕錢包卻不用升級。如果升級時添加重放保護,意味著之前所有的BCH輕錢包或者一些服務都不能使用,這些生態都需要同時升級,對生態的影響非常嚴重。(並不是所有的硬分叉升級,輕錢包都不需要修改的,區塊鏈系統在升級的時候,儘量避免修改與構造交易相關的修改,否則就要作相關相容,不然就需要很多生態一起升級,費時費力,用戶體驗也不好)。

4.BCH和BTC分叉時,是如何添加重放保護的?

2017年8月1號BCH分叉時,主動添加了重放保護,簡單的說,就是在交易簽名的資料中,添加了SIGHASH_FORKID=0x40這個資料(詳情https://github.com/Bitcoin-ABC/b ... rotected-sighash.md)。 BSV如果要添加重放保護,只要把0x40改為其它值就可以了。

5. ETC和ETH分叉時,沒有重放保護,造成了什麼樣的問題?

ETC的出生,是讓人未意料到的,從ETC到ETH,是一次硬分叉升級,沒有重放保護,但是仍有人堅持挖ETC原鏈,由於ETC的難度調整很快,所以ETC活了下來,並且有了價值(BCH 的0.15版,也活了下來,但是由於沒有主流交易所支持,可以認為是沒有價值的)。但是由於大家都沒有做好準備,特別是交易所,被重放攻擊了。重放攻擊,對於有價值的幣有意義,對於沒有價值的幣,是沒有意義的,因為你攻擊得到的幣,是沒有價值的。


6. 如何重放攻擊?
大部分影響下,沒有重放保護的兩種幣,在轉帳的時候,發送其中的一種幣,另一種幣也會同時發送。重放攻擊,就是利用這個漏洞,在接收幣的時候,同時獲取另外一種幣。重放攻擊一般對交易所進行攻擊。

例如:

在ETC分叉的初期,沒有重放保護,交易所以為ETC不會出現,也沒有做分離處理,用戶在提取ETH的時候,同時也收到了ETC,然後用戶自已把ETH和ETC分離,向交易所充值ETH,再提出ETH,這樣就多收到了ETC。

來源:BCH社區

圖片: xuehua.us



相信大家看完後對於重放保護應該有更深一層的瞭解,未來比特亞洲還會繼續提供關於BCH算力戰相關資訊,請隨時密切關注哦!

*關於BCH分叉升級和算力戰

                閃存、閃提、閃電交易,就在比特亞洲
本帖最後由 BitAsiaEx 於 2018-11-14 17:32 編輯

暫無任何回文,期待你打破沉寂

你需要登入後才可以回覆 登入 | 註冊會員

本版積分規則

BitAsiaEx

LV:3 士兵

追蹤
  • 36

    主題

  • 37

    回文

  • 3

    粉絲