比特幣是第一個實現「去中間化」的「金融仲介」實現點對點價值轉移的支付系統。因其去中心化、記錄不可被篡改和匿名等特點廣受人知,健全的區塊鏈體系是價值穩定的基礎,比特幣未來怎麼發展?軟體如何反覆運算?比特幣系統如何治理,這是與每一個參與者都息息相關的問題。

比特幣是一個開源網路,全世界的開發者都有權對網路更新作出貢獻。通過使用比特幣改進協議來決定其發展和反覆運算方向。從本質上來說,比特幣改進協議(Bitcoin improvement proposals ,簡稱BIP)是一種設計文檔,主要為全網帶來新的功能或資訊。

 

由於比特幣的開源本質以及其系統中不存在中央機構(中央銀行),比特幣軟體鼓勵開發者使用BIP作為一種交流意見、互換資訊的主要方式。比特幣網路第一個BIP是由電腦程式員Amir Taaki提交的。主要內容都是關於BIP的,包括BIP的定義以及如何將BIP和Bitcoin Core用戶端互相結合。

 

BIP大致分為三種:標準類、資訊類和進程類。

 

標準類: 涉及到影響網路通訊協定、區塊鏈、交易驗證和任何影響到互通性的提議資訊類: 解決設計問題,建立通用指南。與標準類BIP不同,不是用於提出新功能,也不代表社群共識。進程類:描述或提議流程變更。與標準BIP提議類似,但適用在比特幣協議之外。

 

所有BIP都會經歷同樣的提交、審核和啟動過程,因此,這三類BIP唯一的不同就在於各自要實現的目標。

 

比特幣改進流程

 

第1步:想法,任何一個人都可以通過任何途徑管道,如論壇,推特等等,提出自己改進初步想法,來爭取更多人支持認同。

第2步:提案,可以匯總社群討論的建議,以較規範的格式,詳細地描述方案,形成一個BIP提案檔提交。

第3步:正式提案,對較重要或者認可的人較多的BIP提案分配序號。以便方便大家討論區分這個提案,有序號的提案算是正式提案。

第4步:落實代碼,一些開發者會依據BIP正式提案的構思,落實成具體的代碼。並且在測試網路上進行嚴格的測試。以確保代碼儘量沒有Bug。

第5步:啟動設定,代碼沒有問題後,根據《BIP9升級規範》,設定啟動門檻,分配啟動標記位元,緩衝時間等。

第6步:發佈版本,若足夠多的人簽名同意,那麼會吸納此BIP代碼在最新版本中發佈包含這個BIP代碼的版本,但是處於未啟動狀態。

第7步:啟動,等待達到BIP9設的啟動門檻後,方案正式啟動生效。實測是否方案成功。若出現問題可能回到上一版本。

 

通常情況下,BIP草案在由某位開發者編寫完畢之後會提交到比特幣網路開源的「知識庫」(repository)當中。然後多個開發者會驗證該協議的可用性,選擇是否通過。一旦通過,一系列整合流程是可以在Github上查看的。

 

BIP開發者或設計者必須向比特幣開發團隊說明其BIP在提高比特幣網路及其核心組成部分的能力。只有在核心開發者同意並通過了這個想法,設計者才可以真正開始草擬自己的BIP。草擬完成之後,BIP指定編者會分配特定的BIP號碼。一旦該BIP被大部分的社群成員和開發者接受,技術實施過程就會啟動。

 

此前比較重要的幾個BIP是:BIP32、BIP148用戶啟動軟分叉、BIP91(讓礦工在區塊中投票)這幾個提案先後都被啟動,查看比特幣改進協議網址https://github.com/bitcoin/bips。當然,如果遇到社群中爭論不休的問題,比如此前針對網路擁堵問題,有人提議採取隔離見證+閃電網路的方式來解決,有人提議採取增大區塊容量的方式解決。

 

比特幣核心開發者的原則是:對於爭論性的提案,他們會採取偏保守的方案。也就是這樣的態度也為後面的比特幣分叉埋下了伏筆。在擴容的提案被一而再再而三的否決之後,以比特大陸為代表的礦工終於在17年8月1日,實施硬分叉,比特現金誕生,這也標誌著比特幣社群的正式分裂。(說明:由於比特幣是開源的,如果對於現行狀態不滿意,任何人都可以實行硬分叉,當然前提是有算力和社群的支持,如果得不到支持也必將毫無用處。)