TWI727467B - Trustworthiness verification method, system, device and equipment of alliance chain - Google Patents

Trustworthiness verification method, system, device and equipment of alliance chain Download PDF

Info

Publication number
TWI727467B
TWI727467B TW108137659A TW108137659A TWI727467B TW I727467 B TWI727467 B TW I727467B TW 108137659 A TW108137659 A TW 108137659A TW 108137659 A TW108137659 A TW 108137659A TW I727467 B TWI727467 B TW I727467B
Authority
TW
Taiwan
Prior art keywords
node
transaction
client
location query
chain
Prior art date
Application number
TW108137659A
Other languages
Chinese (zh)
Other versions
TW202027456A (en
Inventor
楊新穎
Original Assignee
開曼群島商創新先進技術有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 開曼群島商創新先進技術有限公司 filed Critical 開曼群島商創新先進技術有限公司
Publication of TW202027456A publication Critical patent/TW202027456A/en
Application granted granted Critical
Publication of TWI727467B publication Critical patent/TWI727467B/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

公開了一種聯盟鏈的可信度驗證方法、系統、裝置及設備。在客戶端透過對接節點完成交易上鏈存證之後,針對該交易,客戶端向聯盟鏈中的多個節點發起交易位置查詢請求,從而可以得到多個節點對於該交易的各自的查詢結果。進而,可以基於多個節點的位置查詢結果的一致程度去驗證該聯盟鏈的可信度,提高用戶體驗。A method, system, device and equipment for verifying the credibility of a consortium chain are disclosed. After the client completes the transaction on-chain certification through the docking node, for the transaction, the client initiates a transaction location query request to multiple nodes in the alliance chain, so as to obtain the respective query results of the multiple nodes for the transaction. Furthermore, the credibility of the consortium chain can be verified based on the consistency of the location query results of multiple nodes, and the user experience can be improved.

Description

聯盟鏈的可信度驗證方法、系統、裝置及設備Trustworthiness verification method, system, device and equipment of alliance chain

本說明書實施例關於資訊技術領域,尤其關於一種聯盟鏈的可信度驗證方法、系統、裝置及設備。The embodiments of this specification relate to the field of information technology, in particular to a method, system, device, and equipment for verifying the credibility of a consortium chain.

在聯盟鏈中,常常存在功能差異很大的多個節點,例如,在一條著作權存證的聯盟鏈上,可能包括作品發佈節點、版權登記節點、版權轉讓節點以及公證節點等等。而基於用戶的不同需求,和用戶對接的往往只是其中的一個節點,該節點可以認為是該用戶的對接節點。例如,用戶透過某節點所發佈的應用程式APP發佈了一項交易,並透過該對接節點將該交易進行了聯盟鏈存證,以後再進行驗證時也往往是透過該對接節點進行。 在這個過程中,用戶本身難以感知整個聯盟鏈的其它節點,通常也對於其它節點並無多大興趣。在用戶體驗中,交易的完成和驗證彷彿是對接節點為中心的,進而,用戶就會對該對接節點以及聯盟鏈的可信度產生疑慮。 基於此,需要一種可以讓用戶對聯盟鏈的可信度進行驗證的方案。In a consortium chain, there are often multiple nodes with very different functions. For example, a consortium chain for copyright deposit may include a work publishing node, a copyright registration node, a copyright transfer node, a notarization node, and so on. However, based on the different needs of users, it is often only one of the nodes that docks with the user, and this node can be considered as the docking node of the user. For example, a user publishes a transaction through the application APP published by a certain node, and the transaction is deposited on the consortium chain through the docking node, and subsequent verifications are often performed through the docking node. In this process, it is difficult for users to perceive other nodes in the entire consortium chain, and they usually have little interest in other nodes. In the user experience, the completion and verification of transactions seems to be centered on the docking node, and in turn, users will have doubts about the credibility of the docking node and the alliance chain. Based on this, there is a need for a solution that allows users to verify the credibility of the alliance chain.

針對現有技術中用戶在對於聯盟鏈的可信驗證中,體驗不佳的問題,為提高用戶體驗,本說明書實施例提供一種可以讓用戶對聯盟鏈的可信度進行驗證的方案,該方案的第一方面,包括一種聯盟鏈的可信度驗證方法,在客戶端生成交易,並透過對接節點將所述交易上鏈存證後,包括: 客戶端獲取聯盟鏈中的多個節點地址; 根據所述多個節點位址,發送交易位置查詢請求至所述多個節點,其中,所述交易位置查詢請求中包含所述交易的摘要雜湊; 任一節點接收所述位置查詢請求,基於所述摘要雜湊各自查詢所述摘要雜湊所對應的交易在所述聯盟鏈中的位置資訊,並返回所述位置查詢結果至客戶端; 客戶端基於所述多個節點分別返回的位置查詢結果的一致程度,驗證包含所述交易資訊的聯盟鏈的可信度。 第二方面,本說明書實施例還提供一種聯盟鏈的可信度驗證方法,在用戶生成交易,並透過對接節點將所述交易上鏈存證後,包括: 獲取聯盟鏈中的多個節點地址; 根據所述多個節點位址,發送交易位置查詢請求至所述多個節點,其中,所述交易位置查詢請求中包含所述交易的摘要雜湊; 根據所述多個節點分別返回的位置查詢結果的一致程度,驗證包含所述交易資訊的聯盟鏈的可信度。 In view of the problem of poor user experience in the credibility verification of the consortium chain in the prior art, in order to improve the user experience, the embodiments of this specification provide a solution that allows users to verify the credibility of the consortium chain. The first aspect includes a method for verifying the credibility of the consortium chain. After generating a transaction on the client side and storing the transaction on the chain through the docking node, it includes: The client obtains the addresses of multiple nodes in the consortium chain; Sending a transaction location query request to the multiple nodes according to the multiple node addresses, wherein the transaction location query request includes a summary hash of the transaction; Any node receives the location query request, queries the location information of the transaction corresponding to the summary hash in the alliance chain based on the summary hash, and returns the location query result to the client; The client verifies the credibility of the alliance chain containing the transaction information based on the degree of consistency of the location query results returned by the multiple nodes. In the second aspect, the embodiment of this specification also provides a method for verifying the credibility of the consortium chain. After the user generates a transaction and uploads the transaction to the chain through the docking node, the method includes: Obtain the addresses of multiple nodes in the consortium chain; Sending a transaction location query request to the multiple nodes according to the multiple node addresses, wherein the transaction location query request includes a summary hash of the transaction; According to the degree of consistency of the location query results returned by the multiple nodes, the credibility of the alliance chain containing the transaction information is verified.

第三方面,本說明書實施例還提供一種聯盟鏈中的請求處理方法,在節點為聯盟鏈中的節點時,包括:所述節點確定自身節點用戶的用戶標識,其中,所述用戶標識用於標識用戶身份,以及,用於標識和該用戶對接的節點;發送白名單至聯盟鏈中的其它節點,以便其它節點根據所述白名單確定是否執行非自身節點用戶所發送的請求,所述請求包括交易位置查詢請求或者簡單支付驗證SPV請求,所述請求中包含目標交易的摘要雜湊。 In the third aspect, the embodiment of this specification also provides a request processing method in the consortium chain. When the node is a node in the consortium chain, the method includes: the node determines the user identity of the user of its own node, wherein the user identity is used for Identify the identity of the user, and to identify the node that is connected to the user; send a whitelist to other nodes in the alliance chain, so that other nodes can determine whether to execute the request sent by the user who is not their own node according to the whitelist, the request It includes a transaction location query request or a simple payment verification SPV request, and the request includes a summary hash of the target transaction.

與第一方面對應的,本說明書實施例還提供一種聯盟鏈的可信度驗證系統,包括客戶端和聯盟鏈網路,所述聯盟鏈網路包括多個節點;在客戶端生成交易,並透過對接節點將所述交易上鏈存證後,客戶端獲取聯盟鏈中的多個節點地址;根據所述多個節點位址,發送交易位置查詢請求至所述多個節點,其中,所述交易位置查詢請求中包含所述交易的摘要雜湊;聯盟鏈網路中的任一節點接收所述位置查詢請求,基於所述摘要雜湊各自查詢所述摘要雜湊所對應的交易在所述聯盟鏈中的位置資訊,並返回所述位置查詢結果至客戶端;客戶端基於所述多個節點分別返回的位置查詢結果的一致程度,驗證包含所述交易資訊的聯盟鏈的可信度。 Corresponding to the first aspect, the embodiment of this specification also provides a credibility verification system for a consortium chain, including a client and a consortium chain network. The consortium chain network includes a plurality of nodes; transactions are generated on the client, and After depositing the transaction on the chain through the docking node, the client obtains multiple node addresses in the alliance chain; according to the multiple node addresses, sends a transaction location query request to the multiple nodes, where the The transaction location query request includes the summary hash of the transaction; any node in the alliance chain network receives the location query request, and based on the summary hash each query the transaction corresponding to the summary hash in the alliance chain And return the location query result to the client; the client verifies the credibility of the alliance chain containing the transaction information based on the degree of consistency of the location query results returned by the multiple nodes.

與第二方面對應的,本說明書實施例還提供一種聯盟 鏈的可信度驗證裝置,在用戶生成交易,並透過對接節點將所述交易上鏈存證後,所述裝置包括:獲取模組,獲取聯盟鏈中的多個節點位址;發送模組,根據所述多個節點位址,發送交易位置查詢請求至所述多個節點,其中,所述交易位置查詢請求中包含所述交易的摘要雜湊;接收模組,接收所述多個節點分別返回的位置查詢結果;驗證模組,根據所述位置查詢結果的一致程度,驗證包含所述交易資訊的聯盟鏈的可信度。 Corresponding to the second aspect, the embodiment of this specification also provides an alliance The credibility verification device of the chain. After the user generates a transaction and deposits the transaction on the chain through the docking node, the device includes: an acquisition module to acquire the addresses of multiple nodes in the alliance chain; and a sending module , According to the multiple node addresses, send a transaction location query request to the multiple nodes, wherein the transaction location query request includes a summary hash of the transaction; the receiving module receives the multiple nodes respectively The returned location query result; the verification module verifies the credibility of the alliance chain containing the transaction information according to the degree of consistency of the location query result.

與第三方面對應的,本說明書實施例還提供一種聯盟鏈中的請求處理裝置,位於所述聯盟鏈中的節點上,包括:確定模組,確定自身節點用戶的用戶標識,其中,所述用戶標識用於標識用戶身份,以及,用於標識和該用戶對接的節點;發送模組,發送白名單至聯盟鏈中的其它節點,以便其它節點根據所述白名單確定是否執行非自身節點用戶所發送的請求,所述請求包括交易位置查詢請求或者簡單支付驗證SPV請求,所述請求中包含目標交易的摘要雜湊。 Corresponding to the third aspect, an embodiment of this specification also provides a request processing device in a consortium chain, which is located on a node in the consortium chain, and includes: a determination module that determines the user identity of the user of the node of its own The user ID is used to identify the user's identity, and to identify the node that connects with the user; the sending module sends a whitelist to other nodes in the alliance chain, so that other nodes can determine whether to execute non-self-node users according to the whitelist The sent request, the request includes a transaction location query request or a simple payment verification SPV request, and the request includes a summary hash of the target transaction.

本說明書實施例所提供的方案中,在客戶端透過對接節點完成交易上鏈存證之後,針對該交易,客戶端針向聯盟鏈中的多個節點發起交易位置查詢請求,從而可以得到多個節點對於該交易的各自的位置查詢結果。進而,可以基於多個節點的位置查詢結果的一致程度去驗證該聯盟鏈的可信度,提高用戶體驗。 應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本說明書實施例。 此外,本說明書實施例中的任一實施例並不需要達到上述的全部效果。In the solution provided by the embodiment of this specification, after the client completes the transaction on-chain deposit certificate through the docking node, for the transaction, the client initiates a transaction location query request to multiple nodes in the alliance chain, so that multiple The node queries the result of the respective position of the transaction. Furthermore, the credibility of the consortium chain can be verified based on the consistency of the location query results of multiple nodes, and the user experience can be improved. It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the embodiments of this specification. In addition, any one of the embodiments of the present specification does not need to achieve all the above-mentioned effects.

為了使本領域技術人員更好地理解本說明書實施例中的技術方案,下面將結合本說明書實施例中的附圖,對本說明書實施例中的技術方案進行詳細地描述,顯然,所描述的實施例僅僅是本說明書的一部分實施例,而不是全部的實施例。基於本說明書中的實施例,本領域普通技術人員所獲得的所有其他實施例,都應當屬於保護的範圍。 在聯盟鏈中通常包含了多個不同的功能節點,在當前,聯盟鏈常採用的一種架構為,各功能節點分別面向各自的用戶,用戶透過他們感興趣的功能節點接入聯盟鏈。 在本說明書實施例所涉及的聯盟鏈中的節點,可以認為每個節點都參與聯盟鏈網路的路由功能,同時也可以包含其他功能,例如,每個節點都可以參與驗證並傳播交易及區塊資訊,發現並維持與對等節點的連接,以及還可以在本機存放區有完整的聯盟鏈,和一些與聯盟鏈相關的資料。 如圖1所示,圖1為當前聯盟鏈中所涉及的一種架構。在圖1中,聯盟鏈網路中的節點可能都包含有不同的功能,以及,各節點由於提供不同的功能,面向的目標用戶也常常並不相同,在同一聯盟鏈中,各功能節點還經常分別開發自己的應用程式APP讓自身節點用戶進行註冊並接入。而用戶則通常從中選取一個節點對接聯盟鏈,進行交易發佈以及驗證。 以下結合附圖,詳細說明本說明書各實施例提供的技術方案。本說明書實施例的方案的第一方面,如圖2所示,圖2是本說明書實施例提供的系統方面的一種聯盟鏈的可信度驗證方法的流程示意圖,在客戶端生成交易,並透過對接節點將所述交易上鏈存證後,該流程具體包括如下步驟: S201,客戶端獲取聯盟鏈中的多個節點地址。 對客戶端而言,已知的是對接節點的位址,聯盟鏈中的其它節點位址可以向對接節點請求獲得。也可以透過其它方式獲取,例如,聯盟鏈中的所有節點定時將自己的地址發佈至某公開雲端,客戶端本地保存一張地址清單,並且客戶端定期從該公開雲端獲取所有節點的位址對該地址清單進行更新,從而,可以從該地址清單中隨時選取若干節點位址。透過該方式,可以繞開客戶端的對接節點,提高用戶對於整個聯盟鏈的信任程度。 S203,根據所述多個節點位址,發送交易位置查詢請求至所述多個節點,其中,所述交易位置查詢請求中包含所述交易的摘要雜湊。 由於在用戶完成交易並透過對接節點上鏈存證之後,就會收到一個關於該存證交易的通知消息,通常其中就包括摘要雜湊,並保存於客戶端本地。因此,客戶端總是可以從本地中獲取該摘要雜湊,並將其加入交易位置查詢請求中。 在客戶端方面,可以是在收到該通知消息後,根據用戶的指令發起查詢請求;也可以是,接收到該通知消息即觸發查詢請求。 S205,任一節點接收所述位置查詢請求,基於所述摘要雜湊各自查詢所述摘要雜湊所對應的交易在所述聯盟鏈中的位置資訊,並返回所述位置查詢結果至客戶端。 一個區塊鏈由多個區塊組成,同時,一個區塊中通常包含多個交易。因此,在本說明書實施例中,所述的位置資訊具體指的是該交易被存證時,處於區塊鏈中的哪個區塊上,以及,在該區塊中的什麼位置。 在區塊鏈中,可以有多種方式用來標識不同的區塊,例如,區塊頭雜湊值或者區塊高度(block height)。區塊頭雜湊值即為區塊頭進行雜湊計算而得到的雜湊值,可以用於唯一、明確地標識一個區塊。在區塊鏈中,通常第一個區塊其區塊高度為0,以後每增加一個區塊,區塊高度加1。一個區塊通常有一個明確的區塊高度。因此,區塊頭雜湊值或者區塊高度可以作為區塊中繼資料的一部分,被儲存在節點中一個獨立的資料庫表中,以便於索引和更快地檢索到該區塊。 同時,在一個區塊中,由於通常包含了多個交易,因此,還可以用各交易在該區塊中的位址偏移量來分別標識區塊中的交易。顯而易見,在同一個區塊中,各交易的位址偏移量並不相同。 進而,可以在交易所處的區塊上鏈存證以後,各節點中可以透過維護一張形如(交易摘要雜湊,區塊頭雜湊值,位址偏移量),或者,(交易摘要雜湊,區塊高度,位址偏移量)的資料表,就可以透過交易的摘要雜湊查詢得到對應的區塊標識以及交易在區塊中的位址。換言之,節點可以透過交易的摘要雜湊確定該交易在聯盟鏈中的位置。 當然,由於區塊鏈的具體格式是可以自訂的,在不同的區塊格式下,位置資訊的內容也會有所不同,這並不構成對本方案的限定。此外,需要說明的是,任一節點接收到的請求可以是直接來自於客戶端,也可以是接收聯盟鏈中其它節點所轉發的客戶端請求。 S207,客戶端基於所述多個節點分別返回的位置查詢結果的一致程度,驗證包含所述交易資訊的聯盟鏈的可信度。 每個節點在查詢結束之後,即可以將查詢結果返回客戶端。需要說明的是,該過程可以是一個非同步處理過程,客戶端在發送完查詢請求之後,並不需要即時的回饋結果。因此,客戶端可以等待所有的節點都返回一個查詢結果再進行驗證。 由於一個交易在聯盟鏈中只會有一個確定的位置,因此,聯盟鏈的可信度可以基於查詢結果的一致程度而定。理論上,各節點所返回的位置資訊應該完全相同。一個較為嚴格的驗證方式即為,若所有位置查詢結果均一致,則該聯盟鏈為可信的。當然,由於各種網路原因、設備原因等等,可以容許一定的偏差。例如,根據返回的所有結果的對一致程度進行計算,若返回的結果中不存在占比超過95%的相同查詢結果,則認為聯盟度可信度為0,否則,將所述相同結果的占比作為該聯盟鏈的可信度。 進一步地,當確定聯盟鏈不可信時,還可以發出警報。具體的,警報消息中可以指出各節點的查詢結果不一致的程度是多少(即有多少個或者多少比例與多數結果不一致),以及,具體的給出與多數結果不一致的節點和該類節點的查詢結果。 本說明書實施例所提供的方案中,在用戶透過對接節點完成交易上鏈存證之後,針對該交易,用戶針向聯盟鏈中的多個節點發起交易位置查詢請求,從而可以得到多個節點對於該交易的各自的查詢結果。進而,可以基於多個節點的位置查詢結果的一致程度去驗證該聯盟鏈的可信度,提高用戶體驗。 在一種具體的實施方式下,客戶端獲取聯盟鏈中的多個節點位址,可以是客戶端隨機獲取聯盟鏈中的多個節點位址,隨機獲取節點位址驗證一方面可以使得驗證結果更加公正,另一方面,也可以使得用戶的請求平均的流向向各節點,避免某些用戶多的節點負荷太重。又或者,客戶端獲取聯盟鏈中包含所述對接節點位址的多個節點位址,在這種方式下,用戶可以首先選取一批節點位址,然後再將對接節點的地址加入即可。加入對接節點進行驗證時,在返回的結果中也包含對接節點的驗證結果,可以使得驗證更具有針對性,提高用戶體驗。 在一種具體的實施方式下,用戶還可以根據所述多個節點位址,發送簡單支付驗證SPV請求至所述多個節點,其中,所述SPV請求中包含所述交易的摘要雜湊。任一節點基於所述摘要雜湊,各自驗證所述摘要雜湊所對應的交易是否是處於所述聯盟鏈中,生成SPV驗證結果,並返回所述SPV驗證結果至客戶端。客戶端基於所述多個節點分別返回的SPV驗證結果,驗證包含所述交易資訊的聯盟鏈的可信度。 在區塊鏈的每個區塊中,包含了記錄於該區塊的所有交易,並且可以默克爾Merkle樹表示。區塊中所有的交易將資料雜湊化,然後將雜湊值儲存至相應的葉子節點中。樹中的一個葉子節點表徵區塊中存在一筆對應的交易。為了證明區塊中存在某個特定的目標交易,一個節點只需要計算log2 N個雜湊值,形成一條從目標交易到樹根的Merkle路徑即可。 節點在進行簡單支付驗證(Simplified Payment Verification,SPV)時,不必保存所有交易也不必下載整個區塊。節點可以僅僅保存區塊頭,並透過目標交易的雜湊和Merkle路徑來驗證目標交易是否存在於該區塊中。換言之,各節點的SPV驗證結果是一個二值結果,要麼為“是”,要麼為“否”。 由於一個交易在聯盟鏈中要麼存在,要麼不存在,理論上,當聯盟鏈沒有問題時,各節點所返回的SPV驗證結果應該完全相同。因此,一個較為嚴格的可信度確認方式為,若所有SPV驗證結果均一致為“是”,則確認該聯盟鏈是可信的,否則是不可信的。當然,由於各種網路原因、設備原因等等,可以容許一定的偏差。例如,設定一個閾值,若SPV驗證結果的一致為“是”的程度超過該閾值,則確認該聯盟鏈是可信的。 進一步地,當確認該聯盟鏈不可信時,還可以發出警報。具體的,警報消息中可以指出各節點的查詢結果不一致的程度是多少(即“是”和“否”的結果分別是多少),以及,具體的給出與多數結果不一致的節點和該類節點的查詢結果。以及,還可以根據返回的所有結果的不一致的程度計算一個可信度數值作為參考。例如,若返回的結果中不存在占比超過一定閾值的相同查詢結果,則認為聯盟度可信,否則,則認為聯盟鏈不可信。 需要說明的是,上述基於位置查詢結果的一致性進行驗證的方案,和基於SPV驗證的結果的一致性進行驗證的方案,屬於可以同時分開進行的方案。在實際操作中,二者的驗證結果是分別獨立的。換言之,客戶端可以只選擇一種方式執行驗證,也可以同時選擇兩種方式執行驗證,在同時執行兩種驗證方案時,需要二種驗證方案的結果同時滿足一致性條件,才認為聯盟鏈是可信的。以及,在驗證的過程中,兩種方案的執行不分先後。 由於在聯盟鏈中,各功能節點通常會有自己的對接客戶端以及對應的對接用戶。在本說明書實施例的方案中,各節點經常需要處理來自於非自身節點用戶的請求。 在一種實施方式下,節點可以對於任意連接自己的客戶端所發送的查詢請求或者SPV請求進行處理。在另一種實施方式下,基於聯盟共用的原則,各節點還可以提供查詢服務或者SPV服務給白名單用戶,如果發送請求的客戶端標識在白名單上,則進行處理,否則,不進行處理。 確定白名單用戶的具體方式包括:聯盟鏈中的任一節點確定自身的白名單,並廣播白名單至聯盟鏈中的其它節點,以便其它節點根據所述白名單確定是否執行查詢處理。一種常見的處理方式即為,聯盟鏈中的任一節點將自身的註冊用戶確認為白名單用戶並進行廣播。而其它節點則可以根據請求所包含的客戶端標識是否是白名單用戶,來決定是否進行進一步的處理。此處的白名單可以以節點為最小單元,也可以以用戶為最小單元,各節點所保存的白名單用戶可以相同,也可以不同。節點接收到白名單用戶所發送的請求時才進行處理。 例如,假設聯盟鏈中存在A、B、C、D四個節點,在上述方案中,可以B、C、D節點將A節點的對接用戶確認為白名單用戶,四個節點共同維護;也可以在B節點的白名單用戶中包括A節點的用戶,但是C、D節點的白名單用戶中不包括A節點的用戶。具體的情形可以基於業務情形自行確定。 在較為一般的情形中,政府機構(例如公證處)或者公益機構(例如慈善機構)節點的對接用戶可以是所有聯盟鏈中其它節點的白名單用戶,一個節點的業務夥伴節點的節點用戶也可以是該節點的白名單用戶。進一步,在各節點中還可以根據用戶的來源或者歷史行為資料以及其它因素(例如,第三方信用評估分),對白名單用戶進行許可權分級,例如,最低許可權的白名單用戶只有查詢許可權,更高許可權的白名單用戶可能還可以擁有進一步的其它許可權等等。 在實際應用中,一個聯盟鏈中各節點的用戶數量情形並不相同,有的節點的對接用戶多,有的節點的對接用戶少。通常而言,那些直接面對市場的節點的對接用戶的數量總是多餘一些後方節點的數量。例如,在一個用於保護著作權的聯盟鏈中,面對創作者的作品發佈平臺的註冊用戶,總是遠多於公證處的註冊用戶。 那麼在這種情形下,本說明書實施例的方案中,聯盟中的各節點在對於請求處理上並不是“公平”的。換言之,註冊用戶少的節點總是會接收到超出本身本應負責處理的請求數量,這對於註冊用戶少的節點並不是很有利。 此時,一種可實施的方式為,任一節點在接收到請求並決定處理時,首先做一個判斷,確定該節點確定自身對於其它節點用戶所發起的位置查詢請求的第一處理次數,以及,確認其它節點對於該節點用戶所發起的位置查詢請求的第二處理次數;根據所述第一處理次數和第二處理次數,判斷是否延遲處理所述位置查詢請求。In order to enable those skilled in the art to better understand the technical solutions in the embodiments of this specification, the technical solutions in the embodiments of this specification will be described in detail below in conjunction with the drawings in the embodiments of this specification. Obviously, the described implementation The examples are only a part of the embodiments in this specification, not all the embodiments. Based on the embodiments in this specification, all other embodiments obtained by those of ordinary skill in the art should fall within the scope of protection. A consortium chain usually contains multiple different functional nodes. At present, an architecture often adopted by the consortium chain is that each functional node faces its own users, and users access the consortium chain through the functional nodes they are interested in. In the nodes in the consortium chain involved in the embodiments of this specification, it can be considered that each node participates in the routing function of the consortium chain network, and can also include other functions. For example, each node can participate in the verification and propagation of transactions and zones. Block information, discover and maintain connections with peer nodes, and can also have a complete alliance chain in the local storage area, and some data related to the alliance chain. As shown in Figure 1, Figure 1 is an architecture involved in the current alliance chain. In Figure 1, the nodes in the alliance chain network may all contain different functions, and because each node provides different functions, the target users are often not the same. In the same alliance chain, each function node also We often develop our own application programs respectively to allow users of our own nodes to register and access. The user usually selects a node to connect to the alliance chain for transaction release and verification. The technical solutions provided by the embodiments of this specification will be described in detail below with reference to the accompanying drawings. The first aspect of the solution of the embodiment of this specification is shown in Figure 2. Figure 2 is a schematic flow diagram of a method for verifying the credibility of a consortium chain in the system aspect of the embodiment of this specification. The transaction is generated on the client and passed After the docking node deposits the transaction on the chain, the process specifically includes the following steps: S201, the client obtains the addresses of multiple nodes in the alliance chain. For the client, the address of the docking node is known, and the addresses of other nodes in the alliance chain can be obtained by requesting the docking node. It can also be obtained through other methods. For example, all nodes in the alliance chain regularly publish their addresses to a public cloud, and the client locally saves a list of addresses, and the client regularly obtains the address pairs of all nodes from the public cloud. The address list is updated, so that several node addresses can be selected from the address list at any time. In this way, the docking node of the client can be bypassed, and the user's trust in the entire consortium chain can be improved. S203: Send a transaction location query request to the multiple nodes according to the multiple node addresses, wherein the transaction location query request includes a summary hash of the transaction. After the user completes the transaction and deposits the certificate on the chain through the docking node, he will receive a notification message about the deposit transaction, which usually includes the digest hash and saves it locally on the client. Therefore, the client can always obtain the digest hash locally and add it to the transaction location query request. On the client side, after receiving the notification message, it can initiate a query request according to the user's instruction; it can also be that receiving the notification message triggers the query request. S205, any node receives the location query request, queries the location information of the transaction corresponding to the summary hash in the alliance chain based on the summary hash, and returns the location query result to the client. A blockchain is composed of multiple blocks, and at the same time, a block usually contains multiple transactions. Therefore, in the embodiment of this specification, the location information specifically refers to which block in the blockchain the transaction is in when the transaction is recorded, and where it is in the block. In the blockchain, there can be multiple ways to identify different blocks, for example, block header hash value or block height (block height). The block header hash value is the hash value obtained by the hash calculation of the block header, which can be used to uniquely and clearly identify a block. In the blockchain, the block height of the first block is usually 0, and the block height is increased by 1 for each additional block in the future. A block usually has a clear block height. Therefore, the block header hash value or the block height can be used as a part of the block metadata and stored in an independent database table in the node for easy indexing and faster retrieval of the block. At the same time, since a block usually contains multiple transactions, the address offset of each transaction in the block can also be used to identify the transactions in the block. Obviously, in the same block, the address offset of each transaction is not the same. Furthermore, after depositing the certificate on the blockchain at the exchange, each node can maintain a form such as (transaction summary hash, block header hash value, address offset), or, (transaction summary hash, The block height, address offset) data table, the corresponding block identifier and the address of the transaction in the block can be obtained through the transaction summary hash query. In other words, the node can determine the position of the transaction in the alliance chain through the summary hash of the transaction. Of course, since the specific format of the block chain can be customized, the content of the location information will be different under different block formats, which does not constitute a limitation to this solution. In addition, it should be noted that the request received by any node may come directly from the client, or it may be a client request forwarded by other nodes in the alliance chain. S207: The client verifies the credibility of the alliance chain containing the transaction information based on the degree of consistency of the location query results returned by the multiple nodes respectively. After the end of the query, each node can return the query result to the client. It should be noted that this process can be an asynchronous processing process, and the client does not need to respond immediately after sending the query request. Therefore, the client can wait for all nodes to return a query result before verifying. Since a transaction can only have a certain position in the consortium chain, the credibility of the consortium chain can be determined based on the consistency of the query results. In theory, the location information returned by each node should be exactly the same. A more stringent verification method is that if all the location query results are consistent, the consortium chain is credible. Of course, due to various network reasons, equipment reasons, etc., certain deviations can be tolerated. For example, according to the degree of agreement of all the returned results, if there is no identical query result that accounts for more than 95% of the returned results, the alliance degree credibility is considered to be 0, otherwise, the account of the same result is considered to be 0. Than as the credibility of the alliance chain. Further, when it is determined that the consortium chain is not credible, an alarm can also be issued. Specifically, the alarm message can indicate the degree of inconsistency between the query results of each node (that is, how many or how many proportions are inconsistent with the majority results), and specify the nodes that are inconsistent with the majority results and the query of this type of node result. In the solution provided in the embodiment of this specification, after the user completes the transaction on-chain deposit certificate through the docking node, for the transaction, the user initiates a transaction location query request to multiple nodes in the alliance chain, so that multiple nodes can obtain The respective query results of the transaction. Furthermore, the credibility of the consortium chain can be verified based on the consistency of the location query results of multiple nodes, and the user experience can be improved. In a specific implementation, the client obtains the addresses of multiple nodes in the consortium chain. The client can randomly obtain the addresses of multiple nodes in the consortium chain. Randomly obtain the node addresses for verification. On the one hand, the verification results can be improved. Fairness, on the other hand, can also make user requests flow evenly to each node, avoiding too heavy load on some nodes with many users. Or, the client obtains multiple node addresses in the alliance chain that include the address of the docking node. In this manner, the user can first select a batch of node addresses, and then add the addresses of the docking node. When a docking node is added for verification, the returned result also includes the verification result of the docking node, which can make the verification more targeted and improve user experience. In a specific implementation manner, the user may also send a simple payment verification SPV request to the multiple nodes according to the multiple node addresses, wherein the SPV request includes a digest hash of the transaction. Based on the digest hash, any node verifies whether the transaction corresponding to the digest hash is in the alliance chain, generates an SPV verification result, and returns the SPV verification result to the client. The client verifies the credibility of the consortium chain containing the transaction information based on the SPV verification results returned by the multiple nodes respectively. In each block of the blockchain, all transactions recorded in the block are included, and can be represented by Merkle trees. All transactions in the block hash the data, and then store the hash value in the corresponding leaf node. A leaf node in the tree represents the existence of a corresponding transaction in the block. In order to prove that there is a specific target transaction in the block, a node only needs to calculate log 2 N hash values to form a Merkle path from the target transaction to the root of the tree. When a node performs Simplified Payment Verification (SPV), it does not have to save all transactions or download the entire block. The node can only save the block header, and verify whether the target transaction exists in the block through the hash and Merkle path of the target transaction. In other words, the SPV verification result of each node is a binary result, either "yes" or "no". Since a transaction either exists or does not exist in the alliance chain, in theory, when there is no problem with the alliance chain, the SPV verification results returned by each node should be exactly the same. Therefore, a relatively strict way to confirm the credibility is to confirm that the consortium chain is credible if all SPV verification results are consistent with "Yes", otherwise it is not credible. Of course, due to various network reasons, equipment reasons, etc., certain deviations can be tolerated. For example, a threshold is set, and if the degree of agreement of the SPV verification result is "Yes" exceeds the threshold, it is confirmed that the consortium chain is credible. Further, when it is confirmed that the consortium chain is not credible, an alarm can also be issued. Specifically, the alarm message can indicate the degree of inconsistency between the query results of each node (that is, what are the results of "Yes" and "No" respectively), and specify the nodes that are inconsistent with most results and this type of node The result of the query. And, a credibility value can be calculated as a reference based on the degree of inconsistency of all the returned results. For example, if there is no identical query result whose proportion exceeds a certain threshold among the returned results, the alliance degree is considered credible, otherwise, the alliance chain is considered untrustworthy. It should be noted that the foregoing verification scheme based on the consistency of the location query results and the verification scheme based on the consistency of the SPV verification results belong to the schemes that can be performed separately at the same time. In actual operation, the verification results of the two are independent. In other words, the client can choose only one way to perform verification, or it can choose two ways to perform verification at the same time. When two verification schemes are executed at the same time, the results of the two verification schemes need to meet the consistency conditions at the same time before the alliance chain is considered to be acceptable Letter. And, during the verification process, the two schemes are executed in no particular order. Because in the alliance chain, each functional node usually has its own docking client and corresponding docking users. In the solution of the embodiment of this specification, each node often needs to process requests from users who are not their own nodes. In an implementation manner, the node can process query requests or SPV requests sent by any client connected to itself. In another implementation manner, based on the principle of alliance sharing, each node can also provide query services or SPV services to whitelist users. If the identification of the client that sends the request is on the whitelist, processing is performed, otherwise, no processing is performed. The specific method for determining whitelisted users includes: any node in the alliance chain determines its own whitelist, and broadcasts the whitelist to other nodes in the alliance chain, so that other nodes can determine whether to perform query processing according to the whitelist. A common handling method is that any node in the alliance chain confirms its registered user as a whitelist user and broadcasts it. Other nodes can decide whether to perform further processing based on whether the client identifier included in the request is a whitelisted user. The whitelist here can take the node as the smallest unit, or the user as the smallest unit, and the whitelist users saved by each node can be the same or different. The node processes the request only when it receives the request sent by the whitelisted user. For example, suppose there are four nodes A, B, C, and D in the alliance chain. In the above scheme, nodes B, C, and D can confirm the docking user of node A as whitelisted users, and the four nodes can maintain it together; The whitelisted users of node B include users of node A, but the whitelisted users of nodes C and D do not include users of node A. The specific situation can be determined by itself based on the business situation. In a more general situation, the docking user of a node of a government agency (such as a notary office) or a public welfare organization (such as a charity) can be a whitelist user of all other nodes in the alliance chain, and a node user of a business partner node of a node can also Is the whitelisted user of the node. Furthermore, each node can also classify whitelist users' permissions based on the user's source or historical behavior data and other factors (for example, third-party credit evaluation scores). For example, whitelist users with the lowest permissions only have query permissions. , Whitelisted users with higher permissions may also have other permissions and so on. In practical applications, the number of users of each node in a consortium chain is not the same, some nodes have more docking users, and some nodes have fewer docking users. Generally speaking, the number of docking users of those nodes directly facing the market is always more than the number of rear nodes. For example, in a consortium chain used to protect copyright, there are always far more registered users of the work publishing platform facing creators than the registered users of the notary office. In this case, in the solution of the embodiment of this specification, each node in the alliance is not "fair" in handling the request. In other words, nodes with few registered users will always receive more requests than they should be responsible for processing, which is not very beneficial to nodes with few registered users. At this time, an practicable way is that when any node receives the request and decides to process it, it first makes a judgment to determine that the node determines the first processing times of the location query request initiated by users of other nodes, and, Confirm the second processing times of the location query request initiated by the user of the node by other nodes; determine whether to delay processing the location query request according to the first processing times and the second processing times.

第一處理次數和第二處理次數可以以一段時間為週期,例如,每天或者每月,定期進行清零,也可以是全部歷史資料的數量統計。判斷是否延遲處理的條件,可以是根據第一處理次數X和第二處理次數Y計算獲得一個貢獻比例值Z與預設閾值進行比較,例如,Z=(X-Y)/Y,或者,Z=X/Y等等。貢獻比例值表徵了一個節點在處理請求時的“自身貢獻”和“請求他人”的比例,一旦貢獻比例值超過了一定閾值,則表示該節點已經處理了較多的請求,則該節點可以延遲處理接收到的其它節點用戶所發送的請求,延遲處理請求可以有效降低弱節點(即註冊用戶少的節點,一般對於大流量的處理能力相對弱)的負荷。由於在本說明書實施例的方案中,客戶端並不需要即時得到驗證結果,因此各節點對於請求的處理可以是非同步的,延遲處理並不會影響本說明書實施例的方案的效果。 The first processing times and the second processing times can be a period of time, for example, every day or every month, and can be cleared regularly, or they can be statistics of all historical data. The condition for judging whether to delay processing can be calculated according to the first processing times X and the second processing times Y to obtain a contribution ratio value Z to compare with a preset threshold, for example, Z=(XY)/Y, or Z=X /Y Wait. The contribution ratio value represents the ratio of a node's "self contribution" and "request others" when processing requests. Once the contribution ratio value exceeds a certain threshold, it means that the node has processed more requests, and the node can delay Processing received requests sent by users of other nodes, delaying the processing of requests can effectively reduce the load of weak nodes (that is, nodes with few registered users and generally have relatively weak processing capabilities for large traffic). Since in the solution of the embodiment of this specification, the client does not need to obtain the verification result immediately, the processing of the request by each node may be asynchronous, and the delayed processing will not affect the effect of the solution of the embodiment of this specification.

在一種實施方式下,客戶端在選取多個節點時,有可能連續多次選到同一個節點,在這種方式下,客戶端可以判斷對該節點的交易位置查詢請求的發送次數是否到達閾值,若是,對該節點延遲發送交易位置查詢請求。發送次數的統計可以統計一段時間內的次數,也可以統計所有的歷史次數。透過上述方式,在客戶端方面即可以避免連續的請求另一節點,降低對另一節點的負荷的影響。 In one embodiment, when the client selects multiple nodes, it may select the same node multiple times in succession. In this way, the client can determine whether the number of times the node's transaction location query request has been sent has reached the threshold. If yes, delay sending the transaction location query request to the node. The statistics of sending times can count the times within a period of time, or all the historical times. Through the above method, the client side can avoid continuously requesting another node and reduce the impact on the load of another node.

本說明書實施例的方案的第二方面,如圖3所示,圖3為本說明書是實施例所提供的客戶端方面的一種聯盟鏈的可信度驗證方法的流程示意圖,在用戶生成交易,並透過 對接節點將所述交易上鏈存證後,包括:S301,獲取聯盟鏈中的多個節點位址,具體的方式包括,隨機獲取聯盟鏈中的多個節點位址;或者,獲取聯盟鏈中包含所述對接節點位址的多個節點位址。 The second aspect of the solution of the embodiment of this specification is shown in Fig. 3. Fig. 3 is a schematic flow diagram of a method for verifying the credibility of a consortium chain on the client side provided by the embodiment in this specification. The user generates a transaction, And through After the docking node puts the transaction on the chain and deposits the certificate, it includes: S301, obtain the addresses of multiple nodes in the alliance chain, and the specific method includes randomly obtaining the addresses of multiple nodes in the alliance chain; or, obtain the addresses of the nodes in the alliance chain. A plurality of node addresses including the address of the docking node.

S303,根據所述多個節點位址,發送交易位置查詢請求至所述多個節點,其中,所述交易位置查詢請求中包含所述交易的摘要雜湊;S305,根據所述多個節點分別返回的位置查詢結果的一致程度,驗證包含所述交易資訊的聯盟鏈的可信度。 S303: Send a transaction location query request to the multiple nodes according to the multiple node addresses, where the transaction location query request includes a summary hash of the transaction; S305, return according to the multiple nodes respectively The degree of consistency of the location query results verifies the credibility of the alliance chain containing the transaction information.

進一步地,上述方法還包括,根據所述多個節點位址,發送簡單支付驗證SPV請求至所述多個節點,其中,所述SPV請求中包含所述交易的摘要雜湊;接收所述多個節點分別返回的SPV驗證結果,驗證包含所述交易資訊的聯盟鏈的可信度。 Further, the above method further includes, according to the multiple node addresses, sending a simple payment verification SPV request to the multiple nodes, wherein the SPV request includes a digest hash of the transaction; receiving the multiple The SPV verification results returned by the nodes respectively verify the credibility of the alliance chain containing the transaction information.

進一步,所述S303中的發送交易位置查詢請求至所述多個節點,包括,針對所述多個節點中的任一節點,判斷對該節點的交易位置查詢請求的發送次數是否到達閾值,若是,對該節點延遲發送交易位置查詢請求。 Further, the sending of the transaction location query request in S303 to the multiple nodes includes, for any node of the multiple nodes, judging whether the number of times the transaction location query request for the node has been sent has reached a threshold, if yes , The node delays sending the transaction location query request.

本說明書實施例的方案的第三方面,如圖4所示,圖4為本說明書是實施例所提供的一種聯盟鏈的請求處理方法的流程示意圖,在用戶生成交易,並透過對接節點將所述交易上鏈存證後,包括:S401,所述節點確定自身節點用戶的用戶標識,其中,所述用戶標識用於標識用戶身份,以及,用於標識和該用戶對接的節點;聯盟鏈中可以透過事先協商好的格式,在用戶標識中包含有對接節點的資訊,例如,在用戶標識開頭加上不同的序號用以標識該用戶的對接節點。 S403,發送白名單至聯盟鏈中的其它節點,以便其它節點根據所述白名單確定是否執行非自身節點用戶所發送的請求,所述請求包括交易位置查詢請求或者簡單支付驗證SPV請求,所述請求中包含目標交易的摘要雜湊。 進一步的,上述方法還包括,節點接收任一用戶所發送的請求,所述請求中還包括用戶標識;判斷所述用戶標識是否處於白名單中,若否,不對請求執行處理。 進一步的,上述方法還包括,接收任一用戶所發送的請求,所述請求中還包括用戶標識,當所述用戶標識所對應的用戶非自身節點用戶時:確定該節點對於其它節點用戶所發起的請求的第一處理次數,以及,確認其它節點對於該節點用戶所發起的請求的第二處理次數;根據所述第一處理次數和第二處理次數,判斷是否延遲處理所述請求。 與第一方面對應的,本說明書實施例還提供一種盟鏈的可信度驗證系統,包括客戶端和聯盟鏈網路,所述聯盟鏈網路包括多個節點;在客戶端生成交易,並透過對接節點將所述交易上鏈存證後, 客戶端獲取聯盟鏈中的多個節點地址;根據所述多個節點位址,發送交易位置查詢請求至所述多個節點,其中,所述交易位置查詢請求中包含所述交易的摘要雜湊; 聯盟鏈網路中的任一節點接收所述位置查詢請求,基於所述摘要雜湊各自查詢所述摘要雜湊所對應的交易在所述聯盟鏈中的位置資訊,並返回所述位置查詢結果至客戶端; 客戶端基於所述多個節點分別返回的位置查詢結果的一致程度,驗證包含所述交易資訊的聯盟鏈的可信度。 進一步地,在所述系統中,所述客戶端隨機獲取聯盟鏈中的多個節點地址;或者,客戶端獲取聯盟鏈中包含所述對接節點位址的多個節點位址。 進一步地,在所述系統中,客戶端根據所述多個節點位址,發送簡單支付驗證SPV請求至所述多個節點,其中,所述SPV請求中包含所述交易的摘要雜湊;任一節點基於所述摘要雜湊,各自驗證所述摘要雜湊所對應的交易是否是處於所述聯盟鏈中,生成SPV驗證結果,並返回所述SPV驗證結果至客戶端;客戶端基於所述多個節點分別返回的SPV驗證結果,驗證包含所述交易資訊的聯盟鏈的可信度。 進一步地,在所述系統中,在客戶端獲取聯盟鏈中的多個節點位址之前,聯盟鏈中的任一節點確定自身的白名單,並廣播白名單至聯盟鏈中的其它節點,以便其它節點根據所述白名單確定是否執行查詢處理;所述交易位置查詢請求中包含所述交易的摘要雜湊,包括:所述交易位置查詢請求包含所述交易的摘要雜湊和所述客戶端標識;任一節點接收所述位置查詢請求之後,還包括:確定所述位置查詢請求所包含的客戶端標識是否處於白名單中,若否,不執行查詢處理。 The third aspect of the solution of the embodiment of this specification is shown in Figure 4. Figure 4 is a schematic flow diagram of a request processing method for alliance chain provided by the embodiment in this specification. The user generates a transaction and transfers all transactions through the docking node. After the transaction is recorded on the chain, it includes: S401, the node determines the user ID of the user of its own node, where the user ID is used to identify the user's identity, and is used to identify the node connecting with the user; in the alliance chain The information of the docking node can be included in the user ID through a pre-negotiated format, for example, a different serial number is added to the beginning of the user ID to identify the docking node of the user. S403: Send a whitelist to other nodes in the alliance chain, so that other nodes can determine whether to execute a request sent by a user other than their own node according to the whitelist. The request includes a transaction location query request or a simple payment verification SPV request. The request contains a summary hash of the target transaction. Further, the above method further includes that the node receives a request sent by any user, and the request further includes a user identification; judging whether the user identification is in a whitelist, and if not, not performing processing on the request. Further, the above method further includes receiving a request sent by any user, the request also including a user identification, and when the user corresponding to the user identification is not a user of the own node: determining that the node initiates a request for other node users The first processing times of the request, and the second processing times of confirming other nodes for requests initiated by users of the node; according to the first processing times and the second processing times, it is determined whether to delay processing the request. Corresponding to the first aspect, the embodiment of this specification also provides a credibility verification system for the alliance chain, which includes a client and an alliance chain network, the alliance chain network includes a plurality of nodes; transactions are generated on the client, and After depositing the said transaction on the chain through the docking node, The client obtains multiple node addresses in the alliance chain; according to the multiple node addresses, sends a transaction location query request to the multiple nodes, wherein the transaction location query request includes a summary hash of the transaction; Any node in the alliance chain network receives the location query request, queries the location information of the transaction corresponding to the summary hash in the alliance chain based on the summary hash, and returns the location query result to the customer end; The client verifies the credibility of the alliance chain containing the transaction information based on the degree of consistency of the location query results returned by the multiple nodes. Further, in the system, the client randomly obtains multiple node addresses in the consortium chain; or, the client obtains multiple node addresses in the consortium chain that include the address of the docking node. Further, in the system, the client sends a simple payment verification SPV request to the multiple nodes according to the multiple node addresses, wherein the SPV request includes a digest hash of the transaction; any Based on the digest hash, each node verifies whether the transaction corresponding to the digest hash is in the alliance chain, generates an SPV verification result, and returns the SPV verification result to the client; the client is based on the multiple nodes The SPV verification results returned respectively verify the credibility of the alliance chain containing the transaction information. Further, in the system, before the client obtains the addresses of multiple nodes in the alliance chain, any node in the alliance chain determines its own whitelist, and broadcasts the whitelist to other nodes in the alliance chain, so that Other nodes determine whether to perform query processing according to the whitelist; the transaction location query request includes the transaction summary hash, including: the transaction location query request includes the transaction summary hash and the client identifier; After any node receives the location query request, it further includes: determining whether the client identifier included in the location query request is in the white list, and if not, no query processing is performed.

進一步地,在所述系統中,該節點確定自身對於其它節點用戶所發起的位置查詢請求的第一處理次數,以及,確認其它節點對於該節點用戶所發起的位置查詢請求的第二處理次數;根據所述第一處理次數和第二處理次數,判斷是否延遲處理所述位置查詢請求。 Further, in the system, the node determines the first processing times of location query requests initiated by users of other nodes by itself, and confirms the second processing times of location query requests initiated by users of the node by other nodes; According to the first processing times and the second processing times, it is determined whether to delay processing the location query request.

進一步地,在所述系統中,所述客戶端,針對所述多個節點中的任一節點,判斷對該節點的交易位置查詢請求的發送次數是否到達閾值,若是,對該節點延遲發送交易位置查詢請求。 Further, in the system, the client, for any one of the multiple nodes, determines whether the number of times the transaction location query request for the node has reached a threshold, and if so, delays sending the transaction to the node Location query request.

與第二方面對應的,本說明書實施例還提供一種聯盟鏈的可信度驗證裝置,在用戶生成交易,並透過對接節點將所述交易上鏈存證後,如圖5所示,圖5為本說明書實施例所提供的一種可信度驗證裝置的結構示意圖,所述裝置包括:獲取模組501,獲取聯盟鏈中的多個節點位址;發送模組503,根據所述多個節點位址,發送交易位置查詢請求至所述多個節點,其中,所述交易位置查詢請求中包含所述交易的摘要雜湊;接收模組505,接收所述多個節點分別返回的位置查詢結果;驗證模組507,根據所述位置查詢結果的一致程度, 驗證包含所述交易資訊的聯盟鏈的可信度。 Corresponding to the second aspect, the embodiment of this specification also provides a credibility verification device for the alliance chain. After the user generates a transaction and uploads the transaction to the chain through the docking node, as shown in Figure 5, Figure 5 This is a schematic structural diagram of a credibility verification device provided by the embodiment of this specification. The device includes: an acquisition module 501, which acquires the addresses of multiple nodes in the alliance chain; and a sending module 503, according to the multiple nodes Address, sending a transaction location query request to the multiple nodes, where the transaction location query request includes a summary hash of the transaction; a receiving module 505, receiving location query results returned by the multiple nodes respectively; The verification module 507, according to the degree of consistency of the location query results, Verify the credibility of the alliance chain containing the transaction information.

進一步地,所述獲取模組501,隨機獲取聯盟鏈中的多個節點位址;或者,獲取聯盟鏈中包含所述對接節點位址的多個節點位址。 Further, the obtaining module 501 randomly obtains the addresses of multiple nodes in the alliance chain; or, obtains the addresses of multiple nodes in the alliance chain that include the addresses of the docking nodes.

進一步地,所述發送模組503還用於,根據所述多個節點位址,發送簡單支付驗證SPV請求至所述多個節點,其中,所述SPV請求中包含所述交易的摘要雜湊;所述接收模組505,接收所述多個節點分別返回的SPV驗證結果;所述驗證模組507,根據所述SPV驗證結果,驗證包含所述交易資訊的聯盟鏈的可信度。 Further, the sending module 503 is further configured to send a simple payment verification SPV request to the multiple nodes according to the multiple node addresses, wherein the SPV request includes a digest hash of the transaction; The receiving module 505 receives the SPV verification results returned by the multiple nodes, and the verification module 507 verifies the credibility of the alliance chain containing the transaction information according to the SPV verification result.

進一步地,所述發送模組503,針對所述多個節點中的任一節點,判斷對該節點的交易位置查詢請求的發送次數是否到達閾值,若是,對該節點延遲發送交易位置查詢請求。 Further, the sending module 503 judges whether the number of times of sending the transaction location query request of the node reaches a threshold for any node among the multiple nodes, and if so, delays sending the transaction location query request to the node.

與第三方面對應的,本說明書實施例還提供一種聯盟鏈中的請求處理裝置,位於所述聯盟鏈中的節點上,如圖6所示,圖6為本說明書實施例所提供的一種請求處理裝置的結構示意圖,所述裝置包括:確定模組601,確定自身節點用戶的用戶標識,其中,所述用戶標識用於標識用戶身份,以及,用於標識和該用戶對接的節點;發送模組603,發送白名單至聯盟鏈中的其它節點,以便其它節點根據所述白名單確定是否執行非自身節點用戶所發送的請求,所述請求包括交易位置查詢請求或者簡單支付驗證SPV請求,所述請求中包含目標交易的摘要雜湊。 進一步地,所述裝置還包括,接收模組605,接收任一用戶所發送的請求,所述請求中還包括用戶標識;判斷模組607,判斷所述用戶標識是否處於白名單中,若否,不對請求執行處理。 進一步地,所述接收模組605,接收任一用戶所發送的請求,所述請求中還包括用戶標識,當所述用戶標識所對應的用戶非自身節點用戶時,所述確定模組601還用於,確定該節點對於其它節點用戶所發起的請求的第一處理次數,以及,確認其它節點對於該節點用戶所發起的請求的第二處理次數;所述判斷模組607還用於,根據所述第一處理次數和第二處理次數,判斷是否延遲處理所述請求。 本說明書實施例還提供一種電腦設備,其至少包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其中,處理器執行所述程式時實現圖3所示的聯盟鏈的可信度驗證方法。 本說明書實施例還提供一種電腦設備,其至少包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其中,處理器執行所述程式時實現圖4所示的聯盟鏈中的請求處理方法。 圖7示出了本說明書實施例所提供的一種更為具體的計算設備硬體結構示意圖,該設備可以包括:處理器1010、記憶體1020、輸入/輸出介面1030、通訊介面1040和匯流排1050。其中處理器1010、記憶體1020、輸入/輸出介面1030和通訊介面1040透過匯流排1050實現彼此之間在設備內部的通訊連接。 處理器1010可以採用通用的CPU(Central Processing Unit,中央處理器)、微處理器、應用專用積體電路(Application Specific Integrated Circuit,ASIC)、或者一個或多個積體電路等方式實現,用於執行相關程式,以實現本說明書實施例所提供的技術方案。 記憶體1020可以採用ROM(Read Only Memory,唯讀記憶體)、RAM(Random Access Memory,隨機存取記憶體)、靜態存放裝置,動態儲存裝置設備等形式實現。記憶體1020可以儲存作業系統和其他應用程式,在透過軟體或者韌體來實現本說明書實施例所提供的技術方案時,相關的程式碼保存在記憶體1020中,並由處理器1010來調用執行。 輸入/輸出介面1030用於連接輸入/輸出模組,以實現資訊輸入及輸出。輸入輸出/模組可以作為元件配置在設備中(圖中未示出),也可以外接於設備以提供相應功能。其中輸入裝置可以包括鍵盤、滑鼠、觸控式螢幕、麥克風、各類感測器等,輸出設備可以包括顯示器、揚聲器、振動器、指示燈等。 通訊介面1040用於連接通訊模組(圖中未示出),以實現本設備與其他設備的通訊交互。其中通訊模組可以透過有線方式(例如USB、網線等)實現通訊,也可以透過無線方式(例如移動網路、WIFI、藍牙等)實現通訊。 匯流排1050包括一通路,在設備的各個元件(例如處理器1010、記憶體1020、輸入/輸出介面1030和通訊介面1040)之間傳輸資訊。 需要說明的是,儘管上述設備僅示出了處理器1010、記憶體1020、輸入/輸出介面1030、通訊介面1040以及匯流排1050,但是在具體實施過程中,該設備還可以包括實現正常運行所必需的其他元件。此外,本領域的技術人員可以理解的是,上述設備中也可以僅包含實現本說明書實施例方案所必需的組件,而不必包含圖中所示的全部元件。 本說明書實施例還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,該程式被處理器執行時實現圖3所示的聯盟鏈的可信度驗證方法。 本說明書實施例還提供另一種電腦可讀儲存媒體,其上儲存有電腦程式,該程式被處理器執行時實現圖4所示的聯盟鏈中的請求處理方法。 電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁片儲存或其他磁性存放裝置或任何其他非傳輸媒體,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調製的資料信號和載波。 透過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本說明書實施例可借助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本說明書實施例的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品可以儲存在儲存媒體中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本說明書實施例各個實施例或者實施例的某些部分所述的方法。 上述實施例闡明的系統、方法、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、行動電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。 本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於方法實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的方法實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,在實施本說明書實施例方案時可以把各模組的功能在同一個或多個軟體和/或硬體中實現。也可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。 以上所述僅是本說明書實施例的具體實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本說明書實施例原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本說明書實施例的保護範圍。Corresponding to the third aspect, the embodiment of this specification also provides a request processing device in the consortium chain, which is located on a node in the consortium chain, as shown in FIG. 6, which is a request provided by the embodiment of the specification. A schematic diagram of the structure of the processing device. The device includes: a determining module 601 to determine a user identity of a user of its own node, wherein the user identity is used to identify the user identity and the node that is connected to the user; and the sending module Group 603: Send a white list to other nodes in the alliance chain, so that other nodes can determine whether to execute a request sent by a user other than their own node based on the white list. The request includes a transaction location query request or a simple payment verification SPV request. The request contains a summary hash of the target transaction. Further, the device further includes a receiving module 605, which receives a request sent by any user, and the request also includes a user identification; a judgment module 607, which judges whether the user identification is in the whitelist, if not , Does not perform processing on the request. Further, the receiving module 605 receives a request sent by any user, and the request also includes a user identification. When the user corresponding to the user identification is not a user of its own node, the determining module 601 also It is used to determine the first processing times of requests initiated by users of other nodes by the node, and to confirm the second processing times of requests initiated by users of this node by other nodes; the judgment module 607 is also used to, according to The first processing times and the second processing times determine whether to delay processing the request. The embodiment of this specification also provides a computer device, which at least includes a memory, a processor, and a computer program stored on the memory and capable of running on the processor, wherein the processor executes the program as shown in FIG. 3 The credibility verification method of the alliance chain. The embodiments of this specification also provide a computer device, which at least includes a memory, a processor, and a computer program stored on the memory and running on the processor, wherein the processor executes the program as shown in FIG. 4 The request processing method in the alliance chain. FIG. 7 shows a more specific hardware structure diagram of a computing device provided by an embodiment of this specification. The device may include: a processor 1010, a memory 1020, an input/output interface 1030, a communication interface 1040, and a bus 1050 . The processor 1010, the memory 1020, the input/output interface 1030, and the communication interface 1040 realize the communication connection between each other in the device through the bus 1050. The processor 1010 may be implemented by a general CPU (Central Processing Unit, central processing unit), a microprocessor, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, etc., for Execute related programs to realize the technical solutions provided in the embodiments of this specification. The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 can store the operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the related program codes are stored in the memory 1020 and called and executed by the processor 1010. . The input/output interface 1030 is used to connect input/output modules to realize information input and output. The input/output/module can be configured in the device as a component (not shown in the figure), or it can be connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, and so on. The communication interface 1040 is used to connect a communication module (not shown in the figure) to realize the communication interaction between the device and other devices. The communication module can realize communication through wired means (such as USB, network cable, etc.), or through wireless means (such as mobile network, WIFI, Bluetooth, etc.). The bus 1050 includes a path for transmitting information between various components of the device (for example, the processor 1010, the memory 1020, the input/output interface 1030, and the communication interface 1040). It should be noted that although the above device only shows the processor 1010, the memory 1020, the input/output interface 1030, the communication interface 1040, and the bus 1050, in the specific implementation process, the device may also include a place for normal operation. Other necessary components. In addition, those skilled in the art can understand that the above-mentioned equipment may also include only the components necessary to implement the solutions of the embodiments of the present specification, and not necessarily include all the elements shown in the figures. The embodiment of this specification also provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the credibility verification method of the alliance chain shown in FIG. 3 is realized. The embodiment of the present specification also provides another computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the request processing method in the alliance chain shown in FIG. 4 is implemented. Computer-readable media include permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), and other types of random access memory (RAM) , Read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital multi-function Optical discs (DVD) or other optical storage, magnetic cassettes, magnetic tape storage or other magnetic storage devices, or any other non-transmission media, can be used to store information that can be accessed by computing devices. According to the definition in this article, computer-readable media does not include transitory media, such as modulated data signals and carrier waves. From the description of the above embodiments, those skilled in the art can clearly understand that the embodiments of this specification can be implemented by means of software plus a necessary universal hardware platform. Based on this understanding, the technical solutions of the embodiments of this specification can be embodied in the form of software products, which can be stored in storage media, such as ROM/RAM, magnetic A disc, an optical disc, etc., include a number of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute the methods described in the various embodiments or some parts of the embodiments of this specification. The systems, methods, modules, or units explained in the above embodiments may be implemented by computer chips or entities, or implemented by products with certain functions. A typical implementation device is a computer. The specific form of the computer can be a personal computer, a laptop computer, a mobile phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email receiving and sending device, and a game control A desktop, a tablet, a wearable device, or a combination of any of these devices. The various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, as for the method embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiment. The method embodiments described above are only illustrative, and the modules described as separate components may or may not be physically separated. When implementing the solutions of the embodiments of this specification, the functions of the modules may be Implemented in the same one or more software and/or hardware. Some or all of the modules can also be selected according to actual needs to achieve the objectives of the solutions of the embodiments. Those of ordinary skill in the art can understand and implement it without creative work. The above are only specific implementations of the embodiments of this specification. It should be pointed out that for those of ordinary skill in the art, without departing from the principle of the embodiments of this specification, several improvements and modifications can be made. These Improvement and retouching should also be regarded as the protection scope of the embodiments of this specification.

