區塊鏈技術基礎:術語和用例
1. 區塊和區塊鏈
區塊鏈是一種分布在整個業務網絡上的共享賬本。業務交易被永久記錄在僅附加到賬本的區塊中。所有經過確認和證明的交易都從創始區塊一直鏈接到最新的區塊,因而得名區塊鏈。區塊鏈是自網絡中的區塊鏈啟動以來發生的所有交易的歷史記錄。區塊鏈被用作該網絡的單一事實來源。
區塊鏈網絡可以是許可網絡或無許可網絡。無許可 網絡向所有參與方開放,參照網絡上的已有規則對交易進行驗證。任何參與方都可以查看賬本上的交易,即使參與方是匿名的。比特幣是人們最熟悉的一個無許可網絡示例。
另一方面,許可網絡僅能由給定業務網絡中的參與者訪問。在許可區塊鏈上,參與者只允許查看與他們相關的交易。Hyperledger Project 就是為支持許可區塊鏈的開發而創立的。
2. 交易、資產和一致性
深入了解區塊鏈網絡概念
在 “分布式賬本簡介” 中了解區塊鏈網絡的優勢。
交易 是傳輸到賬本或從賬本傳出的資產。任何可被擁有或控制來產生價值的事物都是資產。資產可以是有形的(比如住宅或汽車)或無形的(比如抵押或租賃)。
賬本中的條目被同步到網絡中的所有賬本。區塊鏈網絡中的參與方處理的每個賬本副本被稱為節點。節點之間的一致性 能確保共享賬本是精確的副本,并降低發生交易欺詐的風險,因為篡改需要同時在許多地方進行。
要實現一致性,所有參與者都必須同意交易并通過對等網絡驗證它。參與者還可以建立驗證交易的規則。與無許可區塊鏈中存在的更高成本相比,受信任的參與者網絡可減少在節點之間建立一致性的成本。
3. 密碼哈希算法和數字簽名
密碼哈希算法(比如 SHA256 計算算法)利用可變大小的交易輸入生成一個固定大小的唯一哈希值(被稱為摘要)。哈希運算包含一個數學屬性,那就是一個給定輸入只能得到一個唯一的哈希值,但不能從哈希值推導出輸入。一個給定的輸入總是會計算出相同的哈希值。
對交易輸入的任何修改或改動 — 甚至是最細微的更改 — 都會導致計算出不同的哈希值,這表明交易輸入可能被損壞。因此,可使用哈希值檢測交易輸入的完整性。
數字簽名可以確保接收者收到的交易數據中沒有包含修改或偽造過的交易內容,還可以確保交易源自發送方(已使用私鑰進行簽名),而不是來自冒充者。
對稱密鑰加密使用一個私鑰來加密和解密數據。該密鑰必須使用一個安全網絡進行共享,而數據可在不安全的網絡上廣播,但能由擁有該私鑰的各方讀取:
區塊鏈技術使用了公鑰加密,也稱為非對稱密鑰加密。在公鑰加密中,每個參與者都有一個公鑰/私鑰對。發送者可以使用接收者的公鑰來加密數據。然后只能使用接收者的私鑰讀取文檔或數據。非對稱密鑰加密在傳輸數據時無需使用安全網絡來交換密鑰。
4. 智能合約和鏈代碼
要使用擬議的交易來更新賬本,每個節點必須按照智能合約 的邏輯來處理交易。智能合約由直接在復制的網絡上運行的程序組成。智能合約使用一種編程語言在區塊鏈上對業務規則或合同進行編碼,由網絡中的所有參與者執行。這些程序在 Hyperledger Fabric 中稱為鏈代碼,它們被復制到網絡中的每個節點,并由擁有權限的各方調用來傳輸資產。
鏈代碼必須是確定的,也就是說,相同的輸入必須始終產生相同的輸出。因此,每個節點可以相信它和對等節點處理的是同一個交易。
5. 區塊鏈應用
一個區塊鏈應用需要 3 個相互依賴的組件:面向用戶的應用、智能合約和賬本。
頂層是面向用戶的應用,用于滿足網絡參與者的需求。該應用讓用戶調用智能合約在業務網絡中觸發交易。智能合約 封裝網絡的業務邏輯:資產、所有權和傳輸方式。每次調用智能合約,都會在網絡中創建一個交易并更新賬本。賬本 持有智能合約數據的當前值(如 vehicleOwner=Daisy),并分發到整個網絡。
6. 區塊鏈用例
區塊鏈技術對許多行業而言是一種潛在的顛覆性技術,因為它能更順利、更高效地組織活動。而且它能協調參與者之間更大規模的活動。下面給出了一些可從區塊鏈技術中受益的用例:
(1)物聯網
- 設備管理
(2)醫療保健
- 電子醫療記錄
- 病毒庫
- 種子庫備份
- 醫生-供應商 RFP 服務和保險合同
- 區塊鏈健康研究共享空間
- 區塊鏈健康司法人員
(3)金融服務
- 信用證
- 公司債務和債券
- 交易平臺
- 支付匯款
- 再購買協議
- 外匯
(4)保險
- 索賠處理
- P2P 保險
- 所有權
- 銷售和承保
(5)政府
- 政府招標程序
- 選舉
- 稅收
(6)工業
- 制造流程
(7)零售
- 顧客忠誠度
(8)跨行業
- 身份管理
- 信托行業
- 資本資產管理
(9)其他行業
- 游戲
- 音樂