王明生,曹鶴陽,李佩瑤
(1.中國科學院信息工程研究所信息安全國家重點實驗室,北京 100093;2.中國科學院大學網絡空間安全學院,北京 100049)
自2008 年基于區塊鏈技術的比特幣[1]產生之后,去中心化“數字貨幣商品”技術及其所依托的區塊鏈技術得到了廣泛關注和迅猛發展。與此同時,大量相同類型的“數字貨幣商品”隨之出現。區塊鏈是一個去中心化存儲結構,在基于區塊鏈的“數字貨幣商品”系統中,每一個區塊包含若干交易信息,系統通過共識協議實現網絡節點之間的數據一致,應用密碼學工具實現不可篡改性和認證性,從而實現“虛擬貨幣商品”系統的功能[2]。
在傳統信貸系統中,銀行為借貸人提供信貸服務。當借貸人進行借貸時,借貸人向銀行發出借貸請求,銀行對借貸請求進行響應,將貨幣轉給借貸人同時保存借貸憑證。借貸人應按期償還貸款并支付一定利息。
有些基于區塊鏈的“數字貨幣商品”如BalanceCoin、BFEX(Banking Future Exchange),在去中心化“數字貨幣商品”的基礎上引入了傳統信貸機制,實現了傳統信貸系統的功能。
然而,在傳統信貸系統中,需要銀行對借貸人每次的借貸請求都進行實時響應并保存借貸憑證,因此,在傳統信貸系統中,提供借貸服務的銀行為系統的中心[3]。
針對以上問題,本文通過擴展基于區塊鏈的“數字貨幣商品”的交易結構、擴展共識協議的功能和增加特定賬戶來構造去中心化信貸系統。在去中心化信貸系統中,“數字貨幣商品”的擁有者可以成為擔保人,為借貸用戶提供擔保,借貸用戶的借貸過程不需要中心機構對借貸請求進行響應與確認,從而實現去中心化的信貸系統。
在去中心化信貸系統中,“虛擬貨幣商品”更加便于使用和流通。對于基于區塊鏈的“數字貨幣商品”,當未持有“虛擬貨幣商品”的新用戶需要使用“數字貨幣商品”,且具體需求量不定時,需要分次進行兌換。每次兌換均需要“虛擬貨幣商品”交易所對兌換請求進行響應。而在去中心化信貸系統中,未持有“虛擬貨幣商品”的新用戶可以通過借貸高效快捷地使用“數字貨幣商品”。
“虛擬貨幣商品”的一個重要功能是作為價值尺度,然而,基于區塊鏈的“數字貨幣商品”通常出現巨大的價值波動,而巨大的價值波動的“虛擬貨幣商品”顯然無法作為交易的一般等價物。
針對這個問題,本文通過在去中心化信貸系統引入分層“虛擬貨幣商品”供應量調節機制,實現了根據經濟活動對“虛擬貨幣量”的需求調節“虛擬貨幣商品”的供給量,從而強化“數字貨幣商品”作為價值尺度的能力。
近年來,出現了一些支持信貸功能的基于區塊鏈的“數字貨幣商品”,如BalanceCoin 通過募集“虛擬貨幣商品”后對借貸用戶進行借貸;BFEX通過智能合約實現匹配借款用戶和貸款用戶,這種方式類似于P2P(peer-to-peer)網絡信貸平臺。然而以上的方式實現的信貸系統均需要中心機構,未能實現去中心化。
當前基于區塊鏈的“數字貨幣商品”的功能的優化工作主要包括增加鏈的結構和擴展共識協議。2014 年,Back 等[4]針對“數字貨幣商品”系統在金融領域需要更豐富的功能的問題,引入了側鏈(sidechain),其核心技術為雙向錨定(two-way peg)。通過在主鏈(主流“數字貨幣商品”)上錨定不同的側鏈,在側鏈上實現衍生功能,比如BTC Relay 將以太坊與比特幣通過雙向錨定連接起來。BTC Relay 通過使用以太坊的智能合約功能使用戶在以太坊區塊鏈上驗證比特幣交易。以太坊應用程序開發者可以從智能合約向BTC Relay 進行應用程序接口(API,application program interface)調用來驗證比特幣的交易。多鏈技術是側鏈的進一步擴展,它將多條鏈連接到一起,實現多條鏈上資產的轉移、交易。從共識協議出發的工作主要包括Kiayias 等[5]提出的Ouroboros 協議,Ouroboros 協議是可證安全的基于權益證明(PoS,proof-of-stake)算法的共識協議,應用Ouroboros 協議可以優化基于區塊鏈的“數字貨幣商品”的功能。
本文的主要貢獻如下。
1)通過擴展基于區塊鏈的“數字貨幣商品”的交易結構、擴展共識協議的功能和增加特定賬戶來構造去中心化信貸系統。
2)基于區塊鏈的PKI(public key infrastructure)增強與監督系統IKP(instant karma PKI)[2]中需要全局基金(GF,global fund),本文將去中心化信貸系統應用到IKP 系統中,從而使IKP 系統不需要全局基金就能運行。
3)針對基于區塊鏈的“數字貨幣商品”在“虛擬貨幣商品”供給量上難以調節的問題,基于去中心化信貸系統引入分層“虛擬貨幣商品”供應量調節機制,從而精確地實現“虛擬貨幣商品”供應量調節。
本節將簡要介紹區塊鏈和比特幣的預備知識。特別地,將詳細描述共識機制、交易結構和未消費交易輸出(UTXO,unspent transaction output)模型。關于比特幣的更多細節見文獻[6-7]。
區塊鏈是由Hash 連接的區塊構成的鏈式數據結構,每個區塊包含前一個區塊的Hash。區塊可以記錄交易、版權、財產等信息。區塊鏈是一個公開的、去中心化的數據庫,能以一種可驗證和永久的方式有效地記錄雙方之間的交易。本文將區塊鏈看作P2P 網絡中的去中心化賬本,網絡中的所有節點共同維護賬本。鏈中的每個記錄或區塊都是公開的,并且能夠抵抗數據的篡改。下面簡要介紹區塊鏈所應用的關鍵技術。
1)數字簽名
基于區塊鏈的“數字貨幣商品”系統應用數字簽名實現交易的認證,數字簽名的公鑰通常作為用戶的地址,當用戶發起交易時,用戶使用私鑰對交易信息進行簽名。本文使用符號sigA(m)表示用戶A使用私鑰對消息m的簽名。
2)共識協議
區塊鏈是P2P 網絡中的去中心化系統,因此需要一種機制來保證網絡中節點維護數據的一致性,這種機制是共識協議。共識協議主要包括傳統的拜占庭容錯算法、工作量證明(PoW,proof-of-work)算法、PoS 算法等[8]。傳統的拜占庭容錯算法在安全性和去中心化方面較好,但效率較低。PoW 算法使系統達到共識的方式是每個參與共識的節點提供計算能力來嘗試解決計算問題(puzzle),成功解決計算問題的節點獲得記賬權并創建一個新的區塊,PoW 算法可以完全實現去中心化,但會造成能耗方面的巨大浪費。PoS 算法通過要求節點證明其所持股份的所有權,且系統中實體創建區塊的概率與其所持股份成正比。在系統中擁有更多股份的實體更愿意維護系統的安全性,以確保他們自己的股份不會貶值,所以PoS 算法是合理的。然而,PoS 算法在某種程度上會導致系統的中心化。其他新提出的共識機制往往是這些傳統機制的結合和改進。
3)智能合約
智能合約是當某些條件滿足、系統被觸發時自動運行的計算機程序。智能合約也可以作為常規用戶來發送和接收事務,甚至控制其他智能合約。它們由系統的用戶(或其他智能合約)創建,并存儲在區塊鏈中[9]。智能合約中的代碼通常用某種高級語言編寫,比如Solidity 語言或Go 語言。
比特幣是區塊鏈技術最重要的應用。比特幣是最受歡迎的去中心化“數字貨幣商品”,可以在P2P 網絡上從一個用戶發送到另一個用戶,而不需要“中間人”。比特幣使交易匿名,保護用戶隱私。交易是比特幣的關鍵組成部分,能實現比特幣的主要功能,UTXO 模型在比特幣中也發揮著關鍵作用。
1)交易
比特幣交易由一個或多個輸入和一個或多個輸出組成。當用戶A 要向用戶B 轉入比特幣時,用戶A 首先創建一個交易,該交易包括用戶A 未花費交易的交易索引、轉入用戶B 的ID、轉入金額及用戶A 對交易信息的數字簽名。其中交易索引通常是交易的Hash 值。為了防止“雙重花費(double spend)”攻擊,交易的輸入必須是未在其他交易中使用過的交易(即在UTXO 中),且輸入總額不少于輸出總額,創建區塊的礦工驗證交易的合法性并將合法交易寫入區塊,此過程稱為打包上鏈。因為在去中心化系統中沒有中心來維持精確的時間同步,所以通常應用區塊數(block number)作為時間度量。
2)UTXO 模型
UTXO 是所有未經過轉出的轉入交易所組成的集合,只有UTXO 中的交易才能作為交易的輸入[10]。當一筆交易被礦工打包到一個新的區塊寫入區塊鏈后,則這筆交易的輸入交易將在UTXO 集合中刪除,同時將這筆交易添加到UTXO 集合中,這種方式結合共識協議便可防止“雙重花費”。比特幣使用UTXO 模型,與之對應的還有賬戶/余額模型、以太坊使用賬戶/余額模型。不難發現,只需將一個用戶在UTXO 集合中的所有輸入相加便可得到這個用戶的賬戶余額。
PKI 系統是一種遵循標準的密鑰管理系統,能夠為公鑰密碼系統的用戶提供加密和數字簽名所需的密鑰和證書管理。PKI 系統由認證中心(CA,certificate authority)、證書庫、證書作廢系統、客戶端證書處理系統等組成。
CA 為每個使用公開密鑰的用戶發放一個數字證書,數字證書的作用是證明證書中列出的用戶合法擁有證書中列出的公開密鑰。CA 機構的數字簽名使攻擊者不能偽造和篡改證書。
CA 是數字證書的簽發機構,也是PKI 的核心[11]。CA 負責簽發證書、認證證書及管理已頒發證書,制定政策和具體步驟來驗證、識別用戶身份,并對用戶證書進行簽名,以確保證書持有者的身份和公鑰的擁有權。
當需要驗證一個證書的有效性時,驗證者使用CA 的公鑰對證書上的簽名進行驗證,驗證通過則該證書就被認為是有效的[12]。
基于區塊鏈的“數字貨幣商品”系統有2 個特點。1)基于區塊鏈的“數字貨幣商品”系統中每個用戶都能成為“虛擬貨幣商品”的鑄造者。2)在基于區塊鏈的“數字貨幣商品”系統中,“虛擬貨幣商品”的銷毀可以是公開可驗證的。事實上,如果一個賬戶的私鑰丟失,這個賬戶中的“虛擬貨幣商品”將無法被花費,那么將“虛擬貨幣商品”轉入這個賬戶,就相當于“虛擬貨幣商品”的銷毀過程。
應用基于區塊鏈的“數字貨幣商品”系統的以上特點,去中心化信貸系統的設計思想如下。
1)在擔保人的擔保下,借貸人通過鑄造“虛擬貨幣商品”實現借貸。
2)在借貸周期內,借貸人通過銷毀“虛擬貨幣商品”實現還貸。
3)如果在借貸周期內借貸人未還款,發生貸款逾期,則銷毀擔保人的一部分“虛擬貨幣商品”實現債權轉移。
接下來,給出去中心化信貸系統的總體描述。
在去中心化信貸系統中,擔保用戶通過向系統中一個具有特殊功能的賬戶轉賬來建立擔保資格,擔保用戶為借貸用戶提供擔保,當具有擔保資格的擔保用戶為借貸用戶提供擔保之后,借貸用戶可以發起借貸交易,礦工驗證擔保用戶的擔保資格和借貸交易的有效性,并將有效借貸交易打包上鏈之后,借貸過程完成。之后借貸用戶可以使用貸款進行支付和流通。
在貸款周期內,借貸用戶通過向去中心信貸系統中一個特定的只能轉入無法轉出的賬戶轉入“虛擬貨幣商品”實現還貸。
當出現貸款逾期,即貸款周期內借貸用戶沒有還貸時,礦工將擔保用戶的一部分“虛擬貨幣商品”轉到無法轉出的賬戶實現債權轉移,并得到一筆費用作為發現逾期貸款的獎勵。
以上為去中心化信貸系統的設計思想,值得注意的是,去中心化信貸系統的構造通過擴展區塊鏈的共識協議實現,而這種擴展方式不依賴于特定的共識算法,可以在任何底層共識協議上實現。
接下來,定義去中心化信貸系統的交易結構和實現特殊功能的賬戶,然后詳細給出去中心化信貸系統的構造。
去中心化信貸系統由普通交易和借貸交易2 種不同類型的交易組成。普通交易可以表示為

