陳煥新,李愛萍
太原理工大學(xué) 信息與計算機學(xué)院,山西 晉中 030600
在商業(yè)交易中,交易雙方對交易內(nèi)容的認(rèn)可需要通過合同形成各種存證,如保險合同、銀行存單等,雙方互信建立在書面簽名、多重備份、分散保存等基礎(chǔ)上,即將經(jīng)雙方確認(rèn)符合自身利益的合同相互交換簽署,從而實現(xiàn)對其利益的保障。隨著數(shù)字化技術(shù)的發(fā)展,交易存證也在逐漸實現(xiàn)電子化,以順應(yīng)信息技術(shù)和大數(shù)據(jù)潮流,同時提高合同存證的管理效率和利用價值。
交易存證數(shù)字化后,交易雙方通過PKI/CA體系的RSA簽名機制和哈希摘要對合同內(nèi)容進行簽名,為合同的合理性背書,在此基礎(chǔ)上,針對數(shù)字合同的公平合同簽署協(xié)議(fair contract signing protocol,F(xiàn)CSP)將是保證合同公平進行的必要條件。公平合同簽署是指雙方在網(wǎng)絡(luò)中發(fā)送帶有自身數(shù)字簽名的合同,簽名可由對方進行驗證,同時如果合同內(nèi)容侵犯了某一方的利益,則停止執(zhí)行,并且回滾到初始狀態(tài),以避免任何一方的損失,保證了合同內(nèi)容的公平性。因此,合同成功運行則代表雙方對合同內(nèi)容的共同認(rèn)可,而合同異常終止也不會使任何一方形成損失,同時交易雙方無法否認(rèn)自己應(yīng)負(fù)的責(zé)任,形成了線上合同的公平。公平合同簽署協(xié)議可以分為有可信第三方(trusted third party,TTP)和無可信第三方兩種模式,前者是一種傳統(tǒng)的中心化管理方式[1],而后者則是一種去中心化的管理方式[2],其中有TTP模式要求第三方必須嚴(yán)格中立,一旦第三方不可信,將會對交易其中一方造成損失,從公平角度看,無TTP模式要比有TTP模式更有優(yōu)勢,然而直到區(qū)塊鏈出現(xiàn)之前,F(xiàn)CSP也沒有建立出無TTP模式。
以去中心化、不可篡改為核心特色的區(qū)塊鏈,是一種特殊的電子交易系統(tǒng),所有交易及數(shù)據(jù)往來都是以電子形式通過P2P網(wǎng)絡(luò)進行傳遞、存儲[3],所有用戶可進行私密交易,保證交易的完全匿名性,同時所有交易在區(qū)塊鏈上存儲,形成數(shù)據(jù)的不可否認(rèn)性。其去中心化的特性正好順應(yīng)FCSP的無TTP需求,相較于以往的傳統(tǒng)電子交易,去中心化的分布式存儲提升了私自修改數(shù)據(jù)的代價,同時鏈上節(jié)點的每一次交易都會記錄在鏈上,大大提升了交易的可信度[4]。
然而,當(dāng)前區(qū)塊鏈的信任模式還是單向信任,即交易的發(fā)起方對接收方只有利益的輸送,而沒有確認(rèn)接收方應(yīng)負(fù)的責(zé)任。以比特幣支付為例,在單向信任模式中,接收方可以信任發(fā)起方的支付行為,而發(fā)起方卻無法信任接收方的履約行為,當(dāng)發(fā)起方發(fā)送交易后,接收方獲取利益,卻有可能以沒有責(zé)任約定故意不履行合約,使發(fā)起方承受巨大損失,這種情況在現(xiàn)實中并不少見。因此,區(qū)塊鏈亟待建立起能保障公平性的雙向信任模式,即通過約定利益和責(zé)任,通過網(wǎng)絡(luò)發(fā)送經(jīng)過己方簽名的合同,在接受利益的同時也接受責(zé)任,使交易雙方達(dá)成交易互信。當(dāng)前逐漸興起的針對雙向信任的研究指出,可以通過多種措施形成雙向公平,從而更好地促進區(qū)塊鏈在某些重點行業(yè)的落地推廣[4],然而這些措施均存在各種各樣的缺陷。本文的貢獻主要有以下兩點:一是針對現(xiàn)有公平合同簽署協(xié)議的缺陷,在Fabric區(qū)塊鏈中對其進行了改進,形成交易主體的順序簽名、統(tǒng)一驗證,在保證雙向信任的同時提升了交易確認(rèn)速度;二是設(shè)計了車險區(qū)塊鏈架構(gòu),并在車險環(huán)境下驗證上述雙向信任保險區(qū)塊鏈的公平性和性能。
區(qū)塊鏈最初被一種非常有名的加密貨幣——比特幣采用,能夠記錄跨計算機的操作,并以分散的方式存儲,從而形成一個不可變的數(shù)字分布式分類賬[5]。帳本分布在所有節(jié)點中,每個節(jié)點都有賬本的副本。每個事務(wù)以塊的形式存儲,被組織成線性序列,形成一個鏈條。區(qū)塊鏈的每一個塊都包含前一個塊的哈希值,一旦塊被加到鏈條末端并且被共識,那么任何人都不能刪除或者修改這個塊,在比特幣使用的區(qū)塊鏈中,每個塊對所有成員可見[6]。
Fabric聯(lián)盟鏈由IBM提出,適用于在大規(guī)模網(wǎng)絡(luò)上運行分布式應(yīng)用程序,最大優(yōu)勢是性能開銷較小和機密性較好[7]。從性能開銷角度考慮:其他區(qū)塊鏈結(jié)構(gòu)中,共識被廣泛接受,但在區(qū)塊鏈網(wǎng)絡(luò)中以對等方式順序執(zhí)行事務(wù),嚴(yán)重降低區(qū)塊鏈性能。而在Fabric中通過指定背書節(jié)點和共識節(jié)點,背書節(jié)點模擬執(zhí)行交易并簽名,交由有限的共識節(jié)點進行共識并打包成塊,提高了效率,避免了不必要的性能開銷。相同條件下,相較于以太坊聯(lián)盟鏈,F(xiàn)abric聯(lián)盟鏈在吞吐量和事務(wù)延遲等方面有更好的性能[8]。從機密性角度考慮,此前的區(qū)塊鏈結(jié)構(gòu)中允許任何一方查看鏈塊,不符合商業(yè)應(yīng)用中保密性的要求,而Fabric通過引入成員關(guān)系服務(wù)提供者(membership service provider,Msp)審核機制和通道技術(shù)在一定程度上實現(xiàn)了機密性,其中Msp機制通過身份驗證和簽名管理建立了節(jié)點加入?yún)^(qū)塊鏈的門檻,通道技術(shù)通過保證各通道節(jié)點及節(jié)點間的交易獨立性實現(xiàn)隱私性[7]。在Fabric中,節(jié)點的加入都要通過審核[9],同時每個交易環(huán)境都在一個通道中發(fā)生,每一個通道生成各自的區(qū)塊鏈,只有本通道內(nèi)的節(jié)點才可以查看區(qū)塊信息。
智能合約也稱為加密合約,是一種計算機程序,用于依據(jù)某種規(guī)則在各方之間轉(zhuǎn)移資產(chǎn)或數(shù)字貨幣,允許互不信任的主體進行交易[8]。Fabric提供的智能合約叫作chaincode,即鏈碼,使用Docker容器來運行智能合約,基于Docker提供的隔離性和安全性來實現(xiàn)宿主主機的安全性[10]。智能合約可基于Go和Java高級語言開發(fā),這些語言不但圖靈完備、技術(shù)成熟,可降低合約開發(fā)者的學(xué)習(xí)門檻。同時區(qū)塊鏈本身的特性,使得智能合約保存在區(qū)塊鏈中,保證其不可篡改性[11]。
信息不對稱是當(dāng)前保險行業(yè)的顯著特點[12],主要包括兩個方面,一是保險公司的條款制定和執(zhí)行對于被保險人來說是陌生領(lǐng)域,保險公司可能會設(shè)置一些漏洞來欺瞞被保險人;二是被保險人利用信息的不同步、不透明等特點,利用時間差、造假等方式,惡意騙取賠付。因此,在區(qū)塊鏈出現(xiàn)不久即產(chǎn)生了將該技術(shù)應(yīng)用于保險行業(yè)的呼聲,多位學(xué)者提出了將區(qū)塊鏈應(yīng)用在保險行業(yè)中的可行性和必要性[13-14],然而并沒有對區(qū)塊鏈如何應(yīng)用在保險行業(yè)中進行進一步的研究。
基于區(qū)塊鏈技術(shù)的公平合同簽署協(xié)議發(fā)展有以下幾個階段:一是基于原始區(qū)塊鏈有TTP的實現(xiàn),二是基于原始區(qū)塊鏈無TTP的實現(xiàn),三是基于智能合約的實現(xiàn)。
基于原始區(qū)塊鏈有TTP區(qū)塊鏈技術(shù)的公平交易實現(xiàn)[14],其內(nèi)容是交易雙方和穩(wěn)定第三方對交易進行數(shù)字簽名,發(fā)布在比特幣網(wǎng)絡(luò),沒有發(fā)送己方簽名的一方會被懲罰一定數(shù)量的比特幣。然而該方案依賴于比特幣等數(shù)字貨幣,沒有涉及合同內(nèi)容,并且當(dāng)懲罰的比特幣超過交易額時,此協(xié)議即會失效。
針對上述缺陷,于雷等人提出了一種基于原始區(qū)塊鏈的無TTP通用的雙向及多方信任的公平合同簽署協(xié)議(BFCSP)[4],交易流程如圖1所示,該協(xié)議不依賴于貨幣,當(dāng)組織A中的普通節(jié)點發(fā)起交易,會將合同內(nèi)容與交易一起發(fā)出,以下統(tǒng)稱交易。首先組織A中的提交節(jié)點對交易進行簽名并單方面將交易上鏈,并進行廣播,證明A已經(jīng)發(fā)起但B沒有確認(rèn),當(dāng)組織B中的節(jié)點接收后,會進行簽名,同時上鏈,并進行廣播,證明B已接收A未確認(rèn),當(dāng)A接收到信息后,簽名并上鏈,確認(rèn)A已知B接收到交易。這種共識協(xié)議完全保證了雙方的公平性,然而在A發(fā)起的一次單方交易中,需要生成三個塊,降低了區(qū)塊鏈的交易效率。

