徐如月
區(qū)塊鏈被首次提出里的時(shí)間是2008年,虛擬貨幣比特幣主要依賴區(qū)塊鏈的技術(shù),迅速的產(chǎn)生,并作為特殊交易的一種貨幣,實(shí)現(xiàn)自由買賣,安全儲(chǔ)存。與此同時(shí),區(qū)塊鏈技術(shù)隨著比特幣的占領(lǐng)市場(chǎng),利用其按時(shí)間順序儲(chǔ)存數(shù)據(jù)、密碼技術(shù)分布式記賬等特點(diǎn),引起多行業(yè)領(lǐng)域的注意,通過將區(qū)塊鏈技術(shù)與行業(yè)融合研究,區(qū)塊鏈技術(shù)應(yīng)用逐漸成熟擴(kuò)展開來,開始應(yīng)用到不同的領(lǐng)域。實(shí)際上可以將區(qū)塊鏈與比特幣的關(guān)系理解為相當(dāng)于記賬貨幣與貨幣的關(guān)系[2]。區(qū)塊鏈技術(shù)的特點(diǎn)一是非篡改,二是去中心化,三是不可偽造。同時(shí),區(qū)塊鏈也是可以實(shí)現(xiàn)安全存儲(chǔ)的功能,進(jìn)行分欄式記賬。然而,面對(duì)需要一個(gè)可以安全存儲(chǔ)海量數(shù)據(jù)的儲(chǔ)存庫(kù),現(xiàn)在迫切需要解決的問題是,解決利用區(qū)塊鏈上數(shù)據(jù)處理數(shù)據(jù)的安全性和效率[1][3]。劉海宏研究廣東省農(nóng)業(yè)生態(tài)經(jīng)濟(jì)的時(shí)空變異分析[4]。本文以區(qū)塊鏈的六層體系結(jié)構(gòu)為研究對(duì)象,研究了區(qū)塊鏈的關(guān)鍵技術(shù)[1],如數(shù)據(jù)層的算法機(jī)制、共識(shí)層的共識(shí)機(jī)制和契約層的擴(kuò)展機(jī)制[5]。
現(xiàn)在多數(shù)領(lǐng)域應(yīng)用區(qū)塊鏈技術(shù)是數(shù)據(jù)處理,數(shù)據(jù)安全算法主要集中研究對(duì)稱兩種算法:加密算法和非對(duì)稱加密算法,兩種算法的優(yōu)劣可以從安全性和效率這兩個(gè)方面進(jìn)行分析研究。目前,基于fabric架構(gòu)的區(qū)塊鏈項(xiàng)目,使用的底層算法具體來說是RSA算法,但該算法存在一部分的的安全隱患。
RSA算法在區(qū)塊鏈交易中,主要作用于對(duì)數(shù)據(jù)的加密、解密和簽名,但其安全性和效率均低于ECC算法。SM2算法是一種改進(jìn)的基于橢圓曲線密碼體制的非對(duì)稱加密、解密和簽名集成算法。使用SM2算法代替RSA算法作為區(qū)塊鏈一部分算法,為了深入理解明白,可以從橢圓曲線算法的角度來研究SM2算法的具體過程。
以前在fabric框架中,使用的hash算法,屬于是SHA-256算法。在數(shù)據(jù)的處理部分,主要利用SM2算法進(jìn)行處理相關(guān)事務(wù)信息。如表1-1所示,SHA-256算法和SM2算法多種性能、運(yùn)算速度和數(shù)據(jù)生成時(shí)間等幾個(gè)方面進(jìn)行比較表明,算法循環(huán)次數(shù)相同,哈希生成時(shí)間也相差不多,幾乎可以省略考慮,所以整體來說,兩種算法的性能基本相同,可以作為互為替代交換使用的數(shù)據(jù)處理程序。
表1 -1 SHA-256算法和SM3算法性能比較
結(jié)構(gòu)層也稱為共識(shí)層,主要是對(duì)于交易信息的分層驗(yàn)證處理,一共分為5個(gè)層次,第1層次是用戶,第2層次是交易共識(shí),第3層次記賬,第4層次是驗(yàn)證,最后一層是區(qū)塊鏈。
用戶:構(gòu)建一個(gè)數(shù)據(jù)收集平臺(tái),用戶在平臺(tái)上進(jìn)行信息交流,整理和分析匯總,從上級(jí)到下級(jí)整套的數(shù)據(jù)信息處理都在平臺(tái)上顯示,可以進(jìn)行本地區(qū)線上交易,也可以智能的跨地區(qū)或多地區(qū)的聯(lián)合數(shù)據(jù)分析處理。
交易共識(shí):用戶利用數(shù)據(jù)收集平臺(tái)處理信息時(shí),需要向平臺(tái)體用一定的服務(wù)使用費(fèi),平臺(tái)按照用戶購(gòu)買的需求提供對(duì)應(yīng)的技術(shù)支持、信息儲(chǔ)存、業(yè)務(wù)交流等相關(guān)功能。數(shù)據(jù)處理平臺(tái)再依據(jù)用戶提供的資料,積累的信息,進(jìn)行數(shù)據(jù)加工處理。
記賬共識(shí):數(shù)據(jù)處理平臺(tái)可以設(shè)置匯總結(jié)點(diǎn)。一段時(shí)間內(nèi)用戶積累大量的業(yè)務(wù)信息后,數(shù)據(jù)平臺(tái)可以設(shè)置時(shí)間結(jié)點(diǎn),對(duì)前期的信息加以匯總整理,一般常設(shè)的結(jié)點(diǎn)是21個(gè),當(dāng)數(shù)據(jù)庫(kù)信息達(dá)到結(jié)點(diǎn)的儲(chǔ)存量,就可以把之前的信息匯總列表,新的信息數(shù)據(jù)重新歸納總結(jié),并且可以進(jìn)行線上、線下的整合分析。
驗(yàn)證共識(shí):類似于審核監(jiān)督,數(shù)據(jù)平臺(tái)信息達(dá)到結(jié)點(diǎn)進(jìn)行轉(zhuǎn)換,需要另一種數(shù)據(jù)處理程序進(jìn)行反審核檢測(cè),通??梢砸罁?jù)設(shè)置的結(jié)點(diǎn)個(gè)數(shù)進(jìn)行監(jiān)控點(diǎn)的設(shè)置。常見的檢驗(yàn)點(diǎn)是21個(gè),與記賬結(jié)轉(zhuǎn)點(diǎn)個(gè)數(shù)相等。另一種常設(shè)檢驗(yàn)點(diǎn)個(gè)數(shù)是11個(gè)。主要目的是防止記賬結(jié)點(diǎn)出現(xiàn)空缺、數(shù)據(jù)遺失、信息不全等問題。設(shè)置檢驗(yàn)區(qū)塊,減少出現(xiàn)區(qū)塊作廢的風(fēng)險(xiǎn)。
區(qū)塊鏈:當(dāng)驗(yàn)證結(jié)果出來后,驗(yàn)證信息就會(huì)通過區(qū)塊鏈技術(shù)整理匯總出來流轉(zhuǎn)到下一平臺(tái),并進(jìn)行新一輪的信息分享,轉(zhuǎn)到用戶賬戶上,用戶可以及時(shí)受用區(qū)塊鏈信息處理結(jié)果。
根據(jù)對(duì)結(jié)構(gòu)層的具體分析,需要加強(qiáng)結(jié)構(gòu)層各部分的關(guān)聯(lián),需要對(duì)交易記賬和驗(yàn)證三個(gè)方面數(shù)據(jù)進(jìn)一步加工整合,所以需要構(gòu)建改進(jìn)新的監(jiān)管共識(shí)機(jī)構(gòu)。
結(jié)構(gòu)性機(jī)制突出的特點(diǎn)是安全性,通過設(shè)置記賬共識(shí)和驗(yàn)證共識(shí)過程中的結(jié)點(diǎn),能夠識(shí)別非必需數(shù)據(jù)信息的擾亂,增強(qiáng)數(shù)據(jù)處理的可靠性,保障結(jié)構(gòu)性機(jī)制的穩(wěn)定性。建立新的監(jiān)管共識(shí)機(jī)構(gòu):協(xié)商一致機(jī)制,研究區(qū)塊鏈技術(shù)應(yīng)用的安全性。
定理1:常設(shè)的記上機(jī)制結(jié)點(diǎn)為21個(gè),利用驗(yàn)證機(jī)制設(shè)為常見的11個(gè),至少能保證一半的結(jié)點(diǎn)數(shù)據(jù)處理信息相對(duì)正確,結(jié)點(diǎn)的處理信息相對(duì)可靠,如果增強(qiáng)驗(yàn)證機(jī)制的結(jié)點(diǎn)設(shè)置設(shè)為和記賬機(jī)制相同的結(jié)點(diǎn)分析,21個(gè)更能增強(qiáng)數(shù)據(jù)處理的安全性依靠。
證明如下:選取結(jié)點(diǎn)驗(yàn)證數(shù)據(jù)時(shí),選取的數(shù)值數(shù)量一般k>2n/3,記賬結(jié)點(diǎn)和監(jiān)控結(jié)點(diǎn)基本數(shù)量非常大,所以要盡可能的選取樣本。作為返檢查的可信任的結(jié)點(diǎn)成為可信任誠(chéng)實(shí)結(jié)點(diǎn),利用數(shù)據(jù)信息處理技術(shù),篩查出可能出現(xiàn)的誠(chéng)實(shí)結(jié)點(diǎn)數(shù)量和位置,同時(shí)進(jìn)行新一輪的驗(yàn)證分析,每個(gè)結(jié)點(diǎn)組成的區(qū)塊一般包含(k+L)/2個(gè)可信賴的誠(chéng)實(shí)結(jié)點(diǎn)。通過具體的數(shù)據(jù)處理分析,驗(yàn)證理論是可值得信賴。
定理2:被惡意結(jié)點(diǎn)篡改的交易信息不能更新記錄在數(shù)據(jù)塊上的信息,具有抗合謀攻擊的能力。事實(shí)證明,一些惡意結(jié)點(diǎn)篡改了區(qū)塊鏈上的交易信息。
證明如下:如果惡意結(jié)點(diǎn)將該區(qū)塊作為該區(qū)塊的計(jì)費(fèi)結(jié)點(diǎn)進(jìn)行廣播,不僅需要21個(gè)計(jì)費(fèi)結(jié)點(diǎn)達(dá)成共識(shí),還需要11個(gè)監(jiān)管結(jié)點(diǎn)達(dá)成共識(shí)。如果發(fā)生合謀,會(huì)計(jì)結(jié)點(diǎn)最多只能達(dá)成共識(shí),成本很高。由于監(jiān)管結(jié)點(diǎn)本身的特殊性,惡意結(jié)點(diǎn)需要達(dá)成共識(shí),如果合謀無法進(jìn)行,最后的攔截還是無效的。
智能合約,實(shí)際上是區(qū)塊鏈技術(shù)中交易共識(shí)完成的機(jī)智。數(shù)據(jù)在交易共識(shí)模塊完成。交易有兩種類型:一種是鏈上的直接交易,另一種是鏈下的大量多次的低價(jià)頻道交換。合約層交易主要研究線上的直接交易。第一步,用戶在平臺(tái)上精準(zhǔn)找到自己的身份,通過智能數(shù)據(jù)庫(kù)的處理,進(jìn)行平臺(tái)所有信息匯總再分,準(zhǔn)確找到用戶匹配的需求,通過三方顯示對(duì)價(jià),進(jìn)行線上交易結(jié)算,最后再將交易信息提交審核,完成全部過程。
HTLC方案主要是利用多個(gè)結(jié)點(diǎn)區(qū)域生成信息渠道,建立渠道,用戶或潛在信息使用對(duì)象在多渠道信息平臺(tái)進(jìn)行交易。
防止虛假信息攻擊
在業(yè)務(wù)平臺(tái)上,潛在用戶或者相同行業(yè)的競(jìng)爭(zhēng)對(duì)手可以進(jìn)行虛假信息的填報(bào),擾亂正常業(yè)務(wù)處理。在交易過程中,對(duì)手可以偽裝成交易者發(fā)送交易信息并簽名。信息儲(chǔ)存平臺(tái)在各結(jié)點(diǎn)簽名時(shí),用戶可以通過結(jié)點(diǎn)驗(yàn)證過程了解對(duì)手的數(shù)據(jù)選擇,計(jì)算t=re(MODN);m=可以偽造,但在數(shù)據(jù)計(jì)算時(shí)s分?jǐn)?shù)難以從集體數(shù)據(jù)分析因素中分解出來,所以d=RSM(MODN)偽造數(shù)據(jù)困難。
如果用戶自己偽造數(shù)據(jù),選用其它的賬戶信息進(jìn)行簽名,假設(shè)簽名者Alice自己偽造簽名,這樣Alice知道s,可以選擇一個(gè)隨機(jī)數(shù)ya,并計(jì)算t=(mod/7),所以s=g*s,H=g*HW。顯然,Alice不能使用偽簽名來生成h=h(idallce),這導(dǎo)致了簽名驗(yàn)證中的問題。因此,用戶利用信息進(jìn)行虛假簽名或者利用對(duì)手的信息簽名,都不能通過驗(yàn)證。
選取四種不同的數(shù)據(jù)庫(kù)處理方式,對(duì)比數(shù)據(jù)處理容量、速度、效率、安全性等幾個(gè)方面,從表中分析得出,區(qū)塊擴(kuò)容和多渠道擴(kuò)容方案引起的的效果差別不大。單渠道HTLC擴(kuò)容方案對(duì)抗對(duì)手用戶攻擊或者虛假信息時(shí),效果不是太好,而本文選取的多通道HTLC擴(kuò)容方案整體相對(duì)穩(wěn)定,效果最好。
表3.1本文方案與常見方案的性能比較
我們逐步進(jìn)入人工智能時(shí)代,更需要大數(shù)據(jù)的處理和區(qū)塊鏈技術(shù)的應(yīng)用,目前區(qū)塊鏈應(yīng)用從傳統(tǒng)的數(shù)據(jù)集成分析,逐漸向新興行業(yè)融合轉(zhuǎn)變,目前最常用的互聯(lián)網(wǎng)支付也依賴于數(shù)據(jù)處理技術(shù)的深度開發(fā)。今年最火的電商平臺(tái),其交易數(shù)據(jù)處理也同樣依賴于區(qū)塊鏈數(shù)據(jù)處理后臺(tái)的加成。如何更好地將區(qū)塊鏈技術(shù)應(yīng)用到生活中的方方面面,需要更多的研究,不僅可以擴(kuò)產(chǎn)道基本的日常生活保障設(shè)施,同時(shí)還能提升生活節(jié)奏方式,改變生活模式。那目前迫切需要解決的問題是,提高區(qū)塊鏈應(yīng)用技術(shù)的安全性和可靠性、數(shù)據(jù)處理的效率、提高結(jié)構(gòu)性機(jī)制的穩(wěn)定性,以及契約層的擴(kuò)張容縮性。在區(qū)塊鏈技術(shù)的支持下,新的數(shù)據(jù)處理速度和處理方式將會(huì)變得更快捷簡(jiǎn)單。