国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于gas機(jī)制的聯(lián)盟鏈激勵機(jī)制設(shè)計

2021-06-25 14:18:42李慧凡
軟件導(dǎo)刊 2021年6期
關(guān)鍵詞:發(fā)起者以太背書

李慧凡,孫 力

(江南大學(xué) 人文學(xué)院,江蘇無錫 214122)

0 引言

大數(shù)據(jù)時代的到來為海量數(shù)據(jù)運(yùn)用創(chuàng)造了價值[1],但隨著數(shù)據(jù)信息量呈現(xiàn)爆炸式增長,數(shù)據(jù)信息隱私泄露、數(shù)據(jù)可用性差、數(shù)據(jù)濫用[4]、共享率低等數(shù)據(jù)管理問題逐漸凸顯[2-4]。在區(qū)塊鏈3.0 時代背景下,作為跨領(lǐng)域技術(shù)整合體的區(qū)塊鏈技術(shù)為社會各領(lǐng)域的發(fā)展提供了新的動力[5-6]。由于其去中心化、高可信、不可篡改等特性,在提高數(shù)據(jù)安全與共享方面提供了新的技術(shù)支持與幫助。簡言之,區(qū)塊鏈技術(shù)是一種按照一定時間順序?qū)^(qū)塊加密后以鏈的方式組合在一起的分布式數(shù)據(jù)結(jié)構(gòu)[7],其基礎(chǔ)架構(gòu)包含數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層、激勵層、合約層、應(yīng)用層共6 層[8]。從功能層面看,底層的數(shù)據(jù)層和網(wǎng)絡(luò)層實(shí)現(xiàn)了數(shù)據(jù)信息存儲和傳輸;合約層和應(yīng)用層實(shí)現(xiàn)了與用戶需求的連接,共識層決定著執(zhí)行操作的成敗,而位于共識層之上的激勵層承擔(dān)著對參與共識的節(jié)點(diǎn)進(jìn)行激勵,從而提高共識效率的作用;位于頂層的合約層和應(yīng)用層實(shí)現(xiàn)了區(qū)塊鏈與用戶需求的連接。因此,區(qū)塊鏈中激勵層的改進(jìn)必定會為優(yōu)化共識過程提供新思路。

區(qū)塊鏈技術(shù)按照準(zhǔn)入機(jī)制與共識過程不同,分為公有鏈、私有鏈、聯(lián)盟鏈3 類[9]。3 類區(qū)塊鏈由于激勵機(jī)制不同,存在著不同程度的安全性和不同的共識效率。在公有鏈中,比特幣作為激勵手段對礦工參與共識過程的工作量進(jìn)行激勵[10],其共識過程雖然具有去中心化、數(shù)據(jù)不可篡改的特性,但因存在共識效率不高、存儲資源消耗過大導(dǎo)致使用成本較高、數(shù)據(jù)信息全網(wǎng)節(jié)點(diǎn)可見等問題[11],難以快速實(shí)現(xiàn)應(yīng)用。由特定節(jié)點(diǎn)組成的私有鏈仍保留著中心化的特點(diǎn),因此在私有鏈上執(zhí)行操作并無共識過程,也無激勵機(jī)制,這使得私有鏈難以在多方合作者之間發(fā)展。聯(lián)盟鏈指其共識過程受到預(yù)選節(jié)點(diǎn)控制的區(qū)塊鏈[12],因此聯(lián)盟鏈的共識過程具有弱中心化和強(qiáng)信任等特點(diǎn)。通過比較發(fā)現(xiàn),不同類型區(qū)塊鏈的共識過程與激勵機(jī)制也各不相同,受預(yù)先控制的聯(lián)盟鏈較符合學(xué)校、銀行、商業(yè)等領(lǐng)域的應(yīng)用需求。

