亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于區(qū)塊鏈的對(duì)賬系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2020-03-23 05:56:32周硙
        軟件工程 2020年2期
        關(guān)鍵詞:智能合約區(qū)塊鏈

        周硙

        摘 ?要:電子支付、電子商務(wù)、互聯(lián)網(wǎng)廣告、大數(shù)據(jù)交易等業(yè)務(wù),都是由多個(gè)主體參與的持續(xù)性業(yè)務(wù)。對(duì)賬系統(tǒng)是此類(lèi)業(yè)務(wù)開(kāi)展中的重要一環(huán),它保證了各參與方數(shù)據(jù)一致。區(qū)塊鏈技術(shù)集成了分布式公共賬本及智能合約技術(shù),且本身具有不可偽造、不可篡改的特性,可以滿足對(duì)賬系統(tǒng)的需求。本文討論了基于區(qū)塊鏈技術(shù)的對(duì)賬系統(tǒng),并給出了依托Bitcoin和Ethereum公鏈的具體實(shí)現(xiàn)。利用區(qū)塊鏈特性,對(duì)賬系統(tǒng)可以實(shí)現(xiàn)去中心化對(duì)賬。相對(duì)于中心化對(duì)賬,該方案不依賴某單一參與者,沒(méi)有單點(diǎn)故障;對(duì)賬結(jié)果通過(guò)區(qū)塊鏈存儲(chǔ),結(jié)果可追溯、驗(yàn)真;數(shù)據(jù)根據(jù)授權(quán)分別存儲(chǔ)于公鏈及私鏈,保證了數(shù)據(jù)隱私。

        關(guān)鍵詞:區(qū)塊鏈;對(duì)賬系統(tǒng);智能合約

        中圖分類(lèi)號(hào):TP311 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

        1 ? 引言(Introduction)

        1.1 ? 區(qū)塊鏈

        區(qū)塊鏈源于比特幣,是分布式數(shù)據(jù)存儲(chǔ)、P2P傳輸、共識(shí)機(jī)制、加密算法等技術(shù)的組合應(yīng)用系統(tǒng)。區(qū)塊是區(qū)塊鏈的基本結(jié)構(gòu)單元。第一個(gè)被構(gòu)建的區(qū)塊稱為創(chuàng)世區(qū)塊。除了創(chuàng)世區(qū)塊,其余每個(gè)區(qū)塊包含了前序區(qū)塊的哈希值。因此可以通過(guò)哈希值,確認(rèn)區(qū)塊的前后指向關(guān)系。所有區(qū)塊,依照前后指向關(guān)系為序相連,構(gòu)成區(qū)塊鏈[1]。

        1.2 ? 對(duì)賬系統(tǒng)

        多方交易系統(tǒng)中,因?yàn)槎喾N原因可能交易各方的數(shù)據(jù)會(huì)產(chǎn)生差異。因此需要定期將多方的數(shù)據(jù)進(jìn)行比對(duì),各方對(duì)缺失的數(shù)據(jù)進(jìn)行補(bǔ)單,對(duì)有差異的數(shù)據(jù)進(jìn)行排查糾正,典型對(duì)賬流程見(jiàn)圖1。近期廣受關(guān)注的區(qū)塊鏈技術(shù)提供了實(shí)現(xiàn)對(duì)賬系統(tǒng)的新思路[2]。本文以區(qū)塊鏈技術(shù)為基礎(chǔ),提出了一個(gè)多方對(duì)賬的技術(shù)方案。該系統(tǒng)支持多方對(duì)賬,具有匿名特征,可以實(shí)現(xiàn)隱私數(shù)據(jù)保護(hù)。

        2 ? 對(duì)賬系統(tǒng)分析(Analysis of reconciliation system)

        對(duì)賬系統(tǒng)因涉及若干個(gè)獨(dú)立的業(yè)務(wù)主體,所以需要約定具體的對(duì)賬流程,并采用可靠的技術(shù)方案實(shí)現(xiàn)對(duì)賬流程。對(duì)賬流程分成三步:(1)確認(rèn)基準(zhǔn)數(shù)據(jù),通常是以某一方位基準(zhǔn),各方都從基準(zhǔn)方獲取初始數(shù)據(jù);(2)明細(xì)賬比對(duì),各方將基準(zhǔn)數(shù)據(jù)與己方數(shù)據(jù)進(jìn)行對(duì)比,根據(jù)對(duì)賬結(jié)果,首先通過(guò)自動(dòng)化腳本處理對(duì)賬差異,比如對(duì)缺失數(shù)據(jù)進(jìn)行補(bǔ)單,對(duì)于無(wú)法自動(dòng)處理差異要人工處理;(3)各方將處理后的數(shù)據(jù)相互交換,如果各方結(jié)果均一致,則對(duì)賬結(jié)束,否則回到第2步[3]。典型的對(duì)賬流程如圖1所示。

        對(duì)賬業(yè)務(wù)場(chǎng)景根據(jù)對(duì)賬各方的關(guān)系分為中心化對(duì)賬和去中心化對(duì)賬。中心化對(duì)賬,通常有可靠的中心化機(jī)構(gòu)作為對(duì)賬中心,其本身數(shù)據(jù)必須高度可靠,其余對(duì)賬各方以中心機(jī)構(gòu)為基準(zhǔn),找出己方的差錯(cuò)。中心化對(duì)賬有單點(diǎn)失效的缺點(diǎn),如果中心機(jī)構(gòu)自身出現(xiàn)技術(shù)故障或者數(shù)據(jù)錯(cuò)誤,后續(xù)對(duì)賬將很難順利完成。去中心化對(duì)賬可以有效解決單點(diǎn)故障的問(wèn)題。去中心化對(duì)賬是若干平等主體,以對(duì)等方式進(jìn)行對(duì)賬。去中心化對(duì)賬因?yàn)闆](méi)有中心機(jī)構(gòu)負(fù)責(zé),所以自然避免了單點(diǎn)故障,但是因?yàn)闆](méi)有負(fù)責(zé)的中心機(jī)構(gòu),所以對(duì)賬方案必須可以驗(yàn)證數(shù)據(jù)的來(lái)源是否真實(shí),對(duì)賬方案也必須保證各方已經(jīng)確認(rèn)的歷史數(shù)據(jù)不能被篡改[4]。

        3 ? 方案設(shè)計(jì)(Scheme design)

        3.1 ? 對(duì)賬系統(tǒng)需要解決的問(wèn)題

        根據(jù)以上分析,對(duì)賬系統(tǒng)需要解決以下問(wèn)題:(1)發(fā)起對(duì)賬時(shí),各方需要同步初始的對(duì)賬數(shù)據(jù),并確認(rèn)開(kāi)始對(duì)賬;(2)對(duì)賬過(guò)程中,對(duì)賬系統(tǒng)可以交換明細(xì)賬差異,記錄各方的數(shù)據(jù)確認(rèn)行為;(3)對(duì)賬結(jié)束后,對(duì)賬系統(tǒng)可以封存各方一致的數(shù)據(jù);(4)對(duì)賬數(shù)據(jù)本身可能涉及業(yè)務(wù)細(xì)節(jié),對(duì)于私有數(shù)據(jù),應(yīng)該僅限對(duì)賬各方掌握;(5)對(duì)賬的非私密數(shù)據(jù)應(yīng)該實(shí)現(xiàn)安全、可靠的電子存證。

        3.2 ? 整體設(shè)計(jì)

        整體方案由主鏈及私鏈構(gòu)成。主鏈向所有人公開(kāi),任何人都可以讀取主鏈區(qū)塊。主鏈區(qū)塊只儲(chǔ)存對(duì)賬各參與方、對(duì)賬狀態(tài)及對(duì)賬私鏈的創(chuàng)世區(qū)塊哈希值。主鏈的每個(gè)區(qū)塊可以分成區(qū)塊頭和數(shù)據(jù)區(qū)兩部分。其中,數(shù)據(jù)區(qū)用于存儲(chǔ)實(shí)際數(shù)據(jù),區(qū)塊頭存儲(chǔ)了前序區(qū)塊及數(shù)據(jù)區(qū)的哈希值。對(duì)賬的私密數(shù)據(jù)僅存放在私鏈上。每次對(duì)賬產(chǎn)生一個(gè)私鏈,私鏈的數(shù)據(jù)僅限對(duì)賬參與方訪問(wèn),整體方案如圖2所示。

        私鏈區(qū)塊格式同樣分成區(qū)塊頭和數(shù)據(jù)區(qū)。所有區(qū)塊頭格式相同,數(shù)據(jù)區(qū)有四種:(1)創(chuàng)世區(qū)塊,包含數(shù)據(jù)文件的清單及md5和sha1;(2)差異區(qū)塊,對(duì)前序數(shù)據(jù)文件的增補(bǔ)和修正;(3)確認(rèn)區(qū)塊,一種特殊區(qū)塊,沒(méi)有數(shù)據(jù)區(qū),僅用來(lái)表示對(duì)前序區(qū)塊的確認(rèn);(4)終止區(qū)塊,一種特殊區(qū)塊,沒(méi)有數(shù)據(jù)區(qū),用來(lái)表示所有參與方都對(duì)當(dāng)前數(shù)據(jù)達(dá)成一致,對(duì)賬結(jié)束[5]。

        3.3 ? 對(duì)賬發(fā)起

        對(duì)賬通過(guò)以下步驟發(fā)起:(1)發(fā)起方準(zhǔn)備對(duì)賬的初始數(shù)據(jù),并提供下載地址;(2)發(fā)起方啟動(dòng)私鏈,構(gòu)造私鏈創(chuàng)世區(qū)塊;(3)各方確認(rèn)私鏈創(chuàng)世區(qū)塊,下載對(duì)賬初始數(shù)據(jù),驗(yàn)證文件完整性及主鏈相關(guān)信息,驗(yàn)證無(wú)誤后在主鏈依次簽名,確認(rèn)啟動(dòng)對(duì)賬。

        3.4 ? 私鏈上的明細(xì)賬對(duì)賬程序

        對(duì)賬發(fā)起后,其余參與方,輪流獲得在私鏈創(chuàng)建新區(qū)塊的權(quán)利,即記賬權(quán)。每次獲得記賬權(quán)的一方,可從所有區(qū)塊中選擇與己方數(shù)據(jù)相同部分最多的區(qū)塊,以此作為前序區(qū)塊。如果有多條差異數(shù)據(jù)同樣多的區(qū)塊,則選擇最長(zhǎng)的。如果結(jié)果仍不唯一,選擇創(chuàng)建最早的。確認(rèn)前序區(qū)塊后,對(duì)缺失數(shù)據(jù)進(jìn)行補(bǔ)單,對(duì)錯(cuò)誤數(shù)據(jù)進(jìn)行修正,相應(yīng)的差異信息寫(xiě)入新區(qū)塊;如果沒(méi)有差異,需要向前序方向檢查所有區(qū)塊,如果所有對(duì)賬各方都確認(rèn)了沒(méi)有差異,則創(chuàng)建對(duì)賬終止區(qū)塊并進(jìn)入對(duì)賬結(jié)束流程,否則創(chuàng)建確認(rèn)區(qū)塊。

        3.5 ? 對(duì)賬結(jié)束流程

        對(duì)賬發(fā)起人,用終止區(qū)塊的哈希構(gòu)造主鏈交易單,由各對(duì)賬方依次簽名,并回存到主鏈中。主鏈確認(rèn)后,對(duì)賬結(jié)束。同時(shí)私鏈生命周期結(jié)束,各方可以將私鏈數(shù)據(jù)長(zhǎng)期存檔備查。

        3.6 ? 區(qū)塊鏈方案的優(yōu)勢(shì)

        因?yàn)槊總€(gè)區(qū)塊都包含了前序區(qū)塊的哈希值,所以可以用來(lái)校驗(yàn)前序區(qū)塊是否被修改。因?yàn)槊總€(gè)區(qū)塊都存儲(chǔ)了前序區(qū)塊哈希值,可以從當(dāng)前區(qū)塊逐塊回溯歷史區(qū)塊,此過(guò)程中任何對(duì)歷史區(qū)塊的篡改都可以被發(fā)現(xiàn),因此區(qū)塊鏈具有不可篡改的特性。

        區(qū)塊數(shù)據(jù)都需要數(shù)據(jù)產(chǎn)生者,通過(guò)非對(duì)稱算法進(jìn)行數(shù)字簽名。并且隨機(jī)選出的記賬節(jié)點(diǎn)將會(huì)核實(shí)簽名的真實(shí)性。記賬數(shù)據(jù)向全網(wǎng)其他節(jié)點(diǎn)廣播時(shí),每個(gè)節(jié)點(diǎn)都會(huì)再次校驗(yàn)數(shù)字簽名的真?zhèn)?,偽造的?shù)據(jù)不會(huì)被網(wǎng)絡(luò)其他節(jié)點(diǎn)接受,所以區(qū)塊上的數(shù)據(jù)信息具有不可偽造的特性。

        4 ? 方案實(shí)現(xiàn)(Scheme implementation)

        4.1 ? Bitcoin主鏈方案

        Bitcoin主鏈?zhǔn)侵С直忍貛诺牡讓訁^(qū)塊鏈。比特幣主鏈從創(chuàng)世區(qū)塊開(kāi)始,記賬網(wǎng)絡(luò)按照工作量證明機(jī)制,每隔一段時(shí)間選出一個(gè)節(jié)點(diǎn)作為記賬節(jié)點(diǎn)。記賬節(jié)點(diǎn)負(fù)責(zé)對(duì)期間發(fā)生的數(shù)據(jù)進(jìn)行整理,生成新區(qū)快,步驟如下:(1)打包數(shù)據(jù)到數(shù)據(jù)區(qū);(2)根據(jù)數(shù)據(jù)區(qū)計(jì)算哈希;(3)確認(rèn)前序區(qū)塊,計(jì)算前序區(qū)塊哈希和數(shù)據(jù)哈希;(4)構(gòu)建區(qū)塊頭;(5)將數(shù)據(jù)區(qū)和區(qū)塊頭打包成新區(qū)塊;(6)通過(guò)P2P網(wǎng)絡(luò),廣播給所有節(jié)點(diǎn)[6]。比特幣主鏈的區(qū)塊包含了交易信息,該交易信息的OP_RETURN字段可以用來(lái)記錄對(duì)賬私鏈創(chuàng)世區(qū)塊的哈希值;同時(shí),比特幣支持多重簽名賬戶,多重簽名賬戶首先需要確定哪些私鑰可以參與該賬戶的管理操作,并約定交易生效的最小簽名數(shù)量。這種方式也稱為MofN模式,其中N指管理密鑰的個(gè)數(shù),M為操作該賬戶的最小簽名數(shù)。使用Bitcoin多簽名賬戶時(shí),首先由各方,創(chuàng)建各自的密鑰對(duì),然后交換公鑰,共同使用各方公鑰生成多簽名賬戶。賬戶管理密鑰和最小簽名數(shù)均等于參與方數(shù)量。即必須所有參與方都簽名后才能操作賬戶。

        發(fā)起對(duì)賬過(guò)程,由發(fā)起方準(zhǔn)備初始對(duì)賬數(shù)據(jù),并提供下載方式、文件清單及MD5和SHA1需寫(xiě)入私鏈創(chuàng)世區(qū)塊。私鏈創(chuàng)世區(qū)塊創(chuàng)建成功后,發(fā)起方以創(chuàng)世區(qū)塊哈希創(chuàng)建主鏈的交易單,并發(fā)送給對(duì)賬各方。各方下載到初始數(shù)據(jù)后,校驗(yàn)私鏈創(chuàng)世區(qū)塊,如果無(wú)誤依次用己方私鑰對(duì)交易單進(jìn)行簽名。所有簽名齊備后,向Bitcoin主鏈寫(xiě)入交易單,實(shí)現(xiàn)對(duì)賬啟動(dòng)程序。

        關(guān)閉對(duì)賬過(guò)程與發(fā)起相似。對(duì)賬各方在私鏈上達(dá)成共識(shí),產(chǎn)生終止區(qū)塊。取其哈希值,對(duì)賬各方共同簽名,寫(xiě)回Bitcoin主鏈,從而關(guān)閉對(duì)賬。

        4.2 ? Ethereum主鏈方案

        Ethereum支持智能合約。智能合約(Smart Contract)是以信息化方式傳播、驗(yàn)證或執(zhí)行合同的計(jì)算機(jī)協(xié)議[7]。智能合約可以在沒(méi)有第三方的情況下進(jìn)行可信交易,這些交易可追蹤且不可逆轉(zhuǎn)。

        Ethereum智能合約由Solidity語(yǔ)言開(kāi)發(fā),可以實(shí)現(xiàn)多簽名賬戶等基本功能。且支持合約狀態(tài)和合約函數(shù)。因此相對(duì)于Bitcoin主鏈方案實(shí)現(xiàn)更簡(jiǎn)單。

        每個(gè)智能合約的數(shù)據(jù)中,預(yù)設(shè)了發(fā)起方及對(duì)賬各方的賬戶地址,通過(guò)mapping結(jié)構(gòu)存儲(chǔ)對(duì)賬信息,核心數(shù)據(jù)結(jié)構(gòu)如下:

        對(duì)賬各方通過(guò)調(diào)用合約函數(shù)發(fā)起對(duì)賬,并在對(duì)賬私鏈完成明細(xì)賬對(duì)賬程序,最后通過(guò)智能合約函數(shù)將私鏈信息回傳到主鏈,完成對(duì)賬[8]。

        5 ? 結(jié)論(Conclusion)

        對(duì)賬系統(tǒng)在支付、廣告等行業(yè)廣泛使用,是一種保障業(yè)務(wù)開(kāi)展的重要系統(tǒng)。本文將區(qū)塊鏈技術(shù)與傳統(tǒng)對(duì)賬系統(tǒng)結(jié)合,設(shè)計(jì)了一套去中心化的對(duì)賬系統(tǒng)。該方案,可以依托于現(xiàn)有區(qū)塊鏈技術(shù),不但可以滿足傳統(tǒng)對(duì)賬業(yè)務(wù)的需求,還可以實(shí)現(xiàn)多方對(duì)賬、無(wú)中心的分布式對(duì)賬等需求。通過(guò)公鏈私鏈的組合使用,明細(xì)賬內(nèi)容,僅由對(duì)賬各方掌握,同時(shí)保證了數(shù)據(jù)安全及數(shù)據(jù)隱私。

        參考文獻(xiàn)(References)

        [1] Dinh T T A,Liu R,Zhang M,et al.Untangling Blockchain:A Data Processing View of Blockchain Systems[J].IEEE Transactions on Knowledge & Data Engineering,2017,30(7):1366-1385.

        [2] Jiang T,F(xiàn)ang H,Wang H.Blockchain-based Internet of Vehicles: Distributed Network Architecture and Performance Analysis[J].IEEE Internet of Things Journal,2019,6(3):4640-4649.

        [3] De Montjoye Y A,Radaelli L,Singh V K,et al.Unique in the shopping mall:On the reidentifiability of credit card metadata[J].Science,2015,347(6221):536-539.

        [4] Yang M,Margheri A,Hu R,et al.Differentially Private Data Sharing in a Cloud Federation with Blockchain[J].IEEE Cloud Computing,2018,5(6):69-79.

        [5] Günther Eibl,Engel D.Differential privacy for real smart metering data[J].Computer Science-Research and Development,2016,32(1-2):173-182.

        [6] Nakamoto S.Bitcoin:A peer-to-peer electronic cash system[EB/OL].http://bitcoin.org/bitcoin.pdf,2008-10-31/2019-10-1.

        [7] Christidis K,Devetsikiotis M.Blockchains and Smart Contracts for the Internet of Things[J].IEEE Access,2016(4):2292-2303.

        [8] 黃小菊,徐文起,章濤,等.基于區(qū)塊鏈技術(shù)的個(gè)人信息管理[J].軟件工程,2018,21(10):34-37.

        作者簡(jiǎn)介:

        周 ?硙(1983-),男,博士,博士后在站.研究領(lǐng)域:大數(shù)據(jù)及區(qū)塊鏈.

        猜你喜歡
        智能合約區(qū)塊鏈
        農(nóng)產(chǎn)品供應(yīng)鏈金融信用體系框架設(shè)計(jì)
        基于區(qū)塊鏈技術(shù)的去中心化數(shù)字出版平臺(tái)研究
        區(qū)塊鏈技術(shù)在互聯(lián)網(wǎng)保險(xiǎn)行業(yè)的應(yīng)用探討
        保險(xiǎn)企業(yè)的區(qū)塊鏈技術(shù)應(yīng)用方向選擇研究
        區(qū)塊鏈技術(shù)在金融領(lǐng)域的應(yīng)用與前景研究
        區(qū)塊鏈技術(shù)的應(yīng)用價(jià)值分析
        商情(2016年40期)2016-11-28 11:24:12
        “區(qū)塊鏈”的茍且、詩(shī)和遠(yuǎn)方
        基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
        區(qū)塊鏈技術(shù)在會(huì)計(jì)中的應(yīng)用展望
        智能合約與金融合約
        商(2016年6期)2016-04-20 17:50:36
        久久亚洲成a人片| 中文字幕无线码| 最近免费中文字幕| 亚洲先锋影院一区二区| 亚洲女人天堂成人av在线| 狠狠躁日日躁夜夜躁2022麻豆| 国产亚洲精品一区在线| 丰满少妇被粗大猛烈进人高清 | 亚洲的天堂av无码| 无遮高潮国产免费观看韩国 | 福利利视频在线观看免费| 亚洲欧美一区二区成人片| 久久精品国产久精国产| 最新精品亚洲成a人在线观看| 三级全黄的视频在线观看| 日本午夜理伦三级好看| 国产精品人成在线观看不卡| 国产av无码专区亚洲av麻豆| 男女啪啪永久免费观看网站| 国产日韩欧美911在线观看| 精品中文字幕手机在线| 人妻熟女翘屁股中文字幕| 老司机亚洲精品影院| 国产小受呻吟gv视频在线观看| 国产伦码精品一区二区| 中文字幕乱码亚洲三区| 国产精品爽爽v在线观看无码| 老妇肥熟凸凹丰满刺激| 色二av手机版在线| 亚洲乱码中文字幕视频| 国产精品乱码一区二区三区| 日本55丰满熟妇厨房伦| 欧美成人高清手机在线视频| 亚洲综合一区二区三区在线观看| 精品国产一区二区三区色搞| 男女下面进入的视频| 第十色丰满无码| 中文字幕34一区二区| 久久99精品久久久久久噜噜| 国产精品va在线播放我和闺蜜| 国产精品香蕉网页在线播放|