999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于分布式密鑰生成和屬性基密碼的多方跨鏈交易方案

2023-11-24 05:25:16馬宇航吳星雨
計算機研究與發展 2023年11期
關鍵詞:用戶

馬宇航 張 亮,2,3 吳星雨 李 鳴

1(海南大學網絡空間安全學院 海口 570228)

2(海南省Internet 信息檢索重點實驗室(海南大學)海口 570228)

3(上海市智能信息處理重點實驗室(復旦大學)上海 200433)

4(上海區塊鏈工程技術研究中心 上海 200433)

5(中國電子技術標準化研究院 北京 100007)

(1755918620@qq.com)

目前區塊鏈技術及其應用正處于高速發展階段,在智慧金融、供應鏈服務、數據共享、政府管理、數字醫療等領域的應用逐漸加深[1-3].區塊鏈主要提供了一種去中心化的數據存儲機制,網絡中的每個節點都存儲著完整的數據,少數節點被攻擊和失效不影響整個系統的安全[4].區塊鏈通過密碼學和計算機科學等技術實現了基于代碼的機器信任模式,使用技術來為信任做背書,在經濟和文化方面都是一場深刻的變革.

在區塊鏈發展早期,信息的交互僅僅是在各自的鏈上進行,大多數區塊鏈是一個個獨立的、封閉的體系,是一個個數據孤島[5].隨著時代的發展,單一的區塊鏈無法滿足復雜的業務需求.因此需要跨鏈技術來連接各個獨立的區塊鏈,來實現多個區塊鏈的數據共享、業務合作和價值流通,實現多方共贏.

跨鏈是連接2 個或者多個獨立區塊鏈實現數據流通和價值轉移操作的一種協議[6].以太坊創始人Vitalik 認為跨鏈是一種具體應用能力,區塊鏈互操作主要指兩條區塊鏈之間進行資產轉移、支付或信息交互的能力[7].目前跨鏈主要應用在資產轉移、數據共享和服務協同這3 個方面.

在實現跨鏈業務時需要保證:信息的真實性、交易的原子性和事物的一致性[8].信息的真實性是指在交易時一條鏈傳入另一條鏈的信息是真實的.交易的原子性是指交易作為一個整體被對待,要么全部成功,要么全部失敗,不存在部分成功或部分失敗的情況.事物的一致性是指2 條鏈上的跨鏈執行前后狀態保持一致.

目前主流的跨鏈技術有:

1)公證人機制.不同區塊鏈之間使用共同信任的第三方充當公證人進行跨鏈消息的驗證和轉發.公證人機制的優點是實現簡單和效率高,缺點是中心化的風險[9].Ripple 的Interledger 協議,是公證人機制的代表項目[10].

2)哈希鎖定技術.哈希時間鎖定采用了哈希鎖和時間鎖,迫使資產接收方在截止時間內確定收款并產生收款證明給付款人,否則資產會歸還.收款證明能夠被付款人用來獲取接收人區塊鏈上的等價值資產或觸發其他事件[11].哈希時間鎖需要跨鏈雙方支持智能合約,支持相同的哈希算法,并且在時間上也要做到同步,所以哈希鎖定技術的適用性不強,一般用來進行相同區塊鏈不同數字資產的交易.

3)側鏈技術、中繼技術.側鏈被定義為可以驗證來自其他區塊鏈數據的區塊鏈,是一種強耦合結構的跨鏈模式.采用雙向錨定主鏈資產并使該資產可以在主鏈和側鏈之間進行價值轉移.中繼在本質上是公證人機制和側鏈機制的融合,使用中繼區塊鏈代替公證人.Cosmos,Polkadot,BTC-Relay 等是該機制的代表項目[12-13].

4)分布式私鑰控制.該技術是基于密碼學中的多方計算和門限密鑰的一種技術.它采用分布式節點來控制區塊鏈系統中各種資產的私鑰,將數字資產的使用權和所有權進行分離,使得鏈上資產的控制權能夠安全地轉移到非中心化系統中,同時將原鏈上的資產映射到跨鏈中,實現不同區塊鏈系統間的資產流通和價值轉移[14].

跨鏈的數字資產交換主要依靠中心化交易所與去中心化交易所.