在區(qū)塊鏈激勵機(jī)制的已有應(yīng)用中,以太坊內(nèi)部用于激勵礦工的gas 機(jī)制已較為成熟。在以太坊中,通過使用者付費(fèi)方式對參與每筆交易的礦工給予激勵[13],其激勵方式不僅增強(qiáng)了以太坊運(yùn)行的安全性和穩(wěn)定性,還提高了交易效率,促進(jìn)了以太坊平臺發(fā)展。Li 等[14]針對車輛公告網(wǎng)絡(luò)中個人信息隱私保護(hù)較差、發(fā)布或轉(zhuǎn)發(fā)信息動力低等問題,運(yùn)用區(qū)塊鏈技術(shù)開發(fā)出一種通過賬戶給予外在激勵作用,名為CreditCoin 的公告網(wǎng)絡(luò);Lin 等[15]針對數(shù)據(jù)處理中的數(shù)據(jù)準(zhǔn)確性和數(shù)據(jù)存在的內(nèi)部攻擊等問題,提出了一種基于信譽(yù)的激勵機(jī)制;王娟等[16]認(rèn)為激勵機(jī)制分為內(nèi)在激勵機(jī)制和外在激勵機(jī)制,內(nèi)在激勵機(jī)制包括自我實(shí)現(xiàn)激勵、娛樂、社交和情感,外在激勵機(jī)制包括經(jīng)濟(jì)利益和外部影響;何云華等[17]基于區(qū)塊鏈視角總結(jié)了激勵機(jī)制研究現(xiàn)狀并進(jìn)行分類,指出針對不同場景采用不同的激勵方法,并從隱私性、可拓展性等方面評價激勵機(jī)制。然而,關(guān)于聯(lián)盟鏈缺乏激勵機(jī)制導(dǎo)致其共識效率不高、聯(lián)盟內(nèi)成員數(shù)量增加緩慢等問題仍有待深入研究。

基于此,本文通過對聯(lián)盟鏈與gas 機(jī)制原理的介紹,分析來自gas 機(jī)制對聯(lián)盟鏈激勵機(jī)制設(shè)計帶來的啟示,在聯(lián)盟鏈上設(shè)計出包括申請加入聯(lián)盟、數(shù)據(jù)信息上傳、修改、查詢和下載5 種不同應(yīng)用場景下的激勵機(jī)制流程,并結(jié)合聯(lián)盟鏈的應(yīng)用平臺Hyperledger Fabric,設(shè)計了上傳、下載激勵機(jī)制的運(yùn)用流程,以期為聯(lián)盟鏈激勵機(jī)制設(shè)計與研究提供參考,為實(shí)現(xiàn)聯(lián)盟鏈自身發(fā)展、推動聯(lián)盟鏈上數(shù)據(jù)信息共享、加快業(yè)務(wù)流通提供幫助。

1 聯(lián)盟鏈定義與特點(diǎn)

1.1 聯(lián)盟鏈定義

聯(lián)盟鏈由多個組織,例如學(xué)校、企業(yè)、公司等組成聯(lián)盟,在聯(lián)盟組織內(nèi),成員的身份通常是可知的。聯(lián)盟鏈上的節(jié)點(diǎn)可以讀取鏈上信息[18],但寫入與更新區(qū)塊鏈內(nèi)容僅具有管理身份的節(jié)點(diǎn)才能執(zhí)行操作,并使用一致性機(jī)制驗證其管理身份之間的數(shù)據(jù)寫入。由此,聯(lián)盟鏈?zhǔn)窍薅尤搿⒆x寫權(quán)限的一種可控區(qū)塊鏈。

1.2 聯(lián)盟鏈特點(diǎn)

1.2.1 弱中心化

通過與公有鏈準(zhǔn)入機(jī)制的比較,聯(lián)盟鏈對成員的加入與權(quán)限分配有著非常嚴(yán)格的限制。申請加入聯(lián)盟鏈的成員都要經(jīng)過準(zhǔn)入許可后才能加入,并且聯(lián)盟鏈會對節(jié)點(diǎn)的身份進(jìn)行預(yù)先設(shè)置,聯(lián)盟鏈上賬本的查詢與寫入功能僅讓有權(quán)限的成員參與[19]。而與私有鏈相比較,私有鏈的應(yīng)用場景一般在企業(yè)內(nèi)部,進(jìn)入權(quán)限由某個組織進(jìn)行控制,各節(jié)點(diǎn)參與資格由該組織授權(quán)控制,因此私有鏈仍保留著中心化的特點(diǎn)。對比發(fā)現(xiàn),不同于去中心化的公有鏈和中心化的私有鏈,聯(lián)盟鏈有著弱中心化的特點(diǎn)。

1.2.2 高速率

聯(lián)盟鏈上節(jié)點(diǎn)數(shù)目不多,因此發(fā)起交易后達(dá)成共識的速度會比需要全網(wǎng)共識的公有鏈速度更快。公有鏈上的數(shù)據(jù)具有不可篡改的特性是由于需要50%以上的節(jié)點(diǎn)達(dá)成共識才可以對數(shù)據(jù)進(jìn)行修改,而聯(lián)盟鏈上的數(shù)據(jù)信息在有權(quán)限的節(jié)點(diǎn)中達(dá)成共識后,就可以進(jìn)行更改。因此,聯(lián)盟鏈的交易速率更高。

1.2.3 高可信

