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