BlockChain:《Blockchain Gate》聽課筆記——比特幣白皮書的前世今生
BlockChain:《Blockchain Gate》聽課筆記——比特幣白皮書的前世今生
文章推薦:BlockChain:【中本聰】歷史之作《Bitcoin: A Peer-to-Peer Electronic Cash System》 《比特幣:一種點對點的電子現金系統》—九頁中英文對照翻譯
比特幣的前世
《Bitcoin:A Peer-to-Peer Electronic Cash System》,即《比特幣:一種點對點的電子現金系統》。這篇技術論文通常稱為比特幣白皮書,因為它基本就是宣告了比特幣的誕生。嚴格地說,是理論上宣告了比特幣的誕生。
這份檔案是在2008年11月由一個叫Satoshi Nakamoto(中本聰)的人釋出的。當然了,並不是釋出在什麼知名論壇或者學術期刊上,而是釋出在一個小眾的密碼學討論小組。
在這份白皮書釋出後的第二年,也就是2009年1月3日,比特幣軟體就正式啟動執行了,也就是在這個時候,世界上第一個區塊鏈資料誕生了,而這個由中本聰構造出來的第一個區塊,也稱為創世區塊或者上帝區塊,代表神話中創世元靈的意思。從此以後,比特幣以及由比特幣技術衍生出來的各種應用就一發不可收拾,開啟了網際網路應用的一個新紀元。
比特幣白皮書名字的理解
有兩個關鍵字:“點對點”和“電子現金”。
1、“點對點”,就是指這個軟體不需要一個特定的伺服器。比如我們登入QQ就需要連線騰訊的QQ伺服器,登入支付寶就需要連線阿里巴巴的支付寶伺服器,倘若這些伺服器關閉或者出個問題什麼的,那就沒法正常使用這些軟體了。2015年5月,杭州電信光纜被施工隊不慎挖斷,直接導致通過這些光纜聯網的支付寶伺服器斷網,影響了正常的執行。而點對點的網路結構,並不依賴於某一個或者某一群特定的伺服器,相當於人人都是伺服器,人人也都是使用者。
2、“電子現金”,顧名思義,現金嘛,就是錢或者貨幣的意思。
總結,這份白皮書,介紹的是一種數字貨幣系統,這個系統的執行不依賴於某些特定伺服器,而是通過點對點網路(P2P)結構來執行的。
比特幣白皮書的簡介
(1) 簡介
中本聰提出了一個場景設想:如何不通過一個所謂的權威第三方結構(比如銀行),來構建一個可信的交易網路呢?
(2) 交易
描述了一種通過金鑰簽名進行交易驗證的方式,實際上就是計算機密碼學在比特幣中的應用。我們在銀行轉賬交易用什麼來證明自己呢?是通過賬戶和密碼,必要的時候還可以通過身份證確認。而在比特幣系統中沒有銀行這樣一個角色,那靠什麼來確定身份呢?只有靠現代計算機密碼學技術。當然,密碼學技術在比特幣中的應用並不只是用來證明身份,是貫穿在各個環節的,可以說,密碼學技術就是比特幣系統的骨骼。
(3) 時間戳伺服器
這部分提到了區塊以及通過時間戳運算連線成一條鏈的概念,這也是區塊鏈概念的來源,同時在這裡也說明了比特幣資料的儲存方式。
(4) 工作量證明
因為這種演算法很消耗CPU的算力,等於人們幹活一樣,是要付出工作勞動的。這部分介紹了一種點對點網路中如何對各自的資料進行一致性確認的演算法。為什麼叫工作量證呢?
(5) 網路
比特幣軟體是一種網路軟體,而且是一個不依靠某個伺服器來交換資料的網路軟體。那麼一個個節點之間,如何確認一筆筆交易資料呢?這部分介紹了交易確認的過程,這個實際上就是比特幣網路的應用協議,跟日常使用的郵件收發協議、檔案傳輸協議、超文字傳輸協議等,是一個層面上的。
(6) 激勵
激勵就是獎勵的意思,你幹了活,得到一筆獎金,哇,好開心!就會繼續努力幹活,這就是激勵。比特幣軟體的資料一致性確認是需要耗費CPU算力的,那憑什麼有人願意來耗費這些個算力,白乾活嗎?當然不是,系統會獎勵給你比特幣,還有別人交易的手續費。
(7) 回收硬碟空間
比特幣系統從創世區塊開始,大約每10分鐘產生一個區塊,也意味著區塊鏈賬本的“體積”會一直增長。事實上寫作本書的時候,已經超過了120GB,只要比特幣網路一直存在,資料就會一直增長。實際上,只有執行全功能節點的客戶端才會一直保持完整的區塊鏈資料。這裡提出了一個思路,刪除過老的一些交易資料,同時不破壞區塊的隨機雜湊值,通過這種方法壓縮區塊資料。
(8)簡化的支付確認
上述提到了,比特幣客戶端的資料量很大,這麼一來,等於不管是用比特幣系統幹什麼都要帶上大量的資料,這豈不是很不方便,而且也會限制在其他一些終端(比如手機)上的使用。這部分提出了一個模型,這個模型主要是為比特幣的支付服務的。在這個模型下實現的比特幣支付功能並不需要攜帶那麼龐大的資料,而只需要保留體積相對很小的區塊頭。
(9)價值的組合與分割
這部分介紹的是比特幣中的交易事務組成方式。
①什麼叫價值?在比特幣系統中,價值就是比特幣。
②什麼叫組合?比如我口袋裡有5枚1元硬幣,1張2元紙幣,1張10元紙幣,我要給你5塊錢,怎麼給呢?我可以給你5枚1元硬幣,也可以給你3枚1元硬幣加上1張2元紙幣,這就是不同的組合。
③什麼叫分割?分割其實就是轉出的意思,我通過不同的組合,構成了總計5元的金額,然後轉出給你,這個過程就是價值的組合和重新分割。在這個例子中,還有一張10元的,假如我直接轉了你10元,那會怎樣?這就需要找零5元了,找零其實也是一種重新價值分割。
(10)隱私
作為一個貨幣系統,保密性也就是隱私毫無疑問是人人都會關心的。傳統的體系,完全是依賴比如銀行這個第三方的保護,大家相信銀行,銀行也設立了各種管理制度和方法來防止賬戶和交易資訊的洩密。比特幣系統則不同,它不依賴誰,每個人在比特幣系統中也不用登記什麼身份證、名稱、性別等,就是一個地址,誰也不知道地址後面代表的是誰,而且,只要你需要,可以自己建立任意多個地址(你到銀行去開任意多個戶試試!),這使得比特幣系統中的交易帶有很大的匿名性和隱祕性。
(11)計算
這部分主要是站在概率統計的角度計算了一下攻擊者成功的概率,以及經過多少個區塊後還能攻擊成功的概率。
比特幣的今生