在公有鏈上的所有節(jié)點(diǎn)都有權(quán)參與執(zhí)行公有鏈上的交易信息。雖然在節(jié)點(diǎn)處理信息時會通過非對稱加密技術(shù)對交易進(jìn)行匿名處理,但是公有鏈不能保證交易隱私,因為每個公鑰的所有交易和余額的值都是公開可見的。而比較于公有鏈,在聯(lián)盟鏈上只有聯(lián)盟內(nèi)部的成員可以訪問聯(lián)盟鏈上的數(shù)據(jù)信息,而外部成員則無法訪問[20]。因此,聯(lián)盟鏈具有更高的可信度。

2 以太坊的gas 激勵機(jī)制原理及啟示

2.1 gas 機(jī)制來源

以太坊上智能合約的應(yīng)用意味著區(qū)塊鏈2.0 時代的到來[20]。智能合約在以太坊中的應(yīng)用實(shí)現(xiàn)了用戶需求與區(qū)塊鏈技術(shù)的對接。智能合約是通過在以太坊的虛擬機(jī)上運(yùn)行代碼實(shí)現(xiàn),網(wǎng)絡(luò)中的每個節(jié)點(diǎn)都會成為運(yùn)行實(shí)現(xiàn)代碼驗證協(xié)議的一部分。因此,智能合約在交易執(zhí)行過程中被每個節(jié)點(diǎn)執(zhí)行,代碼的重復(fù)執(zhí)行都消耗著一定的資源。為了解決每個節(jié)點(diǎn)執(zhí)行過程中過度消耗、資源浪費(fèi)的問題,以太坊提出了一種簡稱gas 的激勵機(jī)制。gas 是以太坊虛擬機(jī)內(nèi)部流通的貨幣,以太坊虛擬機(jī)用gas 對交易打包、智能合約執(zhí)行等操作收取費(fèi)用[21]。

2.2 gas 機(jī)制激勵過程

2.2.1 gas 組成

gas 是衡量執(zhí)行某些操作所需計算量的單位,用來計算為了執(zhí)行操作而需要支付給網(wǎng)絡(luò)的費(fèi)用數(shù)額,由已消耗gas(gas used)、gas 單價(gas price)、gas 額度限制(gas limit)、支付用費(fèi)(fees)4 個部分組成。已消耗gas(gas used)是用來交易的實(shí)際的gas 量;gas 單價(gas price)是每單位gas 的價格;gas 額度限制(gas limit)是交易發(fā)起者在本次交易中支付的最大額度的gas 量;支付給礦工的費(fèi)用-支付用費(fèi)(fees)由已消耗gas(gas used)和gas 單價(gas price)組成,在支付前需要對支付費(fèi)用進(jìn)行換算后以以太幣的形式發(fā)放給礦工。

2.2.2 激勵過程

用戶在以太坊中發(fā)起一筆交易的執(zhí)行流程大致分為發(fā)起交易、驗證交易信息、廣播交易、礦工選擇交易、執(zhí)行交易、交易執(zhí)行結(jié)果記錄6 個階段,如圖1 所示。第一階段,用戶發(fā)起交易時需要設(shè)定本次交易執(zhí)行過程中g(shù)as limit 的值,需要注意的是,gas limit 的設(shè)定將決定在第四階段時交易被處理的速度與是否被礦工所選擇;第二階段,對用戶簽名、交易賬戶、交易值等進(jìn)行確定;第三階段,對發(fā)起的交易進(jìn)行廣播,網(wǎng)絡(luò)中的節(jié)點(diǎn)將接收到廣播;第四階段,礦工節(jié)點(diǎn)將根據(jù)gas limit、gas price 的設(shè)定選擇是否打包該交易;第五階段,礦工完成對交易的打包,并且收取交易發(fā)起者設(shè)定的gas limit;第六階段,在以太坊世界狀態(tài)中刷新用戶狀態(tài),全網(wǎng)節(jié)點(diǎn)進(jìn)行記錄。

gas 機(jī)制的優(yōu)勢之一是對礦工的工作量設(shè)置了保護(hù)。如果gas limit 設(shè)置過小,一旦交易被礦工處理,所消耗的gas 將不會再返回交易發(fā)起人賬戶,而是將消耗的gas 用于獎勵礦工執(zhí)行代碼的工作量。即在交易未被完全處理時gas limit 就被耗盡,則造成已執(zhí)行的合約被復(fù)原,并在區(qū)塊鏈上記錄交易失敗信息。由此,無論交易成功與否、選擇對交易打包的礦工都會收到gas 獎勵。

Fig.1 Flow of gas incentive mechanism圖1 gas 激勵機(jī)制流程

