fabric 2.0Beta版本是目的讓用戶了解和使用測試2.0版本的功能毕莱,此版包含了所有2.0版本中的新特性
1 去中心化的鏈碼生命周期
fabric2.0版本引入了非中心化的鏈碼管理方式,包括鏈碼的安裝和鏈碼在通道上的運(yùn)行豌汇。新的鏈碼生命周期管理允許多個(gè)組織在鏈碼的參數(shù)上達(dá)成一致,例如鏈碼的背書策略在生效之前要先達(dá)成一致客税。
新的模型相比之前的聲明周期有以下幾個(gè)提升:
1.1 多個(gè)組織必須對鏈碼的參數(shù)達(dá)成一致
在1.X版本中友多,單個(gè)組織可以為通道內(nèi)的其他的組織設(shè)置鏈碼的參數(shù)(例如背書策略)刻炒,其他的組織僅有能力拒絕安裝鏈碼從而不參與交易。新的鏈碼生命周期更加靈活栖榨,它同時(shí)支持中心式信任和非中心式的昆汹。
1.2 更加完善的鏈碼升級步驟
在之前的鏈碼聲明周期中,單個(gè)組織可以發(fā)起升級鏈碼的交易婴栽,這對那些還沒有安裝新的鏈碼的組織造成了風(fēng)險(xiǎn)满粗。新的升級模型要求升級請求只有在得到了足夠數(shù)量組織的認(rèn)可后,鏈碼才能升級愚争。
1.3 更加簡單的背書策略和私有數(shù)據(jù)集更新
新的生命周期允許用戶不用重新打包或者重裝鏈碼就可以改變背書策略貨私有數(shù)據(jù)集合配置映皆。用戶可以使用新的默認(rèn)策略,此策略要求來自通道上大多數(shù)組織的背書轰枝。這個(gè)策略會(huì)在有新的組織加入通道或者有組織離開通道時(shí)候會(huì)自動(dòng)更新捅彻。
1.4 可檢查的鏈碼包
現(xiàn)在將鏈碼打包在更易讀的tar包中,這使檢查鏈碼包和多個(gè)組織安裝鏈碼更加方便
1.5 在一個(gè)通道上使用同一個(gè)包安裝多個(gè)鏈碼
之前的生命周期鏈碼安裝的時(shí)候狸膏,指定了鏈碼的名稱和版本號沟饥,不同的鏈碼要有不同的名稱或者版本號才可以安裝。現(xiàn)在允許將一個(gè)鏈碼包以不同的名字在相同的或者不同的通道上部署多次湾戳。
1.6 鏈碼包在通道內(nèi)不同成員中不一定是完全相同的
組織可以根據(jù)自己的場景定制化鏈碼贤旷,例如出于自己組織的需求執(zhí)行不同的驗(yàn)證邏輯。只要交易收集到要求數(shù)量的背書砾脑,并且背書結(jié)果一致幼驶,那么交易就是有效的并會(huì)被提交到賬本。
2 啟動(dòng)外部鏈碼
之前的版本要求peer具有訪問docker守護(hù)進(jìn)程的權(quán)限韧衣,以便構(gòu)建和啟動(dòng)鏈碼盅藻。2.0版本鏈碼不再強(qiáng)制要求必須運(yùn)行在docker容器中,操作員可以通過設(shè)置相應(yīng)的環(huán)境變量來決定運(yùn)行在容器中還是外部服務(wù)中畅铭。
3 私有數(shù)據(jù)優(yōu)化
fabric2.0增加了處理和分享私有數(shù)據(jù)的新方式氏淑,這種方式使通道內(nèi)成員隱私交易不再必須創(chuàng)建私有數(shù)據(jù)集合。在更多場景下硕噩,用戶可能希望與特定的通道內(nèi)成員在交易級別分享隱私數(shù)據(jù)假残,而不是在一個(gè)多乘員的集合內(nèi)分享數(shù)據(jù)。每個(gè)私有數(shù)據(jù)集合可以只包含一個(gè)單獨(dú)的組織,也可以包含一個(gè)組織與一個(gè)管理員或?qū)徲?jì)員辉懒。
4 使用數(shù)據(jù)庫緩存提升couchdb性能
在之前版本中阳惹,如果使用了couchdb,背書和驗(yàn)證中數(shù)據(jù)庫的讀操作一直是性能瓶頸眶俩。在2.0中莹汤,讀取操作優(yōu)先查找緩存,通過本緩存技術(shù)來解決這個(gè)問題颠印。緩存大小需要通過core.yaml進(jìn)行配置纲岭。
5 基于alpine的docker鏡像
從2.0版本開始,fabric的docker鏡像將會(huì)使用Alpine嗽仪,一個(gè)面向安全的荒勇、輕量級的linux版本。這意味著docker鏡像將會(huì)更小闻坚,下載速度更快沽翔,占用磁盤空間更小。