其中,y為輸入交易Ty的交易索引,該符號表示用戶A 向用戶B 轉入數量為v的“虛擬貨幣商品”。
借貸交易具有不同的結構,可表示為

其中,A 為擔保用戶,B 為借貸用戶,u為借貸數額,z為輸入交易Tz的交易索引,st 為區塊數,表示擔保有效期。
與比特幣系統中的UTXO 類似,定義所有未被償還的借貸交易所組成的集合為未被償還的借貸交易集合(UPL,unpayback loan)。
為實現去中心化信貸系統,有2 個需要解決的主要問題:擔保用戶如何建立擔保資格和借貸用戶如何還款。針對這2 個問題,本文在去中心化信貸系統中引入抵押賬戶(MA,mortgage account)和黑洞賬戶(BA,black-hole account)。
抵押賬戶為系統中的一個特殊賬戶,這個賬戶沒有私鑰,只有當特定情況滿足時,才能發起抵押賬戶向其他賬戶轉賬的交易。擔保用戶A 通過發起一筆普通交易來建立擔保資格,此交易被稱為擔保交易,定義所有有效擔保交易構成的集合為有效擔保交易集合(VMT,valid mortgage transaction)。當擔保交易被礦工打包上鏈之后,擔保用戶A 可以為借貸用戶B 提供擔保。
在比特幣系統中,如果一個賬戶的私鑰丟失,那么該賬戶中的“虛擬貨幣商品”將無法被花費。BA 為系統中的一個特殊賬戶,此賬戶只可以轉入,不可以轉出,即轉入BA 的“虛擬貨幣商品”將無法被花費。借貸用戶B 的還貸過程為發起交易向BA 轉入“虛擬貨幣商品”,當這筆還貸交易被寫入區塊鏈之后,還貸過程完成,同時借貸用戶B 的借貸交易將被移出UPL。
去中心化信貸系統由4 個部分組成:抵押、借貸、按期還貸和逾期貸款。下面給出系統的詳細描述。
1)抵押
對于擔保用戶 A,首先 A 發起普通交易來建立擔保資格。當該普通交易被礦工打包上鏈,并將其存入VMT 中,此時擔保資格建立完成。需要注意的是,此交易不放入UTXO 中。
擔保用戶A 為借貸用戶B 提供擔保,其過程為生成簽名sigA(p,B,s,sti),其中p為擔保交易的交易索引,s為用戶B 的貸款額度,sti為擔保有效期,即B 的借貸交易只能被寫入區塊數小于或等于sti的區塊。
2)借貸
當用戶B 進行借貸時,B 發起借貸交易