gas 機(jī)制的另一個優(yōu)勢是對交易發(fā)起人將要消耗的gas總量進(jìn)行保護(hù),避免用戶余額浪費(fèi)。交易發(fā)生前用戶很難準(zhǔn)確預(yù)估將要消耗的gas 值,因此,gas 機(jī)制設(shè)定支付礦工消耗費(fèi)用后將剩余的gas 返回到用戶賬戶。

2.3 gas 機(jī)制意義

首先,gas 機(jī)制在以太坊中的執(zhí)行,使得每個被發(fā)起的交易都要由使用者付出一定費(fèi)用,按照工作量的不同去支付,因此贏得了許多礦工的加入,使得以太坊得以不斷發(fā)展;其次,由于每一個交易代碼的運(yùn)行都需要向以太坊網(wǎng)絡(luò)支付費(fèi)用,如果有惡意攻擊者發(fā)起攻擊,也需要為攻擊運(yùn)算的代碼付費(fèi),且攻擊一旦失敗則會支付更多費(fèi)用,gas機(jī)制的設(shè)定提高了以太坊網(wǎng)絡(luò)的安全性;最后,為了減少代碼費(fèi)用支付,開發(fā)者會使用簡潔高效的代碼進(jìn)行開發(fā),使得以太坊網(wǎng)絡(luò)的運(yùn)行速率大幅提高。簡而言之,gas 機(jī)制在以太坊中的應(yīng)用不僅優(yōu)化了以太坊網(wǎng)絡(luò)的安全性與運(yùn)行速率,還讓更多想要得到激勵獎勵的礦工加入其中,讓以太坊得到穩(wěn)定發(fā)展。

3 聯(lián)盟鏈激勵機(jī)制設(shè)計

gas 機(jī)制提供了一種用戶需要對礦工在交易中的勞動貢獻(xiàn)進(jìn)行付費(fèi)的方式,聯(lián)盟鏈也需要這樣一種方式以促進(jìn)數(shù)據(jù)信息共享與使用,并在安全可信的聯(lián)盟鏈環(huán)境下提高交易效率。本文從聯(lián)盟鏈的底層技術(shù)與運(yùn)作原理出發(fā),采用積分機(jī)制的激勵方法,當(dāng)非聯(lián)盟成員或聯(lián)盟內(nèi)成員發(fā)起交易請求時,由管理節(jié)點(diǎn)進(jìn)行請求消息審核,審核通過后將請求消息廣播到聯(lián)盟鏈內(nèi),從而觸發(fā)聯(lián)盟鏈上的積分激勵機(jī)制。具體操作是,首先在聯(lián)盟鏈上設(shè)置一個積分管理中心,用于對所有節(jié)點(diǎn)的積分生成與消耗進(jìn)行記錄;并設(shè)置聯(lián)盟鏈上節(jié)點(diǎn)的身份分別為證書認(rèn)證中心、交易發(fā)起者和處理者、管理節(jié)點(diǎn)(共識節(jié)點(diǎn)和執(zhí)行節(jié)點(diǎn))和普通用戶成員。其次,根據(jù)交易發(fā)起者在聯(lián)盟鏈上提出的業(yè)務(wù)請求類型,分別為申請加入聯(lián)盟、數(shù)據(jù)信息上傳、數(shù)據(jù)信息修改、數(shù)據(jù)信息查詢和數(shù)據(jù)信息下載等請求。不同的請求類型將帶來不同的積分消耗和生成過程,交易發(fā)起者被消耗的積分將依據(jù)一定規(guī)則獎勵給參與共識過程的管理節(jié)點(diǎn)和交易處理者,積分生成或消耗的記錄會分別記錄到積分管理中心、交易發(fā)起者和交易處理者個人積分賬戶、管理節(jié)點(diǎn)的積分賬戶。本文將對不同請求下聯(lián)盟鏈的激勵流程進(jìn)行闡述,如圖2 所示。

Fig.2 Flow of consortium chain incentive mechanism圖2 聯(lián)盟鏈激勵機(jī)制流程