在中心化交易所,用戶需要將自己的資產充值到交易所的錢包,交易所對用戶的資產有絕對的控制權,中心化交易所無法保證用戶資金的安全和透明.傳統的中心化交易所有:幣安(Binance)、火幣(Huobi)等[15].雖然中心化交易所的交易效率更高,但是數字資產的安全性不高.2022 年全球第二大交易平臺FTX 因挪用用戶資產造成資金流動性不足而倒閉[16].FTX 的破產不但給用戶造成了資產的損失,而且嚴重打擊了區塊鏈市場的信心.

現存的去中心化交易所有Uniswap、MDEX 等.Uniswap 是基于以太坊建立的分布式加密交易平臺,是去中心化的,它是一組部署到以太坊網絡的合約,交易都在區塊鏈上進行[17].去中心化交易所大部分在公鏈上運行,受限于參與跨鏈的區塊鏈本身的出塊時間和確認速度,影響了交易效率.這導致去中心化交易所更可能產生由于交換的加密貨幣價值的變化而造成的交易無法執行的問題,并且去中心化交易所的訂單類型和功能較少.去中心化的交易大多數只能實現同一個區塊鏈上不同合約資產的交換,對異構區塊鏈之間的資產交換不完善.去中心化交易所的流動性波動很大,嚴重依賴交易平臺的用戶活躍度.

本文方案為實現一個去中心化的多方交易平臺.該方案可以實現4 個目標:

1)去中心化資產存儲.基于分布式密鑰生成的跨鏈方式可以將異構區塊鏈的數字資產質押到一個分布式系統中,由分布式系統中的節點共同保護秘密,可以避免中心化的危險.

2)良好的互操作性.在使用本文方案時,用戶只需提供交易區塊鏈上的公鑰地址.本文方案可以屏蔽區塊鏈底層技術和協議,將異構區塊鏈上的資產映射到交易區塊鏈上進行交易,實現異構區塊鏈的跨鏈資產交易.

3)支持智能合約.將分布式系統中的資產映射到支持智能合約區塊鏈上,這樣可以屏蔽異構區塊鏈的底層技術,它們的數字資產可以使用智能合約操作.

4)控制交易對象.使用屬性密碼進行訪問控制,可以為用戶提供豐富的訪問控制策略,保護用戶數字資產交易的安全.

1 背景和相關知識介紹

1.1 區塊鏈與以太坊

2008 年,中本聰在比特幣白皮書中提出區塊鏈的概念.區塊鏈技術是基于密碼學、時間戳等技術來傳輸和驗證數據,通過鏈式數據結構來存儲數據,利用共識機制來生成和更新數據,并通過設計可編程智能合約來實現的一種全新去中心基礎架構與分布式計算范式[18].

以太坊是一個開源的有智能合約功能的公共區塊鏈平臺,通過其專用加密貨幣以太幣(Ether,ETH)提供去中心化的以太虛擬機(Ethereum virtual machine,EVM)來處理點對點合約.以太坊是一種用于在不受中心化監管機構管控的環境下構建應用程序和組織、持有資產、進行交易和通信的技術[19].

以太坊智能合約是存放在以太坊區塊鏈具有特定地址的代碼(功能)和數據(狀態)集合.智能合約可以定義規則并通過代碼自動執行.智能合約以以太坊特定的二進制字節碼通過以太坊虛擬機運行于區塊鏈上[20].

ERC-20 是在以太坊區塊鏈上創建同質化代幣的技術標準[21].同質化代幣是指可以互換的代幣,它們具有相同的類型和價值.ERC-20 允許開發者創建可以與其他產品和服務互操作的智能合約代幣.ERC-20 規定了一些智能合約代幣必須實現的函數和事件,以保證它們的可組合性和互操作性.

1.2 VSS 協議和分布式密鑰生成技術

可驗證的秘密分享是一種在密碼學中用于安全地分發和恢復秘密信息的技術,它在普通的秘密分享的基礎上增加了驗證機制,以防止分發者或參與者作惡或出錯.可驗證的秘密分享有很多種方案,其中比較著名和廣泛應用的是Feldman 方案,它是基于Shamir 方案構造的非交互式可驗證秘密分享[22-27].

