作者:0xB10C翻譯:阿劍要想完全理解比特幣開發現狀背后的原因,就不能不了解一些歷史事件。本文著重列舉了中本聰離開這個項目前后的歷史事件、軟件發布和漏洞修復;還額外添加了一個章節敘述比特幣開發的現狀。文章后附的時間線為每一個事件提供了額外的細節。對于這里的大部分事件,我都不是親歷者。所以這份時間線的一大部分引自JohnNewbery的一次名為“比特幣開發的歷史與哲學”的演講。本文的標題也寫得很清楚了,本文沒有,也做不到包含每一個重要事件。歷史總在不斷變化,如果你認為我遺漏了什么事件,或想提議我作一些修改,請在開源項目bitcoin-development-history中提交一個issue,這也是我用來附加更多時間線的辦法。中本聰仍在的時候
這份時間線的起點是2007年早期。中本聰開始開發比特幣。這個點對點的電子現金系統沒有受信任的地方。整個系統完全由用戶運行的軟件來控制。早期,有貢獻者加入了中本聰的工作。除了軟件的開發,這些新來的貢獻者還為軟件添加了Linux和maxOS操作系統的支持。到了2010年夏天,中本聰給軟件做了一些關鍵的修改。比如,引入了“檢查點”作為一項安全措施,來對抗傳播低難度鏈的攻擊。使用了這些檢查點的節點會拒絕那些特定高度與特定區塊不符的鏈。檢查點是由中本聰獨自硬編碼的,理論上來說,這讓中本聰可以自己決定整個網絡要跟隨哪條鏈。加入檢查點的幾天后,中本聰在版本v0.3.3的軟件中放出了第一個共識機制變更。中本聰敦促用戶升級。在接下來一個月里,多個小版本更新陸續放出。其中一個修復了一個致命的溢出漏洞。這個漏洞被利用來創造了兩個高價值的UTXO。中本聰建議礦工們重組包含了惡意交易的區塊。一周以后,中本聰加入了一個警報系統,來提醒節點運營者網絡中出現的類似bug和問題。這個警報系統有一個安全模式。這個安全模式一旦觸發,就會禁用整個網絡的所有關于貨幣處理的RPC方法。只有中本聰能夠用一個私鑰簽名來創建有效的網絡警報。一些用戶開始提出質疑:如果其他人,比如某個政府,拿到了這個私鑰,那網絡會變成什么樣呢?這個時候,中本聰對比特幣網絡有太大的權力。但大家主要擔心的不是中本聰會變壞、會摧毀整個網絡,而是一個去中心化的網絡中不應該存在一個單點故障。到了2010年10月,中本聰在bitcointalk論壇上發布了他的最后一個帖子,宣布移除這個安全模式。中本聰在他最后留下的電子郵件之一里面寫道:“我準備到別的地方去了。有了Gavin和大家,這個項目會得到很好的維護。”一些人主張,中本聰離開比特幣世界,是他最偉大的貢獻之一。中本聰離開之后
幾乎同一時間,整個開發流程從SVN轉移到了GitHub上。BlueMatt、sipa、laanwj和gmaxwell加入了這個項目。在2011年中,BIP流程應運而生。在2011年的最后一個季度和2012年的第一個月,社區討論了允許交易的接收者指定花費條件的多個提案。由此,P2SH交易引入了比特幣。在2012年末,比特幣基金會宣告成立。比特幣基金會模仿的是Linux基金會。在公告帖子下面,一些人留言表示擔心開發會變得中心化。Bitcoinv0.8.0在2013年春天發布。兩周以后,一場意料之外的硬分叉在網絡中升級了和沒升級的節點間爆發。硬分叉很快就被解決了,礦工們都把挖礦算力切換到了對已升級和未升級節點都有效的鏈上。在2013年末,Bitcoin軟件更名為BitcoinCore。在接下來幾年里,包括Chaincode和Blockstream在內的公司成立。后來,MITDigitalCurrencyInitiative加入了Chaincode和Blockstream,為開發比特幣的開發者和研究者提供報酬。在2015年二月,JosephPoon和TadgwDryja放出了閃電網絡白皮書的第一份草稿。第二年,LukeDashjr通過BIP2修訂了BIP流程;BitcoinCore放出了v0.13.0,加入了SegWit作為軟分叉。在2016年11月,警報系統完全棄用。到了2017年8月,SegWit在比特幣網絡上激活。2019年,又一家公司SquareCrypto開始資助比特幣開發。在2019年5月,PieterWuille提出了BIPtaproot。比特幣開發的現狀
Magic Eden宣布支持BRC-20代幣:金色財經報道,多鏈NFT市場Magic Eden周二宣布支持BRC-20代幣,擴大其Ordinals產品范圍,將基于比特幣構建的代幣類別納入其中。一位發言人表示,BRC-20支持將于東部時間周二晚上8點添加。除了允許用戶在二級市場上交易BRC-20代幣外,此舉還允許人們在比特幣上創建自己的新代幣,并讓交易者直接通過其啟動板鑄造它們。[2023/6/28 22:04:26]
在過去幾年中,比特幣的開發文化日益去中心化、目標明確而且嚴格。現在BitcoinCore代碼庫有6名維護者,分布在三個國家。只有他們能夠合并由貢獻者提出的代碼更改。不過,在內容合并之前,更改的內容還需經過一個審議流程,這個流程也變得嚴格得多。舉個例子,在比特幣早期,有個與P2SH相競爭的提議,叫做“OP_EVAL”。有個實現了OP_EVAL的pullrequest在2011年底被合并到了代碼庫中。即便是這樣對共識有重大變更的代碼,它也只有一個審核人。RussellO’Connor開了一個issue批評了這個實現的一部分,并主張這么大的、對共識極為關鍵的變更應該得到更多的審核和測試。這件事推動了如何通過更多的測試和審核來實現更高質量的代碼的持續討論。到了今天,每一個合并請求都有多個開發者來審核。如果某個改變觸及到了對安全性甚至共識的關鍵部分,審核的流程還需要通過更多的審核員審核,需要大量的測試,通常會花費幾個月的時間。活躍的BitcoinCore貢獻者JohnNewbery告訴我,“只需一個審核人員首肯就能合并影響共識的代碼的事情,已經一去不復返”。人們也投入了很多精力到自動化的測試中,比如,有C++語言編寫的單元測試和Python語言編寫的功能性測試。每一個不簡單的變更都要相應更新現有的測試或者在框架中加入新的測試。在單元測試和功能測試以外,還要在BitcoinCore上做模糊測試,以及建立基準測試框架來度量代碼的性能。舉個例子,bitcoinperf.com網絡提供了Grafana和codespeed接口來可視化周期性的基準測試的結果。多年努力下來,BitcoinCore軟件已經形成了一個清晰的發布流程。BitcoinCore的大版本每6個月發布一次。發行計劃包括一個翻譯流程,一個特性凍結流程,還通常有多個候選版本。近期CoryFields和CarlDong還致力于提高BitcoinCore構建過程的安全性,使用確定性和可引導的構建包。這個新的構建系統可能還沒準備好支持即將在今年秋天發布的BitcoinCorev0.19.0,但未來可以提供更好的構建過程安全性。時間線
2007年早期:中本聰開始開發比特幣
中本聰開始寫比特幣的代碼。這是根據中本聰在Cryptography郵件列表中一份寫于2008年11月17日的郵件中得出的:“我確信自己已經在過去一年半的編程工作中解決了所有這些細節問題。”見:e-mail(metzdowd.com)以及e-mail(nakamotoinstitute.org)2008年11月1日:比特幣白皮書發布
Shemaroo與Near基金會達成合作:金色財經報道,Shemaroo與Near基金會達成合作,建立一個Web3.0創新單元,探索區塊鏈技術在媒體和娛樂行業的潛力。通過利用Near的可擴展基礎設施和智能合約能力,Shemaroo旨在為其用戶開發創新的解決方案和服務,專注于去中心化、透明度和不可更改性。[2023/5/5 14:45:28]
中本聰在Cryptography郵件組中公布了白皮書:“我一直在開發一個全新的數字現金系統,它是完全點對點的,沒有需要用戶信任的第三方。”見:e-mail(metzdowd.com)以及e-mail(nakamotoinstitute.org),以及白皮書2009年1月3日至9日之間:比特幣的創世區塊挖出
創世區塊的時間戳是1月9日。這個區塊的coinbase交易包含了著名的一段話:“TheTimes03/Jan/2009Chancelloronbrinkofsecondbailoutforbanks”見:區塊瀏覽器、百科詞條2009年1月9日:Bitcoinv0.1軟件發布
中本聰在Cryptography郵件組中寫道:“我發布了Bitcoin軟件的第一個版本。比特幣是一種新的電子現金系統,使用點對點網絡來防止多重支付。它是完全去中心化的,沒有服務端,也沒有中心化的權威。”見:e-mail2009年12月16日:Bitcoinv0.2軟件發布
MarttiMalmi(sirius-m)加入了對Linux系統的初步支持。其它新功能包括在利用CPU的多個核心來挖礦以及初步支持使用代理。見:bitcointalk.org2010年7月6日:Bitcoinv0.3軟件發布
LaszloHanyecz(Bitcoinpizzaguy)加入了對macOS的支持。其他新特性包括JSON-RPC接口,以及一個新的daemon模式。用戶幫助把軟件的圖形界面翻譯成了德語、荷蘭語和意大利語。見:bitcointalk.org2010年7月15日:Bitcoinv0.3.1軟件發布
修復了各種各樣的bug。GavinAndresen開始作貢獻。見:bitcointalk.org2010年7月17日:Bitcoinv0.3.2軟件發布
中本聰加入了檢查點作為一項安全措施。檢查點就是鎖定某個高度的區塊哈希值必須是某個,否則就拒絕。中本聰寫道:“我可能會從現在開始,每發布一個新版本就增加一個檢查點。如果軟件已經決定了哪個是被普遍接受的區塊鏈,就沒有必要留下一個徒增困擾的、可能在幾個月后發生逆轉的機會。”見:bitcointalk.org、checkpointsadded(diffonGitHub)2010年7月25日:Bitcoinv0.3.3軟件發布
鏈間流動性協議White Whale宣布已上線Injective:12月22日消息,鏈間流動性協議White Whale宣布已上線Injective,為Injective用戶帶來新的閃貸和套利池。[2022/12/22 21:59:48]
這個版本加入了第一個共識層面的變更。比特幣軟件開始跟隨累積工作量最多的鏈。在此之前,是跟隨字面意義上的最長鏈。見:bitcointalk.org、consensuschange(diffonGitHub)整個2010年夏天
Bitcoinv0.3.xx的多個版本在此期間放出2010年8月15日:致命的溢出漏洞得到修復
中本聰在v0.3.9(ish)中放出一個補丁,告訴用戶和礦工要重組帶有溢出錯誤交易的區塊。見:bitcointalk.org2010年8月22日:警報系統引入
中本聰開始開發一個警報系統,計劃在v0.3.11加入。他寫道:“我一直在編寫一個警報系統。警報會在網絡中廣播,并在一些版本的軟件中生效。警報消息要用只有我知道的一把私鑰簽名。”“節點偶爾陷入暫時的停機可能給你驚嚇,但總好過你發現自己的錢被全部吸走的驚嚇。”“等什么時候我們很長一段時間都沒有再發現新bug、透徹的安全檢查也沒有發現任何問題時,這個系統可以縮減。我并不主張我們會永遠使用它。但比特幣還是一個beta階段的軟件。”見:bitcointalk.org2010年12月12日:中本聰發出最后一個帖子
中本聰在bitcointalk.org上發表他自己的最后一個帖子。他加入了一些DoS限制,并移除了前述的警報系統安全模式。“在DoS保護上還有許多工作要做,但我正在開發一個備份的快速構建包,以備不測;更復雜的主意則以后再說。這個包所構建的軟件是v0.3.19。”見:bitcointalk.org2010年12月19日:開發工作轉移到GitHub上
Bitcoin軟件的活躍開發和issue跟蹤轉移到了GitHub上。見:GitHub記錄的第一個issue2011年4月23日:中本聰最后一次發聲
據稱來自中本聰給MikeHearn的最后一份電郵:“我已經做別的事情去了。Gavin和大家會把這件事做好。”見:pastebin.com上的電子郵件對話2011年3月至6月:新的貢獻者加入
多位新的貢獻者加入:TheBlueMatt、sipa、laanwj和gmaxwell。他們的第一次合并請求見:TheBlueMatt、sipa、laanwj、gmaxwell2011年8月19日:第一個BIP
第一個BIP“BIP1:BIP的目的和指南”出現。見:BIP1onGitHub2011年9月23日:Bitcoinv0.4推出
德國金融監管機構:可利用區塊鏈來發現和打擊網絡犯罪:金色財經消息,德國金融監管機構BaFin撰寫的一項研究發現,監管機構可以通過直接查看區塊鏈來更好地打擊網絡犯罪,但這需要付出很多額外的努力。(Coindesk)[2022/7/27 2:41:46]
v0.4放出,主要的新功能是錢包加密。見:更新說明2011年11月21日:Bitcoin-QTv0.5發布
新特性是新的qt圖形界面以及錢包加密功能的一個重大補丁見:更新說明、CVE-2011-44472011年11月~2012年4月:P2SH和其他提議上的工作
多個提議都旨在允許交易的接收者可以指定花費資金的腳本。P2SH在Bitcoin-Qtv0.5.4上實現。另外兩個則都被放棄了。見:BIP12:OP_EVAL、OP_EVAL合并請求、OP_EVAL遞歸問題、BIP16:P2SH、BIP17:OP_CHECKHASHVERIFY2012年3月30日:Bitcoin-QTv0.6發布
新特性包括地址二維碼,BIP30的一個實現,以及修復內存相關的拒絕服務攻擊向量。見:更新說明2012年9月17日:Bitcoin-QTv0.7發布
包括了BIP22、BIP34和BIP35的實現,以及圖形界面上的許多變更,還有聯網的RPC代碼。見:更新說明2012年9月27日:BitcoinFoundataion宣布成立
GavinAndresen宣布成立BitcoinFoundation。見:bitcointalk.org上的帖子2013年2月19日:Bitcoin-QTv0.8發布
本版更新將區塊鏈的存儲從BerkleyDB數據庫格式遷移成LevelIDB數據庫。“Ultraprune”功能由sipa(PieterWuille)實現了,他將UTXO集合從區塊鏈數據庫中分離了出來。見:更新公告2013年3月11日:意料之外的硬分叉
一次意料之外的硬分叉發生,將v0.8的節點與更老版本的節點分離了開來。見:BIP50:2013年3月鏈分裂事件的事后報告,bitcoin.org網絡警報2013年12月12日:軟件品牌重新包裝
Bitcoin-Qt軟件重新包裝,使用BitcoinCore的新名稱。見:GitHub上的PR2014年3月19日:BitcoinCorev0.9發布
新特性包括:OP_RETURN操作碼可以在區塊鏈中寫入數據,但也會讓相關的UTXO變成不可使用的狀態。此外,autotools用作構建系統,而bitcoin-cli作為一個RPC客戶端引入。見:更新說明2014年某個時間:ChaincodeLabs成立
美國SEC與CFTC就比特幣和加密貨幣監管的 \"諒解備忘錄 \"進行談判:金色財經報道,Bitcoin Archive在社交媒體上表示,美國證券交易委員會(SEC)正在與美國商品期貨交易委員會(CFTC)就比特幣和加密貨幣監管的 \"諒解備忘錄 \"進行談判。[2022/6/26 1:31:52]
AlexMorcos和SuhasDaftuar在2014年成立了ChaincodeLabs以打造一個工程師和科學家能夠支持去中心化數字貨幣開發的空間。2014年10月23日:Blockstream成立
AdamBack、MattCorallo、GregMaxwell、PieterWuille等人創立了Blockstream公司并放出了他們的側鏈白皮書。見:為什么我們要成立Blockstream?2015年2月16日:BitcoinCorev0.10.0發布
重要的更新包括:首先同步區塊頭的同步方法,REST接口以及用來創建和操控交易的bitcoin-tx模塊。見:更新說明2015年2月:閃電網絡白皮書發布
JosephPoon和ThaddeusDryja發布了LightningNetwork白皮書第一版草稿見:閃電網絡白皮書2015年4月15日:MITDCI成立
MITMediaLab啟動了DigitalCurrencyInitiative。DCI是一個研究社區,聚焦密碼貨幣和區塊鏈技術。見:DCI啟動公告2015年7月12日:BitcoinCorev0.11.0發布
這一版軟件將區塊文件修剪當成一個主要的特性。見:更新說明2016年2月3日:BIP2
LukeDashjr起草了BIP2,提出了一個定義更清晰的BIP流程。這個提議被社區接受見:BIP2:BIP流程修訂2016年2月23日:BitcoinCorev0.12.0發布
主要更新是引入了libsecp、sendheader,選擇進入的RBF以及交易內存池限制。見:更新說明2016年4月15日:BitcoinCorev0.12.1發布
這一版本包含了BIP9以及OP_CHECKSEQUENCEVERIFY軟分叉的定義。見:更新說明2016年8月23日:BitcoinCorev0.13.0發布
包含了為segwit預備的變更、壓縮區塊功能,交易池基于手續費價格的篩選,HD錢包的遲滯,以及CPFP交易選擇算法。見:更新說明2016年10月27日:BitcoinCorev0.13.1發布
這個版本包含了SegWit軟分叉。見:更新說明2016年11月1日:警報系統退休
網絡層的警報系統代表著比特幣的一個很大的中心化力量,如今走入歷史。見:公告2017年3月8日:BitcoinCorev0.14放出
本版軟件大幅提高了初次下載區塊的速度。見:更新說明2017年8月24日:SegWit激活
SegWit在比特幣主網上激活。2017年9月14日:v0.15放出
本版軟件加入了一個更好的手續費預估功能,可在圖形界面追加手續費,還有多錢包功能以及腳本緩存功能。見:更新說明2017年11月11日:v0.15.1放出
這個版本著力于P2P網絡的安全性,以預防未來可能的網絡分叉,也修復了一些bug,為0.15.x系列做了優化和升級。見:更新說明2018年2月26日:BitcoinCorev0.16放出
這一版主要是為BitcoinCore錢包增加了SegWit支持。見:更新說明2018年10月3日:BitcoinCorev0.17放出
這一版本為錢包增加了一些功能。其中一個是支持部分簽名的比特幣交易。見:更新說明2019年3月20日:SquareCrypto成立
JackDorsey宣布SquareCrypto將招聘3~4名工程師和1位設計師來全職為比特幣生態作開源的貢獻。見:tweet2019年5月2日:BitcoinCorev0.18放出
本版更新包括了大量新功能和一些小變更。見:更新說明2019年5月6日:Taproot提出
PieterWuille提出了多個BIP以在比特幣中實現Schnorr簽名以及taproot,以提高比特幣智能合約的隱私性、效率和靈活性。見:郵件組帖子2019年8月9日:BitcoinCorev0.18.1放出
這個小版本加入了新功能,多個補丁以及性能升級,還更新了翻譯。見:更新說明2019年8月19日:Miniscript推出
PieterWuille提出了Miniscript,讓比特幣腳本的編程更友好的語言。見:郵件組帖子,項目頁面2019年11月24日:BitcoinCorev0.19.0.1發布
這個版本加入了新功能,多個補丁以及性能升級,還更新了翻譯。見:更新說明2020年3月9日:BitcoinCorev0.19.1發布
這個版本修復了多個bug,提高了性能。見:更新說明2020年6月3日:BitcoinCorev0.20.0發布
這個版本修復了多個bug,提高了性能。見:更新說明2020年8月1日:BitcoinCorev0.20.1發布
這個小版本的更新包括應對不軌對等節點的方式不同,錢包提醒以及PSBT支持帶witness和不帶witness的UTXO。見:更新說明2020:為比特幣項目和個人貢獻者設置的開發獎
包括BitMEX、SquareCrypto、OKCoin、BTSE、Kraken在內的公司,以及HumanRightsFundation、Paradigm和Coinbase交易所,為比特幣項目和個人貢獻者設立了多個開發獎項。見:SquareCryptoGrants、BitMEXGrants、OKCoinGrants、CoinbaseGrants、PolylunarGrantTracker、BitcoinWordsGrantTracker所有的文字和圖片都遵循自由創作和分享協議4.0,作者保留署名權,允許自由分享和改編,后續使用應維持同樣的使用條件。結論
十年間,比特幣的開發文化滄海桑田,從圍繞中本聰的高度中心化,變為圍繞幾千名GitHub貢獻者的去中心化。顯然,代碼審核、代碼質量和安全性的高標準都是有必要的。這些標準得到了遵循和持之以恒的提高。我認為,要完全理解比特幣開發現狀背后的哲學,了解這些歷史事件是必不可少的。所以我做了一個把更多事件串起來的時間線。若有進一步的研究需求,建議閱讀AlexB.寫的TheTaoOfBitcoinDevelopment、EricLombrozo寫的TheBitcoinCoreMergeProcess以及JamesonLopp的大作WhoControlsBitcoinCore?。致謝
感謝JohnNewbery幫助我梳理并審核這篇文章。他在自己的演講HistoryandPhilosophyofBitcoinDevelopment中做了很多歷史考證工作,該演講也是我這篇文章的基礎。此外,我非常感激ChaincodeLabs,他邀請我參加他們的2019夏令營,在那里我遇見了很多有意思的人,學到了很多東西,也正是在那里,我開始著手整理時間線和撰寫這篇文章。原地址:https://b10c.me/blog/004-the-incomplete-history-of-bitcoin-development/
Tags:OINCOICOINBITQFilecoinUquid Coincoinbasepro是什么交易所upbit提款凍結要等多少天
新加坡時間2021年9月23日,加密貨幣托管及資管平臺以及一站式技術基礎設施提供商Cobo宣布完成4000萬美元B輪融資.
1900/1/1 0:00:009月10日,Centrifuge聯合Odaily星球日報和PolkaWorld舉辦「星際巡航——與Centrifuge一起探索波卡DeFi新范式,暨Altair平行鏈競拍發布會」.
1900/1/1 0:00:00隨著VitalikButerin最近發表的一篇關于去中心化管理的文章,我們想進一步擴展DAO的話題,這個話題在現在已經成熟的DeFi市場上越來越受歡迎.
1900/1/1 0:00:00整個2021年,NFT一直在主導加密貨幣市場,2017年的市場氛圍仿佛卷土從來。那時的交易員們爭先恐后地跳上每輛開往ICO大道的車,唯恐錯過什么財富密碼,這與今天的NFTdrop的情況是一樣的,
1900/1/1 0:00:00公鏈再次吸引了整個市場的眼球。從走進通縮紀元的以太坊,到生態體系日趨完善的Solana,再到啟動了巨額生態激勵計劃的雪崩協議和Fantom,公鏈賽道的各大項目們在過去的近一個月時間內相繼發力,在.
1900/1/1 0:00:00國際貨幣基金組織(IMF)在其2021年全球金融穩定報告中表示,加密貨幣尚未對國際體系構成系統性威脅,但“鑒于其全球影響以及大多數司法管轄區的運營和監管框架不足,應密切監控風險.
1900/1/1 0:00:00