(1)申請加入聯(lián)盟請求。設(shè)定入盟規(guī)則為隨著時間變化入盟獎勵會越來越少,當(dāng)聯(lián)盟鏈上的成員達(dá)到飽和后,后續(xù)加入的成員需要上交一定的入盟費(fèi)用并獲得已有成員的認(rèn)可后方可加入,此入盟費(fèi)用將用于獎勵給聯(lián)盟內(nèi)部的已有成員。入盟審核是由網(wǎng)絡(luò)中的用戶提出加入申請,具有管理身份的共識節(jié)點(diǎn)和執(zhí)行節(jié)點(diǎn)對該申請進(jìn)行審核,審核通過后由證書認(rèn)證中心發(fā)布出該節(jié)點(diǎn)的認(rèn)證證書信息與公私鑰對,提出申請的節(jié)點(diǎn)保留自己的私鑰,證書管理節(jié)點(diǎn)廣播此用戶的身份信息和公鑰信息,便于全網(wǎng)節(jié)點(diǎn)對資源進(jìn)行校檢。在成功加入聯(lián)盟后對該節(jié)點(diǎn)進(jìn)行積分獎勵并由積分管理中心在新入盟成員的個人積分賬戶進(jìn)行記錄。此積分可用于查詢、下載聯(lián)盟鏈上的數(shù)據(jù)信息。

(2)數(shù)據(jù)信息上傳請求。由網(wǎng)絡(luò)中的用戶節(jié)點(diǎn)向管理身份的節(jié)點(diǎn)提出數(shù)據(jù)信息上傳申請,并審查數(shù)據(jù)信息的安全與質(zhì)量。在審查通過后,證書認(rèn)證中心要對數(shù)據(jù)信息的版本信息進(jìn)行審核,校檢該數(shù)據(jù)信息是否為新數(shù)據(jù)信息。審核通過后,由證書認(rèn)證中心發(fā)布認(rèn)證證書與公私鑰對并注明數(shù)據(jù)信息的版本號,以方便后續(xù)修改與更新業(yè)務(wù)。對發(fā)布數(shù)據(jù)信息的用戶、參與數(shù)據(jù)請求過程的管理節(jié)點(diǎn)賬戶進(jìn)行積分獎勵并由積分管理中心對參與該過程的節(jié)點(diǎn)與成員分別進(jìn)行積分激勵記錄,以此激勵聯(lián)盟鏈上的成員共享數(shù)據(jù)信息。

(3)數(shù)據(jù)信息修改請求。網(wǎng)絡(luò)中的用戶節(jié)點(diǎn)提出數(shù)據(jù)信息修改請求后,要先由管理節(jié)點(diǎn)核查數(shù)據(jù)信息的安全與質(zhì)量,核查通過之后交給證書認(rèn)證中心核查該數(shù)據(jù)信息的版本歷史信息,若無版本歷史信息則認(rèn)定為新的數(shù)據(jù)信息并發(fā)布認(rèn)證證書與公私鑰對。核查通過后,對上傳該資源的賬戶、參與數(shù)據(jù)請求過程的管理節(jié)點(diǎn)賬戶按一定規(guī)則分別進(jìn)行積分獎勵,并由積分管理中心與參與該過程的節(jié)點(diǎn)與成員分別進(jìn)行記錄。需要注意的是,更新后原版本信息和更新后信息都會在區(qū)塊鏈上有所記錄。

(4)數(shù)據(jù)信息查詢請求。與上述不同的是,數(shù)據(jù)信息查詢請求會消耗用戶積分,但若積分不足可能會引起查詢失敗或無法查詢完整信息,并且對應(yīng)于gas 機(jī)制已消耗的積分將不再返回交易發(fā)起者賬戶。因此,在用戶賬戶積分充足的情況下才會查詢成功。查詢流程是由單個或多個交易發(fā)起者用戶發(fā)起交易查詢申請,多人共同查詢的優(yōu)勢是平攤查詢成本,以此激勵更多用戶參與到資源查詢中。在發(fā)起交易申請后由管理節(jié)點(diǎn)對交易節(jié)點(diǎn)賬戶進(jìn)行審核,判斷是單賬戶還是多賬戶發(fā)起的交易,并對賬戶的認(rèn)證信息進(jìn)行身份核查。確定交易發(fā)起人用戶信息后將交易廣播到全網(wǎng)節(jié)點(diǎn),聯(lián)盟上的成員收到查詢請求后可以選擇是否加入此交易。確認(rèn)參加后由管理節(jié)點(diǎn)對參加交易的節(jié)點(diǎn)進(jìn)行排序,最先決定參加處理該交易的成員將得到被查詢的機(jī)會。并且,向交易發(fā)起者公開被查詢的數(shù)據(jù)信息,在查詢成功后,交易發(fā)起者將被扣除查詢所消耗的積分,按照一定規(guī)則將部分積分轉(zhuǎn)移到交易處理者賬戶,另一部分轉(zhuǎn)到參與交易處理的管理節(jié)點(diǎn)賬戶,積分轉(zhuǎn)移信息由積分管理中心和相關(guān)成員賬戶進(jìn)行記錄。

