區(qū)塊鏈行業(yè)詞典 Part2區(qū)塊鏈基本技術(shù)


2 區(qū)塊鏈基本技術(shù)
2.1 區(qū)塊數(shù)據(jù)
區(qū)塊/ Block
區(qū)塊是在區(qū)塊鏈網(wǎng)絡(luò)上承載交易數(shù)據(jù)的數(shù)據(jù)包,是一種被標(biāo)記上時間戳和之前一個區(qū)塊的哈希值的數(shù)據(jù)結(jié)構(gòu),區(qū)塊經(jīng)過網(wǎng)絡(luò)的共識機制驗證并確認區(qū)塊中的交易。
父塊/ Parent Block
父塊是指區(qū)塊的前一個區(qū)塊,區(qū)塊鏈通過在區(qū)塊頭記錄區(qū)塊以及父塊的哈希值來在時間上排序。
區(qū)塊頭/ Block Header
記錄當(dāng)前區(qū)塊的元信息,包含當(dāng)前版本號、上一區(qū)塊的哈希值、時間戳、隨機數(shù)、Merkle Root 的哈希值等數(shù)據(jù)。此外,區(qū)塊體的數(shù)據(jù)記錄通過 Merkle Tree 的哈希過程生成唯一的 Merkle Root 記錄于區(qū)塊頭。
區(qū)塊體/ Block Body
記錄一定時間內(nèi)所生成的詳細數(shù)據(jù),包括當(dāng)前區(qū)塊經(jīng)過驗證的、區(qū)塊創(chuàng)建過程中生成的所有交易記錄或是其他信息,可以理解為賬本的一種表現(xiàn)形式。
哈希值/ 散列值/ Hash Values / Hash Codes / Hash Sums / Hashes
哈希值通常用一個短的隨機字母和數(shù)字組成的字符串來代表,是一組任意長度的輸入信息通過哈希算法得到的“數(shù)據(jù)指紋”。因為計算機在底層機器碼是采用二進制的模式,因此通過哈希算法得到的任意長度的二進制值映射為較短的固定長度的二進制值,即哈希值。此外,哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式,如果通過哈希一段明文得到哈希值,哪怕只更改該段明文中的任意一個字母,隨后得到的哈希值都將不同。
時間戳/ Timestamp
時間戳從區(qū)塊生成的那一刻起就存在于區(qū)塊之中,是用于標(biāo)識交易時間的字符序列,具備唯一性,時間戳用以記錄并表明存在的、完整的、可驗證的數(shù)據(jù),是每一次交易記錄的認證。
隨機數(shù)/ 一次性的隨機數(shù)/ Nonce
Nonce 是指“只使用一次的隨機數(shù)”,在挖礦中是一種用于挖掘加密貨幣的自動生成的、毫無意義的隨機數(shù),在解決數(shù)學(xué)難題的問題中被使用一次之后,如果不能解決該難題則該隨機數(shù)就會被拒絕,而一個新的 Nonce 也會被測試出來并且直到問題解決,當(dāng)問題解決時礦工就會得到加密貨幣作為獎勵。在區(qū)塊結(jié)構(gòu)中,Nonce 是基于工作量證明所設(shè)計的隨機數(shù)字,通過難度調(diào)整來增加或減少其計算時間;在信息安全中,Nonce 是一個在加密通信只能使用一次的數(shù)字在認證協(xié)議中,Nonce 是一個隨機或偽隨機數(shù),以避免重放攻擊。
梅克爾樹/ Merkle Tree
梅克爾樹(又叫哈希樹)是一種二叉樹,是一種高效和安全的組織數(shù)據(jù)的方法,被用來快速查詢驗證特定交易是否存在,由一個根節(jié)點、一組中間節(jié)點和一組葉節(jié)點組成。它使用哈希算法將大量的書面信息轉(zhuǎn)換成一串獨立的字母或數(shù)字。最底層的葉節(jié)點包含存儲數(shù)據(jù)或其哈希值,每個中間節(jié)點是它的兩個子節(jié)點內(nèi)容的哈希值,根節(jié)點也是由它的兩個子節(jié)點內(nèi)容的哈希值組成。
區(qū)塊容量/ Block Size
區(qū)塊鏈的每個區(qū)塊,都是用來承載某個時間段內(nèi)的數(shù)據(jù)的,每個區(qū)塊通過時間的先后順序,使用密碼學(xué)技術(shù)將其串聯(lián)起來,形成一個完整的分布式數(shù)據(jù)庫,區(qū)塊容量代表了一個區(qū)塊能容納多少數(shù)據(jù)的能力。
未花費的交易輸出/ Unspent Transaction Output / UTXO
未花費的交易輸出是一個包含交易數(shù)據(jù)和執(zhí)行代碼的數(shù)據(jù)結(jié)構(gòu),可以理解為收到的但尚未花費的加密貨幣清單。比特幣和其他加密貨幣在在其區(qū)塊鏈技術(shù)中使用 UTXO,以驗證一個人否擁有未使用的加密貨幣可用于支出。
2.2 鏈?zhǔn)浇Y(jié)構(gòu)
鏈/ Chain
鏈?zhǔn)怯蓞^(qū)塊按照發(fā)生的時間順序,通過區(qū)塊的哈希值串聯(lián)而成,是區(qū)塊交易記錄及狀態(tài)變化的日志記錄。
鏈下/ Off-chain
區(qū)塊鏈系統(tǒng)從功能角度講,是一個價值交換網(wǎng)絡(luò),鏈下是指不存儲于區(qū)塊鏈上的數(shù)據(jù)。
無代幣區(qū)塊鏈/ Token-Less Blockchain
即區(qū)塊鏈并不通過代幣進行價值交換,一般出現(xiàn)在不需要在節(jié)點之間轉(zhuǎn)移價值并且僅在不同的已被信任方之間共享數(shù)據(jù)的情況下,如私有鏈。
創(chuàng)世區(qū)塊/ Genesis Block
區(qū)塊鏈中的第一個區(qū)塊被稱為“創(chuàng)世”區(qū)塊。創(chuàng)世區(qū)塊一般用于初始化,不帶有交易信息。
區(qū)塊高度/ Block Height
一個區(qū)塊的高度是指在區(qū)塊鏈中它和創(chuàng)世區(qū)塊之間的塊數(shù)。
分叉/ Fork
在區(qū)塊鏈中,由礦工挖出區(qū)塊并將其鏈接到主鏈上,一般來講同一時間內(nèi)只產(chǎn)生一個區(qū)塊,如果發(fā)生同一時間內(nèi)有兩個區(qū)塊同時被生成的情況,就會在全網(wǎng)中出現(xiàn)兩個長度相同、區(qū)塊里的交易信息相同但礦工簽名不同或者交易排序不同的區(qū)塊鏈,這樣的情況叫做分叉。
軟分叉/ Soft Fork
指在區(qū)塊鏈或去中心化網(wǎng)絡(luò)中向前兼容的分叉。向前兼容意味著,當(dāng)新共識規(guī)則發(fā)布后,在去中心化架構(gòu)中節(jié)點不一定要升級到新的共識規(guī)則,因為軟分叉的新規(guī)則仍舊符合老的規(guī)則,所以未升級的節(jié)點仍舊能接受新的規(guī)則。
硬分叉/ Hard Fork
指在區(qū)塊鏈或去中心化網(wǎng)絡(luò)中不向前兼容的分叉,硬分叉對加密貨幣使用的技術(shù)進行永久更改,這種變化使得所有的新數(shù)據(jù)塊與原來的塊不同,舊版本不會接受新版本創(chuàng)建的區(qū)塊,要實現(xiàn)硬分叉所有用戶都需要切換到新版本協(xié)議上。如果新的硬分叉失敗,所有的用戶將回到原始數(shù)據(jù)塊。
幽靈協(xié)議/ GHOST Protocol
通過幽靈協(xié)議,區(qū)塊可以包含不只是他們父塊的哈希值,也包含其父塊的父塊的其他子塊(被稱為叔塊)的陳腐區(qū)塊的哈希值,這確保了陳腐區(qū)塊仍然有助于區(qū)塊鏈的安全性,并能夠獲得一定比例的區(qū)塊獎勵,減少了大型礦工在區(qū)塊鏈上的中心化傾向問題。
孤塊/ Orphan Block
孤塊是一個被遺棄的數(shù)據(jù)塊。因為很多節(jié)點都在維護區(qū)塊鏈并同時創(chuàng)建多個區(qū)塊,但是一次只能有一個被繼續(xù)繼承,而其它被遺棄的數(shù)據(jù)塊就是孤塊。
陳腐區(qū)塊/ Stale Block
是父塊的父塊的“其他”子塊,或更一般的說是祖先的其他子塊,但不是自己的祖先,如果A是B的一個叔塊,那B是A 的侄塊。
2.3 非對稱加密
密碼學(xué)/ Cryptography
密碼學(xué)是數(shù)學(xué)和計算機科學(xué)的分支,同時其原理大量涉及信息論。密碼學(xué)不只關(guān)注信息保密問題,還同時涉及信息完整性驗證(消息驗證碼)、信息發(fā)布的不可抵賴性(數(shù)字簽名)、以及在分布式計算中產(chǎn)生的來源于內(nèi)部和外部的攻擊的所有信息安全問題。
加密/ Cipher
加密是一系列使信息不可讀的過程,它能使信息加密也能使信息加密后能夠再次可讀,在加密貨幣中使用的密碼也使用由字母和數(shù)字組成的密鑰,該密鑰必須用于解密密碼。
加密算法/ Encryption Algorithm
加密算法是一個函數(shù),也可以視為是一把鑰匙,通過使用一個加密鑰匙,將原來的明文文件或數(shù)據(jù)轉(zhuǎn)化成一串不可讀的密文代碼。加密流程是不可逆的,只有持有對應(yīng)的解密鑰匙才能將該加密信息解密成可閱讀的明文。加密使得私密數(shù)據(jù)可以在低風(fēng)險的情況下,通過公共網(wǎng)絡(luò)進行傳輸,并保護數(shù)據(jù)不被第三方竊取、閱讀。
非對稱加密/ Asymmetric Cryptography
非對稱加密是一種保證區(qū)塊鏈安全的基礎(chǔ)技術(shù)。該技術(shù)含有兩個密鑰:公鑰和私鑰,首先,系統(tǒng)按照某種密鑰生成算法,將輸入經(jīng)過計算得出私鑰,然后,采用另一個算法根據(jù)私鑰生成公鑰,公鑰的生成過程不可逆。由于在現(xiàn)有的計算能力條件下難以通過公鑰來窮舉出私鑰(即計算上不可行),因此可以認為是數(shù)據(jù)是安全的,從而能夠保證區(qū)塊鏈的數(shù)據(jù)安全。
同態(tài)加密/ Homomorphic Encryption
同態(tài)加密是一種特殊的加密方法,允許對密文根據(jù)特定的代數(shù)運算方式進行處理后得到的仍然是加密的結(jié)果,將其解密所得到的結(jié)果與對明文進行同樣的運算結(jié)果是一樣的。即“對密文直接進行處理”與“對明文進行處理后并加密”其結(jié)果是一樣的,這項技術(shù)可以在加密的數(shù)據(jù)中進行諸如檢索、比較等操作而無需對數(shù)據(jù)先進行解密,從根本上解決將數(shù)據(jù)委托給第三方時的保密問題。
公鑰加密/ Asymmetric Cryptography / Public Key Cryptography
公鑰加密是一種特殊的加密手段,具有在同一時間生成兩個密鑰的處理(私鑰和公鑰),每一個私鑰都有一個相對應(yīng)的公鑰,從公鑰不能推算出私鑰,并且被用其中一個密鑰加密了的數(shù)據(jù),可以被另外一個相對應(yīng)的密鑰解密。這套系統(tǒng)使得節(jié)點可以先在網(wǎng)絡(luò)中廣播一個公鑰給所有節(jié)點,然后所有節(jié)點就可以發(fā)送加密后的信息給該節(jié)點,而不需要預(yù)先交換密鑰。
RSA 加密算法/ RSA Algorithm
RSA 公開密鑰密碼體制是使用不同的加密密鑰與解密密鑰,是一種“由已知加密密鑰推導(dǎo)出解密密鑰在計算上是不可行的”密碼體制。它通常是先生成一對 RSA 密鑰,其中之一是保密密鑰,由用戶保存另一個為公開密鑰,可對外公開,甚至可在網(wǎng)絡(luò)服務(wù)器中注冊。
橢圓加密算法/ Elliptic Curve Cryptography / ECC
橢圓加密算法是一種公鑰加密體制,最初由 Koblitz和 Miller 兩人于 1985 年提出,其數(shù)學(xué)基礎(chǔ)是利用橢圓曲線上的有理點構(gòu)成 Abel 加法群上橢圓離散對數(shù)的計算困難性。
明文/ Plaintext
在密碼學(xué)中,明文是指傳送方想要接收方獲得的可讀信息。明文經(jīng)過加密所產(chǎn)生的信息被稱為密文,而密文經(jīng)過解密而還原得來的信息被稱為明文。
密文/ Ciphertext
在密碼學(xué)中,密文是明文經(jīng)過加密算法所產(chǎn)生的。因為密文是一種除非使用恰當(dāng)?shù)乃惴?進行解密,否則人類或計算機是不可以直接閱讀理解的加密形態(tài),可以理解為被加密的信息。
環(huán)簽名/ Ring Signatures
因簽名中參數(shù) Ci(i=1,2,…,n)根據(jù)一定的規(guī)則首尾相接組成環(huán)狀而得名。其實就是實際的簽名者用其他可能簽字者的公鑰產(chǎn)生一個帶有斷口的環(huán),然后用私鑰將斷口連成一個完整的環(huán)。任何驗證人利用環(huán)成員的公鑰都可以驗證一個環(huán)簽名是否由某個可能的簽名人生成。
數(shù)字簽名/ Digital Signatures
數(shù)字簽名(又稱公鑰數(shù)字簽名、電子簽名)是一種類似寫在紙上的簽名,但是使用了公鑰加密領(lǐng)域的技術(shù)實現(xiàn),用于鑒別數(shù)字信息的方法,在網(wǎng)絡(luò)上可以使用數(shù)字簽名來進行身份確認。數(shù)字簽名是一個獨一無二的數(shù)值,若公鑰能通過驗證,那我們就能確定對應(yīng)的公鑰的正確性,數(shù)字簽名兼具可確認性和不可否認性。
多重簽名/ Multi-Signatures
多重簽名意味著在交易發(fā)生之前需要多個簽名或批準(zhǔn)。多重簽名會增加加密貨幣的安全性,這樣一個人就不能在未經(jīng)他人同意的情況下把所有的數(shù)字貨幣都拿走。
數(shù)字證書/ Digital Certificate
數(shù)字證書是區(qū)塊鏈中標(biāo)識各個節(jié)點的身份信息的一串?dāng)?shù)字,用以證明公鑰的歸屬以及內(nèi)容信息的合法性,在區(qū)塊鏈的非對稱加密中,一旦通過中間人攻擊將公鑰替換后將會破壞區(qū)塊鏈的安全體系,因此通過共識機制建立互相承認的數(shù)字證書機制,在不需要第三方的情況下識別數(shù)據(jù)的合法性。
哈希/ 散列/ Hash
哈希又稱作“散列”,是一種數(shù)學(xué)計算機程序,它接收任何一組任意長度的輸入信息,通過哈希算法變換成固定長度的數(shù)據(jù)指紋輸出形式,如字母和數(shù)字的組合,該輸出就是“哈希值”。哈希使存儲和查找信息速度更快,因為哈希值通常更短所以更容易被找到。同時哈希能夠?qū)π畔⑦M行加密,一個好的哈希函數(shù)在輸入域中很少出現(xiàn)哈希沖突,哈希一個特定文檔的結(jié)果總是一樣的,但找到具有相同哈希值的兩個文件在計算上是計算上不可行的。
安全哈希算法/ Secure Hash Algorithm 256 / SHA 256
SHA 256是 SHA 系列算法之一,由美國國安局設(shè)計、美國國家標(biāo)準(zhǔn)與技術(shù)研究院發(fā)布的一套哈希算法,由于其摘要長度為 256bits,故稱 SHA 256。SHA 256 是保護數(shù)字信息的最安全的方法之一。
鑰匙/ Key
鑰匙是使隱藏的、不可讀的信息可讀的一串秘密字母和數(shù)字。
密鑰/ Secret Key
密鑰是用于加密或解密信息的一段參數(shù),在非對稱加密系統(tǒng)中,是通過利用公鑰(賬戶)與私鑰(密碼)的配合而實現(xiàn)的。
公鑰/ Public Key
公鑰與私鑰是通過一種算法得到的一個密鑰對,公鑰是密鑰對中公開的部分,私鑰則是非公開的部分,公鑰通常用于加密會話密鑰、驗證數(shù)字簽名,或加密可以用相應(yīng)的私鑰解密的數(shù)據(jù)。
私鑰/ Private Key
公鑰與私鑰是通過一種算法得到的一個密鑰對,公鑰是密鑰對中公開的部分,私鑰則是非公開的部分,私鑰是指與一個地址(地址是與私鑰相對應(yīng)的公鑰的哈希值)相關(guān)聯(lián)的一把密鑰,是只有你自己才知道的一串字符,可用來操作賬戶里的加密貨幣。
零知識證明/ Zero-Knowledge Proof
證明者和驗證者之間進行交互,證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。
計算上不可行/ Computationally Feasible
密碼算法依賴的原理是當(dāng)前計算不可行的數(shù)學(xué)問題,而“計算不可行”是一個在時間及空間上相對而言的概念,計算上不可行即表示一個程序是可處理的但是需要一個長得不切實際的時間(如幾十億年)來處理的步驟。通常認為2的 80 次方個計算步驟是計算上不可行的下限。
暴力破解法/ Brute Force Attack / BFA
暴力破解法又名窮舉法,是一種密碼分析的方法,通過逐個推算猜測每一個可能解鎖安全系統(tǒng)的密鑰來獲取信息的方法。
2.4 分布式存儲
分布式存儲/ Distributed Data Store / DDS
傳統(tǒng)上的分布式存儲本質(zhì)上是一個中心化的系統(tǒng),是將數(shù)據(jù)分散存儲在多臺獨立的設(shè)備上,采用可擴展的系統(tǒng)結(jié)構(gòu)、利用多臺存儲服務(wù)器分擔(dān)存儲負荷、利用位置服務(wù)器定位存儲信息?;?P2P 網(wǎng)絡(luò)的分布式存儲是區(qū)塊鏈的核心技術(shù),是將數(shù)據(jù)存儲于區(qū)塊上并通過開放節(jié)點的存儲空間建立的一種分布式數(shù)據(jù)庫,解決傳統(tǒng)分布式存儲的問題。
P2P 存儲/ Peer-to-Peer Storage / P2P Storage
P2P 存儲是一種不存在中心化控制機制的存儲技術(shù)。P2P 存儲通過開放節(jié)點的存儲空間,以提高網(wǎng)絡(luò)的運作效率,解決傳統(tǒng)分布式存儲的服務(wù)器瓶頸、帶寬而帶來的訪問不便等問題。
分布式/ Distributed
分布式是通過區(qū)塊鏈的 P2P 技術(shù)實現(xiàn),分布式是描述一個計算機系統(tǒng)具有在多臺計算機上同時運行和維護的完整副本,沒有任何人或組織來控制這個系統(tǒng)。
賬本/ Ledger
賬本是指包括區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)、所有的交易信息和當(dāng)前狀態(tài)的數(shù)字記錄。
分布式賬本/ Distributed ledger Technology / DLT
分布式賬本是指一種在網(wǎng)絡(luò)成員之間共享、復(fù)制和同步的數(shù)據(jù)庫,分布式賬本在區(qū)塊鏈中是一個通過共識機制建立的數(shù)字記錄,區(qū)塊鏈網(wǎng)絡(luò)中的參與者可以獲得一個唯一、真實賬本的副本,因此難以對分布式賬本進行篡改。更改記錄的方式非常困難,技術(shù)非常安全。
節(jié)點/ Node
節(jié)點是區(qū)塊鏈分布式系統(tǒng)中的網(wǎng)絡(luò)節(jié)點,是通過網(wǎng)絡(luò)連接的服務(wù)器、計算機、電話等,針對不同性質(zhì)的區(qū)塊鏈,成為節(jié)點的方式也會有所不同。以比特幣為例,參與交易或挖礦即構(gòu)成一個節(jié)點。
全節(jié)點/ 完整節(jié)點/ Full Node
全節(jié)點是是擁有完整區(qū)塊鏈賬本的節(jié)點,全節(jié)點需要占用內(nèi)存同步所有的區(qū)塊鏈數(shù)據(jù),能夠獨立校驗區(qū)塊鏈上的所有交易并實時更新數(shù)據(jù),主要負責(zé)區(qū)塊鏈的交易的廣播和驗證。
2.5 共識機制
共識機制/ Consensus
由于點對點網(wǎng)絡(luò)下存在較高的網(wǎng)絡(luò)延遲,各個節(jié)點所觀察到的事務(wù)先后順序不可能完全一致。因此區(qū)塊鏈系統(tǒng)需要設(shè)計一種機制對在差不多時間內(nèi)發(fā)生的事務(wù)的先后順序進行共識,這種對一個時間窗口內(nèi)的事務(wù)的先后順序達成共識的算法被稱為“共識機制”。
工作量證明/ Proof of Work / PoW
工作量證明簡單理解就是一份證明,用來確認節(jié)點做過一定量的工作。監(jiān)測工作的整個過程通常是極為低效的,而通過對工作的結(jié)果進行認證來證明完成了相應(yīng)的工作量,則是一種非常高效的方式。比特幣在區(qū)塊的生成過程中使用了 PoW 機制,要得到合理的隨機數(shù)求解數(shù)學(xué)難題需要經(jīng)過大量嘗試計算,通過查看記錄和驗證區(qū)塊鏈信息的證明,就能知道是否完成了指定難度系數(shù)的工作量。
權(quán)益證明/ Proof of Stake / PoS
PoS 也稱權(quán)益證明機制,類似于把資產(chǎn)存在銀行里,銀行會通過你持有數(shù)字資產(chǎn)的數(shù)量和時間給你分配相應(yīng)的收益。采用 PoS 機制的加密貨幣資產(chǎn),系統(tǒng)會根據(jù)節(jié)點的持幣數(shù)量和時間的乘積(幣天數(shù))給節(jié)點分配相應(yīng)的權(quán)益。
權(quán)益授權(quán)證明/ Delegated Proof of Stake / DPoS
DPoS 是一種類似董事會的授權(quán)共識機制,該機制讓每一個持幣人對整個系統(tǒng)的節(jié)點進行投票,決定哪些節(jié)點可以被信任并代理他們進行驗證和記賬,同時生成少量的對應(yīng)獎勵。DPoS 大幅提高區(qū)塊鏈的處理能力,并降低區(qū)塊鏈的維護成本,從而使交易速度接近于中心化的結(jié)算系統(tǒng)。
燃燒證明/ Proof of Burn / PoB
燃燒證明是一種投資于全新的加密貨幣的方法:為了獲得一種新的貨幣,你必須“燒掉”(摧毀)另一種貨幣,比如比特幣。從理論上講,這將使每一種新的加密貨幣價值相當(dāng)于被摧毀的幣的價值,但實際上你不能真的摧毀加密貨幣,系統(tǒng)需要你把它送到一個會減少它的總供應(yīng)量的地方。
開發(fā)者證明/ Proof of Developer / PoD
開發(fā)者證明是一個真實的、活的軟件開發(fā)人員創(chuàng)建了一種加密貨幣的證據(jù)。它用于啟動新的加密貨幣,以防止匿名開發(fā)人員在不提供可行的加密貨幣的情況下收集和竊取資金。
重要性證明/ Proof of Important / PoI
重要性證明是根據(jù)交易量、活躍度等維度而不僅僅是根據(jù)工作量和幣的數(shù)量來決定區(qū)塊鏈的記賬權(quán)力。
基于交易的權(quán)益證明機制/ Transaction as Proof of Stake / TaPOS
TaPOS 為股東們提供了一個長效機制來直接批準(zhǔn)他們的代表的行為,平均而言,51%的股東在6 個月內(nèi)會直接確認每個區(qū)塊,取決于活躍流通的股份所占的比例,差不多10% 的股東可以在幾天內(nèi)確認區(qū)塊鏈。這種方式直接確認保障了網(wǎng)絡(luò)的長期安全,并使所有的攻擊嘗試變得極度清晰易見。
瑞波共識機制/ Ripple Consensus
瑞波共識算法使一組節(jié)點能夠基于特殊節(jié)點列表達成共識,初始特殊節(jié)點列表就像一個俱樂部,要接納一個新成員,必須由 51% 的該俱樂部會員投票通過。共識遵循核心成 員 51% 權(quán)力規(guī)則,外部人員則沒有影響力。
分布式共識/ Distributed Consensus
所有的節(jié)點必須定期更新彼此之間的不斷復(fù)制的狀況,通過專門的槽位來識別每一個更新。當(dāng)所有節(jié)點更新了他們的分類賬并放映的值相同時,就可達成共識,會將協(xié)商一致的聲明具體化并發(fā)布至它們的分類賬副本去。
驗證池機制/ POOL
驗證池機制是基于傳統(tǒng)的分布式一致性技術(shù)和數(shù)據(jù)驗證機制的結(jié)合,它使得在成熟的分布式一致性算法(Pasox、Raft)基礎(chǔ)上,不需要代幣也能實現(xiàn)秒級共識驗證。
51% 攻擊/ 51% attack
51% 攻擊,是指利用比特幣以算力作為競爭條件的特點,憑借算力優(yōu)勢篡改或者撤銷自己的付款交易。如果有人掌握了 50% 以上的算力,他能夠比其他人更快地找到開采區(qū)塊需要的那個隨機數(shù),因此他能夠比其他人更快地創(chuàng)建區(qū)塊。
雙重支付/ 雙重花費/ 雙花/ Double Spending
雙重支付是一個故意的分叉,是指具有大量計算能力的節(jié)點發(fā)送一個交易請求并購買資產(chǎn),在收到資產(chǎn)后又做出另外一個交易將相同量的幣發(fā)給自己。攻擊者通過創(chuàng)造一個分叉區(qū)塊,將原始交易及偽造交易放在該區(qū)塊上并基于該分叉上開始挖礦。如果攻擊者有超過 50%的計算能力,雙重花費最終可以在保證在任何區(qū)塊深度上成功;如果低于50%則有部分可能性成功。
拜占庭將軍問題/ Byzantine Generals Problem / BGP
拜占庭將軍問題是指“在存在消息丟失的不可靠信道上試圖通過消息傳遞的方式達到一致性是不可能的”。因此在系統(tǒng)中存在除了消息延遲或不可送達的故障以外的錯誤,包括消息被篡改、節(jié)點不按照協(xié)議進行處理等,將會潛在地會對系統(tǒng)造成針對性的破壞。
改進型實用拜占庭容錯/ Practical Byzantine Fault Tolerance / PBFT
PBET 共識機制是少數(shù)服從多數(shù),根據(jù)信息在分布式網(wǎng)絡(luò)中節(jié)點間互相交換后各節(jié)點列出所有得到的信息,一個節(jié)點代表一票,選擇大多數(shù)的結(jié)果作為解決辦法。PBET 將容錯量控制在全部節(jié)點數(shù)的 1/3,即如只要有超過 2/3 的正常節(jié)點,整個系統(tǒng)便可正常運作。
授權(quán)拜占庭容錯算法/ Delegated Byzantine Fault Tolerance / dBFT
dBFT,是基于持有權(quán)益比例來選出專門的記賬人(記賬節(jié)點),然后記賬人之間通過拜占庭容錯算法(即少數(shù)服從多數(shù)的投票機制)來達成共識,決定動態(tài)參與節(jié)點。dBFT可以容忍任何類型的錯誤,且專門的多個記賬人使得每一個區(qū)塊都有最終性、不會分叉。
聯(lián)邦拜占庭協(xié)議/ Federated Byzantine Agreement / FBA
聯(lián)邦拜占庭協(xié)議的主要特性是去中心化和任意行為容錯,通過分布式的方法,達到法定人數(shù)或者節(jié)點足夠的群體能達成共識,每一個節(jié)點不需要依賴相同的參與者就能決定信任的對象來完成共識。