NO IMAGE

區塊鏈技術基礎:術語&用例

點我訪問原始檔

1. 區塊和區塊鏈網路

區塊鏈是一種在整個業務網路上共享的分散式賬本。業務交易被永久記錄在有順序的、僅可附加的、防篡改的賬本區塊中。所有經過確認和證明的交易都通過雜湊演算法從創始區塊一直連結到最新的區塊,因而得名區塊鏈

區塊鏈是自網路中的區塊鏈啟動以來發生的所有交易的歷史記錄。可將區塊鏈用作該網路的單一事實來源。

區塊鏈網路可以是許可網路或無許可網路。無許可 網路向所有參與方開放,參照網路上的已有規則對交易進行驗證。任何參與方都可以檢視賬本上的交易,即使參與方是匿名的。在無許可和公有區塊鏈網路中,比特幣是人們最熟悉的一個示例。

另一方面,許可網路通常是私有的,僅能由給定業務網路中的參與者訪問。在許可區塊鏈上,參與者只允許檢視與他們相關的交易。

2. 分散式賬本

分散式賬本 是一種在網路成員之間共享、複製和同步的資料庫或記錄系統。分散式賬本記錄網路參與者之間的交易,比如資產或資料的交換。這種共享賬本消除了調解不同賬本的時間和開支。

網路中的參與者根據一致性原則來制約和協商對賬本中的記錄的更新。沒有中間的第三方仲裁機構(比如銀行或政府)的參與。分散式賬本中的每條記錄都有一個時間戳和唯一的密碼簽名,這使得賬本成為網路中所有交易的可審計歷史記錄。

3. 參與者

商業區塊鏈網路是一個集體共享的對等網路,由一組可識別且可驗證的參與者運營。參與者可以是個人或機構,比如企業、大學或醫院。

4. 資產、交易和渠道

任何可被擁有或控制來產生價值的事物都是資產。資產可以是有形的(比如汽車或剛從農場採摘的桃子)或無形的(比如抵押或租賃)。交易是指資產轉移,將資產轉移到賬本或從賬本將資產轉移出去。在 Hyperledger Fabric 區塊鏈中,資產表示為一組二進位制和/或 JSON 形式的鍵值對(比如 vehicleOwner=Daisy)。

在 Hyperledger Fabric 區塊鏈中,渠道是兩個或多個特定網路成員之間的通訊的私有“子集”,旨在執行私有且機密的交易。 如果兩個參與者形成一條渠道,那麼這些參與者(不是任何其他參與者)必須經過驗證和授權,才能在該渠道上進行交易並共享針對該渠道的賬本副本。得益於渠道,需要執行私有和機密交易的網路成員可與他們的業務競爭者和其他受限成員共存於同一個區塊鏈網路中。

5. 共識性

共識性是一個協作式流程,區塊鏈業務網路的成員使用它來協商交易是否有效,並以共識原則讓賬本保持同步。共識機制降低了欺詐交易的風險,因為要篡改新增到賬本的交易,必須同時在許多地方執行更改。

要達成共識,參與者需要同意並證實交易,然後將它永久記錄在賬本中。參與者還可以建立驗證交易的規則。任何人(哪怕是系統管理員)都不能刪除已新增到賬本的交易。與無許可區塊鏈中存在的更高成本相比,受信任的參與者網路可減少建立共識的成本。

在商業區塊鏈中,有各種各樣的共識機制可供選擇。信任度很高時,一次簡單的多數表決可能就足夠了,否則網路可能選擇使用更復雜的方法。

6. 智慧合約和鏈程式碼

智慧合約通過賬本管理交易,它們可以允許網路參與者自動執行交易的某些方面。例如,智慧合約可以規定運輸商品的成本,運輸成本會依據商品到達時間而變化。雙方對條款達成一致並將其寫入賬本後,會在商品到達時自動執行適當的資金調整。

在 Hyperledger Fabric 的上下文中,會將智慧合約寫入鏈程式碼中,並認為合約條款是基本同義的。

在 Hyperledger Fabric 中,鏈程式碼是一段使用 Go 編寫的程式碼,它定義了網路資產和修改資產的交易指令(業務邏輯)。鏈程式碼由一位適當授權的成員安裝到一個渠道上並將其例項化。在該渠道上呼叫交易時,鏈程式碼中的一個函式會讀取值並寫入賬本中。

7. 區塊鏈應用

一個區塊鏈應用需要 3 個相互依賴的元件:面向使用者的應用、智慧合約和賬本。

頂層是面向使用者的應用,用於滿足網路參與者的需求。 該應用讓使用者呼叫智慧合約在業務網路中觸發交易。智慧合約封裝網路的業務邏輯:資產、所有權和轉移方式。每次呼叫智慧合約,都會在網路中建立一個交易並更新賬本。賬本持有智慧合約資料的當前值(如 vehicleOwner=Daisy),並分發到整個網路。