(5)數(shù)據(jù)信息下載請求。數(shù)據(jù)信息下載請求屬于積分消耗請求,對應(yīng)于gas 機(jī)制中的勞動付費(fèi)原則,若交易發(fā)起者賬戶積分不足,數(shù)據(jù)信息下載將會失敗,并且用戶下載消耗的積分不會被退回到原有積分賬戶。此外,網(wǎng)絡(luò)中的交易發(fā)起者節(jié)點(diǎn)發(fā)布數(shù)據(jù)信息下載請求的前提是已被成功查詢。具體流程如下,交易發(fā)起者判斷是所需數(shù)據(jù)信息后,需要再次對管理節(jié)點(diǎn)發(fā)送下載請求。管理節(jié)點(diǎn)審核成功后向數(shù)據(jù)信息所有者廣播下載請求消息。該消息得到交易處理者確認(rèn)后,向交易發(fā)起者提供下載該數(shù)據(jù)信息的鏈接。當(dāng)積分被消耗完時,鏈接將會失效,交易發(fā)起者將無法繼續(xù)對該資源進(jìn)行下載。同時,按照一定規(guī)則將消耗的積分部分轉(zhuǎn)移到交易處理者與管理節(jié)點(diǎn)的賬戶并由積分管理中心記錄。

4 基于Hyperledger Fabric 平臺的聯(lián)盟鏈激勵機(jī)制應(yīng)用設(shè)計

4.1 Hyperledger Fabric 交易機(jī)制

Hyperledger 是Linux 基金會于2015 年發(fā)起的旨在推進(jìn)區(qū)塊鏈技術(shù)發(fā)展的開源項目,提供一個開放平臺的方式,為全球商業(yè)、金融、物聯(lián)網(wǎng)等領(lǐng)域提供支持[22]。本文以Hyperledger Fabric 平臺為例,對聯(lián)盟鏈的激勵機(jī)制應(yīng)用過程進(jìn)行闡述,明確Hyperledger Fabric 的組織架構(gòu)與共識機(jī)制是該平臺實(shí)現(xiàn)激勵機(jī)制的基礎(chǔ)。

4.1.1 Hyperledger Fabric 組織架構(gòu)

Hyperledger Fabric 由聯(lián)盟、通道、組織、若干不同身份節(jié)點(diǎn)組成。聯(lián)盟通常由一個或多個組織構(gòu)成,處于同一通道內(nèi)為一個聯(lián)盟。通道是一個邏輯概念,是在通道上的部分網(wǎng)絡(luò)成員之間擁有的獨(dú)立通信渠道。Hyperledger Fabric內(nèi)部由不同的組織劃分,組織內(nèi)由分布在世界各地的聯(lián)網(wǎng)機(jī)器或虛擬機(jī)組成不同身份的成員,成員身份包括:客戶端節(jié)點(diǎn)、記賬節(jié)點(diǎn)、提交節(jié)點(diǎn)、背書節(jié)點(diǎn)、排序節(jié)點(diǎn)、錨節(jié)點(diǎn)、CA 節(jié)點(diǎn)等,不同的成員可以選擇加入不同的組織。

4.1.2 Hyperledger Fabric 共識機(jī)制

超級賬本采用PBFT 共識算法,目的在于保持網(wǎng)絡(luò)節(jié)點(diǎn)之間的分布式狀態(tài)一致。共識過程通常分為背書、排序、校檢3 個階段[23],如圖3 所示。第一階段是背書階段,在超級賬本中會設(shè)定若干個節(jié)點(diǎn)或特定的節(jié)點(diǎn)擔(dān)任背書節(jié)點(diǎn)身份。背書節(jié)點(diǎn)對客戶端發(fā)起的交易數(shù)據(jù)信息進(jìn)行合法性校檢并模擬鏈碼執(zhí)行得到交易結(jié)果、根據(jù)預(yù)先設(shè)定的背書策略判斷是否支持該交易。校檢通過后,對該交易提案簽名再返回客戶端。第二階段是在超級賬本上各通道內(nèi)對各組織上的交易進(jìn)行排序,目的是確定交易信息之間的時序關(guān)系。同時,通過kafka 模式對交易消息進(jìn)行處理并分發(fā)給通道中的成員,保證所有節(jié)點(diǎn)數(shù)據(jù)一致性。第三階段是校檢階段,由提交節(jié)點(diǎn)對排序后的交易進(jìn)行一系列檢驗,包括交易數(shù)據(jù)的完整性和唯一性、背書簽名正確性等。校檢通過則按照交易的順序記錄于賬本,始終保持不同記賬節(jié)點(diǎn)的狀態(tài)一致。

Fig.3 Hyperledger Fabric consensus process flow圖3 Hyperledger Fabric 共識過程流程