Feldman 方案的實現如下:

系統參數為:p是大素數,q是p-1的大素數因子,g是中的一個q階元素,k是門限值,n是分享者數量.每一個參與者表示為Pj,其中j=1,2,…,n,門限值為t,且滿足 1 ≤t≤n≤q.

1)共享分發.分發者D選擇一個t-1次多項式

將要分享的秘密作為a0=s的值.把sj=f(j)modq作為共享秘密發送給參與者Pj,j=1,2,…,n.另外計算承諾

2)共享驗證.每個參與者Pj檢驗收到的共享秘密,通過檢驗

如果等式成立,收到的sj有效.

3)密鑰恢復.當k個或者多于k個參與者恢復秘密時,每個參與者Pj向其他合作者廣播自己的sj,當所有合作者的共享都被驗證為有效時,合作者可根據拉格朗日多項式插值的方法計算出秘密s.秘密s的計算公式為:

分布式密鑰生成(distributed key generation,DKG)是一種門限密碼學的技術,可以讓多個參與方協作生成和分發一個共同的密鑰,而不需要任何可信的中心節點或者加解密操作[28-29].

DKG 通常包含3 個算法:共享算法、驗證算法和重建算法.

1)共享算法.每個參與方通過一個分布式協議(如VSS 或PVSS)向其他參與方發送自己選擇的秘密份額,并給出計算秘密的承諾.假設分布網絡中存在n個節點,分布式網絡中的第j個節點接收到質押資產請求后,在本地使用一個VSS 算法,為這次請求產生一個秘密值sj,并生成一個多項式:

其中t=n/2.并計算fi(x),x=1,2,…,n.將計算的fj(x)給第x個節點,計算第i個節點的承諾值:

其中i=0,1,…,t-1.每個用戶驗證自己收到的秘密.第x個用戶收到第j個節點的值后,計算:

如式(7)成立,第x個用戶收到的信息正確.第x個用戶將收到的其他節點的正確信息保存下來,并發布驗證通過的節點名單.然后所有節點進行投票選出存儲秘密的節點,被選中的節點把存儲秘密節點發送的值相加得到aj.使用橢圓曲線算法生成公鑰PK′:

其中P為常數.

2)私鑰還原算法.每個存儲秘密節點將自己的秘密發送給用戶.私鑰S K′為

1.3 基于密文的屬性密碼

基于密文策略的屬性加密(CP-ABE)可以實現細粒度的數據訪問控制和保護用戶隱私.在CP-ABE 中,數據擁有者可以根據一些預定義的屬性來指定一個訪問策略,并將該策略嵌入到密文中.用戶的私鑰則與一組屬性相關聯,只有當用戶的屬性滿足密文的訪問策略時,才能解密出數據.

數據擁有者不需要知道具體的接收者身份,只需要根據屬性加密數據,降低了加密開銷和管理復雜度.數據接收者只能解密符合自己屬性的密文,保證了數據機密性和用戶隱私.用戶之間無法合謀攻擊,因為不同用戶的私鑰與隨機數和多項式相關,無法聯合使用.數據擁有者可以靈活地指定基于屬性的訪問控制策略,支持與、或、非和門限等邏輯操作.

CP-ABE 主要有4 種算法:

Setup:只接受隱式的安全參數作為輸入.輸出公共參數PK和主密鑰MK.

Encrypt(PK,M,A):輸入PK、消息M和訪問結構A,對M進行加密,產生密文CT.

Key Generation(MK,S):輸入主密鑰MK和描述密鑰的屬性集合S,輸出私鑰SK.其中,SK由屬性來確定.

Decrypt(PK,CT,SK):輸入公共參數PK、包含訪問結構A的密文CT,以及私鑰SK.注意這里的私鑰由屬性集合S生成.如果S能夠滿足A,則對CT進行解密并返回消息M.

我們選擇Bethencourt,Sahai and Waters(BSW)CPABE 作為底層原語[30].

2 系統模型與系統假設

2.1 系統模型

整個多方交易系統由分布式網絡、交易區塊鏈和用戶3 個部分組成,如圖1 所示.

Fig.1 System architecture and function圖1 系統架構與功能

