區塊鏈相關的關鍵概念

whisperrr發表於2021-09-01

  關鍵概念中英文對照

  區塊鏈(Blockchain)

  證明系統(Systems of Proof)

  去中心化(Decentralized )

  分散式賬本(Distributed Ledger)

  智慧合約(Smart Contracts)

  共識(Consensus)

  超級賬本(Hyper ledger)

  世界狀態(World State)

  事務日誌(Transaction Log)

  鏈碼(ChainCode )

  資產(Assets)

  身份( Identity)

  主體 (Principal)

  私鑰(Private Key)

  公鑰(Public key )

  證書頒發機構 【Certificate Authorities(CA)】

  數字證書(Digital Certificates)

  Fabric證書頒發機構 Fabric CA

  證書吊銷列表【Certificate Revocation List (CRL)】

  成員服務提供商 【Membership Service Provider (MSP)】

  本地 MSP(Local MSPs)

  渠道 MSP(Channel MSPs)

  組織單位 【Organizational Units (OUs)】

  節點組織單位(Node OU)

  公鑰基礎設施 【Public Key Infrastructure (PKI) 】

  主題金鑰識別符號【 Subject Key Identifier (SKI)】

  許可權訪問識別符號 【Authority Access Identifier (AKI)】

  節點組織單位(Node OU)

  本地MSP目錄結構

  config.yaml:啟用Node OU、定義可接受的角色

  cacerts:根CA 自簽名證書列表(至少一個)

  intermediatecerts:中間CA自簽名證書列表(可選)

  admincerts:Fabric1.4.3+棄用(定義組織管理員角色的參與者的身份列表)

  keystore(private Key):本地 MSP 定義、包含節點的私鑰、用於簽署資料 (本地 MSP 是必需的,並且必須包含一個私鑰、通道MSP配置不包括此資料夾) 通道MSP配置不包括此資料夾,因為通道的MSP僅旨在提供身份驗證功能,並且不簽署能力。 ## Hardware Security Module 硬體安全模組 (HSM)

  signcert:擁有CA 頒發的節點證書,證書對應的私鑰可用於生成簽名(本地 MSP 是必需的) 擁有此證書副本的人都可以驗證該簽名 必須包含一個public key 通道MSP配置不包括此資料夾,因為通道的MSP僅旨在提供身份驗證功能,並且不簽署能力。

  tlscacerts: 組織信任的根 CA 的自簽名 X.509 證書列表 必須至少有一個 TLS 根 CA 證書 用於使用 TLS(安全傳輸層協議) 的節點之間的安全通訊 通訊是依賴於節點,而不是使用網路的應用程式和管理。

  tlsintermediatecacerts:包含一個列表中間 CA 證書,由該 MSP 代表的組織信任,用於使用 TLS 的節點之間的安全通訊。

  Operationscerts:與Fabric Operations Service API通訊所需的證書

  Revoked Certificates:通道 MSP 包括此附加資料夾, 如果角色的身份已被撤銷,有關身份的識別資訊——而不是身份本身——儲存在此資料夾中。 通道 MSP 的管理員可以透過通告 CA 的更新 CRL 來快速從組織中撤銷參與者或節點。

  傳輸層安全 (TLS)

  Fabric 使用傳輸層安全性 (TLS) 支援節點之間的安全通訊。 TLS 通訊可以使用單向(僅限伺服器)和雙向(伺服器和客戶端)身份驗證。

  渠道 MSP(Channel MSPs)作用

  要使身份可驗證,它必須來自受信任的權威。會員服務提供商 (MSP) 是 Fabric 中的受信任機構。

  更具體地說,MSP 是一個元件,它定義了管理組織有效身份的規則。

  節點組織單位(Node OU)配置

  $HOME/go/src/github.com/fabric/fabric/scripts/fabric-samples/test-network/../config/

  $FABRIC_CFG_PATH/msp/config.yaml

  NodeOUs:

  **Enable: true**

  ClientOUIdentifier: Certificate: cacerts/ca.sampleorg-cert.pem OrganizationalUnitIdentifier: client

  PeerOUIdentifier: Certificate: cacerts/ca.sampleorg-cert.pem OrganizationalUnitIdentifier: peer

  AdminOUIdentifier: Certificate: cacerts/ca.sampleorg-cert.pem OrganizationalUnitIdentifier: admin

  OrdererOUIdentifier: Certificate: cacerts/ca.sampleorg-cert.pem OrganizationalUnitIdentifier: orderer

  策略 (Policy)

  Fabric 策略代表成員如何就接受或拒絕對網路、通道或智慧合約的更改達成一致。

  用於定義如何做出決策和實現特定結果的結構。

  Fabric 策略代表成員如何就接受或拒絕對網路、通道或智慧合約的更改達成一致。

  策略在通道最初配置時由通道成員同意,但它們也可以隨著通道的發展而修改。

  管理網路的策略在任何時間點都是固定的,只能使用管理程式碼的相同過程進行更改。

  由於 Fabric 是一種許可區塊鏈,其使用者得到底層基礎設施的認可,因此這些使用者有能力在網路啟動之前決定網路的治理,並改變正在執行的網路的治理。

  訪問控制列表 (Access Control Lists)

  $HOME/go/src/github.com/fabric/fabric/scripts/fabric-samples/test-network/configtx/configtx.yaml

  策略分類   大連婦科醫院哪個好  

    ## 背書策略(Endorsement Policy)

  鏈碼包內的每個智慧合約都有一個背書策略,該策略指定屬於不同通道成員的對等節點需要針對給定的智慧合約執行和驗證交易的數量,

  以便將交易視為有效。因此,背書政策定義了必須“背書”(即批准)執行提案的組織(透過其同行)。

  ## 修改策略( Modification policies)

  定義了策略的更新方式。因此,每個通道配置元素包括對管理其修改的策略的引用。

  ## 簽名策略(Signature policies)

  定義了特定型別的使用者,他們必須簽名才能滿足策略

  ## 隱式元策略 (ImplicitMeta policies)

  僅在基於配置樹中策略分層層次結構的通道配置上下文中有效。

  區塊鏈網路、通道、策略、身份(數字證書)-----(MSP)---組織角色-- 許可權。

  更新過程(共識)

  第一階段:提安階段

  應用程式----生成交易提案-----傳送到對等節點(背書節點)(背書策略) ----足夠數量的簽名(背書節點)提案響應,丟棄不一致的事務響應(如果它願意的話)

  背書節點----**獨立執行碼鏈**---生成交易提議響應(私鑰簽署)+背書(不應用於分類帳)

  第二階段:打包階段

  應用程式----傳送包含背書交易提案響應的交易

  排序節點----將交易排序----打包到塊

  第三階段:

  排序節點----分發給對等節點

  對等節點----接收區塊---按順序處理交易 驗證背書---錯誤----則拒絕交易 正確-----分類賬一致性檢查(若其他交易影響了資產狀態,交易不再有效) ---無效----保留交易用於審計 ---有效----更新分類賬----保留交易用於審計

  賬本 L 包括區塊鏈 B 和世界狀態 W,其中區塊鏈 B 決定世界狀態 W。

  世界狀態是作為資料庫實現的。與使用資料庫的世界狀態相反,區塊鏈始終以檔案的形式實現。

  區塊鏈被構造為互連塊的順序日誌,其中每個塊包含一系列交易,每個交易代表對世界狀態的查詢或更新。

  世界狀態

  資料庫的選專案前包括 LevelDB (鍵值對)和 CouchDB( JSON 文件),LevelDB 是預設值。

  對等節點和 CouchDB 例項之間仍然存在 1:1 的關係

  區塊鏈結構

  區塊鏈沒有名稱空間。它包含來自許多不同智慧合約名稱空間的交易。

  只有同一鏈碼中的智慧合約才能訪問給定的名稱空間。

  ## 頭 區塊編號:一個從 0(創世區塊)開始的整數,每新增一個新區塊就增加 1。 當前區塊雜湊:當前區塊中包含的所有交易的雜湊。 前一個區塊頭雜湊:來自前一個區塊頭的雜湊。

  ## 塊資料 含按順序排列的交易列表 交易(Transaction) 交易頭(Header) --相關鏈碼的名稱及其版本 交易簽名(Signature)---客戶端應用程式建立的加密簽名 交易提議(Proposal) 智慧合約的輸入引數編碼 交易響應(Response)智慧合約的輸出,捕獲世界狀態之前和之後的值 背書列表(Endorsements)這是來自每個所需組織的足以滿足背書策略的已簽名交易響應列表

  ## 塊後設資料 區塊建立者的證書和簽名 事務的有效/無效指示符 該塊之前(包括該塊)累積狀態更新的雜湊

  系統鏈碼分類

  _lifecycle:管理節點鏈碼的安裝、批准組織提交的鏈碼定義、提交鏈碼到通道

  生命週期系統鏈碼:Lifecycle system chaincode (LSCC) v1.4.x及以下版本支援

  配置系統鏈碼:Configuration system chaincode (CSCC) 執行在所有節點,處理通道配置更改

  查詢系統鏈碼:Query system chaincode (QSCC) 執行在所有節點,提供賬本API,提供區塊查詢、交易查詢等。

  背書系統鏈碼:Endorsement system chaincode (ESCC) 執行在背書節點,以加密方式簽署交易響應。

  驗證系統鏈碼:Validation system chaincode (VSCC) ,驗證交易,包括檢查背書策略和讀寫集版本控制。

  安裝定義鏈碼步驟

  ## 第一步: 打包智慧合約 節點:對等節點 打包工具:Fabric(二進位制檔案)、Node Fabric SDK、第三方工具(例如 GNU tar) 打包檔案型別:.tar.gz 壓縮檔案中包含檔案(無目錄):metadata.json(鏈碼語言、程式碼路徑、包標籤的 JSON)、code.tar.gz metadata.json: {"Path":"fabric-samples/asset-transfer-basic/chaincode-go","Type":"golang","Label":"basicv1"}

  ## 第二步: 安裝鏈碼 節點:Peer Administrator 打包工具:CLI 、SDK 安裝成功返回:包標籤 議組織只打包一次鏈碼,然後在屬於其組織的每個節點上安裝相同的包。

  ## 第三步: 批准鏈碼定義(您可以在不安裝鏈碼包的情況下批准鏈碼定義。) 鏈碼定義引數:名稱、版本、序列號、背書策略、集合配置(私有資料地址)、ESCC/VSCC 外掛(自定義背書或驗證外掛)、初始化、包識別符號 組織管理員提交批准鏈碼定義的事務----排序服務分發---批准

  ## 第四步: 提交批准的鏈碼定義到通道 檢查是否批准鏈碼定義:checkcommitreadiness ---背書---排序---管理員提交提


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70005147/viewspace-2789878/,如需轉載,請註明出處,否則將追究法律責任。

相關文章