本發(fā)明屬于通信技術領域,尤其涉及一種基于區(qū)塊鏈的信息處理方法和裝置。
背景技術:
區(qū)塊鏈的概念最早由化名“中本聰”的匿名人士在其論文“比特幣:一種點對點的電子支付系統(tǒng)”中正式提出,它是利用基于橢圓曲線簽名算法(ECDSA)和參與方之間的一致性共識算法來實現(xiàn)的分布式統(tǒng)一賬本。區(qū)塊鏈技術要求參與系統(tǒng)的記賬節(jié)點把一段時間內系統(tǒng)產(chǎn)生的全部信息數(shù)據(jù)通過密碼學算法記錄到一個區(qū)塊中,并且生成該區(qū)塊的哈希值用于鏈接下一個區(qū)塊作為校驗;其他節(jié)點驗證該區(qū)塊的數(shù)據(jù)有效性來選擇是否接受該記賬結果;接著通過節(jié)點之間的某種一致性共識算法來確定生成新的區(qū)塊。區(qū)塊是一種數(shù)據(jù)打包存儲結構,將每一個區(qū)塊中的第一個數(shù)據(jù)元素設置為上一個區(qū)塊的散列值就會形成前后相連的鏈狀數(shù)據(jù)結構即區(qū)塊鏈。
以比特幣和以太坊為代表的傳統(tǒng)區(qū)塊鏈信息是使用nonce作為信息ID進行信息的發(fā)起和確認的。Nonce作為信息ID具體應用方法是信息發(fā)起方每成功發(fā)起一筆信息就將nonce的數(shù)值自行加1,作為下次信息發(fā)起的nonce值。通常區(qū)塊鏈網(wǎng)絡在接收到一個用戶的信息后,會驗證該信息的nonce是否等于區(qū)塊鏈中已經(jīng)打包的該用戶最新信息的nonce+1。
由于傳統(tǒng)方式發(fā)起的信息要求nonce的連續(xù)性,就意味著信息處理的并行性和實時性會出現(xiàn)問題。
技術實現(xiàn)要素:
鑒于以上所述一個或多個問題,本發(fā)明實施例提供了一種基于區(qū)塊鏈的信息處理方法和裝置。
第一方面,提供了一種基于區(qū)塊鏈的信息處理方法,包括:
為擬處理的交互信息設置在預設交互序列號范圍內不重復的交互序列號nonce;
將設置了交互序列號nonce的交互信息向區(qū)塊鏈發(fā)送。
第二方面,提供了一種基于區(qū)塊鏈的數(shù)據(jù)處理方法,包括:
接收交互信息;
解析交互信息中的交互序列號nonce;
驗證nonce在預設交互序列號范圍內是否重復;
當nonce在預設交互序列號范圍內不重復時,將交互信息在區(qū)塊鏈中進行打包。
第三方面,提供了一種基于區(qū)塊鏈的信息處理裝置,包括:
第一設置單元,用于為擬處理的交互信息設置在預設交互序列號范圍內不重復的交互序列號nonce;
發(fā)送單元,用于將設置了交互序列號nonce的交互信息向區(qū)塊鏈發(fā)送。
第四方面,提供了一種基于區(qū)塊鏈的信息處理裝置,包括:
接收單元,用于接收交互信息;
第一解析單元,用于解析交互信息中的交互序列號nonce;
第一驗證單元,用于驗證nonce在預設交互序列號范圍內是否重復;
打包單元,用于當nonce在預設交互序列號范圍內不重復時,將交互信息在區(qū)塊鏈中進行打包。
由此,通過為擬處理的交互信息設置在預設交互序列號范圍內不重復的交互序列號nonce,取消了nonce值連續(xù)性的限制,可以使得信息處理的連貫性交給信息發(fā)起人在區(qū)塊鏈外實現(xiàn),區(qū)塊鏈只負責接收信息,不負責信息的前后關系。區(qū)塊鏈會對出塊間隔內收到的信息批量打包,并驗證nonce是否重復。本實施例可以對串行處理的信息進行解耦,從而實現(xiàn)了信息的并行處理,保證了信息處理的時效性。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一實施例的基于區(qū)塊鏈的信息處理系統(tǒng)的示意圖。
圖2是本發(fā)明一實施例的基于區(qū)塊鏈的信息處理方法的流程示意圖。
圖3是本發(fā)明另一實施例的基于區(qū)塊鏈的信息處理方法的流程示意圖。
圖4是本發(fā)明又一實施例的基于區(qū)塊鏈的信息處理方法的流程示意圖。
圖5是本發(fā)明又一實施例的基于區(qū)塊鏈的信息處理方法的流程示意圖。
圖6是本發(fā)明一實施例的基于區(qū)塊鏈的信息處理裝置的結構示意圖。
圖7是本發(fā)明另一實施例的基于區(qū)塊鏈的信息處理裝置的結構示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
圖1是本發(fā)明一實施例的基于區(qū)塊鏈的信息處理系統(tǒng)的示意圖。
如圖1所示,該系統(tǒng)可以包括終端節(jié)點10、驗證節(jié)點20、打包節(jié)點30和區(qū)塊鏈40。其中,終端節(jié)點10、驗證節(jié)點20、打包節(jié)點30可以是個人電腦、智能手機、平板電腦、個人數(shù)字助理、服務器等電子設備。這些電子設備可以安裝有各種通訊客戶端應用,例如即時通信工具、郵箱客戶端、社交平臺軟件、音頻視頻軟件等。其中,這些電子設備具有存儲器和邏輯運算處理器、控制元件等。這些電子設備可以發(fā)送數(shù)據(jù)請求,或者可以接收數(shù)據(jù)請求,還可以對數(shù)據(jù)進行分析、驗證和存儲等處理。
其中,終端節(jié)點10可以是擬處理信息的發(fā)起方或者是信息的接收方。驗證節(jié)點20可以對終端節(jié)點10發(fā)送的信息進行驗證。打包節(jié)點30可以對通過驗證節(jié)點20驗證的信息在區(qū)塊鏈中進行打包。區(qū)塊鏈40可以包括多個區(qū)塊,例如區(qū)塊n和區(qū)塊n+1。其中,Tx代表由各節(jié)點獨立發(fā)送的信息,區(qū)塊n即當前區(qū)塊高度blockNumber,區(qū)塊鏈將接收到的信息驗證后以一定的順序打包成區(qū)塊,并使用隨機數(shù)-散列值的形式將區(qū)塊鏈以密碼學不可篡改的形式增加。
應該理解,圖1中的設備的數(shù)量僅僅是示意性的,實際的數(shù)量不做限制。另外,圖1中還可以布置電纜、交互機等設備。
圖2是本發(fā)明一實施例的基于區(qū)塊鏈的信息處理方法的流程示意圖。本實施例可以應用于終端節(jié)點10側。本實例的實施主體可以是終端節(jié)點10。
如圖2所示,該方法包括以下步驟:S210,為擬處理的交互信息設置在預設交互序列號范圍內不重復的交互序列號nonce;S220,將設置了交互序列號nonce的交互信息向區(qū)塊鏈發(fā)送。
在一些實施例中,在預設交互序列號范圍內不重復的交互序列號nonce可以是隨機數(shù)或者與交互信息相關的索引。
具體的,交互序列號nonce的設置規(guī)則不再受嚴格按照區(qū)塊鏈中該用戶最近一筆打包信息的nonce+1的限制了。這種nonce隨機化的方式可以解決過去nonce順序化造成的無法實現(xiàn)信息并發(fā)的問題。現(xiàn)有的nonce順序化機制希望將信息的連貫性強制通過區(qū)塊鏈來執(zhí)行,這樣同時導致了非串行信息也必須串行發(fā)起。而本實例中的Nonce設置方式可以將信息的連貫性交給信息發(fā)起人(例如終端節(jié)點10)在區(qū)塊鏈外實現(xiàn),區(qū)塊鏈只負責接收信息,不負責信息的前后關系。因此區(qū)塊鏈會對出塊間隔內收到的信息批量打包,然后進行驗證即可(該方面內容在下文將詳細描述)。通過上述方式可以實現(xiàn)了信息的并行處理。
其中,打包是由區(qū)塊鏈記錄用戶交易的方法,是指用戶發(fā)送的信息被區(qū)塊鏈網(wǎng)絡認可,并記錄在某個區(qū)塊中。
圖3是本發(fā)明一個或者多個實施例的基于區(qū)塊鏈的信息處理方法的流程示意圖。本實施例可以應用于終端節(jié)點10側。本實例的實施主體可以是終端節(jié)點10。
如圖3所示,該方法包括以下步驟:S310,為擬處理的交互信息設置在預設交互序列號范圍內不重復的交互序列號nonce;S320,基于區(qū)塊鏈中當前區(qū)塊高度blockNumber,計算用于交互信息的打包區(qū)塊高度閾值blockLimit;S330,為交互信息設置打包區(qū)塊高度閾值blockLimit;S340,將設置了交互序列號nonce和打包區(qū)塊高度閾值blockLimit的交互信息進行簽名,并向區(qū)塊鏈發(fā)送。
在一些實施例中,打包區(qū)塊高度閾值blockLimit為:當前區(qū)塊高度blockNumber與區(qū)塊高度偏移量之和。
在一些實施例中,區(qū)塊高度偏移量為:預設的信息超時等待時間與區(qū)塊鏈的出塊間隔的比值。其中,預設的信息超時等待時間可以是1-3分鐘。出塊是打包的意思。出塊間隔或者出塊時間是指區(qū)塊生成的時間間隔,一般為相對固定值,例如比特幣出塊間隔為10分鐘左右,以太坊出塊時間為14秒左右。區(qū)塊高度偏移量通常為10塊至50塊。
具體的,新引入的blockLimit是對信息時效性的約定,它是關于blockNumber(當前區(qū)塊高度)絕對值的一個描述。該描述指示打包節(jié)點只能將本信息打包到blockNumber<=blockLimit的區(qū)塊中。如此設置,信息發(fā)起人在發(fā)送信息時指定blockLimit等于當前區(qū)塊高度加上一個偏移量(例如50)。一段時間后,當信息發(fā)起人發(fā)現(xiàn)區(qū)塊鏈上最新區(qū)塊的高度已經(jīng)大于其信息定義的blockLimit,信息發(fā)起人即可放心地確認這筆信息之后永遠不會被打包了,進而該信息發(fā)起人可以重發(fā)或者修改信息內容再次發(fā)送相關信息。
圖3實施例中一個實施例的步驟可以是在圖2實施例的基礎上增加以下步驟:
基于區(qū)塊鏈中當前區(qū)塊高度blockNumber,計算用于交互信息的打包區(qū)塊高度閾值blockLimit;
為交互信息設置打包區(qū)塊高度閾值blockLimit,并將設置了交互序列號nonce和打包區(qū)塊高度閾值blockLimit的交互信息向區(qū)塊鏈發(fā)送。
圖3實施例中另一個實施例的步驟可以是在上述實施例的基礎上增加以下步驟:將設置了交互序列號nonce和打包區(qū)塊高度閾值blockLimit的交互信息進行簽名,并向區(qū)塊鏈發(fā)送。
其中,簽名可以是使用非對稱加密算法對信息進行的數(shù)字簽名。
上述各實施例中的用戶發(fā)起的交互信息可以是為:
Tx=TData+nonce+Sign(TData+nonce,SK) (1)
其中,TData可以是交互信息的內容,Sk可以是賬戶私鑰,是Sign(Content,Secret Key)可以是信息交互的簽名算法。
上述各實施例中的用戶發(fā)起的交互信息可以還可以是為:
Tx=TData+nonce+blockLimit+Sign(TData+nonce+blockLimit,SK) (2)
由此,本實施例可以通過Nonce隨機化帶來的信息的并行性,還可以通過blockLimit區(qū)塊限制帶來的信息交互的確定性。
圖4是本發(fā)明又一實施例的基于區(qū)塊鏈的信息處理方法的流程示意圖。本實施例可以應用于區(qū)塊鏈網(wǎng)絡側,該區(qū)塊鏈網(wǎng)絡側可以包括驗證節(jié)點20和打包節(jié)點30。
如圖4所示,該方法包括以下步驟:S410,接收交互信息;S420,解析交互信息中的交互序列號nonce;S430,驗證nonce在預設交互序列號范圍內是否重復;S440,當nonce在預設交互序列號范圍內不重復時,將交互信息在區(qū)塊鏈中進行打包。其中,S410-S430的實施主體可以是驗證節(jié)點20。S4440的實施主體可以是打包節(jié)點30。
作為圖4所示實施例的第一個變形實施例,可以在圖4所示實施例的基礎上增加以下步驟:解析交互信息中的打包區(qū)塊高度閾值blockLimit;驗證打包區(qū)塊高度閾值blockLimit是否大于當前區(qū)塊高度blockNumber;當打包區(qū)塊高度閾值blockLimit大于當前區(qū)塊高度blockNumber時,將交互信息在區(qū)塊鏈中進行打包。
在一些實施例中,打包區(qū)塊高度閾值blockLimit為:當前區(qū)塊高度blockNumber與區(qū)塊高度偏移量之和。
在一些實施例中,區(qū)塊高度偏移量為:預設的信息超時等待時間與區(qū)塊鏈的出塊間隔的比值。
作為圖4所示實施例的第二個變形實施例,可以在圖4所示實施例的基礎上增加以下步驟:設置用于限制打包區(qū)塊高度閾值blockLimit的打包區(qū)塊高度范圍blockWindow。
作為圖4所示實施例的第三個變形實施例,可以在圖4第二個變形實施例的基礎上增加以下步驟:
驗證打包區(qū)塊高度閾值blockLimit是否小于當前區(qū)塊高度blockNumber與打包區(qū)塊高度范圍blockWindow之和;
當blockLimit小于blockNumber與blockWindow之和時,將交互信息在區(qū)塊鏈中進行打包。
具體的,考慮到信息發(fā)起人可能由于主觀或客觀原因(例如希望自己的信息可以更長時間地存在在區(qū)塊鏈網(wǎng)絡上以便增加打包的可能性或者信息程序出錯),信息發(fā)起人可能會設定一個非常大的blockLimit,例如blockLimit等于信息發(fā)起時的區(qū)塊高度加上10000。這種情況下,會使得實時性要求高的信息得不到優(yōu)先打包的機會。針對這種情況,本實施例引入了blockWindow(打包范圍)這個參數(shù)用于區(qū)塊鏈節(jié)點上。該參數(shù)定義下,一個信息Tx只能被打包在滿足區(qū)塊高度在如下范圍的區(qū)塊中:
Tx.blockLimit-blockWindow<blockNumber<Tx.blockLimit (3)
這樣,當信息發(fā)起人發(fā)起的一個信息Tx設定了一個非常大的blockLimit的時候,他的信息會被節(jié)點保存為待處理,直到區(qū)塊鏈高度到達該信息設定的blockLimit附近,節(jié)點才考慮是否對其打包。
blockLimit的引入同時解決了nonce隨機化引入的一個問題,即重放攻擊問題。重放攻擊指的是相同的信息被兩次或多次被區(qū)塊鏈打包,造成信息發(fā)起人利益受損。例如節(jié)點A向節(jié)點B發(fā)送數(shù)字信息,對應的信息為Tx。在傳統(tǒng)的nonce連續(xù)方案下,每筆信息的nonce是確定遞增的,區(qū)塊鏈只需要驗證本次打包的信息Tx的nonce是否等于當前nonce+1即可。由于nonce小于當前nonce,曾經(jīng)打包過的Tx不可能被再次打包,而攻擊者無法偽造Tx的數(shù)字簽名,因此也無法手動修改nonce的數(shù)值。所以傳統(tǒng)的nonce連續(xù)方案不存在重放攻擊問題。而一旦將nonce改為隨機數(shù)值,區(qū)塊鏈就無法通過簡單的nonce遞增屬性來判斷該Tx是否曾經(jīng)被打包過,因此很難防止重放攻擊。blockLimit的引入則解決了該問題。具體來說,由于某個Tx(無論其被正常打包還是被重放),它只能被打包到[Tx.blockLimit-blockWindow,Tx.blockLimit]的區(qū)塊里面。所以區(qū)塊鏈只需要檢查該區(qū)塊高度內由信息發(fā)起人發(fā)起的信息是否重復即可。超過了該區(qū)塊范圍,即使信息被重發(fā)也不會被打包。
由此,上述實施例通過nonce隨機化、blockLimit區(qū)塊限制和blockWindow范圍定義三種技術改進,解決了傳統(tǒng)區(qū)塊鏈信息的無法并行化和信息結果不確定的缺陷。
作為圖4所示實施例的第四個變形實施例,可以在圖4及其變形實施例的基礎上增加以下步驟(在解析交互信息中的交互序列號nonce步驟之前):解析所接的交互信息中的簽名;驗證簽名是否有效。
圖5是本發(fā)明又一實施例的基于區(qū)塊鏈的信息處理方法的流程示意圖。
其中,左圖是信息發(fā)起方(例如終端節(jié)點10)的信息組裝、簽名發(fā)布流程;右圖是區(qū)塊鏈網(wǎng)絡(包括驗證節(jié)點20和打包節(jié)點30)的驗證和打包流程。
如圖5所示,該方法可以包括以下步驟:
S501,開始,準備處理交互信息。
S502,組織擬處理的交互信息的數(shù)據(jù)。
S503,為交互信息設置在預設交互序列號范圍內不重復的交互序列號nonce數(shù)值。
S504,計算打包區(qū)塊高度閾值blockLimit。
blockLimit=blockNumber+N (4)
N=t1/t2 (5)
其中,N為區(qū)塊高度偏移量,t1預設的信息超時等待時間,t2為區(qū)塊鏈的平均出塊間隔。
S505,為交互信息設置計算出的blockLimit。
S506,數(shù)字簽名并發(fā)送交互信息。
S507,接收交互信息。
S508,驗證簽名數(shù)據(jù)是否有效。當簽名數(shù)據(jù)有效時,轉至步驟S509,否則轉至步驟S513。
S509,驗證打包區(qū)塊高度閾值blockLimit是否大于當前區(qū)塊高度blockNumber。當blockLimit>blockNumber時,轉至步驟S510,則轉至步驟S513。
S510,驗證打包區(qū)塊高度閾值blockLimit是否小于當前區(qū)塊高度blockNumber與打包區(qū)塊高度范圍blockWindow之和。當blockLimit<blockNumber+blockWindow,轉至步驟S511,否則轉至步驟S513。
S511,驗證交互信息的數(shù)據(jù)是否合法。當交互驗證合法時,轉至步驟S512,否則轉至步驟S513。
S512,驗證通過對交互數(shù)據(jù)在區(qū)塊鏈中進行打包。
S513,驗證不通過,交互信息不被打包。
由此,本實施例可以通過Nonce隨機化帶來的信息的并行性,還可以通過blockLimit區(qū)塊限制帶來的信息交互的確定性,通過blockWindow范圍定義對blockLimit帶來的超大blockLimit問題進行的修正,通過blockLimit和blockWindow一起對Nonce隨機化帶來的重復攻擊問題進行的修正。
另外,本發(fā)明實施例可以應用于交易過程,通過對區(qū)塊鏈協(xié)議的簡單修改,將原來僅能用于實驗性質的支付網(wǎng)絡平移到了金融系統(tǒng)中,使得可以可靠地將交易提交到區(qū)塊鏈上而無需擔心交易的可靠性和即時性。如果沒有該技術,交易方則難以同時發(fā)布多筆并行交易,造成性能瓶頸;交易方也難以確定一條交易請求能否在指定時間內返回處理結果從而大幅影響交易的即時性。事實上,如果沒有并行處理和即時處理的屬性,區(qū)塊鏈網(wǎng)絡很難被真正用于金融系統(tǒng)。
需要說明的是,上述圖2至圖5的所描述的操作內容可以進行不同程度的組合應用,為了簡明,不再贅述各種組合的實現(xiàn)方式,本領域的技術人員可以按實際需要將上述的操作步驟的順序進行靈活調整,或者將上述步驟進行靈活組合等操作。
圖6是本發(fā)明一實施例的基于區(qū)塊鏈的信息處理裝置的結構示意圖。
如圖6所示,基于區(qū)塊鏈的信息處理裝置600可以包括:第一設置單元610和發(fā)送單元620。其中,第一設置單元610,用于為擬處理的交互信息設置在預設交互序列號范圍內不重復的交互序列號nonce;發(fā)送單元620,用于將設置了交互序列號nonce的交互信息向區(qū)塊鏈發(fā)送。
在一些實施例中,交互序列號nonce是隨機數(shù)或者與交互信息相關的索引。
需要說明的是,本實施例中所示的功能單元的實現(xiàn)方式可以為硬件、軟件、固件或者它們的組合。當以硬件方式實現(xiàn)時,其可以例如是電子電路、專用集成電路(ASIC)、適當?shù)墓碳?、插件、功能卡等等。當以軟件方式實現(xiàn)時,本發(fā)明的元素是被用于執(zhí)行所需任務的程序或者代碼段。程序或者代碼段可以存儲在機器可讀介質中,或者通過載波中攜帶的數(shù)據(jù)信號在傳輸介質或者通信鏈路上傳送。“機器可讀介質”可以包括能夠存儲或傳輸信息的任何介質。機器可讀介質的例子包括電子電路、半導體存儲器設備、ROM、閃存、可擦除ROM(EROM)、軟盤、CD-ROM、光盤、硬盤、光纖介質、射頻(RF)鏈路,等等。代碼段可以經(jīng)由諸如因特網(wǎng)、內聯(lián)網(wǎng)等的計算機網(wǎng)絡被下載。
作為圖6所示實施例的一個變形實施例,可以在圖6實施例的基礎上增加計算單元和第二設置單元。計算單元可以基于區(qū)塊鏈中當前區(qū)塊高度blockNumber,計算用于交互信息的打包區(qū)塊高度閾值blockLimit;第二設置單元可以用于為交互信息設置打包區(qū)塊高度閾值blockLimit,并將設置了交互序列號nonce和打包區(qū)塊高度閾值blockLimit的交互信息向區(qū)塊鏈發(fā)送。
在一些實施例中,打包區(qū)塊高度閾值blockLimit為:當前區(qū)塊高度blockNumber與區(qū)塊高度偏移量之和。
在一些實施例中,區(qū)塊高度偏移量為:預設的信息超時等待時間與區(qū)塊鏈的出塊間隔的比值。
作為圖6所示實施例的另一個變形實施例,可以在圖6實施例的基礎上增加簽名單元。簽名單元用于將設置了交互序列號nonce和打包區(qū)塊高度閾值blockLimit的交互信息進行簽名,并向區(qū)塊鏈發(fā)送。
圖7是本發(fā)明另一實施例的基于區(qū)塊鏈的信息處理裝置的結構示意圖。
如圖7所示,基于區(qū)塊鏈的信息處理裝置700可以包括:接收單元710、第一解析單元720、第一驗證單元730和打包單元740。其中,接收單元710可以用于接收交互信息;第一解析單元720可以用于解析交互信息中的交互序列號nonce;第一驗證單元730可以用于驗證nonce在預設交互序列號范圍內是否重復;打包單元740可以用于當nonce在預設交互序列號范圍內不重復時,將交互信息在區(qū)塊鏈中進行打包。
在一些實施例中,交互序列號nonce是隨機數(shù)或者與交互信息相關的索引。
作為圖7所示實施例的第一個變形實施例,可以在圖7實施例的基礎上增加:第二解析單元和第二驗證單元。其中,第二解析單元可以用于解析交互信息中的打包區(qū)塊高度閾值blockLimit;第二驗證單元可以用于驗證打包區(qū)塊高度閾值blockLimit是否大于當前區(qū)塊高度blockNumber;當打包區(qū)塊高度閾值blockLimit大于當前區(qū)塊高度blockNumber時,將交互信息在區(qū)塊鏈中進行打包。
在一些實施例中,打包區(qū)塊高度閾值blockLimit為:當前區(qū)塊高度blockNumber與區(qū)塊高度偏移量之和。
在一些實施例中,區(qū)塊高度偏移量為:預設的信息超時等待時間與區(qū)塊鏈的出塊間隔的比值。
作為圖7所示實施例的第二個變形實施例,可以在圖7及其變形實施例的基礎上增加:限制單元。限制單元可以用于設置用于限制打包區(qū)塊高度閾值blockLimit的打包區(qū)塊高度范圍blockWindow。
作為圖7所示實施例的第三個變形實施例,可以在圖7及其變形實施例的基礎上增加:第三驗證單元。第三驗證單元可以用于驗證打包區(qū)塊高度閾值blockLimit是否小于當前區(qū)塊高度blockNumber與打包區(qū)塊高度范圍blockWindow之和;當blockLimit小于blockNumber與blockWindow之和時,將交互信息在區(qū)塊鏈中進行打包。
作為圖7所示實施例的第四個變形實施例,可以在圖7及其變形實施例的基礎上增加:第三解析單元和第四驗證單元。其中,第三解析單元可以用于解析所接的交互信息中的簽名;第四驗證單元可以用于驗證簽名是否有效。
需要說明的是,上述各實施例的裝置可作為上述各實施例的方法中的執(zhí)行主體,可以實現(xiàn)各個方法中的相應流程,上述各個實施例中的內容可以互相參考使用,為了簡潔,此方面內容不再贅述。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件?;谶@樣的理解,上述技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。