礦工對借貸交易的有效性進行驗證,驗證算法如下。
① 驗證sigA(p,B,s,sti),sigB(p,s',sti)。
② 驗證擔保交易p在VMT 中且sti>st,其中st 為當前區塊數。
③ 計算UPL 中擔保交易p所擔保的借貸交易的借貸數額的總和v0,驗證條件v0+s'<v。
④計算UPL 中用戶B 所有的借貸交易的借貸數額的總和s0,驗證條件s0+s'<s。
若以上條件均滿足,返回借貸交易有效的驗證結果。
礦工將有效借貸交易打包上鏈,同時將這個交易存入UTXO 和UPL 中,借貸過程完成。借貸用戶B便可使用貸款發起普通交易向其他用戶進行轉賬。設借貸交易的交易索引為q,用戶B 使用借貸交易p向用戶C 轉賬的交易為

抵押與借貸過程如圖1 所示。注:在系統的實現中為避免重放攻擊,應在交易的簽名中加入時間戳,此處為了簡潔予以省略。

圖1 抵押與借貸過程
3)按期還貸
首先在系統中設置統一借貸期限的上限r0。設用戶B的借貸交易p,B,s',sigA(p,B,si,sti),sigB(p,s',sti)|的交易索引為q,借款交易所在區塊的區塊數為 st1。
若當前區塊數 st<st1+r0,則借款交易未逾期,否則為逾期借款交易。當用戶B 發起還款時,B 發起交易

