Fabric交易背書過程的示例分析

這篇文章給大家分享的是有關(guān)Fabric交易背書過程的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

10年的南靖網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整南靖建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“南靖網(wǎng)站設(shè)計(jì)”,“南靖網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

Hyperledger Fabric和其他許多區(qū)塊鏈的關(guān)鍵區(qū)別之一,就在于Fabric區(qū)塊鏈的交易執(zhí)行過程:Fabric交易需要首先通過節(jié)點(diǎn)的背書,然后再進(jìn)行交易排序,最后才利用有序交易進(jìn)行賬本的更新。本文將介紹Hyperledger Fabric所采用的執(zhí)行-排序-驗(yàn)證這一三步交易模型的工作原理,以及引入背書環(huán)節(jié)對(duì)Hyperledger Fabric區(qū)塊鏈性能的有益作用。

1、交易的生命周期:Hyperledger Fabric vs. 其他區(qū)塊鏈

在其他區(qū)塊鏈平臺(tái)中,交易生命周期基本由如下環(huán)節(jié)構(gòu)成:

  • 排序:交易有序加入賬本,然后擴(kuò)散到所有節(jié)點(diǎn)

  • 執(zhí)行:交易在所有節(jié)點(diǎn)上按順序依次執(zhí)行并更新賬本

為了讓所有節(jié)點(diǎn)保持一致的狀態(tài),交易必須確定性執(zhí)行,也就是說,無論何時(shí)何地,同樣的交易必須產(chǎn)生同樣的結(jié)果。這一要求對(duì)智能合約形成了很強(qiáng)的約束,也是智能合約通常需要使用領(lǐng)域特定語言(DSL)來開發(fā)的原因之一,因此使用像Java或Go這樣的通用開發(fā)語言基本上無法保證確定性。

在Hyperledger Fabric中,交易的聲明周期則有所不同:

  • 執(zhí)行:交易(通過智能合約)以任意順序執(zhí)行,甚至可以并行執(zhí)行

  • 排序:當(dāng)足夠數(shù)量的節(jié)點(diǎn)對(duì)交易結(jié)果達(dá)成一致,該交易就會(huì) 被加入賬本并擴(kuò)散給所有節(jié)點(diǎn)。

  • 驗(yàn)證:每個(gè)節(jié)點(diǎn)驗(yàn)證并按順序執(zhí)行交易,從而更新賬本

首先需要注意的一點(diǎn)是,交易的執(zhí)行和對(duì)賬本的實(shí)際更新被拆分為兩個(gè)環(huán)節(jié),這一拆分帶來一些有益的作用:

  • 所有節(jié)點(diǎn)都需要更新賬本,因此所有節(jié)點(diǎn)都需要執(zhí)行驗(yàn)證步驟。 但并不是所有的節(jié)點(diǎn)都需要執(zhí)行智能合約。Hyperledger Fabric 使用背書策略來定義哪些節(jié)點(diǎn)需要執(zhí)行交易。這意味著指定的 鏈碼(智能合約)不必開放給所有的節(jié)點(diǎn) —— 那些不在背書策略中 的節(jié)點(diǎn)不需要由訪問鏈碼的權(quán)限。

  • 交易可以在被排序之前先執(zhí)行。這是的節(jié)點(diǎn)可以并行執(zhí)行交易, 從而提高系統(tǒng)的吞吐量

  • 在Fabric的三步交易模型中,在交易被添加到賬本之前,其鏈碼 執(zhí)行結(jié)果是顯式達(dá)成一致的,其他區(qū)塊鏈的兩步交易模型使用 確定性的鏈碼,本身就隱含了節(jié)點(diǎn)之間就智能合約的執(zhí)行結(jié)果 達(dá)成一致。顯式達(dá)成一致可以讓Fabric使用非確定性的鏈碼, 這也是為什么我們可以使用Go、Java和Node.js編寫Fabric鏈碼 的原因。

2、Hyperledger Fabric的交易背書策略

Hyperledger Fabric允許用戶自己定義鏈碼執(zhí)行的策略。這些背書策略定義了在交易被加入賬本之前,哪些節(jié)點(diǎn)需要就交易結(jié)果達(dá)成一致。Fabric提供了一個(gè)小型的DSL來定義背書策略。下面展示了一些背書策略樣例:

  • 節(jié)點(diǎn)A、B、C和F都需要對(duì)類型為T的交易進(jìn)行背書

  • 通道中的大部分節(jié)點(diǎn)必須對(duì)類型為U的交易進(jìn)行背書

  • A、B、C、D、E、F、G中的至少3個(gè)節(jié)點(diǎn)必須對(duì)類型為V的交易進(jìn)行背書

背書策略并不保證正確的鏈碼安裝在正確的節(jié)點(diǎn)上。然而,背書和安裝鏈碼的確存在類似的機(jī)制,我們將在后續(xù)教程中介紹這一點(diǎn)。

3、Hypereledger Fabric交易背書的實(shí)現(xiàn)機(jī)制

到目前為止,我們都是松散地使用交易(transaction)這一術(shù)語。在排序-執(zhí)行模型中,鏈碼執(zhí)行和賬本更新被合二為一 —— 交易。在Fabric中,這兩個(gè)概念是分開的,因此交易本身也被拆分。

Fabric從交易提議(Transaction Proposal)開始。這是一個(gè)用來觸發(fā)鏈碼執(zhí)行的數(shù)據(jù)包。交易提議被發(fā)送給用于背書的節(jié)點(diǎn)。背書節(jié)點(diǎn)執(zhí)行鏈碼,如果成功的話就生成一個(gè)實(shí)際的賬本交易。背書節(jié)點(diǎn)簽名建議并返回交易提議的響應(yīng),這是執(zhí)行-排序-驗(yàn)證模型中的執(zhí)行步驟。

一旦交易提議的創(chuàng)建者收到足夠的可以滿足背書策略的簽名,它就可以將交易(以及簽名)提交以便添加到賬本中,這就是排序步驟。

4、結(jié)論

Hyperledger Fabric在區(qū)塊鏈交易方面采取了一個(gè)新穎的思路,將智能合約的執(zhí)行與賬本的更新分開使它可以提高交易吞吐量,支持更細(xì)粒度的隱私控制,實(shí)現(xiàn)更靈活強(qiáng)大的智能合約。而這些特性得以實(shí)現(xiàn)的一個(gè)關(guān)鍵因素就是在交易加入賬本之前進(jìn)行顯式地交易背書。

感謝各位的閱讀!關(guān)于“Fabric交易背書過程的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

本文題目:Fabric交易背書過程的示例分析
標(biāo)題鏈接:http://www.muchs.cn/article24/ihehce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、搜索引擎優(yōu)化定制開發(fā)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作