1)分布式網絡.該網絡由一群分布式節點組成,這些節點有3 個特征:①分布式節點運行著分布式密鑰生成算法,分布式節點會為每筆交易產生一個單獨的秘密,節點之間不共享秘密.②每個節點需要向用戶和其他節點提供秘密驗證服務,每個節點都可以驗證其他節點的秘密是否正確.③分布式節點可以通過驗證交易的哈希值檢驗交易的真實性.分布式網絡為用戶生成一對對應的公私鑰匙對用來鎖定資產,提供給用戶公鑰地址并保存私鑰.用戶請求提取資產,驗證用戶提取資產的合法性,驗證通過后將私鑰交給用戶.分布式網絡為用戶在交易區塊鏈上生成代幣,將用戶資產映射到交易區塊鏈上.分布式網絡在用戶提取資產后,將用戶在交易區塊鏈上映射的代幣銷毀.

2)交易區塊鏈.其功能為:記錄用戶的數據和數字資產信息;為用戶提供一個交易的平臺,用戶在交易區塊鏈使用代幣進行交易;為用戶提供智能合約功能;在分布式節點質押的數字資產會映射到交易區塊鏈上生成等額的代幣,來供用戶交易;根據分布式節點的請求,銷毀代幣;為用戶在交易區塊鏈提供注冊服務.

3)用戶.用戶將資產打到分布式節點產生的公鑰地址上,完成資產的質押.用戶將交易驗證提交給分布式節點,接受并驗證分布式節點的秘密是否正確,如果秘密正確將秘密還原為數字資產對應的私鑰.用戶通過CP-ABE 進行訪問控制,只有符合用戶設定,訪問控制策略才能和用戶發生交易.

2.2 系統假設

分布式網絡中一半的節點是誠實的,并且節點之間的通訊使用安全信道.分布式網絡與用戶的通訊同樣使用安全信道.分布式網絡可以調用交易區塊鏈的智能合約接口.

交易區塊鏈是和以太坊協議相同的公鏈,可以運行虛擬機,支持智能合約.

交易幣是交易區塊鏈產生的數字貨幣.多方交易系統使用交易幣獎勵用戶存入數字資產,交易幣還可以用來支付多方交易系統的服務.

2.3 智能合約

交易區塊鏈上部署的智能合約主要包括代幣合約和交易合約,它們為用戶提供與代幣相關的服務.

1)代幣合約.代幣合約是符合ERC20 標準的合約.調用函數mint(uintamount),生成輸入數量的代幣.調用函數burn(uintamount),銷毀輸入數量的代幣.調用函數transferFrom(addresssender,addressrecipient,uintamount),將輸入數額的代幣從地址sender轉到地址recipient.