礦工檢查借款交易q是否逾期,若借款交易未逾期,則將此交易打包上鏈,同時將借貸交易q移出UPL,還貸過程完成。
4)逾期貸款
如果借款用戶未在還貸期限內還貸,即st ≥st1+r0,則貸款逾期。此時將由發現逾期貸款的礦工,從抵押賬戶進行扣款,具體過程如下。
對于逾期貸款,設借貸交易的交易索引為q,借貸數額為s,借貸交易的擔保交易的交易索引為p。礦工C發起普通交易為

其中,s1+s2=s,s2為礦工發現逾期貸款的獎勵。逾期貸款的處理過程如圖2 所示。

圖2 逾期貸款的處理過程

礦工驗證以下條件。
①擔保交易p在UPL 中擔保所有借貸交易中沒有未逾期交易。
②計算擔保交易p擔保的所有逾期借貸交易借貸數額的總和v0,驗證v0=v-v'。
若以上條件均滿足,則將此交易上鏈,同時將擔保交易移出VMT。
綜上,只有在貸款逾期時和擔保用戶撤回擔保金時,才能發起從MA 轉出的交易。
以上為去中心化信貸系統的詳細描述,在實現時,還有許多實現細節需要補充。
在系統中,擔保用戶為借貸用戶提供擔保,借貸用戶借貸的計費規則由擔保用戶制定,擔保用戶可將計費規則通過智能合約寫入區塊鏈中,通過調用智能合約來計算借貸用戶所需向擔保用戶支付的費用。
對于逾期貸款,擔保用戶的一部分擔保金被轉入黑洞賬戶,從而發生了債權轉移,逾期的借貸交易將作為擔保用戶的債權憑證。
IKP 系統由Matsumoto 等[2]提出,它是一種基于區塊鏈的PKI 增強機制,通過智能合約對證書CA 的錯誤行為自動響應,并為那些幫助檢測錯誤行為的人提供激勵。IKP 系統的去中心化和智能合約系統允許任何人公開地參與對CA 行為的檢測。IKP 系統的總體架構如圖3 所示。
IKP 是標準TLS(tansport layer security)體系結構的擴展,它引入了2 個新實體:IKP 權威機構和探測器。IKP 權威機構負責IKP 的核心功能,具體包括維護CA 的信息、存儲域證書策略(DCP,domain certificate policie)和響應策略(RP,reaction policie)。DCP 和RP 由智能合約實現,域證書策略由域提出,可以用于計算性地確定一個給定的證書對某一個域是否被授權;RP 由CA 提出,在一個未授權的證書被發現時自動觸發。IKP 權威機構中還有一個全局基金,負責響應IKP 系統中的賠償。探測器監視CA 頒發的證書,并報告它們認為未經授權的任何證書,如果報告是正確的,它們將獲得金錢的獎勵。系統中的任何實體都可以作為探測器,包括CA、域和客戶端。
IKP 中的操作包括如下幾項。