4.2 基于Hyperledger Fabric 激勵流程的應(yīng)用流程

聯(lián)盟鏈中的一般激勵機(jī)制是由不同身份的聯(lián)盟成員、證書認(rèn)證中心、積分管理中心組成。在Hypeledger Fabric中激勵機(jī)制的執(zhí)行同樣需要通過客戶端節(jié)點(diǎn)、記賬節(jié)點(diǎn)、提交節(jié)點(diǎn)、背書節(jié)點(diǎn)、排序節(jié)點(diǎn)、錨節(jié)點(diǎn)、CA 節(jié)點(diǎn)的參與共同完成。但還缺少實(shí)現(xiàn)激勵機(jī)制的觸發(fā)節(jié)點(diǎn),因此要在Hyperledger Fabric 的聯(lián)盟內(nèi)部設(shè)置某個節(jié)點(diǎn)的特定身份為積分管理中心,用于實(shí)現(xiàn)存儲積分激勵機(jī)制的觸發(fā)功能。當(dāng)數(shù)據(jù)信息交易請求被提起時,首先由管理節(jié)點(diǎn)進(jìn)行請求消息審核,審核通過后將該消息廣播到聯(lián)盟鏈上,并同時觸發(fā)數(shù)據(jù)信息交易的激勵機(jī)制。

4.2.1 上傳數(shù)據(jù)信息事務(wù)激勵流程

根據(jù)上文聯(lián)盟鏈的用戶成員發(fā)送上傳數(shù)據(jù)信息請求的一般激勵流程,基于Hyperledger Fabric 上傳請求激勵具體流程如圖4 所示。首先,客戶端的應(yīng)用程序發(fā)起上傳交易提案請求到背書節(jié)點(diǎn),背書節(jié)點(diǎn)接收到交易上傳請求后,先對交易提案進(jìn)行合法性檢驗,驗證通過后模擬執(zhí)行鏈碼并得到交易結(jié)果;再依據(jù)背書策略決定是否支持交易提案,若支持則生成提案響應(yīng)和背書簽名并發(fā)送給客戶端的應(yīng)用程序。在應(yīng)用程序收到所有背書節(jié)點(diǎn)的背書簽名并進(jìn)行檢驗后,需要向排序節(jié)點(diǎn)提交交易。排序節(jié)點(diǎn)接收到交易請求后,要先對交易提案請求、背書節(jié)點(diǎn)的提案響應(yīng)與背書簽名進(jìn)行驗證并打包;之后對所有通道發(fā)出的交易信息,按照交易的接收時間進(jìn)行打包并生成區(qū)塊廣播給通道上不同組織的主節(jié)點(diǎn);再由每個組織的主節(jié)點(diǎn)將交易消息發(fā)送到組織內(nèi)部的每個記賬節(jié)點(diǎn)并進(jìn)行更新。如果該交易無效,則不再更新當(dāng)前的世界狀態(tài),但區(qū)塊仍會更新。因此,在對客戶端節(jié)點(diǎn)的上傳請求進(jìn)行激勵時,應(yīng)判斷該交易是否成功更新世界狀態(tài)。若成功更新,應(yīng)依據(jù)規(guī)則,給予參與該共識過程的背書節(jié)點(diǎn)和執(zhí)行節(jié)點(diǎn)相應(yīng)的積分獎勵并記入節(jié)點(diǎn)的積分賬戶上,將獎勵生成的積分記錄到積分管理中心以便后期查詢以及積分使用情況記錄。

Fig.4 Fabric upload request excitation flow圖4 Fabric 上傳請求激勵流程

4.2.2 下載數(shù)據(jù)信息事務(wù)激勵流程