2)交易合約.使用哈希時間鎖來保證交易公平的合約.函數newContract(

輸入接收者地址receiver、哈希鎖hashlock、時間鎖timelock、代幣地址tokenContract和發送數量amount創建新交易,合約會返回一個contractId.在規定時間內,調用withdraw(

輸入對應的contractId和preimage,如果驗證通過,交易合約將資金轉入地址receiver,在設定的時間內,用戶無法訪問自己的refund函數取走自己的資金.如果超過函數newContract設定的時間鎖的時間,調用函數refund(bytes32contractId)將資金返回給用戶.時間鎖是由newContract函數傳入的時間參數不同而設置的.參數preimage為一段字符串,在本文中作為哈希函數的原值.

發送方將原值的哈希值發給接收方,并設定接收方在時間鎖設定時間1 內憑借哈希值的原值來解鎖發送方的合約.接受方設定在時間鎖設定時間2 內憑借哈希值的原值來解鎖發送方的合約.此時,發送方雖然知道哈希值的原值,但由于時間鎖的緣故,他無權解鎖合約取走資金.這種設計可以避免發送方在給接收方共享了密鑰后取走自己資金的行為.一旦發送方在時間2 內使用原值取走接收方的資金,接收方就知道了原值,就可以在時間1 內取走發送方的資金.時間2 要小于時間1,為接收方留出充足的時間取走資金.若在時間鎖規定的時間內雙方沒有用哈希值的原值進行解鎖,那么在鎖定時間之后雙方無法解鎖,雙方通過refund函數取走自己的資金.通過哈希鎖和時間鎖的巧妙配合,保證了交易的原子性.

3 基于分布式密鑰生成和屬性密碼的多方跨鏈交易方案

多方交易系統就是一個去中心化的銀行,是一個去中心化的交易平臺.用戶在分布式網絡和交易區塊鏈上注冊相當于在銀行開賬戶,將數字資產質押到多方交易系統相當于把錢存入銀行賬戶.用戶使用CP-ABE 設置訪問控制就是設置交易條件.用戶在多方交易系統中轉換數字資產種類,就相當于銀行將本國貨幣兌換為外幣.用戶在數字資產繳納的服務費相當于銀行兌換外幣時交的服務費和稅費.如圖2 所示,用戶3 將比特幣存入多方交易系統中,多方交易系統將資產轉換為火幣和以太幣;用戶1使用多方交易系統將火幣交換為用戶3 的比特幣;用戶2 使用多方交易系統將以太幣交換為用戶3 的比特幣.

Fig.2 Diagram of multi-party transactions圖2 多方交易示意圖

基于DKG 和屬性基密碼的多方跨鏈交易方案分為資產質押、資產交易和資產提取.在資產質押前首先進行用戶注冊,用戶使用多方交易系統需要在交易區塊鏈上注冊賬戶.

3.1 資產質押

資產質押是用戶將資產鎖定到分布式網絡上的操作,如圖3 所示.

Fig.3 Diagram of asset pledge圖3 資產質押示意圖

首先,用戶向分布式網絡提交質押資產請求,將自己在交易區塊鏈上的賬戶地址、數字資產的種類、p、q和g發給分布式網絡(p是大素數,q是p-1的大素數因子,g是中的一個q階元素).然后,分布式網絡使用DKG 的共享算法,為這個用戶生成公鑰PK′.

然后,用戶將數字資產轉入公鑰地址,將交易信息提供給分布式網絡.如表1 所示,交易信息為交易哈希值、轉賬金額、轉賬發出地址、轉賬接收地址和轉賬時間.之后,分布式網絡查閱交易哈希值代表的交易信息,驗證轉賬接收地址是否為PK′、交易的金額是否與用戶請求金額一致、轉賬時間是否在分布式節點提供PK′之后,全部一致則代表驗證用戶提供的交易信息正確.驗證通過后節點將產生的秘密與用戶的信息存入節點數據表,節點數據表存儲數據的種類與類型,如表2 所示.

Table 2 Table of Node Data表2 節點數據表

分布式網絡驗證用戶提供的交易信息,驗證通過后,使用代幣合約調用函數mint,在交易區塊鏈上生成ERC20 標準的等額代幣,調用函數transferFrom將代幣轉賬到用戶的賬號地址,將代幣合約的地址存入節點數據表.

最后,分布式網絡將代幣合約地址提供給用戶,用戶在交易區塊鏈上添加代幣.

3.2 資產交易

用戶可以通過設置訪問控制策略來控制與自己發生交易的用戶條件,只有滿足條件才能和用戶發生交易.

1)用戶1 調用Setup算法生成公共參數PK和主密鑰MK.

2)用戶1 設置訪問控制策略A,與滿足策略的人進行交易.用戶可以將金額、幣種、匯率、時間設為屬性進行訪問控制.匯率為用戶的代幣除以交易用戶的代幣.

如圖4 所示,Alice 擁有比特幣,她接受將自己的數字資產轉換為以太幣,轉換匯率為8~10,轉換金額為2~10 ETH,Alice 在2022 年10 月2 日到2022 年11月2 日期間接受資產轉換.

Fig.4 Access control policy of Alice圖4 Alice 的訪問控制策略

在實際情況下用戶可以設置多個幣種、匯率、金額和時間來實現多樣化的數字資產轉換.如圖5所示,Bob 支持將自己的數字資產轉換為以太幣和火幣.以太幣的匯率為8~10,轉換金額為2~10 ETH,轉換時間為2022 年10 月2 日到2022 年11 月2 日期間.火幣的匯率為2~4,轉換金額為5~8 HT,轉換時間為2022 年10 月2 日到2022 年11 月20 日期間.

