王 珊,李 潔,靳 軍,薄鈞戈,蔡維德,馬 寧
(1.西安交通大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,陜西 西安 710049;2.北京物資學(xué)院 信息學(xué)院,北京 101149;3.北京航空航天大學(xué) 計算機學(xué)院,北京 100191)
當(dāng)前,中國經(jīng)濟正在經(jīng)歷一場數(shù)字化變革,除了數(shù)字貨幣外,在貸款、貿(mào)易和征信等行業(yè)中,都會陸續(xù)采用數(shù)字科技。區(qū)塊鏈、智能合約、預(yù)言機是發(fā)展數(shù)字經(jīng)濟的重要技術(shù),能夠推動中國數(shù)字經(jīng)濟的快速發(fā)展[1]。征信,是現(xiàn)代經(jīng)濟社會的重要機制,是衡量社會信用水平的重要指標(biāo),但目前的征信系統(tǒng)仍存在“數(shù)據(jù)孤島”、失信成本過低、法律監(jiān)管不足等問題。區(qū)塊鏈和智能合約可以為探索多維度數(shù)據(jù)互聯(lián)互通提供底層技術(shù)支持,發(fā)展基于區(qū)塊鏈的新型征信系統(tǒng)。為促進征信系統(tǒng)的數(shù)字化轉(zhuǎn)型,文章收集并分析了大量中國征信規(guī)則,并調(diào)研了國外金融領(lǐng)域先進的智能合約編寫流程,建立了一個符合中國國情的智能合約征信規(guī)則模型。其中,智能合約的設(shè)計與開發(fā)遵循事件模型的流程化規(guī)范,配合互聯(lián)網(wǎng)[2]、LSO系統(tǒng)(包括Ledgers賬本、Smart contracts智能合約、Oracles預(yù)言機)的底層架構(gòu),能夠在規(guī)則模型的基礎(chǔ)上,通過事件模型,快速開發(fā)領(lǐng)域合規(guī)的智能合約。這種基于規(guī)則模型的結(jié)構(gòu)化處理,也給合約開發(fā)中的形式化驗證和邏輯測試提供了便利。
智能合約的應(yīng)用及標(biāo)準(zhǔn)一直是各國協(xié)會關(guān)心的問題。國際掉期與衍生工具協(xié)會ISDA(International Swaps and Derivatives Associations)提出一系列關(guān)于衍生品交易的智能合約標(biāo)準(zhǔn),但這些標(biāo)準(zhǔn)并未涉及任何計算機代碼[3]。ISDA認(rèn)為智能合約標(biāo)準(zhǔn)工作應(yīng)該從改造現(xiàn)有的金融流程出發(fā),但這些流程與代碼相差過大,很難直接翻譯成智能合約部署執(zhí)行。1990年Ian Grigg提出了李嘉圖合約(Ricardian Contract),本質(zhì)上是一種定義兩方或多方之間交互的條款和條件的數(shù)字文檔[4]。李嘉圖合約制定了一種規(guī)范化的合約標(biāo)準(zhǔn),對發(fā)行人和持有人的權(quán)利和責(zé)任進行描述,表示要將法律合同轉(zhuǎn)化成代碼,需要先制定標(biāo)準(zhǔn)化的模板,再根據(jù)模板開發(fā)智能合約。2018年美國期貨商品交易所委員會CFTC,提出智能合約兩大應(yīng)用是(合規(guī))金融交易與監(jiān)管,這與大眾對于傳統(tǒng)區(qū)塊鏈應(yīng)用(例如比特幣)可以逃避監(jiān)管的印象不同,CFTC反而認(rèn)為這是監(jiān)管利器,也是合規(guī)金融交易工具。2020年Libra 2.0白皮書正式提出放棄公鏈路線,走向完全合規(guī)化路線。這表明無論是穩(wěn)定幣或者是數(shù)字法幣,都開始走合規(guī)化的道路。
學(xué)術(shù)界也有許多關(guān)于征信智能合約的相關(guān)研究。2006年,Governatori等人[5]將基于 BPMN模型描述的業(yè)務(wù)流程與基于邏輯形式語言FCL描述的業(yè)務(wù)合同進行行為比較,驗證了BPMN模型與業(yè)務(wù)合同的一致性。2016年,F(xiàn)rantz等人[6]提出使用一個能夠捕捉法律制度基本特征的語法,將人類可讀的制度規(guī)則、規(guī)章和法律的可解釋合同分解為符合ADICO結(jié)構(gòu)的語句,由此提出一種將ADICO結(jié)構(gòu)表示的法律合約半自動化轉(zhuǎn)換成智能合約Solidity代碼框架的方法。2017年,Al Khalil等人[7]提出一種可以提高智能合約的法律可信度的方法,該方法利用金融領(lǐng)域本體FIRO和FIBO將法律合約變?yōu)槿藱C可讀的受控法律自然語言,再轉(zhuǎn)換為智能合約模型。2018年,Choudhury等人[8]提出一個通過本體和語義規(guī)則對以交易為中心的特定領(lǐng)域知識進行編碼的智能合約自動生成框架。2020年,Zupan等人[9]提出了一種基于Petri網(wǎng)的智能合約生成方法和可視化的原型開發(fā)工具,它使用Petri網(wǎng)構(gòu)建智能合約的工作流模型,通過引擎完成工作流的驗證工作以及智能合約代碼的轉(zhuǎn)換工作,經(jīng)由審計專家審核過后最終形成可直接部署的智能合約代碼。
圖1 智能合約發(fā)展方向
用于頂層智能合約設(shè)計的皋陶模型[10]指出,中國智能合約發(fā)展包括以下方向,分別是本地化、服務(wù)標(biāo)準(zhǔn)化、科技化、智能化、系統(tǒng)整體化和體制整體化。其中,本地化是指使用中文描述事件模型的規(guī)則,制定中國的法律合同模板。服務(wù)標(biāo)準(zhǔn)化是智能合約設(shè)計的核心理念,首先通過行業(yè)領(lǐng)域調(diào)研,建立一個標(biāo)準(zhǔn)參考規(guī)則,并將這些規(guī)則公開,可以讓所有人考察、驗證、更新、添加,逐漸建立一個盡量完備、可信的征信規(guī)則庫,并提供對應(yīng)的智能合約代碼。基于標(biāo)準(zhǔn)化智能合約,可以建立微服務(wù)知識庫,將來可以作為中國金融系統(tǒng)作業(yè)的參考定義?,F(xiàn)有的智能合約的工具科技化仍有欠缺,不適用于新型信用模型的建立,采用包括預(yù)言機、智能合約、區(qū)塊鏈的新型區(qū)塊鏈系統(tǒng),以支撐鏈上合約與鏈下數(shù)據(jù)的可信融合,達(dá)到更高的科技化水平。智能化是指在運行時,系統(tǒng)可以動態(tài)地決定是否需要繼續(xù)自動進行。通過智能預(yù)言機、事件處理模型調(diào)度,并與基于區(qū)塊鏈數(shù)據(jù)湖上的大數(shù)據(jù)分析和多種機器學(xué)習(xí)方法配合,智能合約系統(tǒng)就真正具備智能,可以實現(xiàn)智能判斷和智能監(jiān)管。系統(tǒng)整體化是指智能合約系統(tǒng)需要加強與區(qū)塊鏈和預(yù)言機的合作,進行鏈上合約和鏈下系統(tǒng)的一體化構(gòu)建。因此,智能合約系統(tǒng)接口需要嚴(yán)格設(shè)計,以保證系統(tǒng)的高效性、可靠性、安全性以及可監(jiān)管性。體制整體化要求征信智能合約和制度配合,讓公證處、法院、國稅局等相關(guān)單位充分參與進來。
基于上述設(shè)計理念,文章針對征信領(lǐng)域,提出征信智能合約標(biāo)準(zhǔn)化規(guī)則與模型。文章對智能合約開發(fā)流程的思路是:使用行業(yè)的規(guī)范、業(yè)務(wù)流程,按照一定規(guī)則,提煉發(fā)布事件模型,在進行了大量需求分析或是領(lǐng)域需求分析的基礎(chǔ)上,根據(jù)事件模型去開發(fā)和驗證行業(yè)智能合約。
在智能合約的構(gòu)建中,最重要的是事件和數(shù)據(jù)[11]。事件完成鏈上鏈下的協(xié)同,將真實世界中的作業(yè)和任務(wù),由區(qū)塊鏈完成可信管理,在鏈上通過智能合約自動執(zhí)行,同時保證了數(shù)據(jù)無法被篡改。因此事件模型是整個智能合約標(biāo)準(zhǔn)化規(guī)則的核心,充分利用分布式預(yù)言機技術(shù)、區(qū)塊鏈系統(tǒng)和事件處理系統(tǒng),組成基于事件模型、規(guī)則模板庫、LSO模型的三層架構(gòu),建立智能合約標(biāo)準(zhǔn)規(guī)則,是中國智能合約在各行各業(yè)落地開花的方向。
文章分析了《個人信用信息基礎(chǔ)數(shù)據(jù)庫管理暫行辦法》《信貸市場和銀行間債券市場信用評級規(guī)范》《征信業(yè)管理條例》等覆蓋了銀行業(yè)、金融業(yè)、征信業(yè)等領(lǐng)域的約600個管理規(guī)則文件,從這些規(guī)則文本的核心流程和執(zhí)行標(biāo)準(zhǔn)中提取了共性特點,建立事件模型的處理規(guī)則,使用征信智能合約標(biāo)準(zhǔn)化模型對各類征信事件進行處理。如圖2所示,征信智能合約標(biāo)準(zhǔn)化模型由事件模型、規(guī)則模型庫和LSO模型(第三代征信模型)組成,且需要在政府監(jiān)管之下進行征信。事件模型為規(guī)則模型庫的定義提供基礎(chǔ),LSO模型將規(guī)則模型庫中的各項規(guī)則進行代碼化。
圖2 征信智能合約標(biāo)準(zhǔn)化模型
具體地,事件模型對征信系統(tǒng)中的事件、對象和屬性進行定義[12]。事件分為行為事件、評級事件、獎懲事件;對象分為人、角色、機構(gòu)、物和文件;屬性根據(jù)其是否會隨著事件的變化而變化,又分為靜態(tài)屬性和動態(tài)屬性。
規(guī)則模型庫在此定義的基礎(chǔ)上,將征信系統(tǒng)中所涉及的業(yè)務(wù)共分為八類進行規(guī)則定義,即信用評級類、評級異議類、信用變更類、征信監(jiān)管類、征信主體類、信息歸集類、信用披露類和信用處置類。
LSO模型主要由智能合約系統(tǒng)、互聯(lián)網(wǎng)系統(tǒng)和預(yù)言機系統(tǒng)構(gòu)成,能夠?qū)⒁?guī)則模型庫中的所有規(guī)則模型編寫為智能合約。智能合約部署在互聯(lián)網(wǎng)中,觸發(fā)智能合約的條件一部分來自互聯(lián)網(wǎng)外部。為了提高外部數(shù)據(jù)來源的可靠性,需要借助分布式預(yù)言機[13]將來自數(shù)據(jù)庫、金融機構(gòu)、監(jiān)管單位和法院等的數(shù)據(jù)上傳至互聯(lián)網(wǎng)內(nèi)部,實現(xiàn)智能合約的觸發(fā)和執(zhí)行。
事件模型是建立在流程規(guī)則的基礎(chǔ)上,根據(jù)關(guān)鍵元素提煉出的具有普適性的模型,可以描述某個領(lǐng)域中的業(yè)務(wù)流程和事件規(guī)則。根據(jù)事件模型按照一定的要求,可繪制成事件圖,作為領(lǐng)域?qū)<?、律師等用戶的輸入模型,對智能合約涉及的流程具有形式化的描述效果。技術(shù)人員可以方便地參照事件圖進行合約的屬性驗證,并快速開發(fā)智能合約。使用事件模型和事件圖進行智能合約的生成過程,如圖3所示。
圖3 基于事件(圖)模型的智能合約編寫流程
(1)領(lǐng)域?qū)<摇⒎蓪<业扔脩魧π庞靡?guī)則進行分析和提煉,利用信用規(guī)則模板進行分類,并根據(jù)具體類型中的事件圖建模并繪制事件圖。
(2)程序員根據(jù)事件模型和事件圖進行智能合約的開發(fā)、測試,并根據(jù)測試結(jié)果,與用戶討論,對事件圖不斷迭代優(yōu)化。
(3)通過測試的智能合約部署到區(qū)塊鏈上。
現(xiàn)以用戶A向銀行申請房屋抵押貸款為例,說明征信智能合約事件模型的整體流程,如圖4所示。
用戶A向銀行提交房屋抵押貸款申請,填寫貸款用途、貸款金額、償還期限等信息后,提交證明材料,包括身份證明、房屋產(chǎn)權(quán)證、工作證明等。由銀行調(diào)取大數(shù)據(jù)平臺中該用戶的信用畫像并審核證明材料,對用戶的還款能力進行綜合評估。評估通過后,用戶A和銀行共同簽署借貸合同,由預(yù)言機將借貸合同及證明材料一同轉(zhuǎn)發(fā)至事件處理系統(tǒng),事件處理系統(tǒng)判斷事件類型后,將該事件轉(zhuǎn)發(fā)至公證智能合約進行處理。公證智能合約根據(jù)證明材料自動對借貸合同進行公證,若公證通過,則由預(yù)言機反饋公證結(jié)果,并將公證信息上傳至互聯(lián)網(wǎng)進行公布,只有借貸合同的簽署方才可在互聯(lián)網(wǎng)上查詢公證的詳細(xì)信息,其他用戶或機構(gòu)無法查詢相關(guān)信息,如圖中用戶B所示;若公證失敗,則由預(yù)言機系統(tǒng)將失敗信息轉(zhuǎn)發(fā)至用戶A和銀行,由這兩者選擇是否進行后續(xù)的抵押登記、貸款發(fā)放等工作。在公證過程中,公證智能合約將公證結(jié)果發(fā)布至互聯(lián)網(wǎng),使用了事件處理系統(tǒng)中規(guī)則模板庫的信用披露類模型,而在互聯(lián)網(wǎng)上查詢公證結(jié)果使用了征信主體類模型。
用戶A成功向銀行辦理房屋抵押貸款,且銀行向用戶的銀行賬戶下發(fā)貸款后,用戶A需按照借貸合同的要求每月進行還貸,由預(yù)言機收集用戶的還貸事件,將其轉(zhuǎn)發(fā)至事件處理系統(tǒng),事件處理系統(tǒng)分析該事件后調(diào)用還貸智能合約,將用戶的履約情況在互聯(lián)網(wǎng)上存證。若用戶A在銀行多次催款的情況下仍未能如期償還貸款,則還貸合約調(diào)用公證智能合約進行強制執(zhí)行公證,公證智能合約自動進行核查。若情況屬實,則將用戶的違約行為記錄至互聯(lián)網(wǎng),并由預(yù)言機將強制執(zhí)行公證結(jié)果反饋至用戶A和銀行,同時,用戶的違約行為也會被反饋至大數(shù)據(jù)平臺。
文章分析了征信行業(yè)的痛點,發(fā)現(xiàn)智能合約和區(qū)塊鏈等新技術(shù)有助于中國征信行業(yè)的數(shù)字化轉(zhuǎn)型。研究發(fā)現(xiàn),在將征信規(guī)則智能合約化的過程中,存在著規(guī)則冗長、閱讀困難、開發(fā)周期長等問題。因此,文章定義了一套基于信用規(guī)則模板的智能合約生成方案,該方案自頂向下體現(xiàn)了皋陶模型的設(shè)計理念,并以第三代征信模型作為構(gòu)建基礎(chǔ),進行了大量的需求分析,提取了領(lǐng)域規(guī)則特征,建立了事件模型模板庫,并給出了事件模板庫的服務(wù)化調(diào)用方法。文章提出的征信智能合約標(biāo)準(zhǔn)化模型充分利用分布式預(yù)言機技術(shù)、區(qū)塊鏈系統(tǒng)和事件處理系統(tǒng),組成基于事件模型、規(guī)則模板庫、LSO模型的三層架構(gòu),建立智能合約標(biāo)準(zhǔn)規(guī)則,是中國智能合約在各行各業(yè)落地開花的方向。