
1.本技術涉及互聯網領域,具體而言,涉及一種區塊鏈節點的處理方法、裝置及系統、電子裝置。
背景技術:2.隨著信息技術的更新,區塊鏈作為新興的存儲技術逐漸成為發展熱門,區塊鏈系統是利用密碼學保證數據傳輸和訪問的安全,生成不可篡改和不可偽造的分布式賬本的數據網絡系統。區塊鏈可以分為公有鏈(public blockchain)、聯盟鏈(consortium blockchain)和私有鏈(private blockchain)。其中聯盟鏈是指有多個組織共同參與管理的區塊鏈,每個成員運行著一個或多個節點,聯盟鏈允許成員中的節點讀取和發送交易,并且共同記錄交易數據。
3.區塊鏈沒有一個中心的機構,各個節點信息的一致性是通過區塊鏈的共識機制來保證的。近年來,在對區塊鏈的共識機制的研究過程中,出現了越來越多的技術,用于提高共識機制的共識一致性和可用性,但是對于節點加入或者退出聯盟鏈的研究卻并不多,其中,針對節點退出聯盟鏈的機制方面的研究更是處于空缺狀態,目前只能采用管理員手動操作的方式實現。而目前聯盟鏈等區塊鏈的應用越來越廣泛,區塊鏈的節點也越來越多,節點退出區塊鏈的操作變得也越來越頻繁。
4.發明人經過對相關技術進行分析認識到,目前區塊鏈的共識機制中并沒有節點的退出功能,在很多區塊鏈應用中,面臨著節點加入區塊鏈后無法退出的尷尬局面,或者需要由區塊鏈系統管理員配置相關文件以手動刪除待退出節點,這與區塊鏈去中心化的思想并不一致??梢?,目前缺乏一種規范合理、安全快速的聯盟鏈退出機制。
5.針對上述的問題,目前尚未提出有效的解決方案。
技術實現要素:6.本技術實施例提供了一種區塊鏈節點的處理方法、裝置及系統、電子裝置,以至少解決相關技術中區塊鏈中節點退出的效率較低的技術問題。
7.根據本技術實施例的一個方面,提供了一種區塊鏈節點的處理方法,包括:向第一節點發送第一請求,其中,第一請求用于第二節點請求從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點;獲取第一節點返回的第一響應信息,其中,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出;以及,根據第一響應信息確定是否執行退鏈操作,其中,退鏈操作為第二節點從區塊鏈中退出的操作。
8.根據本技術實施例的另一個方面,還提供了一種區塊鏈節點的處理方法,包括:獲取第二節點的第一請求,其中,第一請求用于第二節點請求從區塊鏈中退出;根據第二節點的節點信息生成第一響應信息,其中,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點;以及,向第二節點返回第一響應信息,其中,第二節點用于根據第一響應信息確定是否執行從區塊鏈中退出的退鏈操
作。
9.根據本技術實施例的另一方面,還提供了一種區塊鏈節點的處理裝置,包括:發送單元,用于向第一節點發送第一請求,其中,第一請求用于第二節點請求從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點;第一獲取單元,用于獲取第一節點返回的第一響應信息,其中,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出;以及,處理單元,用于根據第一響應信息確定是否執行退鏈操作,其中,退鏈操作為第二節點從區塊鏈中退出的操作。
10.根據本技術實施例的另一方面,還提供了一種區塊鏈節點的處理裝置,包括:第二獲取單元,用于獲取第二節點的第一請求,其中,第一請求用于第二節點請求從區塊鏈中退出;生成單元,用于根據第二節點的節點信息生成第一響應信息,其中,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點;以及,返回單元,用于向第二節點返回第一響應信息,其中,第二節點用于根據第一響應信息確定是否執行從區塊鏈中退出的退鏈操作。
11.根據本技術實施例的另一方面,還提供了一種區塊鏈節點的處理系統,包括:第一節點,用于在接收到第二節點發送的第一請求的情況下,向第二節點返回生成的第一響應信息,其中,第一請求用于第二節點請求從區塊鏈中退出,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點;第二節點,用于在向第一節點發送第一請求之后,根據接收到的第一響應信息確定是否執行退鏈操作,其中,退鏈操作為第二節點從區塊鏈中退出的操作。
12.根據本技術實施例的另一方面,還提供了一種存儲介質,該存儲介質包括存儲的程序,程序運行時執行上述的方法。
13.根據本技術實施例的另一方面,還提供了一種電子裝置,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,處理器通過計算機程序執行上述的方法。
14.在本技術實施例中,區塊鏈中待退出的第二節點可以直接向區塊鏈中其他的第一節點請求從區塊鏈中退出,進而根據響應信息確定是否執行退鏈操作,而不用管理員手動確定是否將第二節點退出,可以解決相關技術中區塊鏈中節點退出的效率較低的技術問題,進而達到提高對區塊鏈節點管理效率的技術效果。
附圖說明
15.此處所說明的附圖用來提供對本技術的進一步理解,構成本技術的一部分,本技術的示意性實施例及其說明用于解釋本技術,并不構成對本技術的不當限定。在附圖中:
16.圖1是根據本技術實施例的一種可選的區塊鏈節點的處理方法的流程圖;
17.圖2是根據本技術實施例的一種可選的區塊鏈節點的處理方法的流程圖;
18.圖3是根據本技術實施例的一種可選的區塊鏈節點的處理方法的流程圖;
19.圖4是根據本技術實施例的一種可選的區塊鏈節點的處理裝置的示意圖;
20.圖5是根據本技術實施例的一種可選的區塊鏈節點的處理裝置的示意圖;以及,
21.圖6是根據本技術實施例的一種終端的結構框圖。
具體實施方式
22.為了使本技術領域的人員更好地理解本技術方案,下面將結合本技術實施例中的附圖,對本技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本技術一部分的實施例,而不是全部的實施例?;诒炯夹g中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本技術保護的范圍。
23.需要說明的是,本技術的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本技術的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
24.首先,在對本技術實施例進行描述的過程中出現的部分名詞或者術語適用于如下解釋:
25.區塊鏈技術:區塊鏈是一種新型去中心化分布式賬本技術,能安全地存儲數字貨幣交易或其他數據,特點是存儲在區塊鏈上的信息不可偽造和篡改,區塊鏈共識算法驅動區塊鏈上的每個節點都參與到交易的校驗過程中,保證區塊鏈上交易都是經過確認可信的,區塊鏈上每個節點都維護一個公共的賬本,用于存儲區塊鏈網絡上所有用戶的余額和智能合約數據,任何一個節點對自己所維護的賬本的修改都將不被其他節點所承認,從而保證公共賬本不可被偽造和篡改。
26.baas(blockchain as a service,區塊鏈即服務):它是一種新型的云服務,一種結合區塊鏈技術的云服務,和普通節點及交易節點相比,baas節點的用途主要是:快速建立自己所需的開發環境,提供基于區塊鏈的搜索查詢、交易提交、數據分析等一系列操作服務,這些服務既可以是中心化的,也可以是非中心化的,用來幫助開發者更快地校驗自己的概念和模型,baas提供的是配套服務,可為區塊鏈開發者、創業者提供孵化器。
27.數字摘要:數字摘要是hash算法重要用途之一,顧名思義,數字摘要是對原始的數字內容進行hash運算,獲取唯一的摘要值,利用hash函數抗碰撞性特點,數字摘要可以檢測內容是否被篡改過。
28.數字簽名:又稱公鑰數字簽名、電子簽章,是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現,用于鑒別數字信息的方法。一套數字簽名通常定義兩種互補的運算,一個用于簽名,另一個用于驗證。發送節點信息數據通過哈希加密生成摘要,然后利用發送節點的私鑰對摘要進行數字簽名,發送節點把信息數據、數字簽名、發送節點公鑰一起全網廣播給接收節點,就是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。具體包括rsa算法、dsa算法和ecdsa橢圓曲線數字簽名算法。
29.在目前的區塊鏈中,很多節點面臨加入聯盟鏈后無法退出的尷尬局面;或者要由聯盟鏈系統管理員配置相關文件,手動刪除待退出節點,節點退出聯盟鏈的效率較低,且與區塊鏈去中心化的思想相悖,另外,如果待退出節點存在業務未完成等情況,還可能會對鏈
上其他節點的正常工作造成干擾。類似地,在公有鏈和私有鏈中存在類似的問題。
30.根據本技術實施例的一方面,提供了一種區塊鏈節點的處理方法的方法實施例,以解決上述問題。圖1是根據本技術實施例的一種可選的區塊鏈節點的處理方法的流程圖,如圖1所示,該方法應用于第二節點,可以包括以下步驟:
31.步驟s102,第二節點向第一節點發送第一請求,第一請求用于第二節點請求從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點。
32.上述第二節點為區塊鏈(可以為公有鏈、私有鏈以及聯盟鏈,后續以聯盟鏈為例進行說明)中待退出的節點,第一節點為區塊鏈中除第二節點以外的其他節點。
33.步驟s104,第二節點獲取第一節點返回的第一響應信息,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出。
34.步驟s106,第二節點根據第一響應信息確定是否執行退鏈操作,退鏈操作為第二節點從區塊鏈中退出的操作。
35.通過上述步驟,區塊鏈中待退出的第二節點可以直接向區塊鏈中其他的第一節點請求從區塊鏈中退出,進而根據響應信息確定是否執行退鏈操作,而不用管理員手動確定是否將第二節點退出,可以解決相關技術中區塊鏈中節點退出的效率較低的技術問題,進而達到提高對區塊鏈節點管理效率的技術效果。下面結合圖1所示的步驟進一步詳述本技術的技術方案。
36.在步驟s102提供的技術方案中,第二節點向第一節點發送第一請求。
37.本技術的節點可以基于baas實現,baas是結合區塊鏈技術幫助用戶創建、管理和維護企業級區塊鏈網絡及應用的服務,利用baas可以快速建立所需的區塊鏈應用環境,提供基于區塊鏈網絡的搜索查詢,交易、數據分析等一系列操作服務。
38.在上述實施例中,第二節點向第一節點發送第一請求可以通過如下步驟1-步驟4實現:
39.步驟1,目標終端通過本地的baas客戶端向baas的云端服務器發送第二請求,第二請求用于目標帳號請求將第二節點從區塊鏈中退出,第二節點屬于目標帳號,目標帳號登錄在目標終端的客戶端上。
40.可選地,目標帳號在創建第二節點時,也可以在本地的baas客戶端上實現,云端在收到創建節點的請求后,在云端為第二節點分配相應的資源,從而創建第二節點。
41.步驟2,云端接收到第二請求,云端承載有第二節點。
42.步驟3,對第二請求進行鑒權。
43.可選地,對第二請求進行鑒權包括以下至少之一:確定第二請求攜帶的帳號名稱(也可稱為用戶名稱)是否為第二節點的帳號名稱;確定第二請求攜帶的帳號標識(也可以稱為用戶標識)是否為第二節點的帳號標識;確定第二請求攜帶的節點標識是否為第二節點的節點標識;確定第二請求攜帶的區塊鏈名稱是否為第二節點所在區塊鏈的名稱;以及,確定第二請求攜帶的區塊鏈標識是否為第二節點所在區塊鏈的標識。
44.若其中有任何一項信息不對則可以向用戶發出提示,提示用戶進行修改,并重新發起請求。
45.步驟4,在對第二請求鑒權通過的情況下,第二節點向第一節點發送利用第二節點的私鑰簽名的第一請求。
46.在步驟s104提供的技術方案中,第二節點獲取第一節點返回的第一響應信息。
47.第一節點在接收到第二節點的第一請求后,利用公鑰證書對該請求的來源進行驗證,驗證通過后根據第二節點的節點信息生成第一響應信息,第一響應信息表示第一節點是否同意第二節點從區塊鏈中退出,例如,在確認節點的身份后,根據第二節點的身份標識,在鏈上查詢該節點對應的交易信息,如是否有交易未完成,或節點義務未履行等異常情況,如果有就不同意退出,如果沒有就同意退出。
48.在步驟s106提供的技術方案中,第二節點根據第一響應信息確定是否執行退鏈操作。
49.可選地,根據第一響應信息確定是否執行退鏈操作包括如下兩種情況:其一是,在收到的表示同意的第一響應信息的數量達到目標閾值的情況下,執行退鏈操作,其中,目標閾值為小于等于第一節點的節點數量的正整數;其二是,在收到的表示同意的第一響應信息的數量未達到目標閾值的情況下,不執行退鏈操作。
50.上述的目標閾值可以為固定值,如100,也可以是按照某個比例確定的值,如按照90%確定的,區塊鏈中節點總數為1000,那么只要有900個節點同意第二節點退出,那么第二節點就可以退出。
51.可選地,上述執行退鏈操作包括:第二節點向區塊鏈的排序節點發送退鏈指令,退鏈指令用于指示排序節點向第一節點通知退鏈操作,第一節點用于將退鏈操作記入賬本;第二節點獲取排序節點返回的第二響應信息,第二響應信息用于表示第一節點對第二節點的退鏈操作達成共識,此時第二節點和第一節點之間的連接就會斷開。
52.根據本技術實施例的另一方面,還提供了一種區塊鏈節點的處理方法的方法實施例,圖2是根據本技術實施例的一種可選的區塊鏈節點的處理方法的流程圖,如圖2所示,該方法應用于第一節點,可以包括以下步驟:
53.步驟s202,第一獲取第二節點的第一請求,第一請求用于第二節點請求從區塊鏈中退出。
54.步驟s204,第一節點根據第二節點的節點信息生成第一響應信息,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點。
55.步驟s206,第一節點向第二節點返回第一響應信息,第二節點用于根據第一響應信息確定是否執行從區塊鏈中退出的退鏈操作。
56.可選地,在向第二節點返回第一響應信息之后,等待最終的共識結果通知:
57.步驟1,第二節點獲取區塊鏈的排序節點發送的通知消息,通知消息用于向第一節點通知第二節點的退鏈操作。
58.步驟2,將退鏈操作記入第一節點的賬本。
59.可選地,在將退鏈操作記入第一節點的賬本之后,斷開第一節點與第二節點之間的通信連接。
60.可選地,在將退鏈操作記入第一節點的賬本之后,刪除第一節點的通信許可列表中第二節點的節點標識,其中,通信許可列表用于保存允許與第一節點進行通信的節點的節點標識;刪除第一節點保存的第二節點的公鑰證書。
61.在上述技術方案中,待退出節點發出退出聯盟鏈的請求,baas對該節點的參數進
行校驗;參數校驗完成后,使用節點私鑰對請求執行數字簽名生成簽名信息的操作;將請求廣播給鏈上所有節點,鏈上節點對待退出節點的身份進行驗證,并確認其是否有交易未完成,確認后達成共識,其他節點與待退出節點中斷通信,之后待退出節點就不能訪問聯盟鏈了,此時,退鏈操作完成。
62.采用上述技術方案,實現了聯盟鏈節點的快速退出機制,減少了人工操作,將個別節點的退出對聯盟鏈的影響降低到最小的程度,保證了聯盟鏈的運行效率;通過實現基于baas的聯盟鏈退出機制,通過基于通過打造聯盟鏈的退出機制,填補了節點在聯盟鏈退出機制的技術缺位,為健康良性的區塊鏈生態提供了支持;聯盟鏈的節點退出機制的整個過程通過baas實現可視化,可以實時地、直觀地了解到退出流程的運行狀態和操作結果。
63.作為一種可選的實施例,下面繼續以將本技術的技術方案應用于聯盟鏈為例,結合圖3進一步進行說明。
64.步驟s302,用戶登錄baas,在baas上發起“退出聯盟鏈”的請求,用戶發起退出聯盟鏈請求,此請求為已經簽名完成的請求(使用節點的私鑰簽名),baas接受此請求。
65.請求內容包含退出指令和節點特征;退出指令用于告知聯盟鏈,有節點要求退出聯盟鏈,以便聯盟鏈能夠對退出請求做出處理;節點特征屬性包含但不限于節點標識、物理地址、網絡地址等信息。
66.步驟s304,baas對用戶發出的請求進行參數校驗,包含簽名等信息。
67.baas校驗用戶所發出的請求是否合法,校驗內容包括用戶名、用戶標識、節點標識、聯盟鏈名、聯盟鏈標識等中的一個或者多個。若校驗符合標準,則生成節點配置文件,否則發出提示信息,提示用戶修改相關參數。若校驗符合標準,則使用節點私鑰對請求執行數字簽名操作,生成簽名信息(該私鑰存儲于baas相關聯的數據庫中,由用戶通過baas進行管理,加密簽名過程是用戶通過baas進行操作,在節點中運行實現的);baas將簽名后的信息發到聯盟鏈中。
68.步驟s306,baas將簽名的請求發送至區塊鏈網絡上的各個節點。
69.步驟s308,鏈上節點對待退出節點身份進行身份驗證,并確認其是否有交易未完成。
70.聯盟鏈上的其他節點在收到待退出節點的“退出請求”后,利用待退出節點的公鑰證書對“退出請求”的來源節點的身份進行驗證,并對比賬本數據中的初始信息,驗證請求數據的合法性;在確認節點的身份后,根據待退出節點的身份標識,在鏈上查詢該節點對應的交易信息,如是否有交易未完成,或節點義務未履行等異常情況。
71.步驟s310,聯盟鏈采用針對節點退出事件的共識機制對此次行為進行共識,并將共識結果返回至baas,各節點中斷與待退出節點的通信。
72.在執行完步驟s308后,鏈上的各節點獨立地模擬執行當待退出節點的退出行為,生成執行結果(該結果不寫入本地賬本中),觀察該執行結果對自己節點的業務影響,獨立判斷并生成一個提議結果,并對該提議結果進行背書,即在結果中添加數字簽名(利用自己的私鑰對結果進行簽名)。然后這些節點將自己的背書結果發給待退出節點的baas,待退出節點的baas收集到滿足閾值數量的背書結果后(或者滿足pbft共識算法的要求后),向聯盟鏈中的排序節點發起退出聯盟鏈的事件,由排序節點對其進行排序服務,確保交易順序的一致性,提交記錄并生成新的區塊,聯盟鏈上的各節點驗證區塊的合法性,并且把區塊寫入
賬本中,至此,聯盟鏈對該節點的退出行為達成共識,將共識結果返回至待退出節點對應的baas中。
73.之后,各節點將待退出節點標識從本地的通信許可列表中刪除,刪除該節點的公鑰證書,并中斷與待退出節點的通信,待退出節點無法參與下一次交易的共識過程。至此,待退出節點最終退出聯盟鏈。
74.在使用的共識算法中,共識指在分布式系統中多個節點之間對某個事情(如上述的退鏈事件)達成一致看法的過程。達成某種共識并不意味著就保障了一致性。實踐中,要保障系統滿足不同程度的一致性,往往需要通過共識算法來達成。共識算法解決的是分布式系統對某個提案(proposal),大部分節點達成一致意見的過程。提案的含義在分布式系統中十分寬泛,如多個事件發生的順序、某個鍵對應的值、誰是主節點等等??梢哉J為任何可以達成一致的信息都是一個提案。對于分布式系統來講,各個節點通常都是相同的確定性狀態機模型(又稱為狀態機復制問題,state-machine replication),從相同初始狀態開始接收相同順序的指令,則可以保證相同的結果狀態。因此,系統中多個節點最關鍵地是對多個事件的順序進行共識,即排序。
75.根據解決的場景是否允許拜占庭錯誤情況,共識算法可以分為crash fault tolerance(cft)和byzantine fault tolerance(bft)兩類。對于非拜占庭錯誤的情況,可以采用paxos、raft等經典算法實現。這類容錯算法往往性能比較好,處理較快,容忍不超過一半的故障節點。對于要能容忍拜占庭錯誤的情況,包括以pbft(practical byzantine fault tolerance)為代表的確定性系列算法、以pow為代表的概率算法等。確定性算法一旦達成共識就不可逆轉,即共識是最終結果;而概率類算法的共識結果則是臨時的,隨著時間推移或某種強化,共識結果被推翻的概率越來越小,最終成為事實上結果。拜占庭類容錯算法往往性能較差,容忍不超過1/3的故障節點。此外,xft(cross fault tolerance)等最近提出的改進算法可以提供類似cft的處理響應速度,并能在大多數節點正常工作時提供bft保障。algorand算法是基于pbft進行改進,通過引入可驗證隨機函數解決了提案選擇的問題,理論上可以在容忍拜占庭錯誤的前提下實現更好的性能(1000+tps)。
76.步驟s312,將“退出聯盟鏈”的請求結果返回給用戶進行展示。
77.聯盟鏈將最終的結果返回至待退出節點baas展示,通知節點已經成功退出聯盟鏈。如果節點退出聯盟鏈失敗,則提示用戶相應的節點狀態信息,并繼續保持與聯盟鏈上其他節點的通信。
78.需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本技術并不受所描述的動作順序的限制,因為依據本技術,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作和模塊并不一定是本技術所必須的。
79.通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本技術的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算
機,服務器,或者網絡設備等)執行本技術各個實施例所述的方法。
80.根據本技術實施例的另一個方面,還提供了一種用于實施上述區塊鏈節點的處理方法的區塊鏈節點的處理裝置。圖4是根據本技術實施例的一種可選的區塊鏈節點的處理裝置的示意圖,如圖4所示,該裝置可以包括:
81.發送單元401,用于向第一節點發送第一請求,其中,第一請求用于第二節點請求從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點。
82.第一獲取單元403,用于獲取第一節點返回的第一響應信息,其中,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出。
83.處理單元405,用于根據第一響應信息確定是否執行退鏈操作,其中,退鏈操作為第二節點從區塊鏈中退出的操作。
84.需要說明的是,該實施例中的發送單元401可以用于執行本技術實施例中的步驟s102,該實施例中的第一獲取單元403可以用于執行本技術實施例中的步驟s104,該實施例中的處理單元405可以用于執行本技術實施例中的步驟s106。
85.通過上述模塊,區塊鏈中待退出的第二節點可以直接向區塊鏈中其他的第一節點請求從區塊鏈中退出,進而根據響應信息確定是否執行退鏈操作,而不用管理員手動確定是否將第二節點退出,可以解決相關技術中區塊鏈中節點退出的效率較低的技術問題,進而達到提高對區塊鏈節點管理效率的技術效果。
86.可選地,上述處理單元包括:第一處理模塊,用于在收到的表示同意的第一響應信息的數量達到目標閾值的情況下,執行退鏈操作,其中,目標閾值為小于等于第一節點的節點數量的正整數;第二處理模塊,用于在收到的表示同意的第一響應信息的數量未達到目標閾值的情況下,取消執行退鏈操作。
87.可選地,上述第一處理模塊還可用于:向區塊鏈的排序節點發送退鏈指令,其中,退鏈指令用于指示排序節點向第一節點通知退鏈操作,第一節點用于將退鏈操作記入賬本;獲取排序節點返回的第二響應信息,其中,第二響應信息用于表示第一節點對第二節點的退鏈操作達成共識。
88.可選地,本技術的裝置還可包括:鑒權單元,用于在向第一節點發送第一請求之前,在云端接收第二請求,其中,云端用于承載第二節點,第二請求用于目標帳號請求將第二節點從區塊鏈中退出,第二節點屬于目標帳號;對第二請求進行鑒權,其中,在對第二請求鑒權通過的情況下,執行向第一節點發送第一請求的步驟。
89.可選地,鑒權單元還可用于執行以下至少之一:確定第二請求攜帶的帳號名稱是否為第二節點的帳號名稱;確定第二請求攜帶的帳號標識是否為第二節點的帳號標識;確定第二請求攜帶的節點標識是否為第二節點的節點標識;確定第二請求攜帶的區塊鏈名稱是否為第二節點所在區塊鏈的名稱;以及,確定第二請求攜帶的區塊鏈標識是否為第二節點所在區塊鏈的標識。
90.根據本技術實施例的另一個方面,還提供了一種用于實施上述區塊鏈節點的處理方法的區塊鏈節點的處理裝置。圖5是根據本技術實施例的一種可選的區塊鏈節點的處理裝置的示意圖,如圖5所示,該裝置可以包括:
91.第二獲取單元501,用于獲取第二節點的第一請求,第一請求用于第二節點請求從區塊鏈中退出。
92.生成單元503,用于根據第二節點的節點信息生成第一響應信息,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點。
93.返回單元505,用于向第二節點返回第一響應信息,第二節點用于根據第一響應信息確定是否執行從區塊鏈中退出的退鏈操作。
94.需要說明的是,該實施例中的第二獲取單元501可以用于執行本技術實施例中的步驟s202,該實施例中的生成單元503可以用于執行本技術實施例中的步驟s204,該實施例中的返回單元505可以用于執行本技術實施例中的步驟s206。
95.可選地,本技術的裝置還可包括:共識單元,用于在向第二節點返回第一響應信息之后,獲取區塊鏈的排序節點發送的通知消息,其中,通知消息用于向第一節點通知第二節點的退鏈操作;以及,將退鏈操作記入第一節點的賬本。
96.可選地,本技術的裝置還可包括:斷開單元,用于在將退鏈操作記入第一節點的賬本之后,斷開第一節點與第二節點之間的通信連接。
97.可選地,本技術的裝置還可包括:刪除單元,用于在將退鏈操作記入第一節點的賬本之后,刪除第一節點的通信許可列表中第二節點的節點標識,其中,通信許可列表用于保存允許與第一節點進行通信的節點的標識;和/或,刪除第一節點保存的第二節點的公鑰證書。
98.根據本技術實施例的另一個方面,還提供了一種用于實施上述區塊鏈節點的處理方法的區塊鏈節點的處理系統,該系統包括:第一節點和第二節點,第一節點用于在接收到第二節點發送的第一請求的情況下,向第二節點返回生成的第一響應信息,其中,第一請求用于第二節點請求從區塊鏈中退出,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點;第二節點用于在向第一節點發送第一請求之后,根據接收到的第一響應信息確定是否執行退鏈操作,其中,退鏈操作為第二節點從區塊鏈中退出的操作。
99.此處需要說明的是,上述模塊與對應的步驟所實現的示例和應用場景相同,但不限于上述實施例所公開的內容。需要說明的是,上述模塊作為裝置的一部分可以運行相應的硬件環境中,可以通過軟件實現,也可以通過硬件實現,其中,硬件環境包括網絡環境。
100.根據本技術實施例的另一個方面,還提供了一種用于實施上述區塊鏈節點的處理方法的服務器或終端。
101.圖6是根據本技術實施例的一種終端的結構框圖,如圖6所示,該終端可以包括:一個或多個(圖6中僅示出一個)處理器601、存儲器603、以及傳輸裝置605,如圖6所示,該終端還可以包括輸入輸出設備607。
102.其中,存儲器603可用于存儲軟件程序以及模塊,如本技術實施例中的區塊鏈節點的處理方法和裝置對應的程序指令/模塊,處理器601通過運行存儲在存儲器603內的軟件程序以及模塊,從而執行各種功能應用以及數據處理,即實現上述的區塊鏈節點的處理方法。存儲器603可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態存儲器。在一些實例中,存儲器603可進一步包括相對于處理器601遠程設置的存儲器,這些遠程存儲器可以通過網絡連接至終端。上述網絡的實例包括但不限于互聯網、企業內部網、局域網、移動通信網及其組合。
103.上述的傳輸裝置605用于經由一個網絡接收或者發送數據,還可以用于處理器與存儲器之間的數據傳輸。上述的網絡具體實例可包括有線網絡及無線網絡。在一個實例中,傳輸裝置605包括一個網絡適配器(network interface controller,nic),其可通過網線與其他網絡設備與路由器相連從而可與互聯網或局域網進行通訊。在一個實例中,傳輸裝置605為射頻(radio frequency,rf)模塊,其用于通過無線方式與互聯網進行通訊。
104.其中,具體地,存儲器603用于存儲應用程序。
105.處理器601可以通過傳輸裝置605調用存儲器603存儲的應用程序,以執行下述步驟:
106.向第一節點發送第一請求,其中,第一請求用于第二節點請求從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點;
107.獲取第一節點返回的第一響應信息,其中,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出;以及,
108.根據第一響應信息確定是否執行退鏈操作,其中,退鏈操作為第二節點從區塊鏈中退出的操作。
109.可選地,本實施例中的具體示例可以參考上述實施例中所描述的示例,本實施例在此不再贅述。
110.本領域普通技術人員可以理解,圖6所示的結構僅為示意,終端可以是智能手機(如android手機、ios手機等)、平板電腦、掌上電腦以及移動互聯網設備(mobile internet devices,mid)、pad等終端設備。圖6其并不對上述電子裝置的結構造成限定。例如,終端還可包括比圖6中所示更多或者更少的組件(如網絡接口、顯示裝置等),或者具有與圖6所示不同的配置。
111.本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設備相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:閃存盤、只讀存儲器(read-only memory,rom)、隨機存取器(random access memory,ram)、磁盤或光盤等。
112.本技術的實施例還提供了一種存儲介質??蛇x地,在本實施例中,上述存儲介質可以用于執行區塊鏈節點的處理方法的程序代碼。
113.可選地,在本實施例中,上述存儲介質可以位于上述實施例所示的網絡中的多個網絡設備中的至少一個網絡設備上。
114.可選地,在本實施例中,存儲介質被設置為存儲用于執行以下步驟的程序代碼:
115.向第一節點發送第一請求,其中,第一請求用于第二節點請求從區塊鏈中退出,第一節點為區塊鏈中與第二節點不同的節點;
116.獲取第一節點返回的第一響應信息,其中,第一響應信息用于表示第一節點是否同意第二節點從區塊鏈中退出;以及,
117.根據第一響應信息確定是否執行退鏈操作,其中,退鏈操作為第二節點從區塊鏈中退出的操作。
118.可選地,本實施例中的具體示例可以參考上述實施例中所描述的示例,本實施例在此不再贅述。
119.可選地,在本實施例中,上述存儲介質可以包括但不限于:u盤、只讀存儲器(rom,
read-only memory)、隨機存取存儲器(ram,random access memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
120.上述本技術實施例序號僅僅為了描述,不代表實施例的優劣。
121.上述實施例中的集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質中?;谶@樣的理解,本技術的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在存儲介質中,包括若干指令用以使得一臺或多臺計算機設備(可為個人計算機、服務器或者網絡設備等)執行本技術各個實施例所述方法的全部或部分步驟。
122.在本技術的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
123.在本技術所提供的幾個實施例中,應該理解到,所揭露的客戶端,可通過其它的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
124.所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
125.另外,在本技術各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
126.以上所述僅是本技術的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本技術原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本技術的保護范圍。