圖1 基于原始區(qū)塊鏈的公平合同簽署協(xié)議示意圖Fig.1 Diagram of FCSP based on original blockchain
以太坊技術(shù)成熟后,出現(xiàn)一種新型的基于以太坊公有鏈智能合約的公平合同簽署(EFCSP)模式[15],其中公平合同簽署通過智能合約修改交易規(guī)則實現(xiàn),基本思路是通過智能合約將待確認(rèn)交易發(fā)布到以太坊區(qū)塊鏈網(wǎng)絡(luò)中,由接收方確認(rèn)簽名。但是該方法需要將交易發(fā)布在公鏈環(huán)境中,暴露了合同內(nèi)容,因此只適用交換利益,而不適用交換具體責(zé)任,不適用實際商業(yè)環(huán)境,同時以太坊區(qū)塊鏈的交易確認(rèn)仍然帶有挖礦過程,使得交易造成計算浪費和耗時增加。
綜上所述,三種公平合同簽署協(xié)議各自的缺陷如表1。

表1 不同公平合同簽署協(xié)議的缺陷對比Table 1 Comparison of defects in different FCSP
Fabric架構(gòu)交易確認(rèn)速度快的特性使得其更適用于公平交易環(huán)境,且相比于公鏈,F(xiàn)abric聯(lián)盟鏈有如下四個優(yōu)勢:一是引入Msp管理機制確保交易各方可信,二是使用狀態(tài)數(shù)據(jù)庫利于編寫鏈碼,三是各通道發(fā)生的交易互不干涉,四是去除了POW共識機制因而消除了算力浪費問題[16],然而當(dāng)前并沒有研究提出基于Fabric的雙向公平合同簽署協(xié)議。圖2展示了傳統(tǒng)Fabric架構(gòu)的運作過程[7],組織A中的普通節(jié)點發(fā)起交易,背書節(jié)點endorse進行模擬執(zhí)行,傳遞給通道的order節(jié)點進行排序共識,再返回給組織A中的commit節(jié)點進行上鏈操作,待確認(rèn)交易進行加密處理,保證了交易的隱私性。然而在交易流程中可以看到交易接收方組織B并沒有證明自己接收交易,也就是說傳統(tǒng)Fabric的公平性只體現(xiàn)在了交易接收方,發(fā)起方并沒有享受到公平性,是一種單向信任。

