Genesis Hack中的協議跟蹤邀請開發人員為現有 區塊鏈 協議的性能和可伸縮性問題構建解決方案,或者從頭構建全新的協議。在本文中,我們將試圖通過兩個示例區塊鏈協議來理解什么是區塊鏈協議,從而推斷其基本特征。
什么是協議?
我們都知道,協議在計算機科學中是一組規則或程序,用來控制兩個或更多電子設備之間的數據傳輸。協議有助于確定為了使計算機交換信息,必須對信息進行結構化,以及各方將如何發送和接收信息。
常見的互聯網協議有TCP/IP、HTTPS和DNS。
區塊鏈中的協議
區塊鏈是由多個設備(節點)組成的網絡,這些設備(節點)都是同等重要的,它們通過互聯網相互連接。從本質上說,區塊鏈是一個分類帳,它以分布式p2p方式存儲交易并在被所有參與節點驗證后才進行記錄。
這種分布式賬本工作在預先定義的規則上,這些規則是網絡中所有參與節點(對等點)都同意的。這些規則包括:
如何管理和驗證交易,
定義所有參與節點相互交互機制的算法,
(在某些情況下),應用程序編程接口。
這些控制區塊鏈網絡的規則稱為協議。它本質上是網絡所遵循的通用通信規則。
區塊鏈協議的必備術語
分布式分類賬: 分布式分類賬是一種數據庫類型,分布在多個對等點上,記錄一個接一個地存儲在一個連續的分類賬中。
智能合約:一組編碼腳本形式的邏輯規則,可以嵌入到區塊鏈中來管理事務。
共識算法:定義在網絡上達成協商一致以驗證事務的算法。
Coin和Token:每個區塊鏈協議都需要一個數字資產來保持網絡的運行。這些也被用來激勵參與網絡的同伴。這需要Coin和Token等數字資產的出現。在區塊鏈領域,這兩個術語經常互換使用,但兩者之間有微妙的區別。
實際上,Coin和Token是用于為區塊鏈網絡提供動力的數字資產。它們的功能或多或少也是相同的。只有在協議中定義它們的級別才能區分它們。
Coin由協議本身在最低級別定義。,Coin是區塊鏈網絡的最新數字資產。例如,比特幣協議的原生貨幣是比特幣。
Token是在更高層次上由智能合約而不是協議定義的數字資產。例如,以太坊協議有一個本地的以太幣。以太坊允許開發人員在其協議上構建dApp。一個dApp的節點通信規則可能與另一個由智能和人與人定義的dApp不同。因此,Token是dApp的原生數字資產。
51%攻擊: 某人控制超過50%的網絡節點修改交易歷史和沉溺于雙倍消費的能力。
示例:區塊鏈網絡上的節點應該向整個網絡廣播它們形成的塊。如果一個節點或一組節點開始控制網絡的50%以上,它就可以單獨形成塊,而不向網絡廣播這些塊。網絡仍然遵循區塊鏈的公共版本,節點可以通過先在公共區塊鏈上花錢,然后在私有區塊鏈上花錢,從而實現重復支出。
之后,由于他們控制了51%的網絡,他們可以廣播他們的私有的區塊鏈,并形成更長的鏈。由于最長鏈規則是最合法的鏈,其他參與者會認為這是正確的鏈。以前沒有包含在這個鏈中的事務(因為它是私有的)將被逆轉,讓惡意節點訪問其他人的錢。
區塊鏈協議的例子
比特幣網絡將世界引入了區塊鏈。根據設想的不同目標和用例,設計了不同的協議。我們將研究三種主要區塊鏈協議的關鍵特性。
比特幣協議
設計目標:允許通過分散的網絡加密支付交易。
任何人都可以加入的公開的、未經許可的區塊鏈。
底層技術組件:加密哈希函數、數字簽名、p2p網絡、公私密鑰加密和工作證明(PoW)共識算法。
每個節點都可以訪問區塊鏈上的完整信息。因此,具有去中心化特性。
用戶可以進行不可逆的事務,而不需要信任第三方。
本機加密貨幣--比特幣
以太坊協議
設計目標:為開發者提供一個區塊鏈平臺,讓他們可以啟動自己的區塊鏈項目和分散的應用程序。
公共區塊鏈
底層技術:密碼學哈希函數、數字簽名、p2p網絡、公私密鑰加密、以及工作證明共識算法。
每個節點都可以訪問區塊鏈上的完整信息。因此,具有去中心化的特性。
用戶可以執行不可逆的事務,而不需要信任第三方。
本機加密貨幣--以太幣。
以太坊區塊鏈提供了一個更大,更廣闊的視野,以達到區塊鏈可以服務的目標。以太坊平臺啟動了VeChain和OmiseGo等多個加密貨幣項目。它也成為了dApp開發的平臺,并開發了Cryptokitties、Brave、PundiX等dApp。
在這個創新之后,多個協議與一個或另一個創新一起啟動。例如,區塊鏈的所有節點驗證特性使其運行緩慢,從而導致了可伸縮性問題。Zilliqa、EOS和Cardano是嘗試為可伸縮性問題構建解決方案的區塊鏈的一些例子。
區塊鏈協議的另一個創新是不同的共識性算法模型。利用比特幣,引入了PoW算法。但是后來的發展產生了一些算法,如權益證明(PoS)、委托關系證明(dPoS)等。
Hyperledger是一個區塊鏈,它試圖通過一個被許可的協議來解決企業采用區塊鏈的問題,在這個協議中,只有受信任的實體才能加入網絡并驗證交易。
區塊鏈協議的基本特性
交易及智能合約
區塊鏈實質上是進行記錄交易的賬簿。關于區塊鏈的交易是指根據區塊鏈的規則(智能合約)管理資產的交易。
共識
區塊鏈網絡上的所有對等點都一致同意驗證事務。這種共識性是由輸入到區塊鏈協議層的算法控制的。區塊鏈為所有對等點提供了每個事務的相同副本,從而消除了信任,形成了一個不可信的分布式網絡。
區塊鏈協議的基本特征可以總結為:
去中心化 :區塊鏈必須以一種可以訪問和復制的方式存儲網絡上的任何節點。
不可變性: 區塊鏈永久記錄所有事務。記錄一旦添加,就不能更改。
共識: 區塊鏈上的事務只有在所有參與節點達成協商一致后才進行驗證。