501:獲取模組 503:發送模組 505:接收模組 507:驗證模組 601:確定模組 603:發送模組 605:接收模組 607:判斷模組 1010:處理器 1020:記憶體 1030:輸入/輸出介面 1040:通訊介面 1050:匯流排501: Obtain the module 503: send module 505: receiving module 507: Verification Module 601: Confirm module 603: Sending Module 605: receiving module 607: Judgment Module 1010: processor 1020: memory 1030: input/output interface 1040: Communication interface 1050: Bus

為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書實施例中記載的一些實施例,對於本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。 圖1為當前聯盟鏈中所涉及的一種架構示意圖; 圖2是本說明書實施例提供的系統方面的一種聯盟鏈的可信度驗證方法的流程示意圖; 圖3為本說明書是實施例所提供的客戶端方面的一種聯盟鏈的可信度驗證方法的流程示意圖; 圖4為本說明書是實施例所提供的一種聯盟鏈中的請求處理方法的流程示意圖; 圖5為本說明書實施例所提供的一種可信度驗證裝置的結構示意圖; 圖6為本說明書實施例所提供的一種請求處理裝置的結構示意圖; 圖7是用於配置本說明書實施例方法的一種設備的結構示意圖。In order to more clearly describe the technical solutions in the embodiments of this specification or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are merely present For some of the embodiments described in the embodiments of the specification, for those of ordinary skill in the art, other drawings may be obtained based on these drawings. Figure 1 is a schematic diagram of an architecture involved in the current alliance chain; FIG. 2 is a schematic flowchart of a method for verifying the credibility of a consortium chain in the system aspect provided by an embodiment of the present specification; FIG. 3 is a schematic flowchart of a method for verifying the credibility of a consortium chain on the client side provided by an embodiment of this specification; FIG. 4 is a schematic flowchart of a request processing method in an alliance chain provided by an embodiment of this specification; FIG. 5 is a schematic structural diagram of a credibility verification device provided by an embodiment of the specification; 6 is a schematic structural diagram of a request processing apparatus provided by an embodiment of this specification; Fig. 7 is a schematic structural diagram of a device for configuring the method of the embodiment of this specification.