圖2 Fabric區(qū)塊鏈運作過程示意圖Fig.2 Diagram of Fabric blockchain operation process
以基于傳統(tǒng)區(qū)塊鏈架構(gòu)的FCSP為例,它的提出是為了實現(xiàn)雙向及多方信任,然而需要多次共識過程,而每一次共識都需要一定時間進行[17],因此耗費大量時間,而基于以太坊智能合約實現(xiàn)的雙向公平又失去了合同內(nèi)容的隱私。針對基于傳統(tǒng)區(qū)塊鏈、以太坊FCSP的上述缺陷,本文提出一種基于Fabric架構(gòu)的快速雙向信任的合同簽署協(xié)議(TFCSP),通過利用Fabric架構(gòu)特性修改gossip進程來實現(xiàn),同時Fabric架構(gòu)提供的私有數(shù)據(jù)機制將同一交易的隱私數(shù)據(jù)和非隱私數(shù)據(jù)分開處理保存,保證了合同內(nèi)容的隱私,并且通過身份混淆機制賦予用戶一個短期憑證來維護交易雙方的身份隱私[7]。TFCSP具體執(zhí)行流程如圖3所示。

圖3 基于Fabric的快速公平合同簽署協(xié)議示意圖Fig.3 Diagram of TFCSP based on Fabric
組織A和組織B中的背書節(jié)點、領(lǐng)導(dǎo)節(jié)點、錨節(jié)點分別是endorseA(B)、leader A(B)、anchor A(B),組織A和組織B的簽名為signA和signB,常用信息以結(jié)構(gòu)體形式儲存在區(qū)塊鏈上,數(shù)據(jù)傳輸過程如圖4所示。