圖3 IKP 的總體架構
1)CA 注冊:CA 在IKP 權威機構中注冊自己的信息,包括標識符、金融賬戶信息、一個或多個公鑰和一個更新策略。
2)域注冊:域向IKP 權威機構注冊DCP。具體地說,域注冊其域名系統(DNS,domain name system)名稱、一個或多個公鑰、金融賬戶信息和一個檢查程序,該檢查程序決定給定的證書對這個域是否授權。
3)發行RP:一個注冊過的域與一個注冊過的CA 商談RP 的條款,包括域名、CA 標識符、有效期、對域的DCP 的引用,以及包含響應CA 不當行為所觸發的支付的響應程序。域向CA 支付費用來購買一個RP,保障自己不受未授權證書的危害,一旦購買過RP 的域接收到不符合自己的DCP 的證書,這個證書將被認定為未授權證書,這會觸發RP,啟動相應的賠償行為。
4)發行證書:CA 向域發送證書。
5)錯誤行為報告:探測器向IKP 權威機構發送CA 錯誤行為的證據,同時附上自己的賬戶信息用來接收獎勵。為了防止探測器不斷產生錯誤行為報告,每發送一個錯誤報告,就要支付報告費。
6)響應:IKP 權威機構收到報告后認定這個報告是否正確,如果報告正確,那么CA 確實有不符合相應域的DCP 的錯誤行為,則觸發該域的RP 對域進行賠償,該RP 執行指定的交易,向相應的CA、域、探測器支付指定好的金額。
值得注意的是,CA 在注冊時會向全局基金支付一筆費用,相當于它的保證金,之后IKP 系統中的所有轉賬交易都是轉入全局基金或從全局基金轉出的,這樣就需要全局基金賬戶的管理者對IKP系統中的請求進行實時響應。
接下來,將去中心化信貸系統引入IKP 系統中,從而實現不需要全局基金賬戶的IKP 系統。
1)設CA 為系統中CA 的賬戶,初始化RP 的過程為CA 發起擔保交易