Claims (12)

一種聯盟鏈的可信度驗證方法,在客戶端生成交易,並透過對接節點將該交易上鏈存證後,包括:客戶端獲取聯盟鏈中的多個節點地址;根據所述多個節點位址,發送交易位置查詢請求至所述多個節點,其中,該交易位置查詢請求中包含該交易的摘要雜湊;任一節點接收該位置查詢請求,基於該摘要雜湊各自查詢該摘要雜湊所對應的交易在該聯盟鏈中的位置資訊,並返回該位置查詢結果至客戶端;客戶端基於所述多個節點分別返回的位置查詢結果的一致程度,驗證包含該交易資訊的聯盟鏈的可信度。 A method for verifying the credibility of a consortium chain. After generating a transaction on the client and storing the transaction on the chain through a docking node, the method includes: the client obtains the addresses of multiple nodes in the consortium chain; and according to the multiple node positions Send a transaction location query request to the multiple nodes, where the transaction location query request includes a summary hash of the transaction; any node receives the location query request, and each query the summary hash corresponding to the summary hash based on the summary hash The location information of the transaction in the consortium chain, and the location query result is returned to the client; the client verifies the credibility of the consortium chain containing the transaction information based on the consistency of the location query results returned by the multiple nodes . 如請求項1所述的方法,客戶端獲取聯盟鏈中的多個節點位址,包括:客戶端隨機獲取聯盟鏈中的多個節點地址;或者,客戶端獲取聯盟鏈中包含該對接節點位址的多個節點位址。 According to the method described in claim 1, the client acquiring multiple node addresses in the alliance chain includes: the client randomly acquires multiple node addresses in the alliance chain; or, the client acquires the location of the docking node included in the alliance chain Multiple node addresses of the address. 如請求項1所述的方法,還包括:客戶端根據所述多個節點位址,發送簡單支付驗證SPV請求至所述多個節點,其中,該SPV請求中包含該交易的摘要雜湊; 任一節點基於該摘要雜湊,各自驗證該摘要雜湊所對應的交易是否是處於該聯盟鏈中,生成SPV驗證結果,並返回該SPV驗證結果至客戶端;客戶端基於所述多個節點分別返回的SPV驗證結果,驗證包含該交易資訊的聯盟鏈的可信度。 The method according to claim 1, further comprising: the client sends a simple payment verification SPV request to the multiple nodes according to the multiple node addresses, wherein the SPV request includes a digest hash of the transaction; Based on the digest hash, each node verifies whether the transaction corresponding to the digest hash is in the consortium chain, generates an SPV verification result, and returns the SPV verification result to the client; the client returns respectively based on the multiple nodes The SPV verification result verifies the credibility of the consortium chain containing the transaction information. 如請求項1所述的方法,在客戶端獲取聯盟鏈中的多個節點位址之前,該方法還包括:聯盟鏈中的任一節點確定自身的白名單,並廣播白名單至聯盟鏈中的其它節點,以便其它節點根據該白名單確定是否執行查詢處理;該交易位置查詢請求中包含該交易的摘要雜湊,包括:該交易位置查詢請求包含該交易的摘要雜湊和該客戶端標識;任一節點接收該位置查詢請求之後,還包括:確定該位置查詢請求所包含的客戶端標識是否處於白名單中,若否,不執行查詢處理。 As described in claim 1, before the client obtains the addresses of multiple nodes in the consortium chain, the method further includes: any node in the consortium chain determines its own whitelist, and broadcasts the whitelist to the consortium chain The transaction location query request contains the summary hash of the transaction, including: the transaction location query request contains the summary hash of the transaction and the client ID; any After a node receives the location query request, it further includes: determining whether the client identifier included in the location query request is in the white list, and if not, no query processing is performed. 如請求項1所述的方法,在任一節點接收該位置查詢請求之後,該方法還包括:該節點確定自身對於其它節點用戶所發起的位置查詢請求的第一處理次數,以及,確認其它節點對於該節點用戶所發起的位置查詢請求的第二處理次數;根據該第一處理次數和第二處理次數,判斷是否延遲 處理該位置查詢請求。 For the method described in claim 1, after any node receives the location query request, the method further includes: the node determines the first processing times of the location query requests initiated by users of other nodes by the node, and confirms that other nodes are The second processing times of the location query request initiated by the user of the node; according to the first processing times and the second processing times, it is judged whether it is delayed Process the location query request. 如請求項1所述的方法,發送交易位置查詢請求至所述多個節點,包括:針對所述多個節點中的任一節點,判斷對該節點的交易位置查詢請求的發送次數是否到達閾值,若是,對該節點延遲發送交易位置查詢請求。 According to the method of claim 1, sending a transaction location query request to the multiple nodes includes: for any node in the multiple nodes, determining whether the number of times the transaction location query request for the node has been sent has reached a threshold If yes, delay sending the transaction location query request to the node. 一種聯盟鏈的可信度驗證系統,包括客戶端和聯盟鏈網路,該聯盟鏈網路包括多個節點;在客戶端生成交易,並透過對接節點將該交易上鏈存證後,客戶端獲取聯盟鏈中的多個節點地址;根據所述多個節點位址,發送交易位置查詢請求至所述多個節點,其中,該交易位置查詢請求中包含該交易的摘要雜湊;聯盟鏈網路中的任一節點接收該位置查詢請求,基於該摘要雜湊各自查詢該摘要雜湊所對應的交易在該聯盟鏈中的位置資訊,並返回該位置查詢結果至客戶端;客戶端基於所述多個節點分別返回的位置查詢結果的一致程度,驗證包含該交易資訊的聯盟鏈的可信度。 A credibility verification system for a consortium chain, including a client and a consortium chain network, the consortium chain network includes multiple nodes; after generating a transaction on the client, and storing the transaction on the chain through the docking node, the client Obtain multiple node addresses in the alliance chain; send a transaction location query request to the multiple nodes according to the multiple node addresses, wherein the transaction location query request includes a summary hash of the transaction; the alliance chain network Any node in the network receives the location query request, queries the location information of the transaction corresponding to the digest hash in the alliance chain based on the summary hash, and returns the location query result to the client; the client is based on the multiple The consistency of the location query results returned by the nodes respectively verifies the credibility of the alliance chain containing the transaction information. 如請求項7所述的系統,該客戶端隨機獲取聯盟鏈中的多個節點地址;或者,客戶端獲取聯盟鏈中包含該對接節點位址的多個節點位址。 For the system described in claim 7, the client randomly obtains multiple node addresses in the alliance chain; or, the client obtains multiple node addresses in the alliance chain that include the address of the docking node. 如請求項7所述的系統,客戶端根據所述多個節點位址,發送簡單支付驗證SPV請求至所述多個節點,其中,該SPV請求中包含該交易的摘要雜湊;任一節點基於該摘要雜湊,各自驗證該摘要雜湊所對應的交易是否是處於該聯盟鏈中,生成SPV驗證結果,並返回該SPV驗證結果至客戶端;客戶端基於所述多個節點分別返回的SPV驗證結果,驗證包含該交易資訊的聯盟鏈的可信度。 For the system described in claim 7, the client sends a simple payment verification SPV request to the multiple nodes according to the multiple node addresses, wherein the SPV request includes a digest hash of the transaction; any node is based on The digest hash, each verifies whether the transaction corresponding to the digest hash is in the consortium chain, generates an SPV verification result, and returns the SPV verification result to the client; the client is based on the SPV verification results returned by the multiple nodes, respectively , To verify the credibility of the consortium chain containing the transaction information. 如請求項7所述的系統,在客戶端獲取聯盟鏈中的多個節點位址之前,聯盟鏈中的任一節點確定自身的白名單,並廣播白名單至聯盟鏈中的其它節點,以便其它節點根據該白名單確定是否執行查詢處理;該交易位置查詢請求中包含該交易的摘要雜湊,包括:該交易位置查詢請求包該交易的摘要雜湊和該客戶端標識;任一節點接收該位置查詢請求之後,還包括:確定該位置查詢請求所包含的客戶端標識是否處於白名單中,若否,不執行查詢處理。 For the system described in claim 7, before the client obtains the addresses of multiple nodes in the alliance chain, any node in the alliance chain determines its own whitelist, and broadcasts the whitelist to other nodes in the alliance chain so that Other nodes determine whether to perform query processing according to the whitelist; the transaction location query request includes the transaction summary hash, including: the transaction location query request packet, the transaction summary hash and the client ID; any node receives the location After the query request, it also includes: determining whether the client identifier included in the location query request is in the white list, and if not, no query processing is performed. 如請求項7所述的系統,在任一節點接收該位置查詢請求之後, 該節點確定自身對於其它節點用戶所發起的位置查詢請求的第一處理次數,以及,確認其它節點對於該節點用戶所發起的位置查詢請求的第二處理次數;根據該第一處理次數和第二處理次數,判斷是否延遲處理該位置查詢請求。 In the system described in claim 7, after any node receives the location query request, The node determines the first processing times for location query requests initiated by users of other nodes, and confirms the second processing times for location query requests initiated by users of this node by other nodes; according to the first processing times and the second processing times Processing times to determine whether to delay processing the location query request. 如請求項7所述的系統,該客戶端,針對所述多個節點中的任一節點,判斷對該節點的交易位置查詢請求的發送次數是否到達閾值,若是,對該節點延遲發送交易位置查詢請求。 For the system described in claim 7, the client, for any node among the multiple nodes, determines whether the number of times the transaction location query request for the node has been sent has reached a threshold, and if so, delays sending the transaction location to the node Inquiry request.
TW108137659A 2018-12-28 2019-10-18 Trustworthiness verification method, system, device and equipment of alliance chain TWI727467B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811626394.6 2018-12-28
CN201811626394.6A CN110049087B (en) 2018-12-28 2018-12-28 Credibility verification method, system, device and equipment of alliance chain

