智慧合約移動業務應用設計
胡凱教授
移動公司業務在計費、支付、積分等領域存在大量賬戶管理及賬戶交易需求,這些需求通常通過集中化的伺服器來管理賬戶和記錄交易。但隨著業務量的快速增長和新業務需求的不斷提出,集中式的賬戶管理及交易在效能、可靠性、可用性等方面,面臨著越來越大的壓力。區塊鏈和智慧合約技術則能有效解決集中化服務架構所遇到的效能瓶頸問題,而且帶來系統在交易處理效能和可擴充套件性等方面的提升。區塊鏈上的智慧合約能夠實現對業務流程的控制,提高區塊鏈的處理效率,同時提高可信度。本文給出基於智慧合約設計一種虛擬積分幣的技術方案。
1、移動業務智慧合約設計
移動虛擬積分幣系統將從發行、流通到回籠和清結算的過程全部實現,整個業務流程涉及到一級結構(總公司)、二級機構(子公司)和使用者三方,系統利用許可權管理系統為三者設定不同的許可權,通過CA認證和雙祕鑰管理實現有效監管,利用零知識證明實現隱私保護。所有業務通過智慧合約實現並將執行結果上鍊以保證不可篡改和可追溯。
虛擬積分幣系統主要業務包括:虛擬積分幣發行、虛擬積分幣發放、使用者充值、使用者消費和使用者退費,每一種業務都由一個智慧合約來實現,積分幣的各種交易行為都通過智慧合約的形式進行儲存在區塊鏈中,這種方式可以在一定程度上杜絕人為因素的干擾,同時可以增加交易的可操作性,然後使用者和機構可以根據不同的交易事件來觸發執行不同的交易處理過程,主要包括系統角色的註冊登記、積分幣的發行和發放、使用者的充值購買和消費等,如圖1所示:
圖1 移動虛擬積分幣流程
根據業務需求,系統將機構分為一級機構和二級機構進行代理。首先,使用者和機構需要在區塊鏈系統中進行註冊,然後系統通過相應的金鑰對生成合約為使用者或機構生成屬於他們的公私鑰和交易地址等資訊,如果使用者已有自己的公私鑰,則可以通過系統CA進行認證,生成相應的證書。
根據系統許可權設定,一級機構可以通過發行合約完成積分幣的發行,而二級機構可以通過營銷活動觸發發放合約完成積分幣的發放,對於使用者來說,他可以通過購買等行為觸發購買合約來完成數字積分幣的消費,通過充值行為觸發充值合約來完成數字積分幣的充值等。
最後,所有的交易都會在許可鏈中進行儲存,所以第三方監管中心可以通過加入該系統中來獲得完整的許可鏈賬本,繼而完成對賬本的和系統的監管。
2、智慧合約業務實現
前面說到,系統中按照功能和許可權將系統角色劃分為多級層次,主要包括一級機構,二級機構和使用者賬戶。對於一級機構來說,它管理積分幣的發行和回籠,同時,管理二級機構的狀態,對於二級機構和使用者賬戶來說,只有在一級機構進行積分幣發行後,積分幣才能用於交易,這裡所說的積分幣是指廣義上的數字積分幣(虛擬積分幣)。對於二級機構來說,數字積分幣可以通過營銷發放或者使用者充值兌換的方式從二級機構到達使用者賬戶中,根據使用者獲得積分幣方式的不同,所得到的積分幣型別也不相同。對於使用者來說,使用者獲得數字積分幣後可以使用積分幣進行消費,其中又分為購買和轉賬,在購買過程中可以使用多種積分幣進行購買,但是使用者轉賬只能針對於現金充值方式獲得的積分幣,根據這些規則,可以給出區塊鏈的狀態模型。
區塊鏈會將所有的交易儲存在區塊中,便於後面的追溯查詢,與Ethereum一樣,區塊鏈的最新狀態會被儲存在MPT(Merkle Patricia Trie)中,不僅可以即時生成最新狀態的摘要,還可以根據key快速查詢到所需資訊。
系統採用區塊鏈和MySQL資料庫兩種方式對積分幣的流程和使用者的狀態進行儲存。許可鏈中主要採用MPT對使用者的狀態和交易記錄進行儲存,而資料庫中主要對使用者的目前狀態進行儲存。因為許可鏈中查詢速度比較慢,所以採用這種混合方式進行儲存,一方面減少了許可鏈的交易數量,另一方面,也加快了使用者的查詢速度。在區塊鏈中,智慧合約驅動的狀態轉換如圖2所示。
圖2 智慧合約狀態轉換圖
其中,主要包括6種狀態:角色屬性狀態、積分幣發行狀態、積分幣發放狀態、使用者充值狀態、使用者消費狀態、使用者轉賬狀態和使用者退費狀態,系統中所有業務由發行合約、發放合約、充值合約、消費合約和退費合約六種合約來進行控制驅動,實現了交易高速執行、交易資料實時上鍊,提高了交易的安全和可追溯性並實現了合約可擴充套件性。該系統已經交付驗收。
北京航空航天大學分散式實驗室
北京航空航天大學分散式技術實驗室具有悠久歷史傳承,是國內最早的分散式技術和形式化方法研究和應用的專業實驗室,上世紀八十年代起就開始承擔航空電子等各類軍民兩用分散式系統研製,先後承擔國家基金、863重大、核高基等國家重點工程專案,獲多項國家科技成果獎。在分散式處理、高效能運算、嵌入式、FPGA設計等方面國內領先。主編了國內分散式計算權威教材《分散式計算系統導論》,是國內區塊鏈和智慧合約技術早期研究單位,智慧合約工程(SCE)和驗證即服務(VaaS)等概念和理論方法的提出者。實驗室與法國INRIA成立了形式化方法聯合研究實驗室,推動區塊鏈和智慧合約形式化驗證方法和工具的應用。多年來潛心研究自有智慧財產權區塊鏈底層技術,已擁有全系列區塊鏈產品和工具,先後完成中國移動、國家網路應急中心、國家電網、金融領域等國內重要區塊鏈應用落地專案,獲得國家發明專利和軟體著作權30餘項。形成了科學研究與人才培養相結合,理論研究與應用系統研發協調發展的學科發展格局。
來源:北京航空航天大學分散式實驗室--胡 凱
本文由布洛克專欄作者釋出,不代表布洛克觀點,版權歸作者所有
——TheEnd——
關注“布洛克科技”