Stephen Pair是BitPay的首席執行官。BitPay是比特幣區塊鏈行業頂尖的支付技術供應商,同時還有一款同名錢包。BitPay還負責Bitcore和Copay這兩大開源項目的研發工作。

近期,有關比特幣硬分叉的討論逐漸升溫,我認為目前是分享我個人意見的最佳時機。這并不是一個全新的概念。很多人都已經開始討論類似觀點,但我想最好還是和大家分享一下完整的內容:主要是對比特幣進行一次謹慎、安全并且不具有爭議性的更新過程。一旦這一過程能夠完成,對比特幣社區來說絕對是一項重大成就。

我看好比特幣的其中一個原因是它目前面臨著大量的擴容以及管理挑戰,這是其它數字貨幣數年后都不會遇到的問題(或許永遠不會)。市場對比特幣的需求為我們創造了應對這些挑戰的機會。我們當中的很多人已經開始以此為生。比特幣也不再是一場實驗。

我很有信心,我們最終能夠解決這些問題,比特幣也能因此獲益。比特幣將經歷不可估量的發展以及普及過程。但這并不代表著我們可以什么都不做,就能得到最想要的結果。過程是很艱難的。需要耐心和毅力。而且你必須收斂自己的鋒芒,承認自己的錯誤。當然這不代表我現在說的都是錯的……我只是說將來有可能會犯錯。;)


那么,問題出在哪里?


我們面臨的最大挑戰就是,如何成功在安全、謹慎以及不具爭議性的情況下升級比特幣。我們必須升級比特幣,因為沒有任何一個系統能夠依靠其廢棄產品繼續生存下去。我將在文章中描述一種可行的方法。我會盡量解釋清楚,讓不太了解比特幣區塊鏈的人也能讀懂。

任何新的共識規則都能以附加數據(哈希)的形式被部署到比特幣區塊中,然后將這些數據傳播到網絡節點中,接著節點會根據規則驗證這項數據。如果數據驗證失敗,節點就不會進行傳播。不包含新規則的節點將忽視這些額外的數據,礦工也會做出同樣的回應。

到了某一時刻,大部分網絡節點都會驗證通過新規則,礦工就會開始挖符合新規則的區塊。一旦大多數區塊都滿足新的規則,節點就會開始拒絕條件不符的區塊。這就是軟分叉執行的基本過程。

我們可以把這類數據看成是二級區塊。二級區塊能夠包含所有需要的數據,并且容量沒有限制。


安全,不具爭議的硬分叉


經過了原理分析,現在我們來說說安全升級比特幣的步驟。希望你們在讀完這篇文章之后可以明白,硬分叉絕對不能存在任何爭議。硬分叉是很無聊的,在執行過程中你甚至可以先去看一場電影,或許我們應該稱它們為“簡單的分叉”。


第一階段:軟分叉接受新規則


在下述3個階段中,首先應該保證新的共識規則的部署是以軟分叉的方式進行的。

第一步:網絡的接受

在這一步驟中,節點將開始升級并支持新規則。節點會驗證和傳播能夠納入二級區塊(可以把它當成是新的交易形式,不過它可以是任意類型的數據)的有效數據。根據新規則的設定,節點不會傳播無效數據。不過,它們會接受不存在二級區塊數據或者包含無效二級區塊數據的比特幣區塊。傳統的比特幣共識規則和數據形式不受節點影響,忽視新規則的節點也根本不會在意多余的哈希。礦工不會太在意這一步,參與或者不參與都要看他們自己的選擇。

第二步:礦工的接受

在網絡普遍接受新規則之后,礦工就可以開始啟動激活過程了。這一過程或多或少和BIP-9軟分叉類似。首先,礦工創建執行新規則的區塊,但他們還是會承認遵循傳統規則但在新規則中已經無效的區塊。直到達到特定的閾值,礦工和節點就會開始拒絕與新規則不符的區塊。

然后,新規則就徹底生效了。首先要記住,二級區塊能夠接受并部署幾乎所有新的共識規則。你可以在這類區塊中放入14G的數據,還能啟用新的簽名算法,或者直接支付給礦工10億個新的比特幣作為獎勵(嚴格意義上來說這些是“二級比特幣”)。上述情景完全可以用可選擇的、自愿的并且沒有分歧的軟分叉完成。礦工和礦池會決定這些額外數據以及驗證過程帶來的網絡負擔是否能夠產生相應的經濟效益。如果他們能夠因此獲利,那么他們就會執行新的規則。

必須記住,礦工有可能會接受并執行不明智的方案。沒關系,市場會決定新的共識規則是否有價值。一開始,礦工可能很喜歡這種方案:每挖出一個區塊就能收到十億個新比特幣做獎勵,接著他們就會在二級區塊執行規則。然而,一旦他們意識到自己依靠的二級區塊價值不大,他們就會達成共識,不再在二級區塊中浪費時間。這一過程可以被視為一個有序的失活過程(雖然并不是完全有必要經歷這一過程)。

最后,二級區塊不會取代主區塊的功能。可能永遠只是二級區塊。當礦工發行執行二級區塊規則有利可圖時,他們一定會付諸行動。我們可以在二級區塊中做各種瘋狂的事,但我們的主要目的還是升級主區塊。順便提一句,我們不應該稱這一過程為“軟分叉”,因為這根本不算分叉。


第二階段:棄用


在第二階段,我們會執行第二次軟分叉,具體方法和第一階段完全一致。但這次不是為了引入新的共識規則,而是為了棄用舊區塊。假設新的二級區塊能夠承載舊區塊同等級別的負荷,我們就可以直接停止舊區塊中的交易。至于一些年代久遠的節點就直接表現為空塊(但到了這個時候,基本上所有節點都已經升級完畢了)。


第三階段:一次無聊的硬分叉


軟分叉棄用初始區塊之后,所有的交易和數據就會出現在新的二級區塊中。到了這個時候,我們就可以計劃一次硬分叉,直接丟棄舊區塊并接納二級區塊為主區塊架構。任何無法及時升級的節點都不再有效。但這些節點還是會收到大量的消息,提醒他們進行更新和升級。

移除舊的、未使用的數據結構就是最安全的、不受爭議的硬分叉。這也可能是比特幣需要的唯一一種硬分叉可能。我們還可以用這種方法來去除比特幣的“廢棄產品”——也就是技術債務。

發文時比特幣標準價格 買價:¥7611.00 賣價:¥7505.00

原文:https://medium.com/@spair/a-better-way-to-upgrade-bitcoin-ce5c51a2426f#.vbk0objj1
作者:Stephen Pair
編譯:Wendy
稿源(譯):巴比特資訊()
版權聲明: