- 區塊鏈原理、架構與應用(第2版)
- 魏翼飛編著
- 1584字
- 2023-08-31 20:08:49
1.1.1 區塊鏈是什么
中本聰(Satoshi Nakamoto)在《比特幣:一種點對點式的電子現金系統》論文中開創性地提出了基于密碼學原理而非信用的電子支付系統——比特幣。它是一種去中心化的數字貨幣,其原理是使用公共密鑰密碼來管理所有權,并通過一種稱為“工作量證明”的一致性算法來跟蹤貨幣的持有者。這種“工作量證明”算法提供了一種有效的、簡單有節制的共識算法,允許網絡中的節點一起同意比特幣總賬狀態的一組更新。該算法還提供了一種允許任何節點自由達成共識的處理機制,這一機制解決了不同節點之間建立信任、獲取權益等難題,同時阻止了女巫攻擊(1)。之后,人們提出了“權益證明”這一新方案,通過選舉的形式,其中的任意節點被隨機選擇來驗證下一個區塊,節點需要提供一定數量加密貨幣的所有權作為權益,權益份額的大小決定了被選為驗證者的概率,從而得以創建下一個區塊。這兩種方法都可以作為加密數字貨幣的支柱算法。
區塊鏈作為比特幣底層技術,伴隨著比特幣和之后各種數字貨幣的大熱,逐漸吸引了大家的關注。什么是區塊鏈?這個問題已經成為各類搜索引擎中的熱門話題。
狹義上講,區塊鏈是一個開放的分布式賬本或分布式數據庫,也就是一個不斷增長的列表,這個列表是由一個個區塊以加密的方式連接而成的,每個區塊都記錄了一系列交易,并且每一個區塊都包含了前一個區塊的哈希值、時間戳和交易數據。廣義上講,區塊鏈技術是利用加密鏈式區塊結構來驗證和存儲數據、利用分布式節點共識算法來生成和更新數據、利用自動化腳本代碼(智能合約)來編程和操作數據的一種全新的去中心化基礎架構和分布式計算范式。
可以將區塊鏈想象為一個遍布全球的公共賬簿,任何參與節點都能夠擁有這個賬簿的所有記錄,可以追根溯源。因為所有的參與節點共同維護這個公共賬簿,所以任何一個節點不能隨意更改、偽造。假設有一個可信任的中央服務器,那么按照需求所描述的去編寫代碼,就可以輕松地把狀態記錄在中央服務器的硬盤上。但如果試圖去建立一個像比特幣一樣的去中心化的貨幣系統,就需要考慮將狀態轉移系統與一致性系統相結合,從而確保每個人都同意一筆交易的順序。比特幣去中心化的一致性處理進程要求網絡中的節點連續不斷地嘗試對交易打包,每個以這種方式打成的包就稱為一個“區塊”,每個區塊都包含一個時間戳、一個隨機數、一個對上一區塊的引用和從上一個區塊開始的所有交易的列表。這樣的區塊每隔十分鐘左右就會被網絡創建出來,隨著時間的推移,就能夠創建一個持久的、不斷增長的區塊鏈,這個區塊鏈不斷地被更新,保證了其始終代表著最新的比特幣總賬的狀態。
區塊鏈上面的代碼一旦發布運行之后是無法改變的,因為區塊鏈的原創思想就是應用一旦推出,就再也無法修改,必須按照既定的代碼運行。區塊鏈的革命性在于其利用本身不可篡改的特性實現了人類社會從中心化的個人信任和制度信任轉變為去中心化的機器信任模式。區塊鏈記錄了所有狀態的初始情況,以及之后每次更改和變動記錄,不依賴于任何組織或者個人。通過一條條不可更改的歷史記錄,區塊鏈實現了讓互不信任的個體就歷史狀態達成一致。
互聯網行業的特點是強者越來越強,最終進入了巨頭壟斷時代,形成權利和信用中心。而“區塊鏈解決了操縱問題”(Vitalik Buterin,以太坊發明者),區塊鏈網絡中的數據是完全公開透明的,鏈狀結構代表的每條記錄都能夠追溯到初始狀態,想要更改區塊鏈上的任何一個信息單元都需要付出和全網作對的昂貴算力代價。中心化權利被下放,不再依賴單點或單一可信的仲裁者,每個人都將自己的所有記錄保存在一個不屬于任何人的不可篡改的數據庫里。如果網絡能夠真正實現全球參與,那么分布式的特性保證了區塊鏈能夠跨越國界和任何物理因素的制約,實現真實世界和網絡世界的完美結合。
區塊鏈技術因為比特幣而受到關注,但是它的應用并不僅僅局限于數字貨幣。作為“未來誠信的沃土”,區塊鏈正在改變未來,而有幸的是,我們正作為見證者,或者說參與者。