設擔保交易的交易索引為p,系統中購買RP的域為 B1,B2,…,Bn。
2)當擔保交易被礦工打包上鏈之后,CA 為購買RP的域B1,B2,…,Bn生成n個簽名sigA(p,Bi,si,sti),i=1,2,…,n。其中,si為DCP所確定的賠償額度,sti為RP的有效期。
3)當探測器D 發現CA 的錯誤行為時,將錯誤行為報告給IKP 權威機構,IKP 權威機構對錯誤行為進行認定,生成錯誤行為證據w,并對證據簽名。然后將w和 sigIKP(w)發送給 B1,B2,…,Bn。
4)Bi使用證據w生成借貸交易

礦工對借貸交易的有效性進行驗證,驗證算法如下。
① 驗證簽名sigA(p,B,si,sti)和sigIKP(w)。
② 驗證擔保交易p在VMT 中且sti> st,其中st 為當前區塊數。
若以上條件均滿足,返回借貸交易有效的驗證結果。礦工將有效借貸交易打包上鏈完成賠償過程。
5)通過去中心化信貸系統中的逾期貸款過程完成CA 對域的賠償。
6)若CA 在RP 有效期內未出現錯誤行為,則可通過交易撤回擔保金。
以比特幣為代表的基于區塊鏈的“數字貨幣商品”的一個顯著特征就是“虛擬貨幣商品”總量固定,系統通過調節共識算法的參數(如工作量證明中的難度值)來調節一個時間段內的“虛擬貨幣商品”供應量,但是這樣的調節機制會帶來2 個問題,具體如下。
1)如果一種“虛擬貨幣商品”的總量固定,從長期的角度看一定會帶來通貨緊縮[13]。因為“虛擬貨幣商品”總量恒定,系統中的用戶會更傾向于將這樣的“虛擬貨幣商品”用作儲值工具,而不是流通手段,會導致市場上流通的“虛擬貨幣商品”減少,進一步導致通貨緊縮。而“虛擬貨幣商品”制度建立的初衷并不是讓持有“虛擬貨幣商品”的人變得更加富有,而是讓交易和流通等經濟活動更加便利。
2)通過調節共識算法參數來調節一段時間內新“虛擬貨幣商品”的產生量很難實現精確和有效[14]。以比特幣為例,比特幣需要根據所有參與的礦工的計算能力來調節工作量證明的難度值,首先,礦工的計算能力的估計并不能做到完全準確,其次,這樣的調節方式對“虛擬貨幣商品”供應量的影響具有一定的滯后性。
針對現有“加密貨幣商品”系統中這樣的問題,接下來,在去中心化信貸系統引入分層“虛擬貨幣商品”供應量調節機制。
去中心化信貸系統模型中,引入第一級調節用戶{A1,A2,…,Ai},對應現實經濟系統中的政府機構。第二級調節用戶 {B1,B2,…,Bs},對應現實經濟系統中的各大銀行。
在去中心化信貸系統中,擔保交易所擔保的借貸交易的借貸額度的總和小于或等于擔保交易轉入抵押賬戶MA 的額度。分層“虛擬貨幣商品”供應量調節機制通過允許第一級調節用戶超額擔保,第二級調節用戶的借貸無時間期限來實現“虛擬貨幣商品”供應量的增加。即當系統需要增加“虛擬貨幣商品”供應量時,首先確定一組系統參數((s1,v1),(s2,v2),…,(st,vt)),在實際應用中,這組參數可以由經濟系統中的變量(如生產總量、消費量等)來確定。其中(si,vi)表示用戶Ai發起的數額為si的擔保交易可以擔保第二級調節用戶{B1,B2,…,Bs}發起總額小于si+vi的借貸交易,表示系統通過分層調節機制增加的貨幣量的最大值。 設 Ai的擔保交易的交易索引為p,其中Ai為Bj生成簽名sigA(p,Bj,uj)。
Bj發起借貸交易