Fig.5 Access control policy of Bob圖5 Bob 的訪問控制策略

用戶1 部署一個一號交易合約,使用Encrypt(PK,M,A)算法,加密一號交易合約的地址與preimage的哈希值,生成密文CT.然后將密文CT、公共參數PK和主密鑰MK上傳到數據庫.

3)用戶2 查詢數據庫,尋找符合條件的用戶.然后,下載符合條件用戶的數據包.用戶2 將自己的數字資產信息作為屬性集合S和下載的主密鑰MK,調用Key Generation(MK,S)為生成私鑰SK.其中,SK由屬性來確定.

4)用戶2 使用生成的私鑰SK、下載的公共參數PK和密文CT,調用Decrypt(PK,CT,SK)算法進行解密.如果屬性集合S滿足訪問控制策略A,用戶2 就獲得用戶1 的一號交易合約地址和preimage的哈希值,就可以與用戶1 交易.用戶1 調用交易合約,將preimage的哈希值作為hashlock和將時間1 作為timelock,調用newContract函數將代幣存入一號交易合約.用戶2 驗證一號交易合約的信息后,部署二號交易合約,將preimage的哈希值賦值給hashlock和將時間2 賦值給timelock,調用newContract函數將代幣存入二號交易合約.二號交易合約中設定時間2 小于一號交易合約的時間1,這樣可以為用戶2 留下充足的時間取走用戶1 的數字資產.如果用戶1 使用preimage取走二號交易合約資產,用戶2 就收到了preimage的值,就可以取走一號交易合約的資產.超過時間,雙方都通過refund函數取走自己的代幣.

3.3 資產提取

用戶將資產從分布式網絡中提取的操作,如圖6所示.

Fig.6 Diagram of asset extraction圖6 資產提取示意圖

用戶向分布式網絡提交資產提取申請,提取申請需要傳遞的數據如表3 所示.分布式網絡中的節點通過查詢代幣合約地址,驗證代幣的所有賬戶與申請賬戶是否一致,驗證資產種類與資產數量是否一致.節點驗證這筆數字資產的所有權通過后,分布式網絡中的節點將會把各自的秘密提供給用戶,用戶收集一半以上節點的秘密就可以使用DKG 的私鑰還原算法,還原出私鑰SK′,取走數字資產.一半以上存儲秘密的節點向用戶分享秘密之后,分布式網絡調用代幣合約burn函數銷毀對應資產的代幣,并從節點數據表中刪除相關信息.

Table 3 Extraction Application Information表3 提取申請信息

3.4 激勵與付費機制

用戶可以在多方交易系統上選擇符合自己需求的數字資產類型進行交易.用戶質押和提取自己的數字資產不需要付費,而用戶交換其他種類的數字資產需要付一定的服務費.這筆服務費一部分會給多方交易系統用來維護交易系統,另一部分會獎勵給數字資產在交易中被使用的用戶.

多方交易系統鼓勵用戶將自己的數字資產存入多方交易系統中,多方交易系統中的數字資產的數額大小和種類影響用戶的交易效率.用戶進行數字資產轉換的選擇越多,交易越容易發生,所以用戶存入的數字資產金額越大、存儲時間越長和設置交換的數字資產策略越多,多方交易系統給予用戶的獎勵越多,獎勵為交易區塊鏈的交易幣.另一方面,多方交易方案會給服務提供者獎勵.分布式網絡中的節點成功完成資產質押、資產提取等服務,多方交易系統都會給分布式節點獎勵交易幣.

用戶進行數字資產轉換時需要根據交易的數字資產金額付一定比例的服務費,一部分服務費用來獎勵用戶,另一部分兌換為交易區塊鏈的交易幣付給多方交易系統的服務者.

4 實驗結果與分析

實驗在VMware Workstation 16 的Ubuntu 22.04.2 LTS 虛擬機上進行,Intel?Core? i5-8300H CPU @2.30 GHz × 2,8 GB RAM.實驗的區塊鏈平臺為以太坊的Go 語言平臺(Go-Ethereum).此外,我們通過啟動多個節點來模擬不同的客戶端,同時將交易發送到區塊鏈上.

開展實驗研究的主要目的有3 個:

1)研究CP-ABE 運行時間與策略數量的關系、CP-ABE 運行時間與日期設定的關系.

2)研究分布式節點數量與私鑰還原時間的關系、分布式節點數量對共享算法的影響.

3)部署和使用代幣合約所需要的gas 消耗,部署和使用交易合約所需要的gas 消耗.

如圖7 所示,策略數量的增加影響CP-ABE 解密算法的運行時間,加密與私鑰生成算法的運行時間會增加,其中私鑰生成算法的運行時間增加得最多.

Fig.7 Effect of access control policy on running time of CPABE圖7 訪問控制策略對CP-ABE 運行時間的影響

如圖8 所示,隨著日期的變化,CP-ABE 的加密時間、解密時間和私鑰生成時間幾乎不變,所以日期的變化不影響CP-ABE 的運行時間.

Fig.8 Effect of data changes on running time of CP-ABE圖8 日期變化對CP-ABE 運行時間的影響

如圖9 所示,隨著節點的增加,DKG 共享算法與私鑰還原算法的時間都會增加.但是隨著節點數量的增加,私鑰還原算法的時間增長速率加大.本文的DKG 算法是基于可驗證的秘密分享設計的,所以DKG 算法的私鑰還原效率受拉格朗日插值法的限制.盡管私鑰還原的速度隨節點增長的速度變化較快,但是節點數為300 時DKG 算法也僅需0.07 s,性能足以滿足要求.

Fig.9 Effect of node number on running time of DKG圖9 節點數量對DKG 運行時間的影響

如圖10 所示,分布式節點部署ERC20 標準代幣合約時消耗的gas 值最大,而使用mint函數生成代幣和用burn函數銷毀代幣的gas 值消耗較小.

Fig.10 Gas consumption of ERC20 token contract圖10 ERC20 代幣合約的gas 消耗

如圖11 所示,分布式節點部署交易合約時消耗的gas 值最大,使用newContract函數鎖定代幣和使用refund函數取回代幣的gas 值消耗較小,使用withdraw函數交易代幣的gas 消耗也不大.

Fig.11 Gas consumption of trading contract圖11 交易合約的gas 消耗

5 系統分析

5.1 安全性分析

影響本方案交易的安全主要有3 個方面:DKG算法、屬性基密碼和交易合約.

DKG 算法是基于Feldman 方案,Feldman 方案是基于Shamir方案構造的非交互式可驗證秘密分享.DKG 算法可抵抗(n-1)/2 個惡意的參與者,由于秘密被公開,所以該方案只是計算安全的(根據密碼學中的計算離散對數的困難性所得).每個節點的秘密是由本地隨機生成的.在節點都獨立的情況下,節點無法獲得其他節點的秘密值,因為節點之間分享的承諾值 αi是基于離散對數困難問題的.另外DKG 算法還原私鑰是使用秘密分享還原的,可以抵抗(n-1)/2個惡意節點的合謀攻擊.DKG 算法假設一半的節點是誠實的,在這個假設下系統是安全的.

在屬性密碼方面,我們選擇Bethencourt,Sahai and Waters(BSW)CP-ABE 作為底層原語.這個方案如果沒有多項式時間內的攻擊者,則被證明是安全的.

交易合約采用的哈希時間鎖機制可以保證交易雙方的原子性,即一連串不可再分的交易,即要么全部發生,要么全部不發生.使用交易合約的雙方在設定的時間未結束之前無法取走自己的資金,只能使用對方設定的哈希鎖的原值取走對方的資金,一旦發送使用哈希原值取走發送方的資金,接收方馬上就可得到哈希原值取走資金.中間的時間差,保證了接收方有充足的時間取走資產.設定的時間結束后,交易未發生,雙方都可以取走自己的資金,實現了交易的原子性.

5.2 效率分析

影響整體方案交易效率的因素主要是區塊鏈交易效率和DKG 算法.在資產質押與資產提取時,本文方案速度受到參與跨鏈的區塊鏈的出塊時間和確認速度的限制.其余交易都是在交易區塊鏈上使用代幣交易,交易速度僅與交易區塊鏈的出塊時間與確認速度有關.DKG 算法的效率影響總的跨鏈交易效率.基于Feldman 方案可驗證秘密分享方案的DKG 算法,在保證信息可驗證的同時兼顧了效率.雖然DKG 算法存在隨節點數量增加導致秘密還原時間增加的問題,但是基本滿足方案設計需求.未來,優化DKG 算法可以提升整體方案的效率.

