# 術語

## 通用術語

* Blockchain（區塊鏈）：基於密碼學的可實現信任化的信息存儲和處理的結構和技術。
* Byzantine Failure（拜占庭錯誤）：指系統中存在除了消息延遲或不可送達的故障以外的錯誤，包括消息被篡改、節點不按照協議進行處理等，潛在地會對系統造成針對性的破壞。
* CDN：Content Delivery Network，內容分發網絡。利用在多個地理位置預先配置的緩存服務器，自動從距離近的緩存服務器進行對請求的響應，以實現資源的快速分發。
* Consensus（共識）：分佈式系統中多個參與方對某個信息達成一致，多數情況下為對發生事件的順序達成一致。
* Decentralization（去中心化）：無需一個獨立第三方的中心機構存在，有時候也叫多中心化。
* Distributed（分佈式）：非單體中央節點的實現，通常由多個個體通過某種組織形式聯合在一起，對外呈現統一的服務形式。
* Distributed Ledger（分佈式賬本）：由多家聯合維護的去中心化（或多中心化）的賬本記錄平臺。
* DLT：Distributed Ledger Technology，分佈式賬本技術。包括區塊鏈、權限管理等在內的實現分佈式賬本的技術。
* DTCC：Depository Trust and Clearing Corporation，存託和結算公司。全球最大的金融交易後臺服務機構。
* Fintech：Financial Technology，跟金融相關的（信息）技術。
* Gossip：一種 P2P 網絡中多個節點之間進行數據同步的協議，如隨機選擇鄰居進行轉發。
* LDAP：Lightweight Directory Access Protocol，輕量級目錄訪問協議，是一種為查詢、搜索業務而設計的分佈式數據庫協議，一般具有優秀的讀性能，但寫性能往往較差。
* Market Depth（市場深度）：衡量市場承受大額交易後匯率的穩定能力，例如證券交易市場出現大額交易後價格不出現大幅波動。
* MTBF：Mean Time Between Failures，平均故障間隔時間，即系統可以無故障運行的預期時間。
* MTTR：Mean Time to Repair，平均修復時間，即發生故障後，系統可以恢復到正常運行的預期時間。
* MVCC：Multi-Version Concurrency Control，多版本併發控制。數據庫領域的技術，通過引入版本來實現併發更新請求的樂觀處理，當更新處理時數據版本跟請求中註明版本不一致時則拒絕更新。發生更新成功則將數據的版本加一。
* Non-validating Peer（非驗證節點）：不參與賬本維護，僅作為交易代理響應客戶端的請求，並對交易進行一些基本的有效性檢查，之後轉發給驗證節點。
* P2P：點到點的通信網絡，網絡中所有節點地位均等，不存在中心化的控制機制。
* SLA/SLI/SLO：Service Level Agreement/Indicator/Objective，分別描述服務可用性對用戶的承諾，功能指標和目標值。
* SWIFT：Society for Worldwide Interbank Financial Telecommunication，環球銀行金融電信協會，運營世界金融電文網絡，服務銀行和金融機構。
* Turing-complete（圖靈完備）：指一個機器或裝置能用來模擬圖靈機（現代通用計算機的雛形）的功能，圖靈完備的機器在可計算性上等價。
* Validating Peer（驗證節點）：維護賬本的核心節點，參與一致性維護、對交易的驗證和執行。更進一步可以劃分為 Endorser、Committer 等多種角色。

## 密碼學與安全相關

* ASN.1：Abstract Syntax Notation One，定義了描述數據的表示、編碼、傳輸、解碼的一套標準，被廣泛應用在計算機、通信和安全領域。
* CA：Certificate Authority，負責證書的創建、頒發，在 PKI 體系中最為核心的角色。
* CRL：Certification Revocation List，證書吊銷列表，包含所撤銷的證書列表。
* CSR：Certificate Signing Request，證書籤名申請，包括通用名、名稱、主機、生成私鑰算法和大小、CA 配置和序列號等信息，用來發給 CA 服務以頒發簽名的證書。
* DER：Distinguished Encoding Rules，ASN.1 中定義的一種二進制編碼格式，可以用來保存證書或密鑰內容。
* Genesis Block：創世區塊，區塊鏈的第一個區塊，一般用於初始化，不帶有交易信息。
* Hash：哈希算法，任意長度的二進制值映射為較短的固定長度的二進制值的算法。
* IES：Integrated Encryption Scheme，集成加密機制，一種混合加密機制，可以應對選擇明文攻擊（可以獲知任意明文和對應密文）情況下的攻擊。包括 DLIES（基於離散對數）和 ECIES（基於橢圓曲線）兩種實現。
* Nonce：密碼學術語，表示一個臨時的值，多為隨機字符串。
* OCSP：Online Certificate Status Protocol，在線證書狀態協議，通過查詢服務來在線確認證書的狀態（如是否撤銷）。RFC 2560 中定義。
* PKCS：Public-Key Cryptography Standards，公鑰密碼標準，由 RSA 實驗室提出，定義了利用 RSA 算法和相關密碼學技術來實現安全的系列規範，目前包括 15 個不同領域的規範。最早的版本在 1991 年提出，目前最新版本為 2012 年提出的 2.2 版本。
* PEM：Privacy Enhanced Mail，用來保存證書和密鑰的一種編碼格式，RFC 1421-1424 中定義。
* PKI：Public Key Infrastructure，基於公鑰體系的安全基礎架構。
* SM：國家商用密碼算法，2010 年以來陸續由國家密碼管理局發佈的相關標準和規範，主要包括：SM2（基於橢圓曲線密碼的公鑰密碼算法標準）、SM3（Hash 算法標準）、SM4（基於分組加密的對稱密碼算法標準）、SM9（基於身份的數字證書體系）。

