1. 程式人生 > >關於區塊鏈幾個證書的理解

關於區塊鏈幾個證書的理解

關於區塊鏈幾個證書的理解

FISCO-BCOS


1. 說明

在FISCO-BCOS中,證書這個概念有許多的概念,會在環境與節點配置、部署、構鏈等步驟中反覆出現,例如鏈證書、機構證書、節點證書和客戶端證書等。如下對這些概念和關係進行一個適當的理解和解釋,撰筆如下。

由於是在該平臺使用過程中,自己根據官方的說明以及Wiki等文件、結合自己淺層的理解,也許有理解不到位、或者錯誤,歡迎指正交流。

2.幾個證書

證書,是區塊鏈中進行身份驗證、識別的重要依據。在FISCO-BCOS平臺中,含有多種證書的出現:

  • 鏈證書:一般在環境搭建好後,按照步驟搭完鏈(手動或按企業級物料包搭鏈)後會在生成鏈的目錄下儲存一個ca.crt

    ,即為鏈證書,另一個ca.key是該鏈的私鑰。一條鏈(私有區塊鏈)只有一個鏈證書,也只有一份私鑰。

  • 機構證書:對一條已存在的區塊鏈而言,會有不同的機構根據不同的合約與機制要求上鍊(參鏈);不同的機構可能具有不同的用處或負責不同的功能。也就是說同一條鏈會存在若干個不同的參與機構的參鏈。 這其中,每個機構會有一個機構證書如agency.crt,用來完成和對應的鏈的驗證識別。同樣,機構證書也有一個唯一的屬於自己的私鑰如agency.key

    機構證書的生成需要指定鏈的參與,在生成的機構目錄中,也會有鏈證書ca.crt的副本

  • 節點證書:節點可以是任意生成的,不過一般若干個同類的節點附屬於某個機構。每個節點的生成後,會在節點目錄下生成節點證書,用於完成到機構的驗證識別。節點目錄下的node.crt

    為節點證書,node.key為節點的唯一私鑰。
    節點的生成需要指定鏈和機構的參與,在生成的節點目錄下,會有鏈證書ca.crt和機構證書agency.crt的副本

  • sdk證書:在FISCO-BCOS中,機構可以封裝為SDK,為客戶端提供sdk支援;在機構的相關證書、節點生成後,可以生產出對應機構的sdk證書。sdk.crtsdk.key分別為sdk證書和私鑰。

  • 客戶端證書:sdk生成後,會在其檔案目錄中為客戶端提供一個client.keystore的檔案,也即client證書。該證書主要是用於①和節點連線的sdk身份驗證;② 和其他sdk的連線驗證;③作為sdk交易時的私鑰證書。在客戶端sdk中會生成一個新的ca.crt

    是由原鏈證書ca.crt和當前機構證書agency.crt組合而成的,主要是驗證sdk連線節點的節點證書的合法性。

3. 概念參考圖

1538970327065

參考的wiki