礦工對借貸交易的有效性進行驗證,驗證算法如下。
2)驗證擔保交易p在VMT 中且計算UPL 中擔保交易p所擔保的借貸交易的借貸數額的總和v0,驗證條件v0+u<si+vi。
3)計算UPL中用戶B所有的借貸交易的借貸數額的總和s0,驗證條件s0+u<uj。
若以上條件均滿足,返回借貸交易有效。
不難驗證,系統通過分級調節機制所增加的“虛擬貨幣商品”供應量由{A1,A2,…,At}和{B1,B2,…,Bs}共同決定,且總量小于或等于
本文提出了去中心化信貸系統,并給出了其構造應用。首先,通過擴展基于區塊鏈的“數字貨幣商品”的交易結構,引入特殊賬戶并擴展共識協議實現了去中心化信貸系統,實現“虛擬貨幣商品”的持有者可以為借貸用戶提供擔保,借貸用戶可以通過借貸交易使用“虛擬貨幣商品”進行交易,且借貸用戶的還貸過程以及貸款逾期均能通過協議處理,從而使“數字貨幣商品”作為流通手段更加高效便捷。
對于基于區塊鏈的PKI 增強機制IKP 系統,系統中的所有轉賬交易都是轉入全局基金或從全局基金轉出的,這樣就需要全局基金賬戶的管理者對IKP系統中的請求進行實時響應。本文通過將去中心化信貸系統引入IKP 系統,實現IKP 系統在使用時不需要全局基金。針對基于區塊鏈的“數字貨幣商品”的價格浮動劇烈和“虛擬貨幣商品”供應量不易控制的問題,本文在去中心化信貸系統中引入分層調節機制,實現對“虛擬貨幣商品”供應量的調節。
對于去中心化信貸系統,其中還有許多實現細節部分需要進一步確定與優化,比如擔保用戶提供擔保的費用設置,借貸用戶的信用評估方法。另外,可將普通交易與借貸交易通過側鏈技術分別放入2條區塊鏈中,從而提高交易的效率。