## 比特幣、以太坊相關術語

* Bitcoin（比特幣）：最早由中本聰提出和實現的基於區塊鏈思想的數字貨幣技術。
* DAO：Decentralized Autonomous Organization，分佈式自治組織，基於區塊鏈的按照智能合約聯繫起來的鬆散自治群體。
* Lightning Network（閃電網絡）：通過鏈外的微支付通道來增大交易吞吐量的技術。
* Mining（挖礦）：通過暴力嘗試來找到一個字符串，使得它加上一組交易信息後的 Hash 值符合特定規則（例如前綴包括若干個 0），找到的人可以宣稱新區塊被發現，並獲得系統獎勵的數字貨幣。
* Miner（礦工）：參與挖礦的人或組織。
* Mining Machine（礦機）：專門為數字貨幣挖礦而設計的設備，包括基於軟件、GPU、FPGA、專用芯片等多種實現。
* Mining Pool（礦池）：採用團隊協作方式來集中算力進行挖礦，對產出的數字貨幣進行分配。
* PoS：Proof of Stake，股份持有證明，擁有代幣或股權越多的用戶，挖到礦的概率越大。
* PoW：Proof of Work，工作量證明，在一定難題前提下求解一個 SHA256 的 Hash 問題。
* Smart Contract（智能合約）：運行在區塊鏈上的提前約定的合同；
* Sybil Attack（女巫攻擊）：少數節點通過偽造或盜用身份偽裝成大量節點，進而對分佈式系統系統進行破壞。

## 超級賬本相關術語

* Anchor（錨定）：一般指作為剛啟動時候的初始聯絡元素或與其它結構的溝通元素。如剛加入一個通道的節點，需要通過某個錨點節點來快速獲取通道內的情況（如其它節點的存在信息）。
* Auditability（審計性）：在一定權限和許可下，可以對鏈上的交易進行審計和檢查。
* Block（區塊）：代表一批得到確認的交易信息的整體，準備被共識加入到區塊鏈中。
* Blockchain（區塊鏈）：由多個區塊鏈接而成的鏈表結構，除了初始區塊，每個區塊頭部都包括前繼區塊內容的 Hash 值。
* Chaincode（鏈碼）：區塊鏈上的應用代碼，擴展自“智能合約”概念，支持 Golang、Nodejs 等語言，多為圖靈完備。
* Channel（通道）：Fabric 網絡上的私有隔離機制。通道中的鏈碼和交易只有加入該通道的節點可見。同一個節點可以加入多個通道，併為每個通道內容維護一個賬本。
* Committer（提交節點）：一種 Peer 節點角色，負責對 Orderer 排序後的交易進行檢查，選擇合法的交易執行並寫入存儲。
* Commitment（提交）：提交節點完成對排序後交易的驗證，將交易內容寫到區塊，並更新世界狀態的過程。
* Confidentiality（保密）：只有交易相關方可以看到交易內容，其它人未經授權則無法看到。
* Endorser（推薦節點或背書節點）：一種 Peer 節點角色，負責檢驗某個交易是否合法，是否願意為之背書、簽名。
* Endorsement：背書過程。按照鏈碼部署時候的背書策略，相關 Peer 對交易提案進行模擬和檢查，決策是否為之背書。如果交易提案獲得了足夠多的背書，則可以構造正式交易進行進一步的共識。
* Invoke（調用）：一種交易類型，對鏈碼中的某個方法進行調用，一般需要包括調用方法和調用參數。
* Ledger（賬本）：包括區塊鏈結構（帶有所有的交易信息）和當前的世界狀態（world state）。
* Member（成員）：代表某個具體的實體身份，在網絡中擁有自己的根證書。節點和應用都必須屬於某個成員身份。同一個成員可以在同一個通道中擁有多個 Peer 節點，其中一個為 Leader 節點，代表成員與排序節點進行交互，並分發排序後的區塊給屬於同一成員的其它節點。
* MSP（Member Service Provider，成員服務提供者）：抽象的實現成員服務（身份驗證，證書管理等）的組件，實現對不同類型的成員服務的可拔插支持。
* Orderer（排序節點）：共識服務角色，負責排序看到的交易，提供全局確認的順序。
* Permissioned Ledger（帶權限的賬本）：網絡中所有節點必須是經過許可的，非許可過的節點則無法加入網絡。
* Privacy（隱私保護）：交易員可以隱藏交易的身份，其它成員在無特殊權限的情況下，只能對交易進行驗證，而無法獲知身份信息。
* System Chain（系統鏈）：由對網絡中配置進行變更的配置區塊組成，一般可以用來作為組成網絡成員們形成的聯盟約定。
* Transaction（交易）：執行賬本上的某個函數調用或者部署、更新鏈碼。調用的具體函數在鏈碼中實現。
* Transactor（交易者）：發起交易調用的客戶端。
* World State（世界狀態）：即最新的全局賬本狀態。Fabric 用它來存儲歷史交易發生後產生的最新的狀態，可以用鍵值或文檔數據庫實現。
