原文地址:www.xuanzhangjiong.top/2019/04/11/…html
做者:TopJohnnode
隨着近期Fabric v1.4.1 LTS的發佈,Fabric項目目前工做的重點正在向1.4.1和2.0的正式版推動。v2.0.0是2019年的主要目標,重點集中在更多的新特性上,包括加強的鏈碼生命週期管理,raft共識機制,以此來按部就班地遷移至拜占庭容錯算法,以及更強大的token支持。近期發佈的2.0版本建議你們僅做爲嚐鮮之用,生產環境暫時不要考慮。git
Fabric 2.0 Alpha介紹了分佈式治理鏈碼的特性,包括在你的節點上安裝鏈碼以及在一個通道中啓動鏈碼的新流程。新的Fabric生命週期容許多組織對鏈碼的參數達成共識,例如鏈碼在開始和帳本進行交互前的背書策略。新的模型在以前的生命週期上進行了改進:github
多個組織必須贊成鏈碼的參數:在Fabric 1.x版本中,一個組織可以爲全部其餘通道成員設置鏈碼參數(例如背書策略)。新的Fabric鏈碼生命週期將變得更靈活,提供了中心化的信任模型(例如以前版本的生命週期模型)以及去中心化的要求足夠多的組織贊成才能生效的模型。算法
更安全的鏈碼升級過程:在以前的鏈碼生命週期中,升級鏈碼能夠由單個組織進行發佈,從而還沒有安裝新鏈碼的通道成員將可能產生風險。新的模型要求只有足夠數量的組織批准後才能容許升級鏈碼。安全
更輕鬆的背書策略升級:Fabric生命週期容許你在沒有從新打包或者安裝鏈碼的狀況下,變動背書策略。用戶能夠體驗到默認的要求通道內大多數成員贊成的策略的好處。這個策略會在通道添加或者移除組織的時候自動更新。網絡
可檢查的鏈碼包:Fabric生命週期將鏈碼以易於閱讀的tar文件的形式打包。這樣能夠更加輕鬆地檢查鏈碼代碼包並協調跨多個組織安裝。分佈式
使用同一個安裝包啓動多個鏈碼:在以前的生命週期管理中一個通道上的鏈碼可使用名字和版原本指定一個安裝的鏈碼。在如今的版本中你可使用一個鏈碼安裝包在同一個通道或者不一樣的通道使用不一樣的名字進行屢次部署。ui
可使用下列教程來開始使用新的鏈碼生命週期:操作系統
Chaindoce for Operators:提供了安裝和定義鏈碼所需步驟的詳細概述,以及新模型可用的功能。
Building Your First Network:若是你想當即開始使用新的生命週期,BYFN教程已經更新爲使用新的鏈碼生命週期來安裝和定義鏈碼了。
Using Private Data in Fabric:已經更新演示如何經過新的鏈碼生命週期來使用隱私數據集合。
Endorsement policies:瞭解使用新的鏈碼生命週期如何使用通道配置中的策略做爲背書策略。
Fabric v2.0 Alpha版本中鏈碼生命週期還沒有完成。具體來講,請注意Alpha版本中的如下限制:
這些限制在後期將被解決。
Fabric 2.0 Alpha還爲用戶提供了在Fabric通道上輕鬆將資產轉化爲token的功能。FabToken是一種token管理系統,它使用Unspent Transaction Output(UTXO)模型,利用Hyperledger Fabric提供的身份和成員服務基礎設施來發布傳輸和兌換token。
從v2.0開始,Hyperledger Fabric Docker鏡像將會使用Alpine Linux操做系統,一種面向安全的輕量級的Linux發行版。這意味着Docker鏡像如今將會小不少,提供更快的下載和啓動時間,以及在主機系統上佔用更少的磁盤空間。Alpine Linux的設計初衷是考慮到安全性,而Alpine的發行版的極簡主義特性大大下降了安全漏洞的風險。
Raft是v1.4.1中引入的,它是一種基於etcd的崩潰容錯(CFT)排序服務。Raft遵循「領導者和追隨者」模型,其中每一個通道都會選舉一個leader,並且它的決策會複製給追隨者。和基於Kafka的排序服務相比,基於Raft的排序服務將變得更容易設置和管理,而且它的設計容許遍及全球的組織成爲分散的排序服務貢獻節點。