基本概念
通用概念
比特幣
英文名稱Bitcoin,由中本聰于2008年提出的一種電子加密貨幣,在全球具有很高的知名度,是區(qū)塊鏈早期的典型應用。
區(qū)塊
英文名稱Block,每個區(qū)塊記錄著上一個區(qū)塊的hash值、本區(qū)塊中的交易集合、本區(qū)塊的hash等基礎(chǔ)數(shù)據(jù)。由于每個區(qū)塊都有上一區(qū)塊的hash值,區(qū)塊間由這個值兩兩串聯(lián),形成區(qū)塊鏈。
區(qū)塊鏈
英文名稱Blockchain,最早起源于比特幣的底層技術(shù),并在其后不斷演進發(fā)展。區(qū)塊鏈本質(zhì)是一種多方共享的分布式賬本技術(shù)。它通過數(shù)學方法實現(xiàn)交易數(shù)據(jù)和歷史記錄的不可篡改性,通過共識算法和智能合約實現(xiàn)各參與方對交易的共同確認和賬本記錄。區(qū)塊鏈分為公有鏈、聯(lián)盟鏈、私有鏈三種基本類型。區(qū)塊鏈的實現(xiàn)技術(shù)框架有以太坊、EOS、Hyperledger Fabric、Corda等等。
智能合約
英文名稱Smart Contract,區(qū)塊鏈技術(shù)的特性之一,用計算機語言描述合同條款、交易的條件、交易的業(yè)務邏輯等,通過調(diào)用智能合約實現(xiàn)交易的自動執(zhí)行和對賬本數(shù)據(jù)的操作。
證書頒發(fā)機構(gòu)
英文名稱Certificate Authority,簡稱CA,數(shù)字證書頒發(fā)機構(gòu)是受信任的第三方機構(gòu),頒發(fā)的數(shù)字證書是為最終用戶數(shù)據(jù)加密的公共密鑰。
交易
英文名稱Transaction,區(qū)塊鏈接收的數(shù)據(jù)稱之為交易。
區(qū)塊鏈高度
英文名稱Height,當前區(qū)塊鏈上出塊(Block)的最大數(shù)目
哈希
英文名稱Transaction Hash,同交易哈希。交易上鏈成功后,產(chǎn)生的唯一哈希值
螞蟻區(qū)塊鏈特有概念
標識
英文名稱Identity。在區(qū)塊鏈中唯一標識一個賬戶或者智能合約,長度為 256 位。一般為一個唯一可讀內(nèi)容的哈希值。
存證數(shù)據(jù)
英文名稱Ledger data。區(qū)塊鏈本身具有不可篡改的特性,寫入?yún)^(qū)塊鏈的數(shù)據(jù)都是可信任、不可篡改的,為了讓數(shù)據(jù)具備公正力,寫入?yún)^(qū)塊鏈的數(shù)據(jù)可稱為存證數(shù)據(jù),存證數(shù)據(jù)可以為一個字符串、一個文件的hash等,以表示文本、文件等存證數(shù)據(jù)。
根哈希
英文名稱Root hash。默克爾樹的根哈希值,根據(jù)當前區(qū)塊鏈交易算出。
共識算法
英文名稱Consensus algorithm。一種分布式系統(tǒng)數(shù)據(jù)一致性保證的算法,通過一定的協(xié)議交互來確保分布式系統(tǒng)的多個參與方達成數(shù)據(jù)的一致性。常見的算法包括 PBFT、RAFT、POW、POS 等。
共識證明
英文名稱Consensus proof。用以證明目標數(shù)據(jù)經(jīng)過共識算法一致性確認的數(shù)據(jù)結(jié)構(gòu)。
交易個數(shù)
英文名稱Transaction count。某一區(qū)塊的交易數(shù)目。
交易回執(zhí)
英文名稱Transaction receipt。是交易的執(zhí)行結(jié)果。區(qū)塊鏈是異步的系統(tǒng),交易執(zhí)行后需要共識,與傳統(tǒng)架構(gòu)不同,不能直接返回交易執(zhí)行是否成功,因此需在回執(zhí)中查看最終交易結(jié)果。
交易類型
英文名稱Transaction type。該交易的類型,如引用存證、內(nèi)容存證、哈希存證、密文存證、隱私分享、純密文存證。
交易量匯總
英文名稱Transactions。交易總量,當前區(qū)塊鏈賬本上已有保存的交易總數(shù)量。
節(jié)點信息
英文名稱Node information。區(qū)塊鏈節(jié)點的相關(guān)信息。一個區(qū)塊鏈一般由多節(jié)點組成,節(jié)點數(shù)目為 3F+1,其中 F 為正整數(shù)。
可信執(zhí)行環(huán)境
英文名稱Trusted Execution Environment (TEE)。可信執(zhí)行環(huán)境,提供硬件級別的資源隔離和信任度量功能。近年來在服務器及終端領(lǐng)域,TEE 技術(shù)及其應用越發(fā)引人關(guān)注,其中最具代表性的是 Intel SGX。
聯(lián)盟
英文名稱Consortium。不同的機構(gòu)為了共同合作完成某個業(yè)務而結(jié)成的聯(lián)合。
聯(lián)盟機構(gòu)
英文名稱Organization。組成聯(lián)盟的機構(gòu)。
簽名證書
英文名稱Certificate。由支付寶合作的第三方 CA 機構(gòu)根據(jù)用戶提交的證書請求簽發(fā)認證后的證書。
區(qū)塊高度
英文名稱Block height。區(qū)塊高度,簡稱塊高,用來識別區(qū)塊在區(qū)塊鏈中的位置,并據(jù)此找到和這個區(qū)塊相關(guān)的所有基礎(chǔ)屬性和交易記錄。
區(qū)塊鏈 ID
英文名稱Blockchain identification。某一區(qū)塊鏈的唯一標識,對應區(qū)塊鏈這個底層唯一物理資源。
區(qū)塊鏈應用
英文名稱Application。基于區(qū)塊鏈 SDK 開發(fā)的應用。
去中心化應用
英文名稱Decentralized applications(DApp)。與傳統(tǒng)中心化應用的主要區(qū)別是,DApp 通過客戶端直接連接區(qū)塊鏈節(jié)點,通過智能合約計算和訪問數(shù)據(jù),沒有中心化的后端服務。
燃料
英文名稱Gas。智能合約在虛擬機中執(zhí)行計算和存儲的消耗度量,通過燃料可防止一些惡意攻擊和計算、存儲的浪費。
上一塊哈希
英文名稱Previous block hash。當前區(qū)塊的上一區(qū)塊哈希。
世界狀態(tài)
英文名稱World state。區(qū)塊鏈賬戶的存儲狀態(tài),包含所有賬戶的基本存儲狀態(tài)和合約賬戶的內(nèi)部存儲狀態(tài)。可以將合約平臺理解為一種交易的“狀態(tài)機”,世界狀態(tài)描述當前的基本存儲狀態(tài),經(jīng)過執(zhí)行智能合約,世界狀態(tài)可能發(fā)生改變進入另外一個新的世界狀態(tài)。
數(shù)字信封
英文名稱Digital envelope。數(shù)字信封是一種加密技術(shù),通過密碼學的方式保證了只有擁有權(quán)限的用戶才可能解密數(shù)字信封中的內(nèi)容。
私鑰
英文名稱Private key。私鑰文件,通過 OpenSSL 等工具生成。生成過程中會產(chǎn)生 2 個密鑰,一個是公鑰,即是證書簽名請求文件,另外一個是用戶私鑰,用戶需保存好私鑰和私鑰密碼。
私有交易
英文名稱Private transaction。與普通交易不同,私有交易不會在公有區(qū)塊鏈上進行執(zhí)行和存儲,而是被封裝在信封交易的 data
字段中進行發(fā)送,最終在私有區(qū)塊鏈上進行執(zhí)行和保存。
信封交易
英文名稱Envelope transaction。信封交易作為交易的類型,用以封裝私有交易。發(fā)送信封交易時,私有交易將會被編碼后保存在信封交易的data
字段中。信封交易最終會以存證的形式保存在公有區(qū)塊鏈上,但是data
字段會根據(jù)不同需求進行修改。
虛擬機
英文名稱Virtual machine(VM)。執(zhí)行智能合約的沙箱環(huán)境。
業(yè)務 ID
英文名稱Business identification。業(yè)務唯一標識,該區(qū)塊鏈應用于哪種業(yè)務場景,如溯源、租房等。
業(yè)務分類
英文名稱Category。該交易上鏈的數(shù)據(jù)的業(yè)務數(shù)據(jù)格式類型。
業(yè)務時間
英文名稱Business time。該交易的提交生成時間。
英特爾軟件保護擴展
英文名稱Intel Software Guard Extensions (Intel SGX)。Intel SGX 是 Intel CPU 上的一組擴展指令集,支持應用程序創(chuàng)建所謂的“安全區(qū)”,即應用地址空間中受保護的區(qū)域,它可確保應用程序安全區(qū)中數(shù)據(jù)的機密性和完整性,能夠有效抵御任意特權(quán)級別軟件的窺探和攻擊。
賬戶
英文名稱Account。區(qū)塊鏈上的基本操作對象,一個用戶主體在區(qū)塊鏈上的邏輯表示。區(qū)塊鏈上的所有交易操作均需要基于一個鏈上已經(jīng)存在的賬戶來完成。可分為普通賬戶和合約賬戶。
證書申請
英文名稱Certificate request。證書簽名請求文件(Certificate Signing Request,CSR),通過 OpenSSL 等工具生成。生成過程中會產(chǎn)生 2 個密鑰,一個是公鑰,即該 CSR 文件,另外一個是用戶私鑰,用戶需保存好私鑰和私鑰密碼。
Hyperledger Fabric特有概念
聯(lián)盟
區(qū)塊鏈專業(yè)術(shù)語,英文名稱consortium,指參與一個基于區(qū)塊鏈的業(yè)務協(xié)作或業(yè)務交易網(wǎng)絡的所有組織的集合,一個聯(lián)盟一般包含多個組織。
在阿里云區(qū)塊鏈服務(Hyperledger Fabric)中,每個聯(lián)盟需要有一個聯(lián)盟實例,一般由聯(lián)盟發(fā)起方或運營方創(chuàng)建,該實例包含Orderer排序節(jié)點,負責交易排序、區(qū)塊產(chǎn)生和達成共識。聯(lián)盟運營方邀請各個組織實例加入聯(lián)盟,進而創(chuàng)建通道,并負責Orderer排序節(jié)點的管理運維。
組織
區(qū)塊鏈專業(yè)術(shù)語,英文名稱organization,代表的是參與區(qū)塊鏈業(yè)務網(wǎng)絡的企業(yè)、政府機構(gòu)、團體等實體。在阿里云區(qū)塊鏈服務(Hyperledger Fabric)中,一個組織實例主要包含如下節(jié)點:
CA:區(qū)塊鏈節(jié)點類型之一,英文名稱Certificate Authority,數(shù)字證書頒發(fā)機構(gòu),負責組織內(nèi)部成員的登記注冊(Register)和身份獲取(Enroll)等,為該組織的區(qū)塊鏈用戶生成和頒發(fā)數(shù)字證書。
Peer:區(qū)塊鏈節(jié)點類型之一,負責保存和記錄賬本數(shù)據(jù)、對交易背書、運行智能合約等。
在阿里云區(qū)塊鏈服務(Hyperledger Fabric)中, 一個區(qū)塊鏈網(wǎng)絡由 1個聯(lián)盟實例 + N個組織實例構(gòu)成,N>=1。組織實例的個數(shù) N 由業(yè)務參與方的個數(shù)以及是否有獨占需求決定。如果參與方需要獨享的區(qū)塊鏈節(jié)點和賬本,以及鏈碼部署,區(qū)塊鏈用戶創(chuàng)建等管理功能,則需要單獨創(chuàng)建一個組織實例。如果參與方對獨占沒有要求,則可以共享組織實例。聯(lián)盟實例和組織實例可以由單一的云賬號購買創(chuàng)建,也可以由不同的云賬號購買創(chuàng)建。
Orderer
區(qū)塊鏈專業(yè)術(shù)語,排序節(jié)點,指的是Hyperledger Fabric技術(shù)框架下提供共識服務的節(jié)點,區(qū)塊鏈網(wǎng)絡內(nèi)所有交易在完成背書后會被發(fā)送至Orderer節(jié)點進行排序,然后根據(jù)一定的規(guī)則生成區(qū)塊,并向區(qū)塊鏈網(wǎng)絡上的Peer節(jié)點發(fā)送區(qū)塊以進行區(qū)塊和交易的驗證并寫入賬本,從而完成共識的全過程。
Peer
區(qū)塊鏈專業(yè)術(shù)語,參與方節(jié)點,指的是Hyperledger Fabric技術(shù)框架下,業(yè)務參與方組織在區(qū)塊鏈網(wǎng)絡中所擁有的參與共識和賬本記錄的節(jié)點。分為兩種類型:Endorsing Peer,背書節(jié)點,必須安裝鏈碼,在交易時需進行簽名背書;Committing Peer,記賬節(jié)點,無需安裝鏈碼,只負責驗證從Orderer發(fā)出的區(qū)塊和交易的合法性、并存儲賬本區(qū)塊信息。
Anchor
區(qū)塊鏈專業(yè)術(shù)語,錨定節(jié)點,指的是Hyperledger Fabric技術(shù)框架下,為了實現(xiàn)高可用,每個參與方組織包含兩個或多個peer節(jié)點,設(shè)置其中的一個為anchor,與區(qū)塊鏈網(wǎng)絡中的其他組織進行信息同步。
通道
區(qū)塊鏈專業(yè)術(shù)語,英文名稱channel,主要用于實現(xiàn)聯(lián)盟鏈中業(yè)務的隔離。每個通道可代表一項業(yè)務,通道內(nèi)包含業(yè)務的參與方(聯(lián)盟內(nèi)的部分或全部組織)作為通道成員。一個聯(lián)盟中可以有多個通道;一個組織可以加入多個通道。每個通道可視為一條子鏈,并且對應一套賬本,通道上可發(fā)布智能合約。
鏈碼
區(qū)塊鏈專業(yè)術(shù)語,英文名稱chaincode,是Hyperledger Fabric技術(shù)框架中對智能合約的實現(xiàn),支持業(yè)界流行的編程語言如Node.js、 Go、Java等。
企業(yè)以太坊Quorum特有概念
以太坊虛擬機
英文名稱Ethereum Virtual Machine,簡稱EVM。以太坊平臺的核心組成部分之一,作為運行智能合約的分布式計算環(huán)境。
Solidity
Solidity是一種高層的智能合約編程語言,語法類似JavaScript,用于編寫可運行于以太坊虛擬機內(nèi)的代碼。
Gas
用來衡量一筆交易所消耗的計算資源的基本單位。當以太坊節(jié)點執(zhí)行一筆交易所需的計算步驟越多、越復雜,那么這筆交易消耗的Gas就越多。
網(wǎng)絡標識
英文名稱network id。用于代表特定版本的以太坊網(wǎng)絡的數(shù)字標識。
geth
以Go編程語言實現(xiàn)的以太坊客戶端。
Dapp
分布式應用。
私密交易
英文名稱Private transaction。交易載荷信息僅對指定的區(qū)塊鏈網(wǎng)絡參與方可見,通過在交易的privateFor參數(shù)中指定這些參與方的公鑰來實現(xiàn)。
Quorum節(jié)點
英文名稱Quorum node。在geth的實現(xiàn)基礎(chǔ)上包含如下的修改:
支持Istanbul BFT、RAFT等共識算法;
支持授權(quán)節(jié)點(permissioned node)的P2P層實現(xiàn);
私密交易的區(qū)塊驗證邏輯;
保留了Gas機制但移除了Gas價格。
交易管理模塊
英文名稱Transaction manager。Quorum的交易管理模塊主要用于支持交易私密性。它存儲了加密的交易數(shù)據(jù),提供授權(quán)訪問,與其他參與者的交易管理模塊進行加密數(shù)據(jù)的交換(同時不會接觸任何敏感的私鑰)。交易管理模塊通過Enclave調(diào)用加密相關(guān)功能。交易管理模塊采用RESTful和無狀態(tài)設(shè)計,易于實現(xiàn)負載均衡。
Enclave
Enclave與交易管理模塊進行協(xié)同工作,共同支持隱私交易。Enclave獨立負責加密和解密工作并保存私鑰,為Quorum其他組件提供一種類似虛擬HSM的服務。