以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > 波場 > Info

一文了解比特幣開發史:中本聰離開項目前后的開發情況_OIN

Author:

Time:1900/1/1 0:00:00

作者: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。比特幣開發的現狀

Coinbase計劃于周五提交申請,以“完全”駁回SEC的指控:金色財經報道,Coinbase 首席法律官Paul Grewal在周四的財報電話會議上表示,計劃于當地時間周五向法庭提交一項命令,以“完全”駁回美國證券交易委員會對其提起的訴訟。 Grewal 表示,Coinbase對向法院提出的反駁論點充滿信心,該交易所希望與SEC和立法者合作,以獲得監管的明確性。[2023/8/4 16:17:37]

在過去幾年中,比特幣的開發文化日益去中心化、目標明確而且嚴格。現在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日:比特幣白皮書發布

黃立成近一周陸續增持2600億枚PEPE,價值約49萬美元:5月14日消息,鏈上數據顯示,“麻吉大哥”黃立成(machibigbrother.eth)在近一周陸續買入了2600億枚PEPE,價值約271 ETH(約49萬美元),目前約有15%的未實現利潤。[2023/5/14 15:01:55]

中本聰在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軟件發布

中國移動新專利可實現元宇宙與現實世界信息分享:金色財經報道,企查查APP顯示,近日,中國移動通信集團有限公司、咪咕音樂有限公司、咪咕文化科技有限公司申請的“信息分享方法、裝置、設備及存儲介質”專利公布。專利摘要顯示,本申請實現了現實世界與虛擬世界的結合,打通了元宇宙與現實世界的信息分享通道,使得用戶無論是在元宇宙的虛擬世界還是現實世界,都能互相進行信息分享,從而使得用戶進行信息分享時更加方便。(證券時報)[2023/1/3 22:23:07]

這個版本加入了第一個共識層面的變更。比特幣軟件開始跟隨累積工作量最多的鏈。在此之前,是跟隨字面意義上的最長鏈。見: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

富時中國A50指數期貨轉漲,此前一度跌超1%:行情顯示,富時中國A50指數期貨轉漲,此前一度跌超1%。[2022/7/4 1:48:44]

第一個BIP“BIP1:BIP的目的和指南”出現。見:BIP1onGitHub2011年9月23日:Bitcoinv0.4推出

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成立

Huobi Global投資公鏈Cube,擬拓展Web3生態戰略:金色財經報道,加密交易平臺及區塊鏈解決方案提供商Huobi Global宣布投資公鏈 Cube,旨在拓展其 Web3 生態戰略,具體投資金額暫未披露。Cube 前身為 Cube Chain,是一個基于多鏈分層架構設計的新型、模塊化、免許可和 EVM 兼容公鏈,與Cosmos 生態系統兼容,據 Huobi Global 首席財務官 Lily Zhang 透露,Huobi Global 未來將繼續投資更多公鏈并致力于改善 Web3 基礎設施。(crowdfundinsider)[2022/6/14 4:24:19]

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:OINCOINCOIBITReucoinCoindodo.ioEPIC CoinBITGATTI

波場
活動預告|Manta 核心貢獻者 Shumo 將作為演講嘉賓出席 Sub0 大會_MAN

MantaNetwork核心貢獻者ShumoChu將作為演講嘉賓出席10月13-14日由Parity主辦的Substrate開發者在線大會#Sub0online.

1900/1/1 0:00:00
組件式 NFT 時代即將到來,可變可拆分 NFT 系統 MetaCore 如何帶來 NFT 技術革命?_NFT

近日,DRepublic團隊宣布首次實現了可變可拆分NFT系統,以及可拆分NFT標準EIP-3664.

1900/1/1 0:00:00
Cardano生態初體驗:從前彎路坎坷不少走,但未來之路并不難走_CAR

隨著DeFi項目的回溫,近兩個月各公鏈也如雨后春筍般發展起來,GameFi、NFTFi、SocialFi等概念逐漸興起,區塊鏈似乎迎來了另一個“Summer”.

1900/1/1 0:00:00
全面解析以太坊2.0 質押機制:提高ETH長期持有者的被動收益_ETH

注:本文作者為陸遙遠,以下為全文編譯。(https:\u002F\u002Fmedium.com\u002F@luyaoyuan\u002Feth2-staking-discovering-th.

1900/1/1 0:00:00
一文詳解比特幣軟分叉激活方法的變化_BIP

作者:BitcoinOptech原地址:https://bitcoinops.org/en/topics/soft-fork-activation/軟分叉激活指的是一個比特幣全節點開始增設一個或.

1900/1/1 0:00:00
一文學習如何創建自己的ERC20代幣支付拆分器_TOKEN

在加密貨幣的幾乎每個領域,支付都是一個反復出現的話題,特別是向多個質押者提供支付。例如,DAO希望為多個計劃提供資金,DEX希望合并向某些參與者分配交易費用,或者團隊希望將代幣作為月薪分發給團隊.

1900/1/1 0:00:00
ads