陳德+姜新旺+王艷霞+馬永進


摘 要: 提出采用Hyperledger超級賬本,對網絡節點數據從采集到自交易的應用場景及業務邏輯進行分析建模,給出節點及其數據的可信驗證方法,構建一個以區塊鏈及智能合約為基礎的去中心化的自交易共享平臺解決方案。該方案可用于實現低成本網絡節點數據的自主管理和商品資產化的增值服務,從而衍生出新型的商業形態。
關鍵詞: 超級賬本; 區塊鏈; 智能合約; 自交易共享平臺
中圖分類號:R197.1 文獻標志碼:A 文章編號:1006-8228(2018)01-20-03
Building a shared discretionary trading platform with Hyperledger
Chen De1, Jiang Xinwang1,2, Wang Yanxia2, Ma Yongjin2
(1. College of Economics and Management, Zhejiang Normal University, Jinhua, Zhejiang 321004, China;
2. Blockchain Laboratory(Zhejiang Normal University))
Abstract: This paper introduces Hyperledger technology. The application scenarios and business logic of discretionary trading are analyzed and modeled, the trusted verification method for the node and its data is given, and a scheme of shared discretionary trading platform with blockchain technology and smart contract is put forward. The scheme can be used to realize the low cost self management of network node data and value-added service of commodity assets, and thus derive a new commercial form.
Key words: Hyperledger; block chain; smart contract; shared discretionary trading platform
0 引言
人類最原始交易是物物交換,隨后經歷法幣、信用卡交易等階段。目前,互聯網的支付方式是一種基于第三方信用背書的電子支付(如:支付寶等),存在第三方中介的信任問題,根源在于,基于TCP/IP的互聯網只是解決了點對點可靠、近乎零成本的信息傳遞,而非價值傳遞,其應用模式只是在數據傳遞這條技術主線上演變。互聯網金融作為金融創新模式,要想真正實現健康可持續發展,面臨著網絡技術漏洞、消費者權益保護法律缺失、金融監管體制不健全、信用體系不完善、消費者維權難等一系列問題[1]。
基于密碼學原理的區塊鏈,是一種去中心、去信任、集體維護的分布式賬本技術[2]。它由一串使用密碼學產生的數據區塊有序鏈接而成,無需信任單個節點,依靠共識機制確保交易的真實和不可逆,可實現方便快捷、安全可靠、近乎零成本的價值傳遞,從而構建不同于以往人類社會的“信任”生態的價值互聯網,建立了去中心化的價值體系,其核心特征是實現資金、合約、數字化資產等價值傳遞和交易[3]。
超級賬本Hyperledger匯集金融、銀行、物聯網、供應鏈、制造等各界開發人員心血,目的是為了打造一個跨領域的區塊鏈應用[4]。本文采用Hyperledger Fabric開源項目,提出一種從數據采集到自交易的應用場景解決方案,方案僅限交易對象提供實時數據,交易雙方通過合約實現靈活交易,交易達成后,允許買方主動讀取(或被動收聽)特定的節點數據;賣方可以對節點的私有錢包進行資金歸集等操作。
1 基于Hyperledger的開發環境[5]
1.1 Hyperledger簡介
超級賬本Hyperledger是Linux基金會于2015年發起的推進區塊鏈數字技術和交易驗證的開源項目,30家初始成員(包括IBM等)共同宣告Hyperledger項目成立。由于其點對點網絡的特性,分布式賬本技術是完全共享、透明和去中心化的,非常適合于在金融行業應用。其中Fabric項目是目前比較活躍的一個開源項目,在Hyperledger Fabric基礎上又衍生出一些其他相關的應用項目。Fabric是區塊鏈技術的實現,比特幣可以作為一種簡單的應用在Fabric基礎上構建。Fabric采用了模塊化的構架,允許不同的組件在實現協議的基礎上即插即用。可以使用強大的容器技術來運行主流編程語言以進行智能合約的開發。Fabric項目的構架由成員服務(Membership)、區塊鏈服務(Blockchain)和鏈碼服務(Chaincode)三個主要類別構成。Hyperledger具有身份識別與可審核性、私下交易及保密合約、用戶可自行選擇共識算法、能夠通過主流編程語言編寫鏈上代碼chaincode(也稱:智能合約)、性能績效以及可擴展性等特點。
1.2 搭建開發環境
在區塊鏈應用項目研發中,共識算法的研究和改進十分重要。因此,基于Hyperledger的開發環境,不僅可供企業級應用項目的編程開發,而且可用于相關共識算法、智能合約等內容的性能分析測試。開發環境的技術路線是在Linux系統下搭建測試環境,構建測試網絡,分析共識源碼,測試算法效率。搭建的工作步驟如下。endprint
步驟1:在Linux系統下搭建測試環境。根據官方網站給出的4個驗證節點的網絡環境搭建方案,虛擬機內利用Docker安裝測試環境。
步驟2:構建測試網絡。在一臺PC上安裝多個docker以承載多個驗證節點;在多臺PC上安裝多個docker,實現docker之間通訊,以擴充網絡規模。
步驟3:查看共識模塊,分析源碼。分析實用拜占庭PBFT算法源碼,了解共識代碼的書寫規范格式;找到相關事件接口。
步驟4:確定共識模塊的啟動接口和共識事件流程。找到啟動共識算法接口函數;跟蹤該函數了解共識事件流程;找到系統中所有對于共識算法參數設置變量及相關參數。
步驟5:更改原有PBFT共識代碼,更換并測試共識算法的有效性。
2 自交易業務邏輯
目前互聯網金融平臺是一種中心化的組織架構,采用基于第三方信用背書的交易模式,不僅交易成本高,而且容易出現信任危機等交易糾紛。在一個去中心化、去信任的分布式環境中,因為沒有傳統的交易中心環節,任何人在任何時間任何地點都可以發起交易,實現了自主C2C交易,區塊鏈的共識算法保證了交易流程的不可抵賴性、各種交易模型的安全設置使得安全性大大提高,整個交易過程操作簡單,無技術門檻,交易成本低。
本文提出建立一個基于區塊鏈的網絡節點數據自交易共享平臺,利用P2P支付獎勵機制,鼓勵數據擁有者開放分享數據,實現節點數據自盈利。
平臺運行機制如下:
⑴ 軟件運行在多個節點,以P2P方式通信,一個節點數據的變化會通知同步到其他所有節點;
⑵ 在通信過程中必須驗證其真實性,驗證機制為共識算法;
⑶ 采用代幣對算力的獎勵;
⑷ 根據一段時間內交易的信息計算hash值,打上時間戳,成為鏈中的一個區塊,計算hash值通過特定機制由某個節點完成(即該節點提供算力),并給予獎勵;
⑸ 如果需要修改交易信息,必須得到所有算力的50%以上的認可;
⑹ 通過這種運行機制,解決了認證、存儲、防攻擊三個問題。
自交易平臺的業務流程如下:
⑴ 區塊鏈保存交易信息,購買方自行保存數據,出售方提供數據的訪問接口及特定的訪問機制;
⑵ 用戶的注冊本質是私鑰的生成;
⑶ 目前僅考慮實時數據的交易;
⑷ 合約應由發起方決定合約內容,如傳節點類型、數量、時長等;
⑸ 交易時先鎖定交易金額,然后按日轉賬到對應的傳感器賬戶;
⑹ 平臺必須考慮節點及其數據的真實性,以及運行狀態。
自交易業務流程如圖2所示,其中角色分為兩類:一類是網絡節點,其私有錢包由owner管理;另一類是普通用戶。在本文,節點主要以賣方身份出現,普通用戶以買方出現。
3 節點及其數據的可信驗證
在去中心化條件下,網絡節點數據涉及兩個方面:一是如何證明節點用戶真實可信;二是如何驗證實時數據真實可靠。在去中心化條件下,讓節點數據賣方自己證明自己真實可信,理論上相當于程序正確性證明,相當于圖靈機的停機問題,而已知圖靈機停機問題是不可判定的。盡管如此,在實際應用中,可以為網絡節點及其數據的真實性給出定義或制定相關標準,使得買方用戶可以憑借這些標準來自行判定節點數據的真實性。如此,節點數據是否“正確”的理解可以有以下四個層次:
⑴ 節點數據中不含明顯低級的錯誤數據;
⑵ 節點對于幾組探測需求能夠得出滿足要求的數據;
⑶ 節點對于精選、典型苛刻且帶有刁難性的幾組探測要求能輸出滿足要求的數據;
⑷ 節點對于一切合法的探測要求都能得出滿足要求的數據。
通常以第⑶層意義上的正確性作為衡量一個節點提供數據是否真實的標準。根據第⑶層定義的標準,為了完成對節點數據正確的驗證,在不引入第三方的情況下,可采取如下三種可能的方法。
方法1:僅由交易系統來驗證節點數據的正確性。若由交易系統驗證節點數據正確性,則當節點用戶注冊時,由系統根據節點用戶的類型、特征和作用等,自動產生上述標準⑴-⑶的要求,根據節點返回的結果與系統自身理論上的結果進行比較,如若一致,則證明該節點用戶是真實、可信的,準予注冊;否則不允許注冊。
方法2:僅由數據買方用戶來驗證節點數據的正確性。若由數據買方用戶來驗證節點數據正確性,則節點用戶注冊時,交易系統并不驗證其真實性,而當買方用戶欲購買節點用戶數據時,由買方用戶根據節點用戶類型和作用,發出如上述標準⑴-⑶中要求,并根據節點返回的結果與客戶自身理論分析的結果進行比較,如若一致,則該用戶認為該節點用戶是真實可信的,可以進行購買;否則不可信不產生交易。
方法3:先由交易系統驗證再由普通用戶自行選擇驗證。該方案是結合上述兩種方案,進一步增強了可信性,首先當節點用戶注冊時由系統驗證,在一定程度上保障了注冊節點用戶的真實性,而當買方用戶的再次驗證,則可進一步保障該節點用戶的可信性。
4 結束語
本文通過對網絡節點及其數據自交易業務邏輯進行分析建模,提出采用Hyperledger超級賬本,給出了網絡節點及其數據的可信驗證方法,構建一個去中心化的自交易平臺解決方案,方案中的區塊鏈只記錄通過合約實現的交易細節,達成交易合約后,只為給購買者提供節點數據的訪問權限或者將數據廣播給購買者,至于購買者什么時候讀取或者使用數據,是購買者自己的事情,與交易平臺無關。
隨著物聯網的發展,更多智能設備及產品實現入網互聯,每個物體都將擁有惟一數字身份識別碼,在萬物互聯的體系中,平臺解決方案可用于實現低成本網絡節點數據的自主管理和商品資產化的增值服務,從而衍生出新型的商業形態,如:金融服務和保險、新制造業和零售、智慧城市與交通、智慧家居和能源、環境檢測與保護、個性化服務、共享經濟等。
參考文獻(References):
[1] 邵燕.互聯網金融交易中的消費者風險及對策[J].現代經濟
探討,2016.4:39-43
[2] 郭艷,王立榮,韓燕.金融市場中的區塊鏈技術:場景應用與價
值展望[J].技術經濟,2017.7:110-116
[3] 溫曉樺.區塊鏈-金融場景應用[J].金融博覽(財富),2016.11:
38-41
[4] 超級賬本Fabric的架構與設計[EB/OL].2017 [2017-9-7].
http://blog.csdn.net/
[5] Hyperledger[EB/OL]. 2017[2017-01-17]. https://www.
hyperledger.org/endprint