圖4 TFCSP數(shù)據(jù)傳輸過程示意圖Fig.4 Diagram of TFCSP data transfer process
當(dāng)組織A中的普通節(jié)點發(fā)起交易,交易以結(jié)構(gòu)體為組織形式,方便后續(xù)內(nèi)容比對,利用Fabric架構(gòu)私有數(shù)據(jù)(Private Data)機制,可以指定部分?jǐn)?shù)據(jù)為隱私數(shù)據(jù)且制訂權(quán)限策略,使僅指定節(jié)點可見,另外,隱私數(shù)據(jù)不會明文上傳到區(qū)塊,保證了隱私性[18],背書節(jié)點對交易內(nèi)容模擬執(zhí)行并簽名后發(fā)送給order節(jié)點進行排序打包成塊操作,當(dāng)返回給leaderA后,由錨節(jié)點anchor傳向組織B。

gossip進程判斷節(jié)點身份,若為leaderB,同時進行信息驗證,包括簽名、合同內(nèi)容,將組織A的簽名保存的簽名列表進行比對,隨后單獨進行交易的責(zé)任驗證背書,通過與鏈上已存的常用信息進行比對,驗證合同的內(nèi)容是B可接受的,將B的驗證意見及塊信息,隨同組織B背書節(jié)點的簽名一起組成結(jié)構(gòu)體返回給leaderB,由anchorB節(jié)點發(fā)送給組織A,leader節(jié)點驗證流程如圖5所示;若不為leaderB,則根據(jù)節(jié)點的身份進行對應(yīng)的背書和上傳到鏈操作。

