區塊鏈節點的業務執行方法、裝置及節點設備與流程
2023-08-14 07:53:16 2

本公開涉及信息技術領域,尤其涉及一種區塊鏈節點的業務執行方法、裝置及節點設備。
背景技術:
區塊鏈是由區塊鏈網絡中所有節點共同參與維護的去中心化分布式資料庫系統,它是由一系列基於密碼學方法產生的數據塊組成,每個數據塊即為區塊鏈中的一個區塊。根據產生時間的先後順序,區塊被有序地連結在一起,形成一個數據鏈條,被形象地稱為區塊鏈。區塊鏈有其特有的區塊產生、交易產生和驗證協議,具有不可更改、不可偽造和完全可追溯等安全特性。
區塊鏈網絡基於p2p網絡,每個參與交易和區塊存儲、驗證、轉發的p2p網絡節點都是一個區塊鏈網絡中的節點。節點通過向區塊鏈網絡發布交易(transaction)實現向區塊鏈寫入數據。節點發布的交易包括:節點按照預設的交易數據格式生成的交易數據包,以及利用該節點自己的私鑰對該交易數據包進行的數字籤名。數字籤名用於證明該節點的身份。
節點發布的交易,被廣播到區塊鏈網絡中的所有節點。區塊鏈網絡中的具有「礦工」功能的挖礦節點,構建新的空區塊,作為候選區塊。區塊頭的欄位填充完成後,礦機開始挖礦,目標是找到一個使區塊頭哈希值小於難度目標的隨機數(nonce)。求得解的礦機,將結果放進區塊頭,發送給它的所有相鄰節點。這些節點在接收並驗證這個新區塊後,也會繼續傳遞此區塊。每個節點將該區塊加到自身節點的區塊鏈副本中。
當新區塊在區塊鏈網絡中傳遞時,每一個節點在將它轉發到其它節點之前,會進行一系列的測試去驗證它,若沒有通過驗證,該區塊將被拒絕;當該區塊所包含的交易有效時,所有節點接受該區塊。
區塊是一種被包含在區塊鏈裡的聚合了交易信息的容器數據結構。每個區塊包括區塊頭和區塊主體。區塊主體記錄前一段時間內的所有交易信息。
對於比特幣區塊鏈,區塊頭包括:版本號(4位元組,用於跟蹤軟體/協議的更新)、父區塊哈希值(32位元組,引用區塊鏈中父區塊的哈希值)、merkle根(32位元組,該區塊中交易的merkle樹根的哈希值,merkle_root_hash)、時間戳(4位元組,該區塊產生的近似時間)、難度目標(4位元組,該區塊功率證明算法的難度目標)、隨機數(4位元組,工作量證明算法的計數器)。
區塊鏈節點中,需要同步區塊鏈所有區塊數據(包括區塊頭和區塊主體)的節點為全節點(fullnode),而僅需同步區塊頭部信息的節點為spv節點(spvnode)。由於全節點需要同步所有區塊數據,會佔用較大的存儲空間,因此,相比於全節點,spv節點由於僅需要同步區塊頭,可避免同步大量的區塊數據,節省存儲空間。
spv節點相對於全節點的優勢是節約了存儲空間,但無論是spv節點還是全節點,均需要下載區塊頭或區塊數據,由此相關技術中的區塊鏈,至少存在如下問題:
當節點長時間未啟動或網絡連接中斷時,節點啟動或網絡恢復後,需要同步大量的區塊頭或區塊數據,才能進行正常的工作和業務。因此,需要等待較長的時間,降低了用戶體驗。
對於使用電池供電的節點設備,節點一直保持與區塊鏈中其它節點的連接,不斷的同步新的區塊頭或區塊,導致了大量的電量消耗和網絡流量消耗,使得節點設備的待機時間大大降低。
技術實現要素:
為克服相關技術中存在的問題,本公開提供一種區塊鏈節點的業務執行方法、裝置及節點設備。
本公開的第一方面,提供一種區塊鏈節點的業務執行方法,所述方法包括:
與發現的一個或多個主管節點建立連接,所述主管節點為區塊鏈網絡中的全節點;
當需要執行目標業務時,調用所述一個或多個主管節點提供的與所述目標業務對應的功能接口或向所述一個或多個主管節點發送請求,以通過所述一個或多個主管節點執行所述目標業務,其中,所述請求中包括執行所述目標業務所需的信息。
本公開的第二方面,提供一種區塊鏈節點的業務執行方法,所述方法包括:
響應瘦節點的連接請求,與所述瘦節點建立連接,所述瘦節點為區塊鏈網絡中無需存儲區塊和區塊頭的節點;
提供用於執行所述瘦節點的目標業務的功能接口或響應所述瘦節點發送的目標業務執行的請求,以為所述瘦節點執行所述目標業務。
本公開的第三方面,提供一種區塊鏈節點的業務執行裝置,所述裝置包括:
連接模塊,被配置為與發現的一個或多個主管節點建立連接,所述主管節點為區塊鏈網絡中的全節點;
目標業務執行模塊,被配置為當需要執行目標業務時,調用所述一個或多個主管節點提供的與所述目標業務對應的功能接口或向所述一個或多個主管節點發送請求,以通過所述一個或多個主管節點執行所述目標業務,其中,所述請求中包括執行所述目標業務所需的信息。
本公開的第四方面,提供一種區塊鏈節點的業務執行裝置,所述裝置包括:
連接模塊,被配置為響應瘦節點的連接請求,與所述瘦節點建立連接,所述瘦節點為區塊鏈網絡中無需存儲區塊和區塊頭的節點;
目標業務執行模塊,被配置為提供用於執行所述瘦節點的目標業務的功能接口或響應所述瘦節點發送的目標業務執行的請求,以為所述瘦節點執行所述目標業務。
本公開的第五方面,提供一種節點設備,其特徵在於,包括:
處理器;
用於存儲處理器可執行指令的存儲器;
其中,所述處理器,被配置為與發現的一個或多個主管節點建立連接,所述主管節點為區塊鏈網絡中的全節點;當需要執行目標業務時,調用所述一個或多個主管節點提供的與所述目標業務對應的功能接口或向所述一個或多個主管節點發送請求,以通過所述一個或多個主管節點執行所述目標業務,其中,所述請求中包括執行所述目標業務所需的信息。
本公開的第六方面,提供一種節點設備,其特徵在於,包括:
處理器;
用於存儲處理器可執行指令的存儲器;
其中,所述處理器,被配置為響應瘦節點的連接請求,與所述瘦節點建立連接,所述瘦節點為區塊鏈網絡中無需存儲區塊和區塊頭的節點;提供用於執行所述瘦節點的目標業務的功能接口或響應所述瘦節點發送的目標業務執行的請求,以為所述瘦節點執行所述目標業務。
本公開的第七方面,提供一種電腦程式產品,其特徵在於,所述電腦程式產品包含能夠由可編程的裝置執行的電腦程式,所述電腦程式具有當由所述可編程的裝置執行時用於上述第一方面所述的區塊鏈節點的業務執行方法的代碼部分。
本公開的第八方面,提供一種非臨時性計算機可讀存儲介質,所述非臨時性計算機可讀存儲介質中包括一個或多個程序,所述一個或多個程序用於執行上述第二方面區塊鏈節點的業務執行方法。
本公開的第九方面,提供一種節點設備,包括:
上述第八方面所述的非臨時性計算機可讀存儲介質;以及
一個或者多個處理器,用於執行所述非臨時性計算機可讀存儲介質中的程序。
本公開的第十方面,提供一種電腦程式產品,其特徵在於,所述電腦程式產品包含能夠由可編程的裝置執行的電腦程式,所述電腦程式具有當由所述可編程的裝置執行時用於上述第二方面的區塊鏈節點的業務執行方法的代碼部分。
本公開的第十一方面,提供一種非臨時性計算機可讀存儲介質,其特徵在於,所述非臨時性計算機可讀存儲介質中包括一個或多個程序,所述一個或多個程序用於上述第二方面所述的執行區塊鏈節點的業務執行方法。
本公開的第十二方面,提供一種節點設備,其特徵在於,包括:
上述第十一方面所述的非臨時性計算機可讀存儲介質;以及
一個或者多個處理器,用於執行所述非臨時性計算機可讀存儲介質中的程序。
本公開實施例通過主管節點為瘦節點實現相應的功能,使得瘦節點不需要同步任何區塊頭或區塊數據,無論節點何時啟動,一旦啟動就可進行相應業務,無需等待區塊同步,提高效率,節省時間;且不需要不斷的進行區塊同步,可節省電量和網絡流量,提升用戶體驗。
應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本公開。
本公開的其他特徵和優點將在隨後的具體實施方式部分予以詳細說明。
附圖說明
此處的附圖被併入說明書中並構成本說明書的一部分,示出了符合本公開的實施例,並與說明書一起用於解釋本公開的原理。
圖1是本公開實施例的區塊鏈網絡的示意圖;
圖2是本公開一實施例的區塊鏈節點的業務執行方法的流程示意圖;
圖3是本公開一實施例的瘦節點與主管節點直接建立連接的示意圖;
圖4是本公開一另實施例的瘦節點與主管節點建立連接的示意圖;
圖5是本公開一實施例的區塊鏈節點的業務執行方法的流程示意圖;
圖6是本公開一實施例的目標業務為發布交易時的流程示意圖;
圖7是本公開一實施例的交易驗證的流程示意圖;
圖8是本公開一實施例的信息查詢的流程示意圖;
圖9是本公開一實施例的區塊鏈節點的業務執行裝置的框圖;
圖10是本公開另一實施例的區塊鏈節點的業務執行裝置的框圖;
圖11是根據一示例性實施例示出的一種用於區塊鏈節點的業務執行方法的裝置的框圖。
具體實施方式
以下結合附圖對本公開的具體實施方式進行詳細說明。應當理解的是,此處所描述的具體實施方式僅用於說明和解釋本公開,並不用於限制本公開。
本公開實施例的廋節點,通過主管節點實現相應的功能,不需要同步任何區塊頭或區塊數據,無論瘦節點何時啟動,一旦啟動就可進行相應業務,無需等待區塊同步,提高效率,節省時間;且不需要不斷的進行區塊同步,可節省電量和網絡流量,提升用戶體驗。
參見圖1,為本公開實施例的區塊鏈網絡的示意圖。區塊鏈網絡100中包括:多個節點。這些節點可以各種形式來實施,例如,可以包括諸如手機、智慧型電話、筆記本電腦、數字廣播接收器、pda(個人數字助理)、pad(平板電腦)、pmp(可攜式多媒體播放器)、伺服器、礦機(即可執行pow(proofofwork,工作證明)共識競爭機制的設備)等。
其中,節點101、節點103、節點105、……等為全節點,節點102、節點104、節點106、……等為瘦節點。全節點中可為瘦節點提供相應功能的為主管節點,這些功能可包括查詢信息、發布交易、進行交易驗證等。
每個瘦節點分別與一個或多個主管節點連接。在本公開的實施例中,瘦節點連接的一個或多個主管節點,除了具有普通全節點的屬性(存儲有完整區塊鏈,能夠獨立地校驗所有交易),還為瘦節點提供相應的功能。由此,瘦節點無需存儲區塊頭或區塊數據,而是通過與之相連接的主管節點即可實現相應的功能。
在本公開的一實施例中,瘦節點通過p2p網絡發現的協議,與一個或多個主管節點建立連接。
當新的瘦節點啟動後,發現網絡中存在的主管節點,並隨機選擇網絡中存在的一個或多個主管節點與之建立連接。
新瘦節點發現主管節點並與主管節點建立連接,可通過以下方式:
方式1:每個瘦節點維持一個列表,列出了那些長期穩定運行的主管節點。列表中可包括主管節點的ip地址、設備名、節點狀況(例如,產生新區塊的數量、網絡帶寬等)、算力等。由此,新的瘦節點啟動時,可根據列表中的ip地址,發現這些主管節點,並與其中的一個或多個主管節點建立連接。
方式2:新瘦節點在啟動時,為其提供至少一個主管節點的ip地址(例如,由指定節點向新瘦節點提供,或由新瘦節點主動從指定節點獲取),由此,新瘦節點可通過ip地址與至少一個主管節點建立連接。
參見圖2,為本公開一實施例的區塊鏈節點的業務執行方法的流程示意圖,該方法應用於瘦節點設備,包括以下步驟:
在步驟201中,瘦節點與發現的一個或多個主管節點建立連接,主管節點為區塊鏈網絡中的全節點。
參見圖3,在本公開的一實施例中,瘦節點與主管節點後,直接與其建立連接。瘦節點可採用tcp協議、使用相應的埠(例如,8333埠)與主管節點建立連接。在建立連接時,瘦節點會通過發送一條包含基本標識信息的version消息,開始「握手」通信過程。version消息中包括瘦節點的ip地址等。接收到version消息的主管節點,通過verack消息進行響應確認並建立連接。
參見圖4,在本公開的一實施例中,當區塊鏈網絡為許可鏈網絡(許可鏈網絡為一種私有鏈,是指對許可鏈中的帳戶進行操作權限限制)時,由於許可鏈對節點的網絡接入、轉帳、部署合約、調用合約等進行了權限控制,因此,當瘦節點發現主管節點,與主管節點建立連接時,主管節點需要對瘦節點進行認證。在步驟401中,瘦節點向發現的主管節點發送認證請求,認證請求中包括瘦節點自身的帳戶信息和公鑰等信息。在步驟402中,主管節點根據接收到的認證請求,查詢公鑰所對應帳戶是否存在於區塊鏈中,若存在,則生成挑戰碼。在步驟403中,發送認證請求回覆信息給瘦節點,其中,認證請求回覆信息中包括挑戰碼。在步驟404中,瘦節點使用自身帳戶私鑰對挑戰碼籤名。在步驟405中,瘦節點向主管節點發送認證信息,認證信息中包括私鑰籤名後的挑戰碼。在步驟406中,主管節點使用帳戶公鑰驗證籤名是否正確,若正確,則與瘦節點建立連接。
在本公開的一實施例中,當新啟動的瘦節點與任一個或多個主管節點連接後,這一個或多個主管節點,還可為其提供其它主管節點的信息,由此,實現瘦節點可與一定數量的主管節點之間建立連接。在一個實施例中,一定數量可為固定的n個或可根據區塊鏈網絡中的節點數進行調整,以保證瘦節點通過主管節點進行相應業務時的安全性。
在本公開一實施例中,主管節點通過webservice為與之連接的瘦節點提供功能接口,以使得瘦節點可實現相應的功能。webservice是一種跨程式語言和跨作業系統平臺的遠程調用技術。主管節點提供可供瘦節點通過web進行調用的api,瘦節點通過遠程調用協議(rpc)進行遠程調用,實現相應的功能。
在另一實施例中,瘦節點和主管節點之間,通過網絡協議進行信息交互,例如,http協議、scoket協議等。
在步驟202中,當需要執行目標業務時,調用一個或多個主管節點提供的與目標業務對應的功能接口或向一個或多個主管節點發送請求,以通過一個或多個主管節點執行目標業務,其中,請求中包括執行目標業務所需的信息。
參見表1,在本公開的一實施例中,主管節點可至少提供執行以下目標業務的功能:信息查詢,交易所需信息獲取,交易發布,以及驗證某個交易是否有效。
表1
參見表2,本公開一實施例中,瘦節點具有的功能包括:發現主管節點,連接主管節點,產生並籤名交易,發送交易,查詢信息,以及管理帳戶等。
表2
參見圖5,為本公開一實施例的區塊鏈節點的業務執行方法的流程示意圖,該方法應用於主管節點設備,與瘦節點相對應的,該方法包括以下步驟:
在步驟501中,主管節點響應瘦節點的連接請求,與瘦節點建立連接,瘦節點為區塊鏈網絡中無需存儲區塊和區塊頭的節點。
在步驟502中,主管節點提供用於執行瘦節點的目標業務的功能接口或響應瘦節點發送的目標業務執行的請求,以為瘦節點執行目標業務。
以下將詳細介紹瘦節點通過主管節點進行相應業務的實現過程。參見圖6,為本公開實施例的目標業務為發布交易時的流程示意圖。
在步驟601中,當瘦節點需要發布交易時,從與其連接的主管節點處獲取產生交易所需的信息。
根據不同區塊鏈的交易實現不同,產生一個交易所必須的信息也是不同的,例如:比特幣區塊鏈需要uxto信息,而以太坊區塊鏈需要nonce、gas等信息。瘦節點通過調用主管節點提供的功能接口,可根據交易所涉及的區塊鏈獲取到相應的信息。
當主管節點通過提供功能接口的方式時,瘦節點調用主管節點的相應功能接口,獲取產生交易所必須的信息。根據上述表1,瘦節點產生交易,需要調用的相應功能接口為「交易所需信息獲取」。當主管節點通過webservice提供功能接口時,瘦節點可通過遠程調用協議(rpc)調用「交易所需信息獲取」的功能接口,從而獲取到產生交易所必須的信息。
當主管節點和瘦節點通過網絡通信的方式時,瘦節點可通過「發送請求」的方式,從主管節點處請求產生交易所必須的信息。
在步驟602中,瘦節點根據獲取的信息,產生交易。
在步驟603中,瘦節點對加密存儲的私鑰密文,進行解密獲得私鑰。
由於為了保證私鑰的安全性,瘦節點可對私鑰進行加密存儲,加密存儲的方式包括但不限於使用口令為加密秘鑰產生種子,使用密碼模塊(secureelement,se)安全存儲等。由此,當需要進行私鑰籤名時,通過口令或pin碼進行解密。
在步驟604中,利用私鑰對產生的交易籤名。
在步驟605中,將私鑰籤名後的交易發送給主管節點。
該步驟瘦節點可通過調用主管節點的交易發送功能接口,實現將私鑰籤名後的交易發送給主管節點,由主管節點發布到區塊鏈網絡。
在本公開的實施例中,由於一個瘦節點會同時與一個或多個主管節點連接,因此,私鑰籤名後的交易可發送至所有有連接關係的主管節點,以保證交易的安全性和成功率。
在步驟606中,主管節點驗證交易合法性,若交易合法,則將私鑰籤名後的交易發送到區塊鏈網絡中。
在本公開的實施例中,瘦節點私鑰籤名後的交易,可表明交易發布者的身份。主管節點可通過公鑰解密私鑰籤名後的交易後,對交易信息中的帳戶身份、交易內容等進行驗證,以確定交易的合法性。若交易合法,則瘦節點發布的交易被發送給區塊鏈中的各個節點。交易被「礦工」(執行pow共識競爭機制的區塊鏈節點)記錄入產生的新區塊,然後發布到區塊鏈網絡,並被其它區塊鏈節點驗證通過和接受後,交易數據即被寫入區塊鏈,即瘦節點發布的交易被記錄到區塊鏈的一區塊中。
在本公開的一實施例中,主管節點在交易被寫入區塊鏈,即交易生效後,返回信息給瘦節點。
參見圖7,為本公開的另一實施例中,當瘦節點發布了交易後,瘦節點可通過與其連接的主管節點,對交易是否生效進行驗,即目標業務為驗證交易有效性,其驗證過程包括以下步驟:
在步驟701中,當瘦節點需要驗證一交易的有效性時,向與其連接的每一主管節點發送驗證請求或調用主管節點提供的相應功能接口(即交易驗證功能接口)。
根據上述表1,瘦節點可通過調用主管節點提供的「交易驗證」的功能接口,驗證某個交易是否已被挖礦(即記錄到某個區塊中)。
在步驟702中,每一個主管節點分別根據瘦節點的信息進行驗證。
在本公開的實施例中,主管節點根據瘦節點發布的交易的信息(哈希值),查找區塊鏈,判斷交易是否被記錄到某個區塊中。並且根據區塊在區塊鏈中的位置,確定該區塊得到了多少確認。
當瘦節點通過發送驗證請求的方式,獲取驗證結果時,在步驟703中,每一個主管節點將驗證結果發送給瘦節點。
在步驟704中,瘦節點根據接收到每個主管節點的返回的驗證結果,確定驗證結果一致的主管節點的數量是否超過預設閾值。
在步驟705中,若驗證結果一致的主管節點的數量超過預設閾值,則確認該驗證結果。
在步驟706中,若驗證結果一致的主管節點的數量未超過預設閾值,則重新發送驗證請求或重新進行主管節點的選擇。
在本公開的實施例中,為了保證安全性,瘦節點接收到驗證結果後,需要進行判斷,當驗證結果一致的主管節點的數量超過預設閾值時,則信任主管節點返回的驗證結果。否則,需要重新進行驗證,或者重新進行主管節點的選擇後再進行驗證。
在一些實施例中,瘦節點可根據主管節點的可信度,選擇一定數量可信度較高的主管節點,以其返回的驗證結果為交易有效性驗證的結果。若這些節點返回的驗證結果為交易無效,則瘦節點可重新進行交易的發布。主管節點的可信度可根據主管節點的擁有者的信息(例如,是否為可靠組織等)、主管節點產生的區塊數、主管節點的算力、主管節點的網絡穩定狀況等等確定。
應理解,在本公開的實施例中,為了保證瘦節點執行目標業務的安全性,當瘦節點接收到至少兩個主管節點的反饋信息,且反饋信息一致的主管節點的數量超過預設閾值時,信任所接收到的反饋信息。而當接收到至少兩個主管節點的反饋信息,且反饋信息一致的主管節點的數量未超過預設閾值時,重新選擇主管節點進行連接。或者按照上述的方法選擇信任可信度高的主管節點的反饋信息。這些反饋信息包括但不限於:上述交易驗證結果、信息查詢結果、挑戰碼等所有主管階段反饋發送給瘦節點的信息。
參見圖8,為本公開的一實施例中,當瘦節點需要進行的目標業務為信息查詢,例如,查詢帳戶餘額等信息時,向主管節點發送查詢請求或調用主管節點提供的相應功能接口(即查詢功能接口)。
在本公開的實施例中,瘦節點可管理自己的帳戶信息,進行產生、刪除等,並加密存儲。加密存儲的方式包括但不限於使用口令為加密密鑰產生種子、使用secureelement(se,密碼模塊)安全存儲等。
主管節點根據查詢請求中的帳戶信息,進行查詢並將查詢結果返回給瘦節點。應理解,在本公開的實施例中,當瘦節點通過調用功能接口的方式進行交易發布、交易有效性驗證或信息查詢時,可直接獲得驗證結果、查詢結果等,不需要主管節點進行反饋。而當瘦節點採用「發送請求」的方式進行交易發布、交易有效性驗證或信息查詢時,主管節點將查詢結果、驗證結果等進行反饋。
參見圖9,相應的,本公開實施例還提供一種區塊鏈節點的業務執行裝置。該裝置900應用於無需存儲區塊和區塊頭的節點,該裝置800包括:
連接模塊901,被配置為與發現的一個或多個主管節點建立連接,所述主管節點為區塊鏈網絡中的全節點;
目標業務執行模塊902,被配置為當需要執行目標業務時,調用所述一個或多個主管節點提供的與所述目標業務對應的功能接口或向所述一個或多個主管節點發送請求,以通過所述一個或多個主管節點執行所述目標業務,其中,所述請求中包括執行所述目標業務所需的信息。
在一個實施例中,目標業務執行裝置902包括:
交易信息獲取子模塊,被配置為在目標業務為發布交易時,調用所述一個或多個主管節點提供的交易所需信息獲取的功能接口,從所述一個或多個主管節點處獲取產生所述交易所需的信息;
第一交易產生子模塊,被配置為根據獲取的信息,產生交易;
第一交易籤名子模塊,被配置為利用私鑰對產生的交易籤名;
第一交易發送子模塊,被配置為調用所述一個或多個主管節點提供的交易發送功能接口,將私鑰籤名後的交易發送給所述一個或多個主管節點,以由所述一個或多個主管節點在驗證所述私鑰籤名後的交易合法後,將所述私鑰籤名後的交易發布到區塊鏈網絡中。
在一個實施例中,目標業務執行裝置902包括:
第一交易驗證子模塊,被配置為在所述目標業務為驗證交易有效性時,調用所述一個或多個主管節點的交易驗證功能接口,獲取交易驗證結果。
在一個實施例中,目標業務執行裝置902包括:
第一信息查詢子模塊,被配置為在所述目標業務為信息查詢時,調用所述一個或多個主管節點的信息查詢功能接口,獲取查詢結果。
在一個實施例中,目標業務執行裝置902包括:
交易請求發布子模塊,被配置為在所述目標業務為發布交易時,向所述一個或多個主管節點發送包括交易所涉及的區塊鏈信息的請求,從所述一個或多個主管節點處獲取產生所述交易所需的信息;
第二交易產生子模塊,被配置為根據獲取的信息,產生交易;
第二交易籤名子模塊,被配置為利用私鑰對產生的交易籤名;
第二交易發送子模塊,被配置為將私鑰籤名後的交易發送給所述一個或多個主管節點,以由所述一個或多個主管節點在驗證所述私鑰籤名後的交易合法後,將所述私鑰籤名後的交易發布到區塊鏈網絡中。
在一個實施例中,目標業務執行裝置902包括:
第二交易驗證子模塊,被配置為當所述目標業務為驗證交易有效性時,向所述一個或多個主管節點發送驗證請求,獲取自己所發布交易的交易驗證結果。
在一個實施例中,目標業務執行裝置902包括:
第二信息查詢子模塊,被配置為當所述目標業務為信息查詢時,向所述一個或多個主管節點發送查詢請求,獲取查詢結果,所述查詢請求中包括查詢所需的信息。
在一個實施例中,裝置900還包括:
信息確定模塊903,被配置為當接收到至少兩個主管節點的反饋信息,且反饋信息一致的主管節點的數量超過預設閾值時,信任所接收到的反饋信息。
在一個實施例中,裝置900還包括:
主管節點重新選擇模塊904,被配置為當接收到至少兩個主管節點的反饋信息,且反饋信息一致的主管節點的數量未超過預設閾值時,重新選擇主管節點進行連接。
在一個實施例中,連接模塊901包括:
認證請求發送子模塊,被配置為向所述一個或多個主管節點發送認證請求;
挑戰碼接收子模塊,被配置為接收所述一個或多個主管節點根據認證請求生成的挑戰碼;
挑戰碼發送子模塊,被配置為向所述一個或多個主管節點發送認證信息,所述認證信息為利用私鑰對所述挑戰碼籤名後的信息;
連接建立子模塊,被配置為當所述認證信息被所述一個或多個主管節點驗證通過後,與所述一個或多個主管節點建立連接。
參見圖10,相應的本公開還提供一種區塊鏈節點的業務執行裝置。該裝置1000應用於主管節點,其包括:
連接模塊1001,被配置為響應瘦節點的連接請求,與所述瘦節點建立連接,所述瘦節點為區塊鏈網絡中無需存儲區塊和區塊頭的節點;
目標業務執行模塊1002,被配置為提供用於執行所述瘦節點的目標業務的功能接口或響應所述瘦節點發送的目標業務執行的請求,以為所述瘦節點執行所述目標業務。
在一個實施例中,目標業務執行模塊1002包括:
第一交易所需信息提供子模塊,被配置為在所述目標業務為發布交易時,通過交易所需信息獲取的功能接口,為所述瘦節點提供產生所述交易所需的信息;
第一交易發布子模塊,被配置為通過交易發送功能接口,將所述瘦節點根據交易所需的信息產生並私鑰籤名後的合法交易發布到區塊鏈網絡中。
在一個實施例中,目標業務執行模塊1002包括:
第一交易驗證結果獲取子模塊,被配置為在所述目標業務為驗證交易有效性時,通過交易驗證功能接口,為所述瘦節點獲取交易驗證結果。
在一個實施例中,目標業務執行模塊1002包括:
第一查詢結果獲取子模塊,被配置為在所述目標業務為信息查詢時,通過信息查詢功能接口,為所述瘦節點獲取查詢結果。
在一個實施例中,目標業務執行模塊1002包括:
請求接收子模塊,被配置為在所述目標業務為發布交易時,接收所述瘦節點發送的包括交易所涉及的區塊鏈信息的請求;
交易所需信息發送子模塊,被配置為根據所述請求,將產生所述交易所需的信息發送給所述瘦節點;
交易接收子模塊,被配置為接收所述瘦節點根據所述交易所需的信息產生並私鑰籤名後的交易;
第二交易發布子模塊,被配置為在驗證所述私鑰籤名後的交易合法後,將所述私鑰籤名後的交易發布到區塊鏈網絡中。
在一個實施例中,目標業務執行模塊1002包括:
驗證請求接收子模塊,被配置為在所述目標業務為驗證交易有效性時,接收所述瘦節點發送的驗證請求;
驗證結果獲取子模塊,被配置為根據所述驗證請求獲取所述瘦節點所發布交易的交易驗證結果;
驗證結果發送子模塊,被配置為將所述交易驗證結果發送給所述瘦節點。
在一個實施例中,目標業務執行模塊1002包括:
查詢請求接收子模塊,被配置為在所述目標業務為信息查詢時,接收所述瘦節點發送的查詢請求,所述查詢請求中包括查詢所需的信息;
查詢結果獲取子模塊,被配置為根據所述查詢請求,獲取查詢結果;
查詢結果發送子模塊,被配置為將所述查詢結果發送給所述瘦節點。
在一個實施例中,連接模塊1001包括:
認證請求接收子模塊,被配置為接收所述瘦節點發送的認證請求;
挑戰碼生成子模塊,被配置為根據所述認證請求生成挑戰碼;
挑戰碼發送子模塊,被配置為將所述挑戰碼發送給所述瘦節點;
認證信息接收子模塊,被配置為接收所述瘦節點發送的認證信息,所述認證信息為利用私鑰對所述挑戰碼籤名後的信息;
認證信息驗證子模塊,被配置為對所述認證信息進行驗證;
連接子模塊,被配置為當驗證通過時,與所述瘦節點建立連接。
關於上述實施例中的裝置,其中各個模塊執行操作的具體方式已經在有關該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
圖11是根據一示例性實施例示出的一種用於區塊鏈節點的業務執行方法的裝置1100的框圖,該裝置1100可以是瘦節點設備或主管節點設備。如圖所示,該裝置1100可以包括:處理器1101,存儲器1102,多媒體組件1103,輸入/輸出(i/o)接口1104,以及通信組件1105。
其中,處理器1101用於控制該裝置1100的整體操作,以完成上述應用於瘦節點設備或主管節點設備的區塊鏈節點的業務執行方法中的全部或部分步驟。存儲器1102用於存儲作業系統,各種類型的數據以支持在該裝置1100的操作,這些數據的例如可以包括用於在該裝置1100上操作的任何應用程式或方法的指令,以及應用程式相關的數據。該存儲器1102可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現,例如靜態隨機存取存儲器(staticrandomaccessmemory,簡稱sram),電可擦除可編程只讀存儲器(electricallyerasableprogrammableread-onlymemory,簡稱eeprom),可擦除可編程只讀存儲器(erasableprogrammableread-onlymemory,簡稱eprom),可編程只讀存儲器(programmableread-onlymemory,簡稱prom),只讀存儲器(read-onlymemory,簡稱rom),磁存儲器,快閃記憶體,磁碟或光碟。
多媒體組件1103可以包括屏幕和音頻組件。其中屏幕例如可以是觸控螢幕,音頻組件用於輸出和/或輸入音頻信號。例如,音頻組件可以包括一個麥克風,麥克風用於接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器1102或通過通信組件1105發送。音頻組件還包括至少一個揚聲器,用於輸出音頻信號。i/o接口1104為處理器1101和其他接口模塊之間提供接口,上述其他接口模塊可以是鍵盤,滑鼠,按鈕等。這些按鈕可以是虛擬按鈕或者實體按鈕。通信組件1105用於該裝置1100與其他設備之間進行有線或無線通信。無線通信,例如wi-fi,藍牙,近場通信(nearfieldcommunication,簡稱nfc),2g、3g或4g,或它們中的一種或幾種的組合,因此相應的該通信組件1105可以包括:wi-fi模塊,藍牙模塊,nfc模塊。
在一示例性實施例中,裝置1100可以被一個或多個應用專用集成電路(applicationspecificintegratedcircuit,簡稱asic)、數位訊號處理器(digitalsignalprocessor,簡稱dsp)、數位訊號處理設備(digitalsignalprocessingdevice,簡稱dspd)、可編程邏輯器件(programmablelogicdevice,簡稱pld)、現場可編程門陣列(fieldprogrammablegatearray,簡稱fpga)、控制器、微控制器、微處理器或其他電子元件實現,用於執行上述的應用於瘦節點設備或主管節點設備的區塊鏈節點的業務執行方法。
在另一示例性實施例中,還提供了一種電腦程式產品,所述電腦程式產品包含能夠由可編程的裝置執行的電腦程式,所述電腦程式具有當由所述可編程的裝置執行時用於執行上述的應用於瘦節點設備或主管節點設備的區塊鏈節點的業務執行方法的代碼部分。
在另一示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質,例如包括指令的存儲器1102,上述指令可由裝置1100的處理器701執行以完成上述的應用於瘦節點設備或主管節點設備的區塊鏈節點的業務執行方法。示例地,該非臨時性計算機可讀存儲介質可以是rom、隨機存取存儲器(randomaccessmemory,簡稱ram)、cd-rom、磁帶、軟盤和光數據存儲設備等。
流程圖中或在本公開的實施例中以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用於實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,並且本公開實施方式的範圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本公開的實施例所述技術領域的技術人員所理解。
本領域技術人員在考慮說明書及實踐本公開後,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理並包括本公開未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本公開的真正範圍和精神由下面的權利要求指出。
應當理解的是,本公開並不局限於上面已經描述並在附圖中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本公開的範圍僅由所附的權利要求來限制。