開卷有益又兵,小韭菜本著對比特幣具體實現的好奇心,這周翻完了《Mastering Bitcoin》卒废。書的信息量很大沛厨,一遍讀完感覺也是不能完全跟上作者的思路,但這本確實可以說是熟悉區(qū)塊鏈等相關知識的絕佳入門書了摔认,雖然可能對非程序員不是特別友好逆皮。以下是讀書時和讀完后的一些記錄和思考。以后有時間的話参袱,肯定會繼續(xù)刷的电谣,因為其中的具體算法和實現,其實第一遍都跳過了蓖柔,以求對它的全貌有一個快速的認識和理解辰企。
書的第一章是介紹风纠,講述了比特幣的起源况鸣。首先不能不提到的就是比特幣的定義了。比特幣是由一系列概念和技術作為基礎構建的數字貨幣生態(tài)系統竹观。狹義的“比特幣”代表系統中的貨幣單位镐捧。比特幣可以做傳統貨幣能做的所有事潜索,具有快捷、安全懂酱、無國界的特性竹习。比特幣是完全虛擬的,擁有密鑰是使用比特幣的唯一條件列牺,這讓控制權完全掌握在每個人手中整陌。密鑰通常存儲在計算機的數字錢包里。比特幣是一個分布式的點對點網絡系統瞎领。因此沒有“中央”服務器泌辫,也沒有中央發(fā)行機構。設計完全去中心化九默,不被任何中央政權或中央點控制震放,這樣的貨幣系統是不會遭受攻擊,也不會變得腐敗驼修。比特幣是通過“挖礦”(在比特幣網絡中成功寫入一個區(qū)塊交易)產生的殿遂。挖礦把央行的貨幣發(fā)行和結算功能進行分布式,用全球化的算力競爭來取代對中央發(fā)行機構的需求乙各。從長期來看墨礁,比特幣是一種通貨緊縮貨幣。此外耳峦,不能通過“印刷”新比特幣來實現“通貨膨脹”饵溅。比特幣的構成分為四部分:一個去中心化的點對點網絡(比特幣協議),一個公共的交易賬簿(區(qū)塊鏈)妇萄,一個去中心化的數學的和確定性的貨幣發(fā)行(分布式挖礦)蜕企,一個去中心化的交易驗證系統(交易腳本)
第二章講到了比特幣的原理」诰洌可以直接看概述來了解它的全貌轻掩。
在比特幣的具體每一筆交易中,交易會告知全網懦底。這里開始就涉及到挖礦唇牧。網絡中產生的一筆交易直到成為整個比特幣大賬簿——區(qū)塊鏈的一部分時才會被確認有效。平均每10分鐘聚唐,礦工會將自上一個區(qū)塊以來發(fā)生的所有交易生成一個新的區(qū)塊丐重。新交易不斷地從用戶錢包和應用流入比特幣網絡。當比特幣網絡上的節(jié)點看到這些交易時杆查,會先將它們放到各自節(jié)點維護的一個臨時的未經驗證的交易池中扮惦。當礦工構建一個新區(qū)塊時,會將這些交易從這個交易池中拿出來放到這個新區(qū)塊中亲桦,然后通過嘗試解決一個非常困難的問題(也叫工作量證明)以證明這個新區(qū)塊的合法性崖蜜。完成后浊仆,這筆交易已經成為區(qū)塊的一部分被嵌入到了區(qū)塊鏈中,它就成為了整個分布式比特幣賬簿的一部分并對所有比特幣客戶端應用可見豫领。
第四章主要解釋了 密鑰/地址/錢包 等重要概念抡柿,雖然機制解釋起來非常簡單,但具體的算法實現還沒有看懂等恐,以后在學習了密碼學基礎之后洲劣,可以再回來看看這里的相關實現。
第六章提到了比特幣采用的是P2P網絡架構课蔬,不存在特殊節(jié)點闪檬,以扁平化的拓撲結構相連,不存在任何的服務端购笆,和 BitTorrent 相似粗悯。網絡中的每一個節(jié)點按照其構成,可以區(qū)分為 核心客戶端/完整區(qū)塊鏈節(jié)點/獨立礦工/輕量錢包/礦池協議服務器/挖礦節(jié)點/輕量 Stratum 錢包 這幾種類型同欠。一個簡化的結構如圖
第七章終于提到了我最關心的區(qū)塊鏈知識样傍,區(qū)塊鏈是由包含交易信息的區(qū)塊從后向前有序鏈接起來的數據結構。經常被視為一個垂直的棧铺遂,第一個區(qū)塊作為棧底的首區(qū)塊衫哥,隨后每個區(qū)塊都被放置在其他區(qū)塊之上。對每個區(qū)塊頭進行SHA256加密哈希襟锐,可生成一個哈希值撤逢。通過這個哈希值,可以識別出區(qū)塊鏈中的對應區(qū)塊粮坞。同時蚊荣,每一個區(qū)塊都可以通過其區(qū)塊頭的“父區(qū)塊哈希值”字段引用前一區(qū)塊(父區(qū)塊)。也因為此設計莫杈,幾千個區(qū)塊(一個月)后的區(qū)塊鏈將變成確定的歷史互例,永遠不會改變。
第八章講到挖礦與共識筝闹。挖礦部分則具體解釋了每一步的操作媳叨,因為不是很關心,所以跳過了关顷。至于共識糊秆,比特幣的共識機制指的是,被礦工(或礦池)試圖使用自己的算力實行欺騙或破壞的難度很大议双,至少理論上是這樣痘番。每個節(jié)點既然保留有完整賬簿,那么去中心化即成為無可爭議的共識聋伦。而后也提到了51%攻擊等基于共識的攻擊方式夫偶,一次嚴重的共識攻擊事件勢必會降低人們對比特幣系統的信心界睁,進而可能導致比特幣價格的跳水觉增。然而兵拢,比特幣系統和相關軟件也一直在持續(xù)改進,所以比特幣社區(qū)也勢必會對任何一次共識攻擊快速做出響應逾礁,以使整個比特幣系統比以往更加穩(wěn)健和可靠说铃。
第九章里,作者終于提到了比特幣的其他競爭幣和山寨幣吭服。比特幣是一個開源項目葛假,由此衍生出的就是競爭幣了膜楷。絕大多數的山寨幣都來自比特幣源代碼的克隆,少數則沒有使用比特幣的任何源碼幼苛,僅僅是借鑒了塊鏈的模型后自己實現。這些幣都是運行在自己的塊鏈焕刮,所以以命名區(qū)分舶沿。因為克隆一個山寨幣過于簡單,市場上出現了無數的山寨幣配并。大多數的競爭幣跟比特幣區(qū)別非常小括荡,并沒有多少研究價值。但在這些通過毫無創(chuàng)意的抄襲和圈錢模式產生的競爭幣中間溉旋,依然有一些值得一提的非常重要的創(chuàng)新畸冲。這些特殊的競爭幣,要么采用完全不同的實現方式观腊,要么在比特幣現有的設計模式上加入了重大的創(chuàng)新邑闲。比如書中提到,萊特幣使用了新的算法梧油,把比特幣交易的10分鐘縮短到了2.5分鐘监憎。書作者對這些還是持肯定態(tài)度的:總體來看,加密貨幣的未來甚至比比特幣還要光明婶溯。這是因為鲸阔,比特幣引入了這樣一種全新的形式,那就是去中心化的組織和共識迄委,而且這種形式已經催生了大量不可思議的創(chuàng)新褐筛。這些創(chuàng)新很有可能影響到社會中相當廣泛的行業(yè),從分布式系統科學到金融叙身、經濟渔扎、貨幣、中央銀行以及企業(yè)管理信轿,不一而足晃痴。在以前残吩,很多人類活動都需要一個中心化的機構或組織來實現權威或可信控制點的功能,現在倘核,這些都可以去中心化了泣侮。區(qū)塊鏈和共識系統的發(fā)明,還會顯著降低大型系統在組織及協調上的花銷紧唱,同時也將消除權力攫取活尊、腐敗及管制俘獲的可趁之機。
最后漏益,作者提到了比特幣安全蛹锰。這是一個非常現實的問題了绰疤。首先是不要相信自己的電腦铜犬。它們運行著成千上萬第三方軟件組件,這些軟件往往可以不受約束地訪問用戶的文件轻庆。你電腦上安裝的眾多軟件只要有一個惡意軟件癣猾,就會威脅到你的文件,可竊取你錢包里的所有比特幣榨了。盜版操作系統和軟件更是不能碰煎谍。與黑客的斗爭是長久的過程,物理存儲就是一個很不錯的辦法龙屉。