圖5 leader節(jié)點的驗證過程示意圖Fig.5 Diagram of validation process for leader node

最后以同樣方式由leaderA節(jié)點對組織B的驗證信息進行驗證,確認(rèn)B已獲知此次交易,則將原來的塊交給commitA節(jié)點進行上鏈操作。

其中組織A的簽名,形成了交易發(fā)起方的不可抵賴性,組織B對塊內(nèi)信息的簽名是證明接收方對交易合同責(zé)任的認(rèn)可,所有操作自動化完成。相比于傳統(tǒng)的Fabric只是對交易的可達(dá)進行背書,在本協(xié)議中,leader節(jié)點同時承擔(dān)了交易中責(zé)任的確認(rèn)工作,鏈上的塊內(nèi)含有交易雙方的簽名,代表雙方都認(rèn)同此次交易,達(dá)到接收方的交易前確認(rèn),增加了交易雙方的公平性,且每一次交易就只會產(chǎn)生一個塊,交易消耗時間將會大大降低。
為驗證本文提出的快速公平合同簽署協(xié)議TFCSP的有效性,給出最常見的車險方案的實現(xiàn)。在典型的車險場景中,用戶一般會連接到一定數(shù)量的相關(guān)節(jié)點,包括保險公司、維修廠、交通警察、醫(yī)院以及其他涉及的角色。采用本文提出的快速公平合同簽署TFCSP的區(qū)塊鏈架構(gòu)參見圖6所示,該分層架構(gòu)中,服務(wù)層對外提供復(fù)合服務(wù),存儲層通過分布方式存儲區(qū)塊鏈中數(shù)據(jù)的冗余備份;網(wǎng)絡(luò)層連接參與車險場景的各個角色節(jié)點,每個節(jié)點屬于各自組織,組織內(nèi)普通節(jié)點可以共享、存儲和更新其事務(wù)數(shù)據(jù),leader節(jié)點則負(fù)責(zé)數(shù)據(jù)同步和信息解析驗證;最上層的智能合約層則提供車險場景中的業(yè)務(wù)實現(xiàn);通道和排序則為這些層提供公共服務(wù),其中,通道是車險區(qū)塊鏈中各類角色的具體節(jié)點進行通信交易的空間,通過通道的隔離實現(xiàn)了車險區(qū)塊鏈的整體對外隱私性,排序?qū)崿F(xiàn)對事務(wù)打包成塊上鏈。

