區塊發佈方法及裝置、電子設備
本說明書一個或多個實施例涉及區塊鏈技術領域,尤其涉及一種區塊發佈方法及裝置、電子設備。
區塊鏈中包含數量眾多的區塊鏈節點,共識機制用於在這些區塊鏈節點之間達成一致,以確保這些區塊鏈節點共同維護統一內容的區塊鏈帳本。在相關技術中,通常採用PoW(Proof of Work,工作量證明)算法在這些區塊鏈節點之間達成共識;具體地,由所有區塊鏈節點分別計算同一數學題的解,並由最先求得符合條件的解的區塊鏈節點爭得記帳權,由該區塊鏈節點生成區塊鏈的最新區塊,並且所有區塊鏈節點都將該區塊鏈節點生成的區塊記錄至區塊鏈帳本中。
有鑑於此,本說明書一個或多個實施例提供一種區塊發佈方法及裝置、電子設備。
為實現上述目的,本說明書一個或多個實施例提供技術方案如下:
根據本說明書一個或多個實施例的第一態樣,提出了一種區塊發佈方法,應用於區塊鏈節點;所述方法包括:
調用用於生成字符序列的智慧合約,所述智慧合約被用於為區塊鏈節點生成隨機字符序列;
將所述隨機字符序列與所述區塊鏈節點的身份資訊相關聯地發佈至區塊鏈,其中所述隨機字符序列的發佈時刻早於目標字符序列的發佈時刻;
在所述隨機字符序列匹配於所述目標字符序列的情況下,將生成的預備區塊在區塊鏈內進行全網廣播;其中,當所述隨機字符序列被驗證為匹配於所述目標字符序列且對應的發佈時刻為全網最早時,所述預備區塊被記錄為所述區塊鏈的最新區塊。
根據本說明書一個或多個實施例的第二態樣,提出了一種區塊發佈裝置,應用於區塊鏈節點;所述裝置包括:
調用單元,調用用於生成字符序列的智慧合約,所述智慧合約被用於為區塊鏈節點生成隨機字符序列;
第一發佈單元,將所述隨機字符序列與所述區塊鏈節點的身份資訊相關聯地發佈至區塊鏈,其中所述隨機字符序列的發佈時刻早於目標字符序列的發佈時刻;
廣播單元,在所述隨機字符序列匹配於所述目標字符序列的情況下,將生成的預備區塊在區塊鏈內進行全網廣播;其中,當所述隨機字符序列被驗證為匹配於所述目標字符序列且對應的發佈時刻為全網最早時,所述預備區塊被記錄為所述區塊鏈的最新區塊。
根據本說明書一個或多個實施例的第三態樣,提出了一種電子設備,包括:
處理器;
用於儲存處理器可執行指令的儲存器;
其中,所述處理器通過運行所述可執行指令以實現如上述實施例中任一所述的區塊發佈方法。
這裡將詳細地對示例性實施例進行說明,其示例表示在圖式中。下面的描述涉及圖式時,除非另有表示,不同圖式中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本說明書一個或多個實施例相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本說明書一個或多個實施例的一些態樣相一致的裝置和方法的例子。
需要說明的是:在其他實施例中並不一定按照本說明書示出和描述的順序來執行相應方法的步驟。在一些其他實施例中,其方法所包括的步驟可以比本說明書所描述的更多或更少。此外,本說明書中所描述的單個步驟,在其他實施例中可能被分解為多個步驟進行描述;而本說明書中所描述的多個步驟,在其他實施例中也可能被合併為單個步驟進行描述。
圖1是一示例性實施例提供的一種區塊發佈方法的流程圖。如圖1所示,該方法應用於區塊鏈節點,可以包括以下步驟:
步驟102,調用用於生成字符序列的智慧合約,所述智慧合約被用於為區塊鏈節點生成隨機字符序列。
在一實施例中,智慧合約中可以預先寫入生成隨機字符序列的處理邏輯,使得該智慧合約被調用後,可以基於上述的處理邏輯自動為區塊鏈節點生成隨機字符序列。由於智慧合約上的處理邏輯為公開內容,並且整個處理過程由智慧合約自動完成、不存在人工干預,使得能夠確保生成的隨機字符序列的隨機性,避免暗箱操作或作弊行為。
在一實施例中,隨機字符序列並非完全“隨機”,仍然可以符合一定的預設規則,比如該預設規則可以包括字符數量、字符類型、字符的取值範圍等,本說明書並不對此進行限制。例如,預設規則可以限制隨機字符序列為8位數字,則智慧合約生成的隨機字符序列可以為“45614381”,而不會生成“ax0642f0”;又例如,預設規則可以限制隨機字符序列為5位數字+3位字母,則智慧合約生成的隨機字符序列可以為“ax0642f0”,而不會生成序列“45614381”。其中,當隨機字符序列符合上述的預設規則時,下述的目標字符序列同樣符合該預設規則,以使得隨機字符序列與目標字符序列在結構、形式上保持一致,確保隨機字符序列與目標字符序列之間具有可比性。
在一實施例中,區塊鏈中存在多個區塊鏈節點,智慧合約為不同區塊鏈節點生成的隨機字符序列應當相互區別,以避免不止一個區塊鏈節點的隨機字符序列與目標字符序列相匹配,確保僅一個區塊鏈節點生成的預備區塊被記錄為區塊鏈的最新區塊。
步驟104,將所述隨機字符序列與所述區塊鏈節點的身份資訊相關聯地發佈至區塊鏈,其中所述隨機字符序列的發佈時刻早於目標字符序列的發佈時刻。
在一實施例中,區塊鏈節點可以通過在區塊鏈的客戶端上創建交易,以基於該交易將所述隨機字符序列與所述區塊鏈節點的身份資訊相關聯地發佈至區塊鏈上,成為區塊鏈的分散式資料庫中的一筆資料。
需要指出的是:區塊鏈中的交易,存在狹義的交易以及廣義的交易之分。狹義的交易是指用戶向區塊鏈發佈的一筆價值轉移;例如,在傳統的比特幣區塊鏈網路中,交易可以是用戶在區塊鏈中發起的一筆轉帳。而廣義的交易是指用戶向區塊鏈發佈的一筆具有業務意圖的業務資料;例如,運營方可以基於實際的業務需求搭建一個聯盟鏈,依託於聯盟鏈部署一些與價值轉移無關的其它類型的在線業務(比如,事件預測、租房業務、車輛調度業務、保險理賠業務、信用服務、醫療服務等),而在這類聯盟鏈中,交易可以是用戶在聯盟鏈中發佈的一筆具有業務意圖的業務訊息或者業務請求。本說明書中的交易,應當傾向於理解為廣義上的交易。
在一實施例中,由於區塊鏈採用分散式資料庫,使得發佈至區塊鏈上的隨機字符序列無法被篡改,從而可以對每個區塊鏈節點對應的隨機字符序列均實現可靠記錄。
在一實施例中,本說明書可使區塊鏈節點爭奪區塊鏈的最新區塊的記帳權,而區塊鏈上的其他區塊的記帳權已經確定,那麼可由這些具備記帳權的區塊鏈節點負責將上述包含隨機字符序列和區塊鏈節點的身份資訊的交易寫入相應的區塊中,並發佈至區塊鏈。換言之,步驟104中並不一定由上述區塊鏈節點直接將隨機字符序列和其身份資訊相關聯地發佈至區塊鏈,也可能由其他區塊鏈節點實施該發佈操作,這取決於哪個區塊鏈節點具備相關區塊的記帳權。
在一實施例中,可以將所述隨機字符序列反饋至所述區塊鏈節點,由區塊鏈節點確定是否需要採用該隨機字符序列。在一種情況下,如果確認需要採用該隨機字符序列,區塊鏈節點可以將該隨機字符序列與自身的身份資訊相關聯地發佈至區塊鏈。在另一種情況下,如果不認可當前生成的隨機字符序列,區塊鏈節點可以重新調用所述智慧合約,由該智慧合約重新生成一隨機字符序列,以對該區塊鏈節點對應的隨機字符序列進行更新;當然,如果區塊鏈仍然不認可,可以繼續重新調用所述智慧合約,直至得到滿意的隨機字符序列。
在一實施例中,隨機字符序列的發佈時刻應當早於目標字符序列的發佈時刻,否則將導致隨機字符序列的隨機性存疑,譬如可能是獲取了目標字符序列的情況下,將相同的字符序列偽裝為隨機字符序列並發佈至區塊鏈,而並非真正由上述的智慧合約所生成。
步驟106,在所述隨機字符序列匹配於所述目標字符序列的情況下,將生成的預備區塊在區塊鏈內進行全網廣播;其中,當所述隨機字符序列被驗證為匹配於所述目標字符序列且對應的發佈時刻為全網最早時,所述預備區塊被記錄為所述區塊鏈的最新區塊。
在一實施例中,當區塊鏈節點A收到來自區塊鏈節點B的預備區塊時,通過將該區塊鏈節點B對應的隨機字符序列1與目標字符序列進行比較,即可確定該隨機字符序列1是否匹配於目標字符序列。如果區塊鏈節點A還收到來自區塊鏈節點C的預備區塊,並且該區塊鏈節點C對應的隨機字符序列2也匹配於目標字符序列,區塊鏈節點A可以比較隨機字符序列1與隨機字符序列2的發佈時刻,以確定相對更早發佈的隨機字符序列。通過上述方式,假定區塊鏈節點A確定出區塊鏈節點B對應的隨機字符序列1匹配於目標字符序列,並且在所有匹配於目標字符序列的隨機字符序列中,區塊鏈節點B對應的隨機字符序列1的發佈時刻最早,即可判定該隨機字符序列1符合“被驗證為匹配於所述目標字符序列且對應的發佈時刻為全網最早”,因此區塊鏈節點A可以將來自區塊鏈節點B的預備區塊記錄為區塊鏈的最新區塊;類似地,其他區塊鏈節點也可以基於上述方式將來自區塊鏈節點B的預備區塊記錄為區塊鏈的最新區塊,相當於該區塊鏈節點B爭奪到了區塊鏈中的記帳權,實現了各個區塊鏈節點之間的共識。
在一實施例中,由於隨機字符序列由智慧合約隨機生成,使得區塊鏈節點之間的共識過程不依賴於各個區塊鏈節點的算力,使得即便區塊鏈節點掌握了全網51%或更多的算力,仍然無法掌控區塊鏈內的記帳權,避免算力強大的區塊鏈節點作惡。
在一實施例中,可以將包含所述隨機字符序列與所述區塊鏈節點的身份資訊的交易發佈至區塊鏈,從而使得該隨機字符序列與該區塊鏈節點的身份資訊被相關聯地發佈至區塊鏈。其中,所述預備區塊中可以包含所述交易的流水號或其他特徵標識,使接收到所述預備區塊的區塊鏈節點能夠根據所述流水號或其他特徵標識從區塊鏈中查找所述交易,從而獲取到所述隨機字符序列及其發佈時刻,並該隨機字符序列與目標字符序列的發佈順序、匹配情況等進行驗證。
在一實施例中,所述目標字符序列可以由預言機(Oracle)節點發佈至所述區塊鏈。由於預言機節點提供的資料被認為絕對可靠,因而可以確保該目標字符序列的真實性。
在一實施例中,預言機可以從鏈外對象處獲取該目標字符序列,例如鏈外對象可以通過電腦隨機生成該目標字符序列,或者鏈外對象可以控制實體設備依次隨機釋放若干球體、每一球體與字符之間一一對應,從而由各個球體的釋放順序及每個球體所對應的字符構成目標字符序列。
在一實施例中,所述目標字符序列由預言機節點通過調用所述用於生成字符序列的智慧合約而生成。由於上述的智慧合約內置隨機生成字符序列的處理邏輯,因而預言機節點可以通過調用該智慧合約,使其隨機生成目標字符序列。
在一實施例中,預言機節點可以通過將目標字符序列在全網廣播,以由具備記帳權的區塊鏈節點發佈至區塊鏈中。在另一實施例中,預言機節點可以默認為具備記帳權,可以直接將目標字符序列發佈至區塊鏈中。
在一實施例中,可以向所述區塊鏈發佈與所述隨機字符序列相關聯的資產凍結憑證,所述資產凍結憑證表明所述區塊鏈節點持有的不少於預設數額的區塊鏈資產處於凍結狀態;其中,當所述隨機字符序列不存在相關聯的資產凍結憑證時,所述隨機字符序列被判定為無效資訊。通過要求提供資產凍結憑證,可以對參與爭奪記帳權的區塊鏈節點設置一定的參與門檻,排除持有的區塊鏈資產不足的區塊鏈節點(不法分子可能為了作惡而臨時創建一些專用於參與爭奪記帳權的區塊鏈節點,以此增加命中目標字符序列的機率),提高區塊鏈節點的作惡成本。
在一實施例中,可以將隨機字符序列、區塊鏈節點的身份資訊和資產凍結憑證包含於同一交易中,以表明該資產凍結憑證與隨機字符序列之間的關聯關係。在另一實施例中,可以在資產凍結憑證所處的交易中添加上述包含隨機字符序列和區塊鏈節點的身份資訊的交易的流水號,或者在上述包含隨機字符序列和區塊鏈節點的身份資訊的交易中添加資產凍結憑證所處的交易的流水號,這取決於這兩個交易之間的發佈順序,即較早發佈的交易的流水號可以被添加至較晚發佈的交易中。
在一實施例中,在所述隨機字符序列匹配於所述目標字符序列的情況下,所述資產凍結憑證對應的區塊鏈資產被解凍並歸還至所述區塊鏈節點。
在一實施例中,在所述隨機字符序列不匹配於所述目標字符序列的情況下,所述資產凍結憑證對應的區塊鏈資產被從所述區塊鏈節點處扣除,以作為參與爭奪記帳權的成本。
在一實施例中,所述區塊鏈節點可以僅存在一個對應的隨機字符序列,即每一區塊鏈節點僅存在一次爭奪記帳權的機會,所有區塊鏈節點爭得記帳權的機率一致。
在一實施例中,所述區塊鏈節點可以存在多個對應的隨機字符序列,每一隨機字符序列分別存在對應的資產凍結憑證;換言之,區塊鏈節點可以通過提供多份資產凍結憑證,以取得多個隨機字符序列,有助於提升該區塊鏈節點爭得記帳權的機率。其中,在所述區塊鏈節點對應的任一隨機字符序列匹配於所述目標字符序列的情況下,可以將生成的預備區塊在區塊鏈內進行全網廣播;相應地,當所述區塊鏈節點對應的任一隨機字符序列被驗證為匹配於所述目標字符序列且對應的發佈時刻為全網最早時,所述預備區塊被記錄為所述區塊鏈的最新區塊。
為了便於理解,下面以區塊鏈內的區塊鏈節點為例,對本說明書的區塊發佈方案進行描述。圖2是一示例性實施例提供的一種區塊鏈網路的結構示意圖;如圖2所示,假定區塊鏈中存在區塊鏈節點21、區塊鏈節點22、區塊鏈節點23和區塊鏈節點24等,該區塊鏈節點21~24之間可以相互通訊,比如圖2所示的兩兩節點之間均可以實現通訊,也可能存在部分節點之間需要通過其他節點作為中繼而實現通訊,本說明書並不對此進行限制。在一實施例中,區塊鏈節點21~23可以為普通節點,區塊鏈節點24可以為預言機節點,區塊鏈節點21~23在區塊鏈中發佈的交易被認為不可信,而作為預言機節點的區塊鏈節點24在區塊鏈中發佈的交易被認為絕對可信。
基於圖2所示的區塊鏈網路,圖3是一示例性實施例提供的一種確定記帳權的流程示意圖。對於諸如上述區塊鏈節點21~24等區塊鏈網路中的任一區塊鏈節點,可以通過如圖3所示的方式爭奪區塊鏈中最新區塊的記帳權,該過程可以包括以下步驟:
步驟302,生成資產凍結憑證。
在一實施例中,以區塊鏈節點21為例:該區塊鏈節點21可以對自身持有的預設數額的區塊鏈資產進行凍結;例如,區塊鏈節點21可以將該預設數額的區塊鏈資產轉入預定義的資產凍結帳戶,並獲得相應的資產凍結憑證。
在一實施例中,區塊鏈節點21可以將資產凍結憑證向區塊鏈進行發佈,使得該資產凍結憑證被記錄至各個區塊鏈節點分別維護、內容統一的區塊鏈帳本中。
步驟304,獲取隨機數字串。
在一實施例中,以區塊鏈節點21為例:該區塊鏈節點21可以調用智慧合約,該智慧合約預先定義了生成隨機數字串的功能邏輯,使得該智慧合約可以基於該功能邏輯自動生成區塊鏈節點21對應的隨機數字串。智慧合約中約束了隨機數字串的長度,比如隨機數字串可以為128位數字串。由於智慧合約被發佈於區塊鏈上,使得智慧合約中定義的功能邏輯為公開資料,從而確保對於隨機數字串的生成結果客觀、公平,避免人為干預造成的暗箱操作等情況。
假定區塊鏈節點21對應於隨機數字串L1。其中,當區塊鏈節點21對智慧合約生成的隨機數字串不滿意時,可以通過多次反復調用該智慧合約,直至獲得滿足的隨機數字串,以作為上述的隨機數字串L1。類似地,每一區塊鏈節點均可以通過調用上述的智慧合約,獲得相應的隨機數字串。
在一實施例中,區塊鏈節點21可以將自身對應的隨機數字串L1發佈至區塊鏈,以表明該區塊鏈節點21與該隨機數字串L1之間的對應關係,並且可以獲取該隨機數字串L1的發佈時刻(通過時間戳表徵)。那麼,即便不同區塊鏈節點對應的隨機數字串L1相同,也可以通過發佈時刻的差異進行比較,實現對記帳權的爭奪與確認。
步驟306,獲取目標數字串。
在一實施例中,可由預言機節點24獲取目標數字串,並將該目標數字串發佈至區塊鏈;相應地,各個區塊鏈節點可以從區塊鏈上讀取該目標數字串,從而獲取該目標數字串。
在一實施例中,預言機節點24可以通過調用上述的智慧合約,使得該智慧合約可以自動且隨機生成一數字串,譬如一個8位數字串,以作為上述的目標數字串。在另一實施例中,預言機節點24可以接收鏈外對象傳入的目標數字串,譬如該目標數字串可由鏈外對象通過隨機算法生成。
步驟308,確定隨機數字串與目標數字串是否相匹配。
在一實施例中,每一區塊鏈節點可以將自身對應的隨機數字串與目標數字串進行比較,以確定兩者是否相匹配;其中,當隨機數字串與目標數字串相同時,可以判定為該隨機數字串與目標數字串相匹配。
步驟310,當隨機數字串與目標數字串相匹配時,向全網廣播區塊鏈節點自身生成的預備區塊,並接收其他區塊鏈節點廣播的預備區塊。
在一實施例中,以區塊鏈節點21為例:當區塊鏈節點21確定自身對應的隨機數字串1與目標數字串相匹配時,該區塊鏈節點21可以將生成的預備區塊進行全網廣播,使得區塊鏈節點22~24等均能夠接收到該預備區塊。其中,區塊鏈節點21可以在任意時刻生成該預備區塊,比如在步驟310之前已經生成該預備區塊,或者可以在確認隨機數字串1與目標數字串相匹配時生成該預備區塊,本說明書並不對此進行限制。
以區塊鏈節點22為例:當區塊鏈節點22確定自身對應的隨機數字串2與目標數字串不匹配時,該區塊鏈節點22可以忽略自身已生成的預備區塊,或者終止原本正在或準備實施的預備區塊生成操作。其中,區塊鏈節點22可以接收到上述區塊鏈節點21廣播的預備區塊。
以區塊鏈節點23為例:當區塊鏈節點23確定自身對應的隨機數字串3與目標數字串相匹配時,該區塊鏈節點23可以將生成的預備區塊進行全網廣播,使得區塊鏈節點21-22、24等均能夠接收到該預備區塊。其中,區塊鏈節點23還可以接收到上述區塊鏈節點21廣播的預備區塊。
步驟312,選取最新區塊並寫入區塊鏈。
在一實施例中,區塊鏈節點21~24等分別在本地維護一區塊鏈帳本,每一區塊鏈節點可以分別確定最新區塊,並將該最新區塊寫入自身維護的區塊鏈帳本中,從而實現對該區塊鏈帳本的內容維護。
以區塊鏈節點21為例:假定區塊鏈節點21收到區塊鏈節點23廣播的預備區塊;為了便於區分,可以設定該區塊鏈節點21自身生成了預備區塊B1、區塊鏈節點23生成了預備區塊B2。
一態樣,區塊鏈節點21可以對預備區塊B2進行檢驗,可以包括:
1、根據預備區塊B2中包含的交易流水號,從區塊鏈中讀取該交易流水號對應的交易及其交易內容,該交易內容包括該區塊鏈節點23對應的隨機數字串,區塊鏈節點21可以檢驗該隨機數字串是否與目標數字串相匹配;若不匹配,可以忽略預備區塊B2。
2、上述交易內容中如果包括區塊鏈節點23對應的凍結資產憑證,則認為該交易內容包含的隨機數字串有效;否則,可以忽略預備區塊B2。當然,凍結資產憑證也可以通過獨立的交易發佈至區塊鏈中,並且其交易流水號可以被記錄於上述的預備區塊B2中,從而使得區塊鏈節點21據此獲取區塊鏈節點23對應的凍結資產憑證。
3、上述交易內容包含隨機數字串的發佈時刻,該隨機數字串的發佈時刻應當早於目標數字串的發佈時刻。
4、上述交易內容包含的隨機數字串應當沒有被用於爭奪其他區塊的記帳權,比如該隨機數字串的發佈時刻應當晚於前一區塊對應的目標數字串的發佈時刻。
另一態樣,區塊鏈節點21可以對區塊鏈節點21對應的隨機數字串的發佈時刻、區塊鏈節點23對應的隨機數字串的發佈時刻進行比較:當區塊鏈節點21對應的隨機數字串的發佈時刻早於區塊鏈節點23對應的隨機數字串的發佈時刻時,區塊鏈節點21可以將預備區塊B1寫入自身維護的區塊鏈帳本中;反之,則區塊鏈節點21可以將預備區塊B2寫入自身維護的區塊鏈帳本中。
類似地,當區塊鏈節點22分別收到區塊鏈節點21廣播的預備區塊B1、區塊鏈節點23廣播的預備區塊B2時,也可以通過上述方式分別對預備區塊B1預備區塊B2進行檢驗,並基於區塊鏈節點21、區塊鏈節點23分別對應的隨機數字串的發佈時刻的順序,確定將通過檢驗且全網最先發佈的預備區塊寫入自身維護的區塊鏈帳本中。
因此,區塊鏈網路中的每一區塊鏈節點分別通過諸如圖3所示的方式,即可參與到對於各個區塊的記帳權的爭奪,並且由於所有資料均為公開、不可篡改、可驗證,從而能夠確保各個區塊鏈節點向自身維護的區塊鏈帳本中寫入的區塊具有相同內容,實現了對區塊鏈帳本的全網統一管理與維護。
圖4是一示例性實施例提供的一種設備的示意結構圖。請參考圖4,在硬體層面,該設備包括處理器402、內部匯流排404、網路介面406、記憶體408以及非揮發性儲存器410,當然還可能包括其他業務所需要的硬體。處理器402從非揮發性儲存器410中讀取對應的電腦程式到記憶體408中然後運行,在邏輯層面上形成區塊發佈裝置。當然,除了軟體實現方式之外,本說明書一個或多個實施例並不排除其他實現方式,比如邏輯裝置抑或軟硬體結合的方式等,也就是說以下處理流程的執行主體並不限定於各個邏輯單元,也可以是硬體或邏輯裝置。
請參考圖5,在軟體實施方式中,該區塊發佈裝置可以包括:
調用單元51,調用用於生成字符序列的智慧合約,所述智慧合約被用於為區塊鏈節點生成隨機字符序列;
第一發佈單元52,將所述隨機字符序列與所述區塊鏈節點的身份資訊相關聯地發佈至區塊鏈,其中所述隨機字符序列的發佈時刻早於目標字符序列的發佈時刻;
廣播單元53,在所述隨機字符序列匹配於所述目標字符序列的情況下,將生成的預備區塊在區塊鏈內進行全網廣播;其中,當所述隨機字符序列被驗證為匹配於所述目標字符序列且對應的發佈時刻為全網最早時,所述預備區塊被記錄為所述區塊鏈的最新區塊。
可選的,所述第一發佈單元52具體用於:
將包含所述隨機字符序列與所述區塊鏈節點的身份資訊的交易發佈至區塊鏈;
其中,所述預備區塊中包含所述交易的流水號,使接收到所述預備區塊的區塊鏈節點根據所述流水號從區塊鏈中查找所述交易,以對所述隨機字符序列及其發佈時刻進行驗證。
可選的,所述目標字符序列由預言機節點發佈至所述區塊鏈。
可選的,所述目標字符序列由預言機節點通過調用所述用於生成字符序列的智慧合約而生成。
可選的,還包括:
第二發佈單元54,向所述區塊鏈發佈與所述隨機字符序列相關聯的資產凍結憑證,所述資產凍結憑證表明所述區塊鏈節點持有的不少於預設數額的區塊鏈資產處於凍結狀態;
其中,當所述隨機字符序列不存在相關聯的資產凍結憑證時,所述隨機字符序列被判定為無效資訊。
可選的,
在所述隨機字符序列匹配於所述目標字符序列的情況下,所述資產凍結憑證對應的區塊鏈資產被解凍並歸還至所述區塊鏈節點;
在所述隨機字符序列不匹配於所述目標字符序列的情況下,所述資產凍結憑證對應的區塊鏈資產被從所述區塊鏈節點處扣除。
可選的,所述區塊鏈節點存在多個對應的隨機字符序列,每一隨機字符序列分別存在對應的資產凍結憑證;所述廣播單元53具體用於:
在所述區塊鏈節點對應的任一隨機字符序列匹配於所述目標字符序列的情況下,將生成的預備區塊在區塊鏈內進行全網廣播;
其中,當所述區塊鏈節點對應的任一隨機字符序列被驗證為匹配於所述目標字符序列且對應的發佈時刻為全網最早時,所述預備區塊被記錄為所述區塊鏈的最新區塊。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
在一個典型的配置中,電腦包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性儲存器,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可行動和非可行動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶、磁碟儲存、量子儲存器、基於石墨烯的儲存媒體或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料訊號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在圖式中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和平行處理也是可以的或者可能是有利的。
在本說明書一個或多個實施例使用的術語是僅出於描述特定實施例的目的,而非旨在限制本說明書一個或多個實施例。在本說明書一個或多個實施例和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,儘管在本說明書一個或多個實施例可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書一個或多個實施例範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取決於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應於確定”。
以上所述僅為本說明書一個或多個實施例的較佳實施例而已,並不用以限制本說明書一個或多個實施例,凡在本說明書一個或多個實施例的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書一個或多個實施例保護的範圍之內。
21‧‧‧區塊鏈節點
22‧‧‧區塊鏈節點
23‧‧‧區塊鏈節點
24‧‧‧區塊鏈節點
51‧‧‧調用單元
52‧‧‧第一發佈單元
53‧‧‧廣播單元
54‧‧‧第二發佈單元
102‧‧‧步驟
104‧‧‧步驟
106‧‧‧步驟
302‧‧‧步驟
304‧‧‧步驟
306‧‧‧步驟
308‧‧‧步驟
310‧‧‧步驟
312‧‧‧步驟
402‧‧‧處理器
404‧‧‧內部匯流排
406‧‧‧網路介面
408‧‧‧記憶體
410‧‧‧非揮發性儲存器
圖1是一示例性實施例提供的一種區塊發佈方法的流程圖。
圖2是一示例性實施例提供的一種區塊鏈網路的結構示意圖。
圖3是一示例性實施例提供的一種確定記帳權的流程示意圖。
圖4是一示例性實施例提供的一種設備的結構示意圖。
圖5是一示例性實施例提供的一種區塊發佈裝置的方塊圖。