來源:巴比特
摘要:我們提供了一個關於比特幣區塊的圖解說明,其中包括 Merkle 樹,並解釋為什麼在隔離見證( Segregated Witness )升級時在區塊中加入額外 Merkle 樹是必要的。然後,繼 2017 年 9 月我們發布關於 AsciaBoost 的文章,我們再仔細觀察一下顯性和隱性 AsicBoost 的某些潛在負面影響。在專利所有者最近發出了公告後,我們得出結論認為,新的區塊鏈防禦專利許可證( BDPL )計劃如果穩健,顯性 AsicBoost 對網絡上系統所帶來的風險是有限的。而另一方面,對效率較低的隱性 AsicBoost 可能仍然存在一些問題。
這是對比特幣區塊和 Merkle 樹結構的簡化描述。其他更詳細的插圖由傑裡米·魯賓( Jeremy Rubin )和蒂莫·漢克( Timo Hanke )製作。 (資料來源: BitMEX 研究)
組成部分的圖示
區塊頭
比特幣區塊的頭部(灰色)大約有 80 個字節,包括區塊版本,前一個區塊的哈希值, Merkle 根,時間戳,位元(難度)和隨機數。
候選區塊頭
除了隨機數以外,其包含了區塊頭的所有內容 。
子區塊
上圖顯示 Merkle 根分為兩部分,這是進行比特幣 SHA256 工作驗證功能所要求的。對此的解釋可以在我們早期關於AsicBoost 的文章上找到。
第二個 Merkle 樹
隔離見證升級引入了一個新的 Merkle 樹,除了它包含了見證數據並排除了 coinbase 的交易外,它與主 Merkle 樹基本上具有相同的結構。每筆交易的相對位置必須與主 Merkle 樹的位置保持一致。
為什麼要有第二個 Merkle 樹
第二個 Merkle 樹增加了區塊複雜性,有些人認為它對整體系統來說是不利的。隔離見證是比特幣網絡的升級,該升級修復了某些缺陷,比如關於 sighash 操作的二次方擴充和交易延展性。見證數據不能被添加到主 Merkle 樹中,否則舊節點會認為這些交易無效,這將產生硬分叉。
然而,那些表示如果隔離見證是透過硬分叉升級而不是軟分叉升級便可以避免產生額外 Merkle 樹的說法是不正確的。硬分叉會使 Merkle 主樹中包含見證數據,進而導致現有的錢包將新的交易格式視為無效,並且無論這些錢包是否具有充分驗證節點,它們都將與新的交易格式不兼容。這樣做的結果是,有些用戶將無法互相交流,可能會造成資金丟失。想在像比特幣這種實時網絡實現這種升級且又不造成任何網絡中斷是不大現實的 。因此,即使隔離見證是通過硬分叉升級,加入第二個複雜的 Merkle 樹的也是必要的。
AsicBoost
正如我們在前一篇關於 AsicBoost 的文章中所解釋的那樣,隱式 AsicBoost 利用散列算法拆分兩個區塊之間的 Merkle 根,然後在 Merkle 根的最後 4 個字節中尋找衝突點 。 隱性 AsicBoost 會與交易混淆,這是顯式 AsicBoost 能夠避免的。除非區塊變得更小,第二個 Merkle 樹使隱式 AsicBoost 操作變得更加困難,而一般區塊變小是可以被檢測到的。
AsicBoost潛在的負面問題
隱性 AsicBoost | 顯性 AsicBoost | |
專利保護 | 無論是隱性或顯性 AsicBoost 的潛在負面影響是一樣的。 AsicBoost 是一項專利技術,正如我們在前一篇關於專利的文章中所解釋的那樣,這些技術可能在區塊鏈領域帶來不利的後果。這似乎是 AsicBoost 的主要負面因素之一,因為它有可能給一家採礦公司帶來其他競爭對手的不可逾越的優勢,形成一個由法律保護而無法縮小的差距。這可能會破壞比特幣的核心價值。如果專利所帶來問題變得嚴重,比特幣社區可能會實行軟分叉來阻止 AsicBoost 的使用。為了緩解這個問題,專利所有人可以開放專利 – 例如,加入防禦性專利保證。看起來 AsicBoost 專利擁有者最近好像做出了這樣的承諾。如果承諾足夠強大,現階段這個問題可以被解決,至少在專利適用的地區是如此。 | |
小區塊和低容量 | 隱性 AsicBoost 可能會激勵小或甚至空白區塊的生產,這會使得隱性 AsicBoost 更加高效。但這會降低網絡容量並增加交易費用。小區塊或空白區塊對容量有負面影響,因為它們會維持網絡難度,但不會對任何交易累積做出重大貢獻。 | 不適用 |
不願意升級到隔離見證以及不誠實的原因 | 也許 AsicBoost 最具破壞性的負面影響在於它可能導致一些礦工不願意升級隔離見證。這本身可能並沒有太大的負面影響,但是因此傳播關於隔離見證的不誠實信息會對生態系統產生巨大的負面影響。然而,我們想指出,這只是一個不確定且毫無事實根據的指控,目前尚不清楚這是否是反對隔離見證的動機之一。 | 不適用 |
調整 Merkle 樹或交易的激勵 | 如上圖所示,隱性 AsicBoost 依賴礦工調整 Merkle 樹或交易的能力。這可能會比小區塊對網絡造成的不利影響更大。隱性 AsicBoost 似乎是一個更簡單的解決方案,只需要更改區塊頭中的一塊欄位。 | 不適用 |
超越競爭對手的優勢 | 與已知優勢相比,隱性 AsicBoost 可能無法被競爭對手檢測到,因此可能會為其帶來一些秘密的競爭優勢。儘管一般來說,我們認為透明度是一件好事,但運營著隱性 AsicBoost 的網絡是否會因此而對網絡造成任何不利因素,除了本表提到之處以外,我們並不清楚。 | 不適用 |
降低在 Bitcoin Core 中通過發出版本信號和警告消息執行軟分叉升級的能力 | 不適用 | 顯性 AsicBoost 使用版本欄位,如上圖左上角所示。這具有信號功能,表示礦工已準備好通過軟分叉進行升級。顯性 AsicBoost 可能會在此欄位中使用空格,這可能會阻止其作為升級信號的功能。然而:1. 顯性 AsicBoost 可能不需要全部4個字節,因此一些字節可能可以留給軟分叉信號。這可以減少同時發生的軟分叉的數量。 2. 許多人認為軟分叉信號系統無論如何是個失敗的系統。礦工通常會提供相互矛盾的信號,從而導致信號不可靠。 顯性 AsicBoost 的另一個缺點是 Bitcoin Core 軟體可能會看到一個不尋常的版本欄位,並認為網絡以未知的方式升級,從而向用戶發出警告消息。 |
我們認為, AsicBoost 對整體網絡來說,它不一定是個負面因素。雖然隱性 AsicBoost 激勵小區塊的開採的確是個問題,但大部分與顯性 AsicBoost 相關的問題都是可以減輕或規避的。特別是,如果 BDPL 系統證明是有效的,那麼使用顯性 AsicBoost 可能不會產生顯著的負面影響 – 至少在目前看來是如此。
(免責聲明:本網站內容主要來自原創、合作媒體供稿和第三方自媒體作者投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,並對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網站中的網頁或連結內容可能涉嫌侵犯其智慧財產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,並提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件後,將會依法儘快聯繫相關文章源頭核實,溝通刪除相關內容或斷開相關連結。 )