圖6 車險區(qū)塊鏈架構(gòu)Fig.6 Car insuranceb lockchain architecture
下文對被保人購買保險這一流程進行詳細(xì)說明,參與主體包括用戶方和保險公司方:
用戶方:首先意向用戶發(fā)起保險購買行為,不僅提交用戶和保險公司公鑰、保額和其他保險信息,還要將保險公司收到信息后的應(yīng)有行為提交到背書節(jié)點,背書節(jié)點會對交易進行驗證并簽名,隨后發(fā)送信息到order服務(wù)節(jié)點,order服務(wù)節(jié)點將交易進行打包成塊,發(fā)送給用戶組織中的leader節(jié)點,leader節(jié)點獲取塊內(nèi)信息,按照交易接收方地址發(fā)送塊信息并進行確認(rèn)簽名。
保險公司方:保險公司組織內(nèi)的leader節(jié)點,不斷接收通道內(nèi)接收方為自身組織內(nèi)節(jié)點的信息,接收信息并解析后,對合同責(zé)任內(nèi)容進行驗證,驗證結(jié)果信息附帶塊信息發(fā)送給背書節(jié)點,背書節(jié)點模擬執(zhí)行并簽名,隨后返回給leader節(jié)點,leader節(jié)點向用戶方返回加簽名的驗證信息。
用戶方:當(dāng)接收到接收方為自己組織內(nèi)節(jié)點的信息,核查保險公司的驗證信息后,由提交節(jié)點進行塊的提交上鏈過程。
實驗的開發(fā)環(huán)境為18.04.4LTS的64位操作系統(tǒng),F(xiàn)abric的版本為1.4.4,在本地搭建了一個車險區(qū)塊鏈系統(tǒng),分別應(yīng)用了現(xiàn)已有的基于原始區(qū)塊鏈的FCSP、基于智能合約的FCSP和本文提出的TFCSP。使用go語言根據(jù)常規(guī)車險交易流程編寫了智能合約,修改了gossip進程的代碼;在此基礎(chǔ)上模擬了部分交易過程,并使用開源工具Hyperledger Caliper對各種FCSP進行對比測試,并與原生的Fabric進行了對比。
(1)公平性分析
公平性分析包括對交易中的分析和交易后的分析,交易中的公平性指交易雙方在一次單向交易中都可以獲知交易內(nèi)容及雙方應(yīng)負(fù)的責(zé)任;交易后的公平性指區(qū)塊鏈本身的不可篡改性和可追溯。
①交易中實現(xiàn)公平:實驗中在本地模擬進行了一次用戶購買保險的操作,通過查詢世界狀態(tài)的信息,結(jié)果如圖7所示,其中列出了用戶購買保險的具體信息,證明用戶已知保險公司確認(rèn)了該交易。

圖7 用戶購買保險的信息Fig.7 Information about user’s purchase of insurance
②交易后的公平:塊上傳到鏈,那么由于Fabric自身的特性,鏈對通道內(nèi)每一個節(jié)點透明公開,即每個節(jié)點都可以訪問本通道的區(qū)塊鏈,并查看鏈上信息,當(dāng)現(xiàn)實交易出現(xiàn)問題時,相關(guān)節(jié)點都無法篡改已上傳的塊。應(yīng)用本協(xié)議后,節(jié)點無法否認(rèn)自己沒有接收過交易對方的信息,實現(xiàn)交易全程雙向信任。
(2)性能分析
本文性能分析包括將本文提出的快速雙向信任模型與其他公平合同簽署協(xié)議及原始Fabric進行交易完成率、吞吐量及交易耗時的比較,在Fabric架構(gòu)上以相同實驗環(huán)境模擬了各FCSP協(xié)議,包括基于原始區(qū)塊鏈的公平合同簽署協(xié)議(BFCSP)、基于智能合約實現(xiàn)的公平合同簽署協(xié)議(EFCSP)、基于Fabric的快速公平合同簽署協(xié)議(TFCSP),同時與原生Fabric進行對照實驗。
①交易完成率和吞吐量對比
在進行性能測試前,為保證區(qū)塊鏈所安裝智能合約的可執(zhí)行性,使用caliper進行測試,指定發(fā)起次數(shù)和發(fā)起頻率,設(shè)置caliper發(fā)起頻率為100 tps,分別在發(fā)起次數(shù)為1 000、2 000和5 000時測試交易完成率和吞吐量。
圖8為交易完成率的測試結(jié)果,交易完成率越高說明系統(tǒng)的穩(wěn)定性越強,從圖中可以看出:Fabric架構(gòu)及應(yīng)用各種協(xié)議的Fabric區(qū)塊鏈都會存在交易失敗的情況,隨著協(xié)議難度的升級,交易失敗率也在上升,但交易失敗次數(shù)增長率遠(yuǎn)小于交易發(fā)起次數(shù)的增長率,交易失敗次數(shù)增長率在四種模式中差距并不明顯,說明交易失敗次數(shù)是相對穩(wěn)定的。

