BlockChain技術系列(一)- fabric介紹
1. 介紹
這份文件規範了適用於工業界的區塊鏈的概念,架構和協議。
1.1 什麼是 fabric?
fabric 是在系統中數字事件,交易呼叫,不同參與者共享的總賬。總賬只能通過共識的參與者來更新,而且一旦被記錄,資訊永遠不能被修改。每一個記錄的事件都可以根據參與者的協議進行加密驗證。
交易是安全的,私有的並且可信的。每個參與者通過向網路membership服務證明自己的身份來訪問系統。交易是通過發放給各個的參與者,不可連線的,提供在網路上完全匿名的證書來生成的。交易內容通過複雜的金鑰加密來保證只有參與者才能看到,確保業務交易私密性。
總賬可以按照規定規則來審計全部或部分總賬分錄。在與參與者合作中,審計員可以通過基於時間的證書來獲得總賬的檢視,連線交易來提供實際的資產操作。
fabric 是區塊鏈技術的一種實現,比特幣是可以在fabric上構建的一種簡單應用。它通過模組化的架構來允許元件的“插入-執行”來實現這份協議規範。它具有強大的容器技術來支援任何主流的語言來開發智慧合約。利用熟悉的和被證明的技術是fabric的座右銘。
1.2 為什麼是 fabric?
早期的區塊鏈技術提供一個目的集合,但是通常對具體的工業應用支援的不是很好。為了滿足現代市場的需求,fabric 是基於工業關注點針對特定行業的多種多樣的需求來設計的,並引入了這個領域內的開拓者的經驗,如擴充套件性。fabric 為許可權網路,隱私,和多個區塊鏈網路的私密資訊提供一種新的方法。
1.3 術語
以下術語在此規範的有限範圍內定義,以幫助讀者清楚準確的瞭解這裡所描述的概念。
交易(Transaction) 是區塊鏈上執行功能的一個請求。功能是使用鏈節點(chainnode)來實現的。
交易者(Transactor) 是向客戶端應用這樣發出交易的實體。
總賬(Ledger) 是一系列包含交易和當前世界狀態(World State)的加密的連結塊。
世界狀態(World State) 是包含交易執行結果的變數集合。
鏈碼(Chaincode) 是作為交易的一部分儲存在總賬上的應用級的程式碼(如
驗證Peer(Validating Peer) 是網路中負責達成共識,驗證交易並維護總賬的一個計算節點。
非驗證Peer(Non-validating Peer) 是網路上作為代理把交易員連線到附近驗證節點的計算節點。非驗證Peer只驗證交易但不執行它們。它還承載事件流服務和REST服務。
帶有許可權的總賬(Permissioned Ledger) 是一個由每個實體或節點都是網路成員所組成的區塊鏈網路。匿名節點是不允許連線的。
隱私(Privacy) 是鏈上的交易者需要隱瞞自己在網路上身份。雖然網路的成員可以檢視交易,但是交易在沒有得到特殊的許可權前不能連線到交易者。
保密(Confidentiality) 是交易的內容不能被非利益相關者訪問到的功能。
可審計性(Auditability) 作為商業用途的區塊鏈需要遵守法規,很容易讓監管機構審計交易記錄。所以區塊鏈是必須的。