Publications (2)

Publication Number Publication Date
TW202027456A TW202027456A (en) 2020-07-16
TWI727467B true TWI727467B (en) 2021-05-11

Family

ID=67274044

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108137659A TWI727467B (en) 2018-12-28 2019-10-18 Trustworthiness verification method, system, device and equipment of alliance chain

Country Status (3)

Country Link
CN (1) CN110049087B (en)
TW (1) TWI727467B (en)
WO (1) WO2020134624A1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110049087B (en) * 2018-12-28 2020-05-05 阿里巴巴集团控股有限公司 Credibility verification method, system, device and equipment of alliance chain
CN110022345B (en) * 2018-12-28 2020-03-24 阿里巴巴集团控股有限公司 Method, system, device and equipment for processing request in alliance chain
CN110889729B (en) * 2019-11-29 2024-03-26 腾讯科技(深圳)有限公司 Data verification method and device based on blockchain network
CN111125256B (en) * 2019-12-24 2023-10-31 深圳前海乐寻坊区块链科技有限公司 Human credit authentication method, device, equipment and storage medium based on blockchain
CN113177767A (en) * 2020-01-08 2021-07-27 福历科技(上海)有限公司 Equipment data processing method and device based on kungfu chain
CN111400752A (en) * 2020-03-12 2020-07-10 杭州城市大数据运营有限公司 Data query method and system based on block chain and electronic equipment
CN111553669B (en) * 2020-04-28 2021-09-10 腾讯科技(深圳)有限公司 Transaction routing method, device and computer readable storage medium
CN111614646A (en) * 2020-05-14 2020-09-01 杭州溪塔科技有限公司 Malicious transaction deletion method and device for alliance chain and electronic equipment
TWI824173B (en) * 2020-08-26 2023-12-01 中華電信股份有限公司 A method of mixing public blockchains with private blockchains and computer readable medium
CN112511605B (en) * 2020-11-17 2022-11-22 上海万向区块链股份公司 Management method, system and medium based on equipment asynchronous polling uplink state
CN113159936A (en) * 2021-05-27 2021-07-23 中国银行股份有限公司 Block chain-based personal credit investigation method and device
CN114647668B (en) * 2022-05-18 2022-09-23 南京金宁汇科技有限公司 Transaction receipt query method and system applied to alliance chain

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105719185A (en) * 2016-01-22 2016-06-29 杭州复杂美科技有限公司 Block chain data comparison and consensus method
CN106850622A (en) * 2017-02-07 2017-06-13 杭州秘猿科技有限公司 A kind of user identity management method based on license chain
CN107077674A (en) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 Transaction verification processing method and device and node equipment
CN107247773A (en) * 2017-06-07 2017-10-13 北京邮电大学 A kind of method that inquiry is traded in distributed data base based on block chain
CN108681900A (en) * 2018-07-18 2018-10-19 众安信息技术服务有限公司 The method of light node verification transaction
CN108711052A (en) * 2018-05-18 2018-10-26 电子科技大学 A kind of information authentication system based on block chain
CN108764909A (en) * 2018-06-01 2018-11-06 杭州复杂美科技有限公司 A kind of block chain data monitoring and managing method
EP3413507A1 (en) * 2017-06-09 2018-12-12 Nokia Technologies Oy Electronic documents certification
CN109003082A (en) * 2018-07-24 2018-12-14 电子科技大学 PHEV power exchange system and its method of commerce based on alliance's block chain
CN109064169A (en) * 2018-07-13 2018-12-21 杭州复杂美科技有限公司 Method of commerce, equipment and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503981A (en) * 2016-10-19 2017-03-15 江苏通付盾科技有限公司 Simple payment verification node Transaction Inquiries method and system
US20180181953A1 (en) * 2016-12-22 2018-06-28 Mastercard International Incorporated Method and system for anonymous directed blockchain transaction
CN107766542B (en) * 2017-10-30 2020-09-11 上海分布信息科技有限公司 Partitioned block chain network and method for realizing partitioned query thereof
CN108876611B (en) * 2018-05-31 2021-05-18 中国联合网络通信集团有限公司 Transaction information processing method and device and block link points
CN108965342B (en) * 2018-09-28 2021-05-28 真相网络科技(北京)有限公司 Authentication method and system for data requester to access data source
CN110049087B (en) * 2018-12-28 2020-05-05 阿里巴巴集团控股有限公司 Credibility verification method, system, device and equipment of alliance chain

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105719185A (en) * 2016-01-22 2016-06-29 杭州复杂美科技有限公司 Block chain data comparison and consensus method
CN107077674A (en) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 Transaction verification processing method and device and node equipment
CN106850622A (en) * 2017-02-07 2017-06-13 杭州秘猿科技有限公司 A kind of user identity management method based on license chain
CN107247773A (en) * 2017-06-07 2017-10-13 北京邮电大学 A kind of method that inquiry is traded in distributed data base based on block chain
EP3413507A1 (en) * 2017-06-09 2018-12-12 Nokia Technologies Oy Electronic documents certification
CN108711052A (en) * 2018-05-18 2018-10-26 电子科技大学 A kind of information authentication system based on block chain
CN108764909A (en) * 2018-06-01 2018-11-06 杭州复杂美科技有限公司 A kind of block chain data monitoring and managing method
CN109064169A (en) * 2018-07-13 2018-12-21 杭州复杂美科技有限公司 Method of commerce, equipment and storage medium
CN108681900A (en) * 2018-07-18 2018-10-19 众安信息技术服务有限公司 The method of light node verification transaction
CN109003082A (en) * 2018-07-24 2018-12-14 电子科技大学 PHEV power exchange system and its method of commerce based on alliance's block chain