圖8 交易完成率測試結(jié)果Fig.8 Trading completion rate test results
表2為吞吐量測試結(jié)果,吞吐量代表系統(tǒng)的性能,吞吐量越高說明其交易速度越快,從圖中可以看出,隨著交易發(fā)起次數(shù)的增加,吞吐量隨之增加,然而在四種模式中,發(fā)起次數(shù)越大,吞吐量就越大,并且趨于接近發(fā)起頻率。同時,協(xié)議的復(fù)雜度也影響著吞吐量,從圖中可以看出,原始的區(qū)塊鏈相同條件下吞吐量最高,與之相比,TFCSP吞吐量因為協(xié)議的復(fù)雜而降低。

表2 吞吐量測試結(jié)果Table 2 Throughput test results
②耗時測試:在實驗中以單次交易消耗的時間為比較標(biāo)準(zhǔn),即一次交易從提交至上傳到鏈的時間。TFCSP與其他FCSP的不同就在于除了功能智能合約外還需要gossip進程的額外作業(yè),gossip進程不會因為功能變化而變化,隨著功能增加,可能還會安裝功能智能合約,因此首先進行一次交易,對功能智能合約的耗時進行測試,再測試TFCSP整體的耗時,對各FCSP和TFCSP進行耗時對比。
首先,進行了保險公司方和用戶方之間的一次單向交易:用戶購買保險。由于Fabric具備出塊可配置時間、大小及交易上限等十分靈活的特性,以極端狀況為例,設(shè)置一個塊只記錄一個交易,即batchsize:1,從而讓結(jié)果更加清晰。
其次,通過設(shè)置交易字段來改變交易大小,使得塊大小從0.2 MB到1 MB按0.2 MB的增幅逐次增加,記錄下每一次的耗時。
最后,將應(yīng)用四種模式的交易耗時進行比較,應(yīng)用各種協(xié)議的車險區(qū)塊鏈塊大小對端到端延遲的影響比較如圖9所示。

圖9 塊大小對四種模式端到端延遲的影響Fig.9 Effect of block size on end-to-end latency in four modes
結(jié)果表明:隨著塊大小的增加,四種模式的事務(wù)確認(rèn)時間都在增加,然而由于TFCSP的gossip進程有額外任務(wù),使得性能與普通Fabric相比有明顯差距,與之相反,相比于另外兩種模式,由于TFCSP對事務(wù)的計算及上傳到鏈的次數(shù)都較少,因此使得TFCSP的事務(wù)確認(rèn)時間小于其他FCSP的確認(rèn)時間,實驗結(jié)果也證明完成相同交易,TFCSP消耗的時間相較于其他FCSP更少,效率更高,結(jié)合圖9可以看到,TFCSP的耗時由gossip進程執(zhí)行耗時和功能智能合約耗時兩部分組成,且gossip進程的耗時占比更大。
綜合實驗結(jié)果可知,當(dāng)應(yīng)用到Fabric架構(gòu)中時,本文提出的TFCSP協(xié)議能夠保證雙向交易的公平,在點對點不互信交易的場景中,維護了整體交易的公平,然而為了維護公平犧牲了交易的完成率、吞吐量及耗時,相比于原生的Fabric,交易耗時有一定增加,完成率及吞吐量有一定下降,而與其他協(xié)議相比,交易耗時相對較小,交易完成率及吞吐量差距較小,因此在對交易的實時要求不高的前提下,本文提出的TFCSP協(xié)議能夠滿足對公平需求較強的場景。
本文在對Fabric區(qū)塊鏈做了簡單介紹的基礎(chǔ)上,討論了多種基于區(qū)塊鏈的公平合同簽署協(xié)議,并面向Fabric架構(gòu)對其進行了改進,減少了生成的塊,降低了交易耗時,最后通過實驗在具體的車險場景下進行了公平性及性能分析。實驗結(jié)果表明本文提出的基于Fabric的公平合同簽署協(xié)議相較于已有的FCSP來說,在保證了雙向信任公平性的前提下,大大提高了交易的確認(rèn)效率,進一步解決了保險領(lǐng)域中由于信息不對稱導(dǎo)致的信任缺失問題。然而在實際場景中,可能面臨多個角色的多個節(jié)點同時進行交易,因此下一步的研究方向是討論在這種并發(fā)場景下如何界定并保證公平性。