官术网_书友最值得收藏!

1.2 計算模式的演變

在計算機出現以后,計算技術領域經歷了3個重要階段:以大型機等主機為主的集中式計算模式,以微型機為主的桌面計算模式和以網絡為主的分布式計算模式 [2]。計算模式隨著計算機科學技術的發展而演進,同時也推動了人類社會由工業革命時代邁向信息革命時代。

1.2.1 分布式計算的出現

20世紀60年代,大型計算機的出現開啟了信息化革命的前奏。信息革命的深入使得成本昂貴的中央計算模式不能滿足經濟發展所需要的廣泛信息處理需求。隨后在20世紀80年代,個人電腦分散計算模式登上歷史舞臺,極大地推動了信息化技術和應用的普及。客戶/服務器計算模式出現后,個人電腦分散計算模式就從當初的主要計算能力提供者降低為網絡客戶終端的計算能力提供者。個人電腦的計算能力有限,加上在可靠性、可管理性和安全性等方面都存在很大問題,使其不能適應信息社會發展的需要。用戶迫切需要將分散的計算資源連成網絡,以較低成本共享計算資源與處理能力,實現大范圍協同工作。在這種情況下,分布式計算技術受到關注并得到很大發展,使得計算模式又一次發生變革——從個人電腦的分散計算模式進入了分布式計算模式。

和集中式中心化計算以及個人電腦分散式計算模式不同的是,分布式計算將一個任務拆分成多個任務,放在多個節點上并行執行,這樣大大提升了運行效率。但分布式計算也帶來一些問題,我們將在下面討論。

1.2.2 分布式計算的挑戰

分布式計算系統面臨的挑戰是:網絡環境下,故障情況發生是常態——網絡可能會斷網,節點可能宕機,特別是公共互聯網上還存在著蓄意破壞的節點或者被木馬、病毒植入的節點。在這種經常發生故障的環境里面,需要分布式共識算法來解決系統的一致性問題,以保障分布式系統中各節點能夠協作。從20世紀80年代開始,計算機科學家們就已經開始了分布式共識算法的研究。科學家們發現,在任何一個有故障節點存在的異步通信網絡環境中,理論上找不到一個確定性的共識算法,能在有限時間內讓所有非故障節點達成一致。這個看上去非常嚴苛的理論限制并不能停止科學家們研究共識算法的步伐。相反,科學家們根據實際的應用場景,特別是把異步通信的條件放寬,引入同步、半異步、消息認證機制等網絡通信條件,設計出了不同的實用共識算法。

之后科學家也發現,在一個可能發生故障的分布式網絡中,不可能同時達到一致性、可用性和分區容錯性的目標。

分布式系統的這些局限使得架構師在設計分布式系統的時候,往往需要根據實際情況做權衡取舍。一般來說,傳統企業計算強調強一致性,因此所設計的分布式系統需要犧牲可用性以換取強一致性和分區容錯性。谷歌GFS系統的設計就采用了這個思路。而另一方面,在互聯網那樣對可用性和擴展性要求高的分布式環境中,傳統計算模式中強一致性至關重要,往往需要弱化成“最終一致性”。例如亞馬遜AWS的Dynamo分布式數據庫,就犧牲了強一致性來換取可用性和分區容錯性。

因此,共識算法也分為“強一致性”共識算法和“最終一致性”共識算法。“強一致性”共識算法又分成可以容忍宕機或宕機恢復故障的Paxos家族共識算法,和可以容忍任意節點故障(也稱為拜占庭故障)的BFT共識算法。“最終一致性”共識算法容忍網絡狀態的暫時性不一致,例如比特幣的PoW共識機制。例如在某一時間,比特幣網絡可以有暫時性的分叉,但隨著時間的推移,其協議設計思路是正常的節點會跟隨最長的鏈條,從而解決暫時性不一致的分叉問題。

科學家在分布式共識算法上所取得的成果,加上在密碼學和P2P網絡上的研究進展,奠定了后面區塊鏈架構的技術基礎。

1.2.3 比特幣“突圍”

1.比特幣的誕生與傳播

2008年9月,以雷曼兄弟的倒閉為開端,金融危機在美國爆發并向全世界蔓延。為應對危機,各國政府采取“量化寬松”等措施,救助由于自身過失陷入危機的大型金融機構。這些措施帶來了廣泛的質疑,并一度引發了“占領華爾街”運動。

2008年10月31日紐約時間下午2點10分,在一個普通的密碼學郵件列表中,幾百個成員均收到了自稱是“中本聰”的人發的名為《比特幣:一種點對點的電子現金系統》(Bitcoin: A Peer-to-Peer Electronic Cash System)[3]的電子郵件,其中描述了一個新的貨幣體系。同年11月16日,中本聰放出了比特幣代碼的先行版本。

2009年1月3日,中本聰在位于芬蘭赫爾辛基的一個小型服務器上挖出了比特幣的第一個區塊——創世區塊(Genesis Block),并獲得了首個區塊獎勵——50個比特幣。在創世區塊中,中本聰寫下這樣一句話:

“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”(“2009年1月3日,財政大臣站在第二次救助銀行的邊緣”)

這句話是當天《泰晤士報》頭版的標題。中本聰將它寫進創世區塊,不但清晰地展示著比特幣的誕生時間,還表達著對舊體系的嘲諷。正是比特幣的出現使得區塊鏈正式進入了公眾視野。

如今,比特幣已經成為數字貨幣領域的翹楚,擁有數千億美元的市值,但中本聰卻于2010年12月選擇隱退。中本聰是誰?這是每一個開始了解比特幣的人都感興趣的話題。從《紐約客》到《新聞周刊》,媒體們找到了數個自稱是中本聰,或者被認為是中本聰的人。但無一例外,這些發現都因為可信度不足,受到公眾的質疑。中本聰是誰,也許我們永遠不得而知。

2.比特幣價值發展歷程

比特幣創始之初,在很長時間內只在技術工程師之間以娛樂為目的進行流通,只能屬于一種“玩具貨幣”。第一筆比特幣交易發生于2009年1月12日,中本聰發送了10比特幣給密碼學專家哈爾·芬尼。2010年5月21日,佛羅里達程序員用1萬比特幣購買了價值25美元的比薩優惠券,隨著這筆交易誕生了比特幣第一個公允匯率。自此以后,比特幣與實物的交換以這種間接模式慢慢開始。據CoinDesk估算,目前全球大約有60000個商家接受比特幣。表1-1概括了比特幣的發展歷程。

表1-1 比特幣的發展歷程

3.比特幣的交易

比特幣使用整個P2P網絡中眾多節點構成的分布式數據庫來確認并記錄所有的交易行為。圖1-1是中本聰在其比特幣白皮書中的示例。圖中,每筆交易的輸入都來自過去未花費的某筆交易的輸出(比特幣里叫UTXO),該筆輸出有接收人的地址。當所有者2要將他的比特幣轉給所有者3時,他首先將他從所有者1那里接收到的比特幣作為輸入,然后將所有者3的地址放在交易的輸出部分,最后在交易中有自己的私鑰簽名,并附上自身的公鑰。在交易驗證的時候,礦工將檢查所有者2的簽名是否和他的公鑰匹配。由于每筆交易單都記錄了該筆資金的前一個擁有者、當前擁有者以及后一個擁有者,我們就可以依據交易單實現對資金的全程追溯。這也是比特幣的典型特征之一。最后,當每一筆交易完成時,系統都會向全網進行廣播,告訴所有用戶這筆交易的實施。

圖1-1 比特幣的交易過程示意圖

由于每筆交易是相對分散的,為了更好地統計交易,比特幣系統創造了“區塊”這一概念。每個區塊均包含以下3種要素:一是本區塊的ID(哈希值);二是若干交易單;三是前一個區塊的ID(哈希值)。比特幣系統大約每10分鐘創建一個區塊,其中包含了這段時間里全網范圍內發生的大部分交易。每個區塊中也包含了前一個區塊的ID,這種設計使得每個區塊都能找到其前一個區塊,如此可一直倒推至起始區塊,從而形成一條完整的交易鏈條。因此,從比特幣的誕生之日起,全網就形成了一條唯一的主區塊鏈,其中記錄了從創世區塊誕生以來的所有交易記錄并以每10分鐘新增一個區塊的速度擴展。這條主區塊鏈在每添加一個區塊后,都會向全網廣播,從而使得每個參與比特幣交易的主節點上都有一份拷貝。在現實世界里,每筆非現金交易都由銀行系統進行記錄,一旦銀行計算機網絡崩潰,所有數據都會遺失。而在互聯網世界里,比特幣的所有交易記錄都保存在全球上萬臺計算機中,只要全球有一臺裝有比特幣程序的計算機還能工作,這條主區塊鏈就可以被完整地讀取。如此高度分散化的交易信息存儲,使得比特幣區塊鏈上交易完全遺失的可能性變得微乎其微。

1.2.4 比特幣的局限

比特幣的區塊鏈系統自2009年在互聯網上開源運行以來,有成功的地方,但也顯示出一些難以克服的內在缺陷。

1)按中本聰的設計,比特幣約每10分鐘出塊,每個塊的容量定為1MB,因此理論上每秒只能確認7筆交易,這和大部分的商用系統所要求的交易吞吐率有很大的差距。對比之下,Visa的網絡系統每秒最快可處理10000筆交易,支付寶的記錄是2014雙11購物節每秒80000筆。因此,當比特幣使用者增多時,交易排隊等待打包的時間會很長。

2)比特幣當初的設計是“每個CPU一票”,強調公平,但隨著比特幣價格的攀升,挖礦成了暴利行業,礦機廠商開始推出專用芯片(ASIC),通用CPU或GPU挖礦被淘汰,個人挖礦已經無利可圖,礦池越來集中,到現在全球70%的算力集中在前五個最大的礦池中。礦池算力的過度集中使得原來中本聰去中心化的設計名存實亡,因為礦池主的話語權大增,他們可以隨意分叉比特幣。2017年比特大陸支持的比特現金(BCH)分叉就是一個典型的例子。

3)比特幣的挖礦是高能耗產業。據統計,目前比特幣挖礦的一年耗電量,已經超過愛爾蘭整個國家一年的耗電量。挖礦行為演變為“軍備競賽”增加了比特幣體系的資源消耗。隨著時間的推移和競爭的加劇,整個比特幣產業鏈將成為極端資本密集型行業。

4)由于比特幣的PoW共識機制是“最終一致性”共識機制,因此比特幣的交易確認基于概率,缺乏最終確認性。在破壞者算力超過50%時候,比特幣的交易有可能被推翻,比特幣有可能被“雙花”。這就是常說的比特幣存在所謂的“51%算力攻擊”的威脅。在礦池算力高度集中的今天,這個威脅并不遙遠。

5)比特幣加大了金融監管的難度。在傳統金融監管過程中,幾乎所有國家都非常依賴銀行系統來查驗交易的資金進出。而比特幣獨立的支付網絡則有效地躲開了這種追查途徑,使得國家監管資金動向非常困難。由于其匿名特性,比特幣成為犯罪資金的主要載體,在許多非法網站上,甚至成為唯一的支付手段。

主站蜘蛛池模板: 天津市| 正阳县| 濮阳县| 二连浩特市| 开原市| 平武县| 华亭县| 沧州市| 鞍山市| 宜良县| 高雄市| 密山市| 台南市| 康乐县| 呼伦贝尔市| 安图县| 宜城市| 邹城市| 贺兰县| 施秉县| 深圳市| 九江市| 阿坝| 涞水县| 中江县| 姜堰市| 海城市| 阳高县| 兴文县| 金湖县| 江油市| 蒲城县| 颍上县| 高雄县| 襄樊市| 巴南区| 齐齐哈尔市| 洛扎县| 光泽县| 青铜峡市| 门源|