1. 程式人生 > >Hyperledger系列(一)Hyperledger基礎介紹

Hyperledger系列(一)Hyperledger基礎介紹

包含分散式賬本和智慧合約。

什麼是分散式賬本

一個只允許記錄或者交易日誌追加的系統。
Blockchain (區塊鏈) 可以用來記錄承諾、交易或者簡單的我們不想讓它消失的條目。
在給定網路的所有節點中,它都存在備份,不可能被擦除或者修改。
(基於共識機制,擦除或者修改,意味著要修改所有節點中至少一半節點的內容,作弊成本非常高,幾乎不可能。)
交易按照區塊鏈中的順序處理,處理的結果就是一個分散式賬本。

智慧合約

是一段程式碼或者複雜的程式,它們儲存在區塊鏈上,並且在區塊鏈上執行。這個程式碼會在不同的節點上同時執行。

智慧合約的運用舉例:

假設一個農場主,為他的農作物買了保險,如果極端天氣的氣溫超過50度,並且天數超過了100天,那麼保險公司要賠償100萬。
現在,這樣的合約是線下籤訂,當事情發生的時候,保險公司可能會找各種理由拒絕賠償。
當使用智慧合約的時候,極端天氣發生後,100萬會自動打入農場主的賬號,這是程式碼自動執行的,而且是不可撤回的。

區塊鏈不是加密貨幣

Cryptocurrency(cryptography + currency的組合),即加密貨幣,是比特幣、以太幣這樣的。而區塊鏈不等同於這些。加密貨幣僅僅是基於區塊鏈的一個應用。

為什麼使用商業區塊鏈

全球的商場都有賬本,組織和個人一樣,都必須相信賬本。
大多數企業區塊鏈應用都是基於,真實世界的信任關係。它的目標是建立一個生態系統,使更多的可信的合作伙伴加入進來。
在一個被限制的網路中,參與者彼此瞭解,他們很有興趣參與相同的活動。不需要POW(工作量證明),他們能夠解決更即時的問題。

商業區塊鏈元件術語

  • Consensus Layer,在交易的順序和正確性上達成共識
  • Smart Contract Layer,處理交易請求,並且通過執行商業邏輯程式碼來判斷這個交易是否有效。
  • Communication Layer,負責節點間peer to peer的訊息傳輸
  • Data Store Abstraction,允許其它的模組使用不同的資料庫儲存
  • Crypto Abstraction,允許不同的加密演算法或者模組相互替換,而不影響其它的模組。
  • Identity Services,在啟動區塊鏈例項的時候,保證建立一個最根本的信任。登入或者註冊時候的身份驗證,網路操作時候的身份驗證。同時,進行對身份的管理,包括刪除、增加、更改等。提供身份的驗證和授權。
  • Policy Services, 系統中各種各樣的策略的管理。例如,背書策略、共識策略、分組管理策略。它和其它的模組進行互動,並且是依賴其它的模組來強制執行這些策略。
  • APIs,使客戶端和程式能夠和區塊鏈進行互動。
  • Interoperation,支援不同區塊鏈例項間的互操作。

Hyperledger模組化設計

Hyperledger像Linux一樣,是模組化設計。

Hyperledger區塊鏈框架

  • Hyperledger Fabric,作為開發程式,或者解決模組架構問題的基礎架構。它允許元件,像共識服務、成員服務是可插拔的。
  • Hyperledger Iroha,一個商業的區塊鏈框架,可以簡便的嵌入到需要用到分散式賬本技術的專案中。
  • Hyperledger Sawtooth,一個構建、部署、執行分散式賬本的平臺。它包含一個共識演算法,Proof of Elapsed Time (PoET),它的目標是,大量的分散式驗證人群,使用更少的資源消耗。
  • Hyperledger Burrow,一個許可的智慧合約機制。
  • Hyperledger Indy,提供區塊鏈上數字一致性的工具、庫、可重用的元件,這樣就可以在管理區域、程式、或者其它的倉庫之間進行互操作。

使用場景

跨國支付,健康資訊記錄,食物安全供應鏈,鑽石供應鏈,難民身份ID,真正的房地產交易,音樂媒體產權,綠色能源管理(中國二氧化碳排放量)