BTC創世區塊誕生14週年一文回顧比特幣問世歷程

在2008年至2012年之間,一個名叫Satoshi Nakamoto的程序員(網名)與世界分享了一個絕妙的願景和構建了比特幣的代碼。

我們口袋裡的錢有三個基本特徵“1、有形;2、集中管理;3、易於偽造”。

比特幣完全相反,它是一種無需銀行機構和政府乾預即可獨立運作的加密貨幣—它是虛擬的,經歷了加密學先驅20多年的技術演進和失敗後,2008年比特幣問世。

8月18日,Bitcoin.org域名被註冊。

11月01日,發表白皮書:“比特幣:點對點電子現金系統”。

11月16日,比特幣v0.08 預發行版本流出。

11月17日,中本聰在發送給James A. Donald的郵件中寫道:

“我的意思是一個節點只需要延遲交易(Pending-tx pool)來獲得它擁有的最佳分支,目前能夠想到的分支就是最好的分支,這個分支將擁有區塊組成,也是延遲交易池所需的。我想我已經覆蓋了對等網絡廣播機制,每個節點向其鄰居節點發送一個包含交易的新區塊哈希的庫存列表。

鄰居節點會發送請求獲取他們沒有的項目(item),如果超時項目就永遠不會通過,他們會再次向擁有該項目的其他鄰居區塊發送請求。

由於所有、或是大多數鄰居區塊該擁有每一個項目,因此即便這些項目被一個區塊弄的亂七八糟,他們也可以從其他區塊中獲取,但一次只能嘗試一個區塊。

庫存請求數據方案引入了一點延遲,但請求速度最終會獲得提高,因為額外數據區塊將被保留在傳輸隊列之外,同時也會節省帶寬。

在過去的一年半時間裡,我一直在處理所有這些細節,並進行代碼編寫,但仍有很多工作要做,白皮書裡還沒有涉及功能細節,但源代碼即將推出,我把一些主要的文件發給你了(目前可根據要求提高,完整版本稍後發布)”。

在分發給Bitcointalk.org成員“ Cryddit”的比特幣版本中出現了“比特幣礦工”這個術語,中本聰第一次將這些網絡參與者描述為“礦工”。而在比特幣白皮書中他們稱之為“節點”,區塊鏈這個詞最初稱為“時間鏈(timechain)”。

2009年1月3日下午六點十五分左右,比特幣的創世區塊在荷蘭赫爾辛基的一台小型服務器內產生,並產生了50個BTC的區塊獎勵,標誌著比特幣的正式問世。

中本聰在區塊上留下的一句話,“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks(泰晤士報當天的頭版標題:財政大臣正站在第二輪救助銀行業的邊緣。)”。

中本聰在創世區塊留下了50枚永遠無法花掉的比特幣,這50枚比特幣它以硬編碼的形式強行產生,沒有指向前一個區塊的哈希值,之後的鏈上交易都無法引用到這個區塊,Block#0是中本聰硬編碼產生的,而Block#1才是真正通過挖礦產生的首個區塊。湊巧的是,中本聰挖出Block#1的時間用了6天(而不是10分鐘)。

創世同一天,Bitcointalk.org用戶Deepceleron的截圖顯示,在區塊213有一個發布的區塊鍊和三個其他鏈接:

早期源碼是這樣解釋:“時間鏈(timechain)是一個樹狀結構,從根部的創世區塊開始。

每個區塊都可能會有多個分支候選區塊成為它們的下一個區塊。通過主鏈(最長鏈),pprev和pnext會連接到一個路徑續航。

區塊索引可能有多個pprev指向它,但是pnext只指向最長的分支。或者,如果區塊不是最長鏈的一部分,區塊索引可能就會為空。

另外根據早期開發人員Mike Hearn透露出來的信息,中本聰最初打算在比特幣協議裡面集成一個點對點(類Openbazaar的P2P)平台,但是它並沒有完成相關的編碼工作,這個想法也就擱置了。

源代碼中還有一個廢棄的創世區塊,而且具有完全不同的哈希算法,誕生的時間大概是在2008年9月10日。

早期源碼中還命名了兩個比比特幣更小的單位,分別是“coin(1,000,000)”和cent(10,000)”,而不是現在人們所使用的“聰(satoshi)”。此外源代碼裡還提到某種評級系統,並談到“原子(atom)”和“用戶評論”相關問題。

2009年1月09日,比特幣v0.1.0版本發布。

比特幣0.1.0的版本源碼中,包含了一個互聯網聊天(IRC)客戶端,旨在創建一種更簡單的消息引導傳遞方式。而且還包含了一個創建虛擬撲克遊戲的框架,這個遊戲框架是在2008年4月16日被添加到比特幣版本中,在比特幣0.8.2版本後被完全刪除。

Hal Finney(芬尼)第一時間下載了這個版本,他挖了70多個區塊通過郵件與中本聰溝通,報告軟件的漏洞。同時,他在自己的推特上發了比特幣誕生的第一條推文:“運行比特幣”。

1月12日,Hal Finney(芬尼)收到中本聰進行比特幣轉賬測試時發來的10個比特幣,成為第一個比特幣轉賬的接受者。芬尼後來在自己的自述中感嘆道:

”真希望當時自己可以挖的久一點。自己的比特幣得來全憑運氣,沒付出多少努力。來的容易,去得也容易”。後來他在100美元左右時,賣掉了大部分比特幣。

2009年1月13日,比特幣v0.1.3版本發布。

2009年2月05日,比特幣v0.1.5版本發布。

2009年12月18日,比特幣v0.2.0版本發布。 2010年07月07日,比特幣v0.3.0版本發布。宣布P2P加密貨幣比特幣0.3版!比特幣是一種使用加密技術和分佈式網絡來替代對可信中央服務器的需求的數字貨幣。避免集中管理貨幣的任意通脹風險!比特幣的總發行量限制為2100萬枚硬幣。硬幣會根據它們貢獻的CPU能力逐漸釋放到網絡的節點,因此您可以通過貢獻空閒CPU時間來分享它們。新增功能:-命令行和JSON-RPC控件-包括不帶GUI的守護程序版本-事務過濾器選項卡-哈希速度提高20%- 哈希表性能顯示-MacOS X版本(感謝Laszlo)-德語,荷蘭語和意大利語翻譯(感謝DataWraith,Xunie和Joozero)網址為http://www.bitcoin.org,並閱讀論壇以了解更多信息。

8月22日,中本聰在Bitcointalk論壇發帖說他正在構建可以向比特幣網絡傳播信息的警報系統,並表示只有使用他設定的報警私鑰才能啟動,信息發布5天后,中本聰在v0.3.11版本中添加了該設定。

設定報警系統是為了讓網絡出現緊急情況的時候,密鑰持有者能夠向所有運行節點發出安全警報,從而起到一定的重要信息提醒作用,但這個安全警報系統給網絡帶去了長達8年的安全隱患。

2010年12月09日,比特幣v0.3.18版本發布。

版本0.3.18現在可用。變化:-修正了一個的wallet.dat兼容性問題,如果你從0.3.17降級,然後再次升級- IsStandard()檢查只包括已知的交易類型以塊- Jgarzik的優化,加快初始塊下載一點主要在增加此版本是Gavin一直在使用的基於帳戶的JSON-RPC 命令(更多詳細信息,請參見http://www.bitcoin.org/smf/index.php?topic=1886.0)。 -getaccountaddress-sendfrom-move-getbalance-listtransactions下載:http : //sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.18/

如果密鑰掌握在值得信任的人手上,無疑能夠起到提醒效果;比如2013年出現的影響26個區塊的錯誤,核心開發者就是使用中本聰留給他們的報警密鑰來快速解決的。但密鑰若是落到壞人手裡,他們就能藉著報警系統支持多條信息連續推送這一點,向節點發送海量的報警信息,從而發起DoS攻擊。

不單單是這樣,攻擊者還能利用這項功能傳遞虛假或無關信息,藉此在社區引起不必要的恐慌,2016年同樣具有報警系統的萊特幣網絡發布的客戶端版本更新提醒信息,卻因某種原因被錯誤的推送到其山寨幣Feathercoin所有的客戶端內。

意識到隱患的存在,2016年比特幣核心開發者在Bitcoin Core 0.12.1版本發布的時候就關停報警提醒功能,並在隨後上線的0.13.0版本將相關代碼完全刪除。 2017年3月開發者還在0.14.0版本內硬編碼來了終極報警,並將其設置為無法被其他信息所覆蓋,讓社區沒有留意到的老客戶端能夠知曉“報警系統已經破壞“的消息。

2018年7月,歷時8年的安全隱患在Bitcoin Core開發者Bryan Bishop公開報警私鑰後完全解除。

2010年12月13日,比特幣v0.3.19版本發布。

這是次要版本,添加了一些DoS保護。更改:-添加了一些DoS限制,儘管距離DoS抵抗能力還很遠。 -刪除了“安全模式”警報。 http://www.bitcoin.org/smf/index.php?topic=2228.0下載:http : //sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.19/

2010年12月13日下午四點二十分左右,中本聰在Bitcointalk上回答完關於0.3.19版本客戶端的補救方案之後,就再也沒有出現在論壇上。

2008年11月1日至2009年1月25日

在Cryptography 郵件列表留下了17封郵件。

2009年1月25日至2009年11月22日

在sourceforge上發布了比特幣(bitcoin)的更新信息,

2009年2月11日在P2P Foundation論壇上註冊。

2009年11月22日在比特幣論壇Bitcointalk參與討論,發表539條留言。

早期比特幣的升級、部分版本的編碼以及漏洞的修復,都有Bitcointalk論壇社區的共同參與。

比如提供測試信息的virtualcoin、多次參與比特幣升級編碼工作的Gavin Andresen、及時發現並報告史上最大漏洞的lfm,還有負責提升用戶界面、整個網絡性能以及建立比特幣論壇的Martti Malmi……

不僅僅是網絡的升級維護,各語種的翻譯、原始Logo的設計、維基百科比特幣頁面的建立。

就這樣,通過日積夜累的交流和深入參與,早期比特幣社區在中本聰神秘失踪前便自然而然地組建完成。

2010年12月13日神秘的離開,並把工作移交給了Gavin Andresen。

Total
0
Shares
Related Posts