根據(jù)上文聯(lián)盟鏈的用戶成員發(fā)送下載數(shù)據(jù)信息請求的一般流程,基于Hyperledger Fabric 的下載流程如圖5 所示。首先,由個人或多人客戶端共同發(fā)起同一個下載交易提案請求到背書節(jié)點(diǎn),此時客戶端的身份為交易發(fā)起者。背書節(jié)點(diǎn)要經(jīng)過3 部分校檢,首先對交易信息進(jìn)行驗證;然后,對該交易是否完成查詢請求進(jìn)行校檢,若未完成,則不返回交易提案,若已完成查詢,則返回背書簽名和交易提案;再由背書節(jié)點(diǎn)對用戶的積分余額進(jìn)行查詢,以免余額為空無法進(jìn)行交易。背書完成后,由排序節(jié)點(diǎn)對交易進(jìn)行排序,并廣播到每個組織的主節(jié)點(diǎn)。在組織內(nèi)部成員收到下載資源請求后,第一個接收該數(shù)據(jù)信息下載請求者為交易處理者,由交易處理者向交易發(fā)起者提供下載數(shù)據(jù)信息鏈接,并由交易發(fā)起者支付一定積分。需要注意的是,當(dāng)資源下載未成功時,已支付積分不再返回交易發(fā)起者賬戶,并由積分管理中心對兩者積分變動進(jìn)行記錄。當(dāng)下載成功時,處于組織上的主節(jié)點(diǎn)將交易成功消息進(jìn)行廣播,并由各組織上記賬節(jié)點(diǎn)進(jìn)行記錄并更新區(qū)塊的世界狀態(tài)。被使用于下載當(dāng)前數(shù)據(jù)信息消耗的積分將依據(jù)一定規(guī)則,將部分積分轉(zhuǎn)移到交易處理者賬戶,同時將另一部分積分轉(zhuǎn)移到參與該交易的背書節(jié)點(diǎn)與執(zhí)行節(jié)點(diǎn)的賬戶。由積分管理中心對參與該交易的成員與管理節(jié)點(diǎn)的個人積分賬戶進(jìn)行記錄。

Fig.5 Fabric download request excitation flow圖5 Fabric 下載請求激勵流程

5 結(jié)語

加快區(qū)塊鏈技術(shù)的商業(yè)應(yīng)用部署能夠更好地提高社會各領(lǐng)域之間的合作與共建共享,推動數(shù)字化時代數(shù)據(jù)信息流通模式變革。激勵機(jī)制作為提高區(qū)塊鏈運(yùn)行速率與安全性的重要手段,其進(jìn)步與發(fā)展必定會成為驅(qū)動區(qū)塊鏈技術(shù)應(yīng)用持續(xù)發(fā)展的核心動力。通過對不同類型區(qū)塊鏈的比較分析發(fā)現(xiàn),聯(lián)盟鏈相較于公有鏈和私有鏈更適合于商業(yè)應(yīng)用?;诖?,本文對聯(lián)盟鏈原理與特征、gas 激勵機(jī)制的激勵過程及啟示進(jìn)行了闡述。經(jīng)分析發(fā)現(xiàn),gas 激勵機(jī)制的核心在于采用對礦工所有勞動量付費(fèi)的方式。因此,本文結(jié)合聯(lián)盟鏈的原理與特點(diǎn)設(shè)計了在聯(lián)盟鏈上入盟、數(shù)據(jù)信息上傳、下載、查詢等應(yīng)用場景的激勵流程,并結(jié)合Hyperledger Fabric 設(shè)計實(shí)際應(yīng)用流程,以期通過激勵機(jī)制設(shè)計,實(shí)現(xiàn)聯(lián)盟鏈成員擴(kuò)大,進(jìn)而加強(qiáng)聯(lián)盟內(nèi)部穩(wěn)定性。此外,每位成員都有在聯(lián)盟鏈上分享與獲取數(shù)據(jù)信息的權(quán)利,希望通過不同成員之間的分享,提高數(shù)據(jù)信息使用價值,并吸引更多領(lǐng)域的人為聯(lián)盟鏈的應(yīng)用與發(fā)展作出貢獻(xiàn)。

猜你喜歡
發(fā)起者以太背書
互惠利他的先行優(yōu)勢:品牌的互惠角色影響消費(fèi)者親社會行為*
以太極為旗,開啟新時代“黃河大合唱”
少林與太極(2023年7期)2023-08-25 05:27:52
不對稱信息下考慮參與者行為的眾籌參數(shù)設(shè)計
背書是寫作的基本功
快樂語文(2021年34期)2022-01-18 06:04:04
背書
車易鏈:做汽車業(yè)的“以太坊”
汽車觀察(2018年9期)2018-10-23 05:46:24
背書
諍言傳播的發(fā)起者研究——動機(jī)和影響因素
百通推出入門級快速工業(yè)以太網(wǎng)絡(luò)交換器系列
背書連續(xù)性若干問題探析
和静县| 临桂县| 商城县| 江城| 景宁| 新河县| 淳化县| 盐池县| 吴川市| 桃园县| 阜宁县| 襄樊市| 司法| 水城县| 曲阳县| 奈曼旗| 龙口市| 尖扎县| 东港市| 休宁县| 乐陵市| 昌邑市| 赣榆县| 葵青区| 南宫市| 靖州| 屏山县| 武川县| 南郑县| 金山区| 安塞县| 调兵山市| 旬邑县| 鸡西市| 延川县| 朔州市| 沾化县| 茂名市| 洪江市| 罗定市| 汝阳县|