6 結語

本文使用分布式密鑰生成與CP-ABE 實現了去中心化的數字資產交易方案.本方案具有4 個特點.

1)去中心化存儲資產.本文方案使用分布式網絡存儲資金,單個節點保存一部分秘密,獲得一半節點的秘密才可以還原出私鑰.同時分布式網絡將用戶資產映射到交易區塊鏈賬戶上.

2)提供智能合約服務.在本文方案中,用戶在交易區塊鏈上進行交易.不支持智能合約操作的數字資產,也可以在多方交易系統上使用智能合約.

3)互操作性.本文方案只需用戶提供交易區塊鏈上的公鑰地址、屏蔽區塊鏈底層技術和協議,將異構區塊鏈上的資產映射到交易區塊鏈上進行交易,實現異構區塊鏈的跨鏈資產交易.

4)使用CP-ABE 實現交易控制.用戶將自己的資產存入多方交易系統中,通過使用CP-ABE 設置訪問策略來保護自己的數字資產不被交換為其他種類的資產,同時還控制數字資產交換的金額、匯率和時間.

作者貢獻聲明:馬宇航提出算法思路,完成實驗并撰寫論文;張亮指導研究方案,設計并修改論文;吳星雨與李鳴參與方案修改和論文修改.

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 欧美日韩一区二区三| 91成人在线观看| 欧美在线三级| 三级国产在线观看| 全部毛片免费看| 久久久久久尹人网香蕉 | 日韩 欧美 小说 综合网 另类| 中文字幕人妻av一区二区| 伊人久久大线影院首页| 欧美亚洲一区二区三区在线| 亚洲欧洲一区二区三区| 精品国产99久久| 亚洲经典在线中文字幕| 中文字幕人妻无码系列第三区| 特黄日韩免费一区二区三区| 国产成人资源| 麻豆精品视频在线原创| 999国产精品永久免费视频精品久久| 国产亚洲高清在线精品99| 亚洲欧美成人综合| 国产主播一区二区三区| 亚洲中文字幕av无码区| 免费国产好深啊好涨好硬视频| 天天综合网色| 亚洲成人在线免费| 97人人模人人爽人人喊小说| 欧美精品啪啪| 久久精品女人天堂aaa| 毛片免费观看视频| 色综合天天视频在线观看| 国产97色在线| 精品国产黑色丝袜高跟鞋| 国产视频欧美| 91精品在线视频观看| www欧美在线观看| 天天综合网亚洲网站| 久久国产精品娇妻素人| 日韩在线永久免费播放| 国产午夜一级毛片| 亚洲男人在线天堂| 综合色区亚洲熟妇在线| 伊人久久久久久久| 在线欧美a| 人妻少妇乱子伦精品无码专区毛片| 国产成人在线小视频| 国产杨幂丝袜av在线播放| 99精品视频播放| 欧美日本二区| 91美女视频在线| 成人亚洲天堂| 有专无码视频| 国产黑丝一区| 欧美日韩在线观看一区二区三区| 全午夜免费一级毛片| 青青草久久伊人| 不卡网亚洲无码| 91免费国产高清观看| 欧美激情首页| 中文字幕无码电影| 久久国产精品嫖妓| 欧美一级色视频| 狠狠做深爱婷婷久久一区| 成人蜜桃网| 亚洲三级影院| 免费国产小视频在线观看| 露脸国产精品自产在线播| 国产精品亚欧美一区二区| 免费一级毛片在线观看| 无码中文AⅤ在线观看| 伊在人亚洲香蕉精品播放| 国产国模一区二区三区四区| 四虎影视国产精品| 中文字幕在线视频免费| 成人精品视频一区二区在线| 波多野结衣中文字幕一区二区| 欧美一级在线| 国产成人亚洲综合A∨在线播放| 五月天天天色| 国产白浆在线| 女人18毛片水真多国产| 国产精品99久久久久久董美香| 97久久精品人人|