Also Published As

Publication number Publication date
CN110049087A (en) 2019-07-23
TW202027456A (en) 2020-07-16
WO2020134624A1 (en) 2020-07-02
CN110049087B (en) 2020-05-05

Similar Documents

Publication Publication Date Title
TWI727467B (en) Trustworthiness verification method, system, device and equipment of alliance chain
TWI712972B (en) Trustworthiness verification method, system, device and equipment of alliance chain
TWI718714B (en) Request processing method, system, device and equipment in alliance chain
TWI743458B (en) Method, device and system for parallel execution of blockchain transactions
KR102566892B1 (en) Blockchain consensus method, device and system
TW201935375A (en) Asset management method and apparatus, and electronic device
TW201935384A (en) Asset management method and device, and electronic equipment
TW201942816A (en) Inter-blockchain interaction method, device, system and electronic device
WO2018154713A1 (en) Information verification system, information verification device, method and program
JP2020524434A (en) Method and special network node for high speed propagation in blockchain networks
TW201822033A (en) Resource processing method and apparatus
TWI706663B (en) Data storage method and system based on multiple blockchain networks
WO2022121538A1 (en) Data synchronization method and system based on blockchain, and related device
TWI706664B (en) Data storage method and system based on multiple blockchain networks
TWI700606B (en) Method, device and computer equipment for identifying authenticity of evidence based on blockchain deposit
WO2020108052A1 (en) Data reading method based on a plurality of block chain networks and system
EP3779692B1 (en) Blockchain data processing
TW202027003A (en) Method and system for accepting blockchain evidence storage transaction
TW202004592A (en) Method and apparatus for correcting transaction causal sequence, and electronic device
TWI721548B (en) Business execution method and device
WO2023207087A1 (en) Optimal-link selection method and apparatus for blockchain, and electronic device
WO2022105183A1 (en) User clustering method, apparatus and device
WO2022133827A1 (en) Method and apparatus for processing task processing request, and blockchain node device
WO2020108055A1 (en) Multiple blockchain network-based data reading method and system
WO2020024649A1 (en) Data processing method and apparatus, and server