Bitcoin Core首席程式碼維護者:3個計劃實現比特幣開發去中心化

注:原文作者是bitcoin core專案現任首席維護者wladimir van der laan,對於近期bitcoincore.org刪除比特幣白皮書引起的風波,他表示自己倍感壓力,並將嘗試逐漸擺脫關鍵的決策角色,而更多地參與幕後開發工作,此外,他還提出了一些計劃以提高比特幣開發的去中心化。

最近發生的事件,讓我對一些事情進行了反思。此外,社交媒體上的迴應讓我意識到,人們對我以及我在bitcoin core專案中的角色是什麼,有著奇怪的期望。

比特幣的成長

自從2011年我開始為比特幣貢獻程式碼以來,它已經有了很大的發展。對於一個執行著6000億美元市值系統的小型自由/開源軟體專案來說,一些可接受的安排已經不復存在了。市值帶有很大的誤導性,而我關注的不是關於具體的數字。

有一件事是很清楚的:這是一個嚴肅的專案,我們需要開始認真對待去中心化。

繼續前進

我意識到自己是一箇中心化瓶頸,儘管我認為比特幣是一個非常有趣的專案,並且相信它是當前最重要的事情之一,但我也有許多其他興趣。這讓我倍感壓力,而我不想要它,也不想在社交媒體上進行奇怪的爭吵,我想將自己定義為一個人。

分散權力

我將從委派自己的任務開始,並減少參與。我不打算停止為比特幣甚至bitcoin core專案做貢獻,但我想擺脫關鍵的角色,而去做更多的幕後工作。

請注意,我們的開發活動有了很好的增長,程式碼本身的維護已經在多人中進行了一段時間。目前我不是最積極的維護者。你可以看看過去一年的git合併數量。

bitcoin$ git log --pretty="format:%cn" --merges --since=2020-01-01 | sort| uniq -c
313 fanquake
51 jonas schnelli
727 marcofalke
7 pieter wuille
65 samuel dobson
363 wladimir j. van der laan

去年,只有大約24%的合併工作是由我完成的。

計劃

但是,我覺得還是有很多事情需要去解決的:

1、去中心化釋出

  • 在短期內,將bitcoincore.org轉移至一個組織,而非私人所有,以降低“巴士指數”。
  • 我認為,如果其他一些組織建立映象會很好,因此嘗試關閉bitcoincore.org的動機更少。
  • 從長遠來看,要完全擺脫一個網站來進行程式碼釋出。因為無論是誰擁有這個網站,只要他點一下按鈕,就可以關閉掉它,而且似乎全球網際網路正在準備讓審查變得越來越容易。我們需要一個去中心化的網路。對我們來說,一個選擇是ipfs,它開始流行起來。對於二進位制檔案本身,已經有了透過種子下載的選項。

2、去中心化釋出過程,以及釋出簽名

  • 授權釋出過程的更多部分。其他維護者應該可以在沒有我參與的情況下發布比特幣程式碼。
  • 將用於簽署sha256sums.asc的gpg金鑰重新命名為“ bitcoin core release signing key”,而不是以我的個人title。進行一些構造,以使成功進行構建的m個(最少)可信gitian簽名者中的n個,自動生成簽名分發。
  • 對於windows和macos的原生代碼簽名(native code signing)也是如此。
  • 從長遠來看,更好的做法是分割金鑰,例如透過rsa門限簽名,這樣整個過程就可以分佈在不同的地理位置。

3、分散開發中心

  • 從長遠來看,是否可信任github代表我們的利益尚不清楚。儘管問題和pr已透過api進行了備份,但將其移至其他位置可能會嚴重中斷開發。而且,從一個提供商跳到另一個提供商會很糟糕,理想情況下,整個過程根本不需要依賴於中央伺服器。為此,我一直在關注radicle專案,這是一個p2p分散式程式碼協作平臺,儘管它還沒有完全實現,但似乎很有希望。

比特幣在這裡的一些要求與其他開源軟體專案有很大的不同,因此我們必須開發一些工具。當然,我們也需要一些幫助。

一些小問題需要考慮:

  • 找其他人代替我擔任irc會議主席,或者在多人之間輪換。
  • 釋出到bitcoin-dev和bitcoin-core-dev列表的釋出(和釋出候選)郵件將不再由我簽名和傳送。
  • 我託管了一些特定於開發的工具(例如irc和mastodon上的pr通知機器人)。由於它們是非關鍵性的,並且只有很少的時間來維護它們,因此我現在對此表示滿意。

至於去中心化比特幣的節點軟體本身:

  • carl dong的libbitcoin_kernel是有效工作的。bitcoin core是一個大型的整體專案,其中包含了共識程式碼,這要比其他部分更為關鍵。kernel將是一個具有明確定義介面的孤立部分,並且在某個時候,它具有自己的更改檢查流程。與以前的libbitcoin_consensus計劃的不同之處在於,kernel是有狀態的:它包括utxo管理和驗證。但它不包括p2p、儲存池策略、錢包、gui和rpc程式碼。它可在不同的客戶端中重使用,以使客戶端具有更多的多樣性,但不會存在偏離共識實施的風險。

在2021年的過程中,以上將是我關注bitcoin core的重點。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读