TW202016819A - 區塊鏈交易方法及裝置、電子設備 - Google Patents
區塊鏈交易方法及裝置、電子設備 Download PDFInfo
- Publication number
- TW202016819A TW202016819A TW108110890A TW108110890A TW202016819A TW 202016819 A TW202016819 A TW 202016819A TW 108110890 A TW108110890 A TW 108110890A TW 108110890 A TW108110890 A TW 108110890A TW 202016819 A TW202016819 A TW 202016819A
- Authority
- TW
- Taiwan
- Prior art keywords
- remittance
- balance
- transaction
- blockchain
- commitment
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本說明書一個或多個實施例提供一種區塊鏈交易方法及裝置、電子設備,應用於匯出方設備,所述方法包括:確定將要從匯出方區塊鏈帳戶匯入接收方區塊鏈帳戶的交易額;其中,匯出方區塊鏈帳戶的匯出方餘額被劃分出多份匯出方備用金餘額,每份匯出方備用金餘額在區塊鏈上被登記為相應的匯出方備用金餘額承諾;從匯出方區塊鏈帳戶中選取若干份匯出方備用金餘額,被選取的匯出方備用金餘額的總和不小於交易額;向區塊鏈提交交易,交易中包含被選取的匯出方備用金餘額的標識和交易額對應的交易額承諾,使得匯出方區塊鏈帳戶在交易完成後刪除被選取的匯出方備用金餘額、接收方區塊鏈帳戶在交易完成後增加交易額。
Description
本說明書一個或多個實施例涉及區塊鏈技術領域,尤其涉及一種區塊鏈交易方法及裝置、電子設備。
區塊鏈可以藉由在各個區塊鏈節點之間達成共識,從而在各個區塊鏈節點之間共同維護統一的區塊鏈帳本,以永久記載區塊鏈網路中發生的交易資訊。區塊鏈帳本是完全公開的,以便於隨時查看和驗證已發生交易的歷史資料。
有鑑於此,本說明書一個或多個實施例提供一種區塊鏈交易方法及裝置、電子設備。
為實現上述目的,本說明書一個或多個實施例提供技術方案如下:
根據本說明書一個或多個實施例的第一方面,提出了一種區塊鏈交易方法,應用於匯出方設備,所述方法包括:
確定將要從匯出方區塊鏈帳戶匯入接收方區塊鏈帳戶的交易額;其中,所述匯出方區塊鏈帳戶的匯出方餘額被劃分出多份匯出方備用金餘額,每份匯出方備用金餘額在區塊鏈上被登記為相應的匯出方備用金餘額承諾;
從所述匯出方區塊鏈帳戶中選取若干份匯出方備用金餘額,被選取的匯出方備用金餘額的總和不小於所述交易額;
向區塊鏈提交交易,所述交易中包含所述被選取的匯出方備用金餘額的標識和所述交易額對應的交易額承諾,使得匯出方區塊鏈帳戶在交易完成後刪除所述被選取的匯出方備用金餘額、接收方區塊鏈帳戶在交易完成後增加所述交易額。
根據本說明書一個或多個實施例的第二方面,提出了一種區塊鏈交易裝置,應用於匯出方設備,所述裝置包括:
確定單元,確定將要從匯出方區塊鏈帳戶匯入接收方區塊鏈帳戶的交易額;其中,所述匯出方區塊鏈帳戶的匯出方餘額被劃分出多份匯出方備用金餘額,每份匯出方備用金餘額在區塊鏈上被登記為相應的匯出方備用金餘額承諾;
選取單元,從所述匯出方區塊鏈帳戶中選取若干份匯出方備用金餘額,被選取的匯出方備用金餘額的總和不小於所述交易額;
提交單元,向區塊鏈提交交易,所述交易中包含所述被選取的匯出方備用金餘額的標識和所述交易額對應的交易額承諾,使得匯出方區塊鏈帳戶在交易完成後刪除所述被選取的匯出方備用金餘額、接收方區塊鏈帳戶在交易完成後增加所述交易額。
根據本說明書一個或多個實施例的第三方面,提出了一種電子設備,包括:
處理器;
用於儲存處理器可執行指令的記憶體;
其中,所述處理器藉由運行所述可執行指令以實現如上述實施例中任一所述的方法。
這裡將詳細地對示例性實施例進行說明,其示例表示在圖式中。下面的描述涉及圖式時,除非另有表示,不同圖式中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本說明書一個或多個實施例相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本說明書一個或多個實施例的一些方面相一致的裝置和方法的例子。
需要說明的是:在其他實施例中並不一定按照本說明書示出和描述的順序來執行相應方法的步驟。在一些其他實施例中,其方法所包括的步驟可以比本說明書所描述的更多或更少。此外,本說明書中所描述的單個步驟,在其他實施例中可能被分解為多個步驟進行描述;而本說明書中所描述的多個步驟,在其他實施例中也可能被合併為單個步驟進行描述。
圖1是一示例性實施例提供的一種區塊鏈交易方法的流程圖。如圖1所示,該方法應用於匯出方設備,可以包括以下步驟:
步驟102,確定將要從匯出方區塊鏈帳戶匯入接收方區塊鏈帳戶的交易額;其中,所述匯出方區塊鏈帳戶的匯出方餘額被劃分出多份匯出方備用金餘額,每份匯出方備用金餘額在區塊鏈上被登記為相應的匯出方備用金餘額承諾。
在一實施例中,匯出方用戶與接收方用戶可以約定交易額的數值;其中,匯出方用戶對應於匯出方設備、接收方用戶對應於接收方設備,匯出方設備與接收方設備之間可以實現基於本說明書的區塊鏈交易方案,從匯出方區塊鏈帳戶向接收方區塊鏈帳戶匯入(或稱為轉移)對應於該交易額的資產憑證。資產憑證可以對應於區塊鏈內的代幣(token)、數位資產等智慧型資產,資產憑證還可以對應於區塊鏈外的現金、證券、優惠券、房產等鏈外資產,本說明書並不對此進行限制。
在一實施例中,由於區塊鏈中的各個區塊鏈節點需要基於共識而分別維護有統一的區塊鏈帳本,因而藉由在區塊鏈內登記匯出方備用金餘額承諾,使得區塊鏈節點維護的區塊鏈帳本中僅會記錄該匯出方備用金餘額承諾,而不會直接記錄匯出方備用金餘額,使得匯出方用戶持有的匯出方備用金餘額被作為私密資料而隱藏。類似地,匯出方餘額可以被記錄為區塊鏈帳本中的匯出方餘額承諾;接收方用戶持有的接收方餘額、接收方備用金餘額等,同樣被記錄為區塊鏈帳本中的接收方餘額承諾、接收方備用金餘額承諾等。實際上,對於匯出方用戶、接收方用戶所持有的任意類型的餘額,均被記錄為區塊鏈帳本中對應的餘額承諾,以保護所有者的隱私;類似地,交易額可以被記錄為區塊鏈帳本中的交易額承諾,以保護交易隱私。基於此處的描述,可以理解本說明書中涉及到的關於任一餘額與對應的餘額承諾、交易額與對應的交易額承諾之間的關係,下文中不再對此進行贅述。
在一實施例中,可以藉由同態加密演算法將某一餘額產生為相應的餘額承諾,比如將上述的匯出方備用金餘額產生為相應的匯出方備用金餘額承諾。本說明書中可以採用任意類型的同態加密演算法,比如相關技術中的Pedersen承諾機制,當然本說明書並不對此進行限制。
在一實施例中,從匯出方餘額中劃分出多份匯出方備用金餘額時,可以將所有匯出方餘額均劃分至匯出方備用金額中,即匯出方餘額為該多份匯出方備用金餘額之和;或者,也可以將匯出方餘額的一部分劃分為匯出方備用金餘額,本說明書並不對此進行限制。
在一實施例中,每份匯出方備用金餘額的數值可以相同,或者各份匯出方備用金餘額的數值可以無關(可以相同,也可以不相同),本說明書並不對此進行限制。
步驟104,從所述匯出方區塊鏈帳戶中選取若干份匯出方備用金餘額,被選取的匯出方備用金餘額的總和不小於所述交易額。
步驟106,向區塊鏈提交交易,所述交易中包含所述被選取的匯出方備用金餘額的標識和所述交易額對應的交易額承諾,使得匯出方區塊鏈帳戶在交易完成後刪除所述被選取的匯出方備用金餘額、接收方區塊鏈帳戶在交易完成後增加所述交易額。
在一實施例中,藉由從匯出方餘額劃分出多份匯出方備用金餘額,使得區塊鏈網路在採用帳戶模型的情況下,能夠將多份匯出方備用金餘額分別應用於不同的匯出交易中,在匯出交易與匯出方區塊鏈帳戶的匯出方餘額之間實現瞭解綁,也消除了不同匯出交易之間的關聯關係,從而實現了帳戶模型下的併發交易,能夠提升區塊鏈網路的交易通量。
在一實施例中,所述匯出方餘額還被劃分出第一匯入餘額;其中,當所述匯出方區塊鏈帳戶的匯出方餘額增大時,相應的金額被增加至所述第一匯入餘額。藉由從匯出方餘額劃分出匯出方備用金餘額和第一匯入餘額,使得匯出方備用金餘額可以被應用於匯出交易、第一匯入餘額可以被應用於匯入交易,實現了匯出交易與匯入交易之間的解耦,確保匯出方區塊鏈帳戶能夠同時參與匯出交易和匯入交易,能夠提升交易通量。
在一實施例中,所述匯出方餘額被劃分出匯出餘額,其中所述匯出餘額的至少一部分被進一步劃分為所述的多份匯出方備用金餘額;以及,可以將所述第一匯入餘額中的至少一部分轉移至所述匯出餘額,即實現了匯出方區塊鏈帳戶內部的資產轉移,且該資產轉移操作與匯出方區塊鏈帳戶的餘額狀態無關,確保匯出方區塊鏈帳戶參與的匯入交易與匯出交易能夠按照任意順序執行,避免造成併發性限制。同時,藉由由匯出餘額從第一匯入餘額中獲得資產,以及從匯出餘額中劃分出匯出方備用金餘額,消除了匯出方備用金餘額的產生與已產生的匯出方備用金餘額所參與的匯出交易之間的關聯,避免在產生匯出方備用金餘額時造成匯出交易的中斷,確保匯出交易的連續實施。
在一實施例中,當所述被選取的匯出方備用金餘額大於所述交易額時,所述第一匯入餘額在所述交易完成後增加找零額,所述找零額為所述被選取的匯出方備用金餘額與所述交易額之差。由於第一匯入餘額用於參與匯入交易,與匯出方區塊鏈帳戶參與的匯出交易之間不存在直接關聯,因而將找零額增加至第一匯入餘額時,並不影響其他匯出交易的併發實施。
在一實施例中,所述接收方區塊鏈帳戶的接收方餘額被劃分出第二匯入餘額,所述第二匯入餘額在區塊鏈上被登記為相應的第二匯入餘額承諾;其中,所述第二匯入餘額承諾在所述交易完成後增加所述交易額承諾。當採用同態加密演算法且該同態加密演算法滿足加法同態時,可以對第二匯入餘額承諾與交易額承諾直接相加,且更新後的第一匯入餘額承諾所對應的更新後第二匯入餘額將增加上述的交易額。
在一實施例中,所述交易額承諾由預設加密演算法根據所述交易額和交易隨機數計算得到、所述第二匯入餘額承諾由所述預設加密演算法根據所述第二匯入餘額和匯入餘額隨機數計算得到;匯出方設備可以將所述交易隨機數藉由鏈外通道發送至接收方設備,以由所述接收方設備根據更新後第二匯入餘額承諾、更新後匯入餘額隨機數確定更新後第二匯入餘額;其中,所述更新後第二匯入餘額承諾由所述第二匯入餘額承諾增加所述交易額承諾得到、所述更新後匯入餘額隨機數由所述匯入餘額隨機數增加所述交易隨機數得到、所述更新後第二匯入餘額為所述第二匯入餘額與所述交易額之和。
在一實施例中,在提交所述交易之前,匯出方設備可以將所述交易額承諾藉由鏈外通道發送至所述接收方設備,以由所述接收方設備驗證所述交易額承諾、所述交易隨機數和所述交易額之間的關聯關係。接收方設備可以在驗證通過後,允許交易實施,否則可以阻礙交易實施;譬如,接收方設備可以在驗證通過後提供下述的接收方簽名,否則拒絕提供該接收方簽名。
在一實施例中,匯出方設備可以獲取所述接收方設備藉由接收方私鑰產生的與所述交易額承諾相關的接收方簽名,所述接收方簽名由所述接收方設備在所述關聯關係通過驗證後產生;然後,將所述接收方簽名添加至所述交易中,以供所述區塊鏈中的區塊鏈節點進行簽名驗證。例如,當交易中並未包含該接收方簽名時,區塊鏈節點可以判定為共識失敗,從而拒絕執行該交易。
在一實施例中,匯出方設備可以藉由匯出方私鑰產生與所述交易額承諾相關的匯出方簽名,並將所述匯出方簽名添加至所述交易中,以供所述區塊鏈中的區塊鏈節點進行簽名驗證。在其他實施例中,匯出方簽名還可以與區間證明相關。例如,當交易中並未包含該匯出方簽名時,區塊鏈節點可以判定為共識失敗,從而拒絕執行該交易。
在一實施例中,匯出方設備可以產生區間證明,並將所述區間證明添加至所述交易中,以供所述區塊鏈中的區塊鏈節點驗證所述交易額是否滿足:所述交易額不小於0且所述被選取的匯出方備用金餘額不小於所述交易額。由於採用了從匯出方餘額中劃分出的匯出方備用金餘額,使得區間證明與匯出方備用金餘額相關、而與匯出方餘額的數值無關,因而匯出方區塊鏈帳戶能夠並行參與多個匯出交易,並且能夠確保每一匯出交易所包含的區間證明均能夠藉由區塊鏈節點的驗證。
為了便於理解,下面以區塊鏈網路中的匯款交易為例,對本說明書的技術方案進行詳細說明。圖2是一示例性實施例提供的一種在區塊鏈網路中實施匯款交易的示意圖。如圖2所示,假定由用戶A向用戶B進行區塊鏈匯款;其中,本說明書中的“用戶”可以表現為所登入的用戶帳號,而該用戶帳號實際可以歸屬於個人或組織,本說明書並不對此進行限制。
假定用戶A使用的匯出方設備為用戶設備1,譬如該用戶設備1上登入有對應於用戶A的用戶帳號;類似地,用戶B使用的接收方設備為用戶設備2。其中,用戶設備1與用戶設備2之間可以藉由建立鏈下通道實現相應的鏈下通訊。
用戶設備1上可以運行有區塊鏈的客戶端程式,使得該用戶設備1在區塊鏈網路中存在對應的區塊鏈節點,比如圖2所示的節點1。類似地,用戶設備2上可以運行有區塊鏈的客戶端程式,使得該用戶設備2在區塊鏈網路中存在對應的區塊鏈節點,比如圖2所示的節點2。區塊鏈網路中還存在其他區塊鏈節點,比如圖2所示的節點i等,此處不再一一列舉。藉由上述的節點1、節點2等,使得用戶A與用戶B之間的匯款交易可以經由區塊鏈網路實施,相關交易資訊可以被記錄至各個區塊鏈節點分別維護的區塊鏈帳本中,可以避免發生篡改,並有助於後續查驗。
在本說明書的技術方案中,針對採用帳戶模型的區塊鏈帳戶結構提出了改進,以使得改進後的區塊鏈帳戶結構可以適用於高併發性的資金匯入、匯出場景,下面首先結合圖3對改進後的區塊鏈帳戶結構進行介紹。
圖3是一示例性實施例提供的一種改進後的區塊鏈帳戶結構的示意圖。如圖3所示,在相關技術中的帳戶模型的基礎上,本說明書的區塊鏈帳戶將帳戶餘額劃分為三個部分:匯出餘額Ac、匯入餘額Ar、備用金餘額Ab。
區塊鏈帳戶可以藉由匯入餘額Ar參與區塊鏈網路中的匯入交易,即資金匯入該區塊鏈帳戶的交易。具體的,所有需要匯入該區塊鏈帳戶的資金,都可以計入該匯入餘額Ar中,而與匯出餘額Ac和備用金餘額Ab無關。比如由用戶A向用戶B進行轉帳時,轉帳資金從用戶A的區塊鏈帳戶1轉入用戶B的區塊鏈帳戶2時,具體轉入用戶B的區塊鏈帳戶2中的匯入餘額Ar_B。
區塊鏈帳戶可以藉由備用金餘額Ab參與區塊鏈網路中的匯出交易,即從該區塊鏈帳戶向外匯出資金的交易。藉由對匯出餘額Ac的至少一部分實施劃分,可以創建得到備用金餘額Ab,其中備用金餘額Ab的數量可以為一份或多份。而匯出餘額Ac可以來源於匯入餘額Ar,即藉由對匯入餘額Ar進行資金轉移,可以將該匯入餘額Ar中的資金轉入至匯出餘額Ac,以便劃分得到上述的備用金餘額Ab,從而將備用金餘額Ab應用於區塊鏈網路中的匯出交易。
下面以作為匯出方的用戶A為例,對用戶A的區塊鏈帳戶1中的匯入餘額Ar_A向匯出餘額Ac_A進行資金轉移的過程進行描述。圖4是一示例性實施例提供的一種實施帳戶內資金轉移的互動示意圖。如圖4所示,該互動過程可以包括以下步驟:
步驟401,匯出方對“A;move”簽名,產生SigA。
在一實施例中,本說明書為區塊鏈帳戶增加了一種與帳戶餘額無關的操作,即move操作,可以將匯入餘額Ar中的所有資金全部轉入匯出餘額Ac中。在上述的“A;move”中,“A”代表用戶A的區塊鏈帳戶1、“move”代表該move操作,整體表示:將用戶A的區塊鏈帳戶1中匯入餘額Ar_A的所有資金全部轉入匯出餘額Ac_A。
步驟402,匯出方向區塊鏈提交交易(A;move;SigA)。
在一實施例中,匯出方可以藉由節點1向區塊鏈提交交易(A;move;SigA),以執行該交易。該交易將被傳輸至區塊鏈網路中的所有區塊鏈節點,並由各個區塊鏈節點分別對該交易進行驗證,以在驗證通過時實施帳戶更新、完成資金轉移,而在驗證未通過時拒絕更新帳戶。
步驟403,區塊鏈節點檢查簽名。
在一實施例中,區塊鏈節點可以檢查該交易(A;move; SigA)中包含的簽名SigA是否正確;如果不正確,可以拒絕執行該交易;如果正確,轉入步驟404。
步驟404,區塊鏈節點更新帳戶。
在一實施例中,區塊鏈節點在維護的區塊鏈帳本中更新用戶A的區塊鏈帳戶1。例如,區塊鏈帳本原本記錄的內容為:用戶A的區塊鏈帳戶1中的匯出餘額Ac_A=PC1、匯入餘額Ar_A=PC2,其中PC1為藉由Pedersen承諾機制對匯出餘額Ac_A所含資金的數額進行計算得到的承諾、PC2為藉由Pedersen承諾機制對匯入餘額Ar_A所含資金的數額進行計算得到的承諾;藉由如圖4所示的互動過程,可以將匯入餘額Ar_A的所有資金轉入匯出餘額Ac_A,使得區塊鏈帳本記錄的內容被更新為:匯出餘額Ac_A=PC1+PC2、匯入餘額Ar_A=0。
需要指出的是:
雖然圖4中藉由move操作將匯入餘額Ar_A的所有資金均轉入匯出餘額Ac_A,但出於一些場景下的需求,用戶A仍然可以選擇僅轉移指定的資金數額,而並不一定需要轉移所有資金。
例如,用戶A可以指明所需轉移的資金數額q,藉由Pedersen承諾機制計算該數額q對應的承諾Q,產生用於證明q不小於0的區間證明PR1、用於證明匯入餘額Ar_A所含資金的數額不小於數額q的區間證明PR2,並且針對(A;Q;PR1,PR2)進行簽名得到SigA,然後匯出方向區塊鏈中提交交易(A;Q;PR1,PR2;SigA)。
那麼,假定區塊鏈帳本原本記錄的內容為:用戶A的區塊鏈帳戶1中的匯出餘額Ac_A=PC1、匯入餘額Ar_A=PC2,基於上述交易可以從匯入餘額Ar_A向匯出餘額Ac_A轉入資金q,使得區塊鏈帳本記錄的內容被更新為:匯出餘額Ac_A=PC1+Q、匯入餘額Ar_A=PC2-Q。
下面以作為匯出方的用戶A為例,對用戶A的區塊鏈帳戶1中的備用金餘額的創建過程進行描述。圖5是一示例性實施例提供的一種創建備用金餘額的互動示意圖。如圖5所示,該互動過程可以包括以下步驟:
步驟501,匯出方確定待發行的備用金餘額的金額a1~am。
在一實施例中,假定匯出方需要創建m個備用金餘額,其金額分別為a1、a2……am,匯出方可以指定各個備用金餘額的數值。例如,匯出方可以將用戶A的區塊鏈帳戶1中的匯出餘額Ac_A全部用於創建備用金餘額,比如當匯出餘額Ac_A所含資金為p1,那麼上述a1~am的數值均為p1/m。再例如,匯出方可以指明用於創建備用金餘額的總資金p2,且該總資金p2應當不大於匯出餘額Ac_A所含的資金p1,那麼上述a1~am的數值均為p2/m。又例如,匯出方可以分別設定每一備用金餘額的數值,即分別設定上述a1~am的取值,但需要確保所有備用金餘額的金額之和不大於匯出餘額Ac_A所含的資金p1。
步驟502,匯出方分別為每一備用金餘額產生對應的ID和隨機數。
在一實施例中,假定金額為a1的備用金餘額對應的ID為id1、隨機數為r1,金額為a2的備用金餘額對應的ID為id2、隨機數為r2,……金額為am的備用金餘額對應的ID為idm、隨機數為rm。
步驟503,匯出方分別為每一備用金餘額計算對應的備用金餘額承諾。
在一實施例中,匯出方可以藉由Pedersen承諾機制,為每一備用金餘額計算對應的備用金餘額承諾。例如,備用金餘額id1對應的備用金餘額承諾為PC(a1),根據備用金餘額id1對應的金額a1、隨機數r1,可以確定PC(a1)=Comm(r1,a1)=gr1
ha1
,其中g、h為演算法中已知的參數;類似地,可以根據金額a2、隨機數r2計算出備用金餘額id2對應的備用金餘額承諾PC(a2)=Comm(r2,a2)= gr2
ha2
,……,根據金額am、隨機數rm計算出備用金餘額am對應的備用金餘額承諾PC(am)=Comm(rm,am)=grm
ham
。
步驟504,匯出方分別為每一備用金餘額產生對應的區間證明,以表明備用金餘額不小於0。
在一實施例中,匯出方可以藉由相關技術中的Bulletproofs方案、Borromean環簽名方案等方式,針對各個備用金餘額產生對應的區間證明。例如,可以針對備用金餘額id1產生對應的區間證明Pf_1,以用於證明備用金餘額id1的金額滿足a1≥0;類似地,可以針對備用金餘額id2產生對應的區間證明Pf_2,以用於證明備用金餘額id2的金額滿足a2≥0,……,針對備用金餘額idm產生對應的區間證明Pf_m,以用於證明備用金餘額idm的金額滿足am≥0。
步驟505,匯出方產生區間證明Pf。
在一實施例中,由於需要對匯出餘額Ac_A所含的資金p1進行劃分,得到相應的備用金餘額id1~idm,因而需要確保匯出餘額Ac_A的資金p1充足、足夠用於產生備用金餘額id1~idm,而區間證明Pf可以用於確保p1≥a1+……+am,或者p1-a1-……-am≥0。
步驟506,匯出方對[(id1,PC(a1),Pf_1),…,(idm, PC(am),Pf_m),Pf]進行簽名並交易。
在一實施例中,匯出方可以藉由用戶A對應的匯出方私鑰對[(id1,PC(a1),Pf_1),…,(idm,PC(am),Pf_m),Pf]進行簽名,得到相應的簽名SigA。然後,匯出方可以組裝交易[A;(id1,PC(a1),Pf_1),…,(idm,PC(am),Pf_m),Pf;SigA],並藉由節點1向區塊鏈提交該交易,以執行該交易。該交易將被傳輸至區塊鏈網路中的所有區塊鏈節點,並由各個區塊鏈節點分別對該匯款交易進行驗證,以在驗證通過時實施帳戶更新、完成備用金餘額的創建,而在驗證未通過時拒絕更新帳戶。
步驟507,區塊鏈節點檢查簽名。
在一實施例中,區塊鏈節點可以檢查上述交易中包含的簽名SigA是否正確;如果不正確,可以拒絕執行該交易;如果正確,轉入步驟508。
步驟508,區塊鏈節點驗證區間證明。
在一實施例中,區塊鏈節點可以檢查上述交易中包含的區間證明Pf_1~Pf_m、區間證明Pf,以確定是否滿足a1≥0、……、am≥0、p1≥a1+……+am。如果不正確,可以拒絕執行該交易;如果正確,轉入步驟509。
步驟509,區塊鏈節點更新帳戶。
在一實施例中,區塊鏈節點在維護的區塊鏈帳本中更新用戶A的區塊鏈帳戶1。例如,區塊鏈帳本原本記錄的內容為:用戶A的區塊鏈帳戶1中的匯出餘額Ac_A=PC1、備用金餘額Ab_A=[](即尚不存在已創建的備用金餘額),其中PC1為藉由Pedersen承諾機制對匯出餘額Ac_A所含資金的數額進行計算得到的承諾;藉由如圖5所示的互動過程,可以將匯出餘額Ac_A中的至少一部分資金用於創建備用金餘額id1~idm,使得區塊鏈帳本記錄的內容被更新為:匯出餘額Ac_A=PC1- PC(a1)-……-PC(am)、備用金餘額Ab_A=[(id1,PC(a1)),(id2,PC(a2)),……,(idm,PC(am))]。
假定用戶A的區塊鏈帳戶1中包含匯出餘額Ac_A=P1_A、匯入餘額Ar_A=P2_A、備用金餘額Ab_A=[(id1,PC(a1)),(id2,PC(a2)),……,(idm,PC(am))],而用戶B的區塊鏈帳戶2中包含匯出餘額Ac_B=P1_B、匯入餘額Ar_B=P2_B、備用金餘額Ab_B=[],可以藉由下述圖6所示的互動方案,實現用戶A向用戶B的匯款交易。其中,圖6是一示例性實施例提供的一種在區塊鏈網路中實施匯款交易的流程圖;如圖6所示,匯出方、接收方和區塊鏈節點之間的互動過程可以包括以下步驟:
步驟601,匯出方選取備用金餘額。
在一實施例中,匯出方是指匯款交易中對款項等資源進行匯出的角色,相應地接收方是指匯款交易中對款項等資源進行接收的角色。例如在圖2所示的實施例中,用戶A對應的用戶設備1可以被配置為匯出方,而用戶B對應的用戶設備2可以被配置為接收方。
在一實施例中,在起草匯款交易時,匯出方可以與接收方之間協商匯款額t。而匯出方在選取備用金餘額時,比如選取的備用金餘額的ID為id1~idk,那麼應當確保這些備用金餘額的資金之和a1+……+ak≥t,否則將導致匯款失敗。
步驟602,匯出方確定匯款額t對應的隨機數r。
在一實施例中,匯出方可以基於Pedersen承諾機制對該匯款額t進行同態加密處理;其中,匯出方可以針對該匯款額t產生隨機數r,則匯款額t對應的匯款承諾T=Comm(r,t)=gr
ht
,其中g、h為演算法中已知的參數。
步驟603,匯出方藉由鏈下通道將(r,t,T)發送至接收方。
在一實施例中,藉由將(r,t,T)由鏈下通道而非區塊鏈網路進行發送,可以避免匯款隨機數r和匯款額t被記錄至區塊鏈帳本中,確保匯款額t除匯出方和接收方之外不可知。
步驟604,接收方對收到的(r,t,T)進行驗證。
在一實施例中,接收方可以對匯款額t進行驗證,以確定其確實為協商的匯款數額。
在一實施例中,接收方可以對匯款承諾T進行驗證,即接收方可以藉由Perdersen承諾機制對隨機數r和匯款額t進行計算,以驗證匯款承諾T=Comm(r,t)是否正確,若正確則表明驗證通過,否則驗證不通過。
步驟605,接收方在驗證通過後,產生簽名並返回至匯出方。
在一實施例中,在驗證通過後,接收方可以利用接收方私鑰對(A,B,T)進行簽名,產生簽名SigB並返回至匯出方。該簽名SigB表明接收方同意由用戶A的區塊鏈帳戶1向用戶B的區塊鏈帳戶2實施承諾為T的匯款交易。
步驟606,在收到簽名SigB後,匯出方產生區間證明PR。
在一實施例中,在收到簽名SigB後,匯出方確定接收方允許實施匯款交易。匯出方向接收方實施匯款交易,實際上需要從用戶A對應的區塊鏈帳戶1向用戶B對應的區塊鏈帳戶2實施匯款操作。
在一實施例中,為了確保匯款交易順利完成,區塊鏈節點需要確定匯款額t、被選取的備用金餘額id1~idk滿足下述條件:t≥0、a1+……+ak≥t;而區間證明技術可以使得區塊鏈節點在密文狀態下驗證交易是否符合預設條件,譬如本說明書中可以採用相關技術中的Bulletproofs方案、Borromean環簽名方案等實現,本說明書並不對此進行限制。匯出方可以利用區間證明技術產生區間證明PR,以供後續過程中由區塊鏈節點進行驗證是否滿足t≥0、a1+……+ak≥t。
步驟607,匯出方對交易內容(A,B,T;id1,…,idk;PR)進行簽名,產生簽名SigA。
在一實施例中,該匯出方可以利用匯出方私鑰對交易內容(A,B,T;id1,…,idk;PR)進行簽名,產生簽名SigA。
步驟608,匯出方向區塊鏈提交交易。
在一實施例中,匯出方可以藉由節點1向區塊鏈提交相應的匯款交易(A,B,T;id1,…,idk;PR;SigA,SigB),以執行該匯款交易。該匯款交易將被傳輸至區塊鏈網路中的所有區塊鏈節點,並由各個區塊鏈節點分別對該匯款交易進行驗證,以在驗證通過時執行匯款操作、在驗證未通過時拒絕匯款。
步驟609,區塊鏈節點檢查交易是否執行過。
在一實施例中,此處的區塊鏈節點可以表示區塊鏈網路中的任意一個區塊鏈節點,即區塊鏈網路中的每一區塊鏈節點均會收到匯款交易(A,B,T;id1,…,idk;PR;SigA, SigB),並藉由步驟609~612等實施驗證等操作。
在一實施例中,區塊鏈節點在收到匯款交易(A,B,T; id1,…,idk;PR;SigA,SigB)後,可以利用相關技術中的防雙花或防重放機制,驗證該匯款交易是否已經執行過;如果已經執行過,可以拒絕執行該匯款交易(A,B,T; id1,…,idk;PR;SigA,SigB),否則轉入步驟610。
步驟610,區塊鏈節點檢查簽名。
在一實施例中,區塊鏈節點可以檢查該匯款交易(A,B,T;id1,…,idk;PR;SigA,SigB)中包含的簽名SigA、SigB是否正確;如果不正確,可以拒絕執行該匯款交易,否則轉入步驟611。
步驟611,區塊鏈節點檢查區間證明PR。
在一實施例中,區塊鏈節點可以基於區間證明技術對該匯款交易(A,B,T;id1,…,idk;PR;SigA,SigB)包含的區間證明PR進行檢查,以確定是否滿足t≥0、a1+……+ak≥t。如果不滿足,可以拒絕執行該匯款交易,否則轉入步驟612。
步驟612,區塊鏈節點檢查備用金餘額是否存在。
在一實施例中,針對匯款交易(A,B,T; id1,…,idk;PR;SigA, SigB)中涉及到的備用金餘額id1~idk,區塊鏈節點可以檢查自身維護的區塊鏈帳本,以確定這些備用金餘額id1~idk是否存在於用戶A的區塊鏈帳戶1中。如果不存在,可以拒絕執行該匯款交易,否則轉入步驟613。
步驟613,區塊鏈節點在維護的區塊鏈帳本中更新用戶A、用戶B分別對應的區塊鏈帳戶。
在一實施例中,在藉由步驟609~612的驗證後,區塊鏈節點可以分別對區塊鏈帳本中記載的區塊鏈帳戶1、區塊鏈帳戶2進行更新:
對於用戶A的區塊鏈帳戶1,由於ID為id1~idk的備用金餘額被用於實施匯款交易,因而備用金餘額Ab_A被更新為Ab_A=[(idk+1,PC(ak+1)),(idk+2,PC(ak+2)),……,(idm, PC(am))]。由於a1+……+ak並不總是能夠恰好等於匯款額t,因而當a1+……+ak>t時,將形成找零額為a1+……+ak-t,該找零額相當於匯入區塊鏈帳戶1,所以被添加至匯入餘額Ar_A中,使得匯入餘額Ar_A被更新為Ar_A=P2_A+ PC(a1)+……+PC(ak)-T。匯出餘額Ac_A=P1_A不變。
對於用戶B的區塊鏈帳戶2,上述的匯款交易屬匯入交易,因而需要基於匯款額t對匯入餘額Ar_B進行更新,得到更新後的匯入餘額Ar_B=P2_B+T。匯出餘額Ac_B=P1_B、備用金餘額Ab_B=[]不變。
綜上所述,藉由採用同態加密機制,可以對區塊鏈帳戶的帳戶餘額進行加密、將加密後的餘額承諾記載於區塊鏈帳本中,還可以在匯款交易過程中對匯款額加密、將加密後的匯款承諾用於實施匯款交易,可以在對帳戶餘額、匯款額均保密的情況下,藉由區塊鏈網路順利完成匯款交易,並且不影響區塊鏈節點對交易條件的驗證操作,使得區塊鏈網路具備了隱私保護功能。同時,藉由採用改進後的區塊鏈帳戶結構,使得匯入餘額、備用金餘額可以分別獨立參與到匯入交易、匯出交易中,並且不同的備用金餘額可以參與至不同的匯出交易中,而匯出餘額可以連續、不間斷地創建備用金餘額,從而極大地提升了交易通量。
圖7是一示例性實施例提供的一種設備的示意結構圖。請參考圖7,在硬體層面,該設備包括處理器702、內部匯流排704、網路介面706、記憶體708以及非易失性記憶體710,當然還可能包括其他業務所需要的硬體。處理器702從非易失性記憶體710中讀取對應的電腦程式到記憶體708中然後運行,在邏輯層面上形成區塊鏈交易裝置。當然,除了軟體實現方式之外,本說明書一個或多個實施例並不排除其他實現方式,比如邏輯裝置抑或軟硬體結合的方式等等,也就是說以下處理流程的執行主體並不限定於各個邏輯單元,也可以是硬體或邏輯裝置。
請參考圖8,在軟體實施方式中,該區塊鏈交易裝置應用於匯出方設備,該裝置可以包括:
確定單元801,確定將要從匯出方區塊鏈帳戶匯入接收方區塊鏈帳戶的交易額;其中,所述匯出方區塊鏈帳戶的匯出方餘額被劃分出多份匯出方備用金餘額,每份匯出方備用金餘額在區塊鏈上被登記為相應的匯出方備用金餘額承諾;
選取單元802,從所述匯出方區塊鏈帳戶中選取若干份匯出方備用金餘額,被選取的匯出方備用金餘額的總和不小於所述交易額;
提交單元803,向區塊鏈提交交易,所述交易中包含所述被選取的匯出方備用金餘額的標識和所述交易額對應的交易額承諾,使得匯出方區塊鏈帳戶在交易完成後刪除所述被選取的匯出方備用金餘額、接收方區塊鏈帳戶在交易完成後增加所述交易額。
可選的,所述匯出方餘額還被劃分出第一匯入餘額;其中,當所述匯出方區塊鏈帳戶的匯出方餘額增大時,相應的金額被增加至所述第一匯入餘額。
可選的,所述匯出方餘額被劃分出匯出餘額,其中所述匯出餘額的至少一部分被進一步劃分為所述的多份匯出方備用金餘額;所述裝置還包括:
轉移單元804,將所述第一匯入餘額中的至少一部分轉移至所述匯出餘額。
可選的,當所述被選取的匯出方備用金餘額大於所述交易額時,所述第一匯入餘額在所述交易完成後增加找零額,所述找零額為所述被選取的匯出方備用金餘額與所述交易額之差。
可選的,所述接收方區塊鏈帳戶的接收方餘額被劃分出第二匯入餘額,所述第二匯入餘額在區塊鏈上被登記為相應的第二匯入餘額承諾;其中,所述第二匯入餘額承諾在所述交易完成後增加所述交易額承諾。
可選的,所述交易額承諾由預設加密演算法根據所述交易額和交易隨機數計算得到、所述第二匯入餘額承諾由所述預設加密演算法根據所述第二匯入餘額和匯入餘額隨機數計算得到;所述裝置還包括:
第一發送單元805,將所述交易隨機數藉由鏈外通道發送至接收方設備,以由所述接收方設備根據更新後第二匯入餘額承諾、更新後匯入餘額隨機數確定更新後第二匯入餘額;
其中,所述更新後第二匯入餘額承諾由所述第二匯入餘額承諾增加所述交易額承諾得到、所述更新後匯入餘額隨機數由所述匯入餘額隨機數增加所述交易隨機數得到、所述更新後第二匯入餘額為所述第二匯入餘額與所述交易額之和。
可選的,還包括:
第二發送單元806,在提交所述交易之前,將所述交易額承諾藉由鏈外通道發送至所述接收方設備,以由所述接收方設備驗證所述交易額承諾、所述交易隨機數和所述交易額之間的關聯關係。
可選的,還包括:
獲取單元807,獲取所述接收方設備藉由接收方私鑰產生的與所述交易額承諾相關的接收方簽名,所述接收方簽名由所述接收方設備在所述關聯關係通過驗證後產生;
第一添加單元808,將所述接收方簽名添加至所述交易中,以供所述區塊鏈中的區塊鏈節點進行簽名驗證。
可選的,還包括:
第一產生單元809,藉由匯出方私鑰產生與所述交易額承諾相關的匯出方簽名;
第二添加單元810,將所述匯出方簽名添加至所述交易中,以供所述區塊鏈中的區塊鏈節點進行簽名驗證。
可選的,還包括:
第二產生單元811,產生區間證明;
第三添加單元812,將所述區間證明添加至所述交易中,以供所述區塊鏈中的區塊鏈節點驗證所述交易額是否滿足:所述交易額不小於0且所述被選取的匯出方備用金餘額不小於所述交易額。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、筆記型電腦、行動電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
在一個典型的配置中,電腦包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟(CD-ROM)、數位化多功能光碟(DVD)或其他光學儲存、磁盒式磁帶、磁碟儲存、量子記憶體、基於石墨烯的儲存媒體或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在圖式中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。
在本說明書一個或多個實施例使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本說明書一個或多個實施例。在本說明書一個或多個實施例和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,儘管在本說明書一個或多個實施例可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書一個或多個實施例範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取決於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應於確定”。
以上所述僅為本說明書一個或多個實施例的較佳實施例而已,並不用以限制本說明書一個或多個實施例,凡在本說明書一個或多個實施例的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書一個或多個實施例保護的範圍之內。
102~106:步驟
401~404:步驟
501~509:步驟
601~613:步驟
702:處理器
704:內部匯流排
706:網路介面
708:記憶體
710:非易失性記憶體
801:確定單元
802:選取單元
803:提交單元
804:轉移單元
805:第一發送單元
806:第二發送單元
807:獲取單元
808:第一添加單元
809:第一產生單元
810:第二添加單元
811:第二產生單元
812:第三添加單元
圖1是一示例性實施例提供的一種區塊鏈交易方法的流程圖。
圖2是一示例性實施例提供的一種在區塊鏈網路中實施匯款交易的示意圖。
圖3是一示例性實施例提供的一種改進後的區塊鏈帳戶結構的示意圖。
圖4是一示例性實施例提供的一種實施帳戶內資金轉移的互動示意圖。
圖5是一示例性實施例提供的一種創建備用金餘額的互動示意圖。
圖6是一示例性實施例提供的一種在區塊鏈網路中實施匯款交易的流程圖。
圖7是一示例性實施例提供的一種設備的結構示意圖。
圖8是一示例性實施例提供的一種區塊鏈交易裝置的方塊圖。
Claims (21)
- 一種區塊鏈交易方法,應用於匯出方設備,所述方法包括: 確定將要從匯出方區塊鏈帳戶匯入接收方區塊鏈帳戶的交易額;其中,所述匯出方區塊鏈帳戶的匯出方餘額被劃分出多份匯出方備用金餘額,每份匯出方備用金餘額在區塊鏈上被登記為相應的匯出方備用金餘額承諾; 從所述匯出方區塊鏈帳戶中選取若干份匯出方備用金餘額,被選取的匯出方備用金餘額的總和不小於所述交易額; 向區塊鏈提交交易,所述交易中包含所述被選取的匯出方備用金餘額的標識和所述交易額對應的交易額承諾,使得匯出方區塊鏈帳戶在交易完成後刪除所述被選取的匯出方備用金餘額、接收方區塊鏈帳戶在交易完成後增加所述交易額。
- 根據申請專利範圍第1項所述的方法,所述匯出方餘額還被劃分出第一匯入餘額;其中,當所述匯出方區塊鏈帳戶的匯出方餘額增大時,相應的金額被增加至所述第一匯入餘額。
- 根據申請專利範圍第2項所述的方法,所述匯出方餘額被劃分出匯出餘額,其中所述匯出餘額的至少一部分被進一步劃分為所述的多份匯出方備用金餘額;所述方法還包括: 將所述第一匯入餘額中的至少一部分轉移至所述匯出餘額。
- 根據申請專利範圍第2項所述的方法,當所述被選取的匯出方備用金餘額大於所述交易額時,所述第一匯入餘額在所述交易完成後增加找零額,所述找零額為所述被選取的匯出方備用金餘額與所述交易額之差。
- 根據申請專利範圍第1項所述的方法,所述接收方區塊鏈帳戶的接收方餘額被劃分出第二匯入餘額,所述第二匯入餘額在區塊鏈上被登記為相應的第二匯入餘額承諾;其中,所述第二匯入餘額承諾在所述交易完成後增加所述交易額承諾。
- 根據申請專利範圍第5項所述的方法,所述交易額承諾由預設加密演算法根據所述交易額和交易隨機數計算得到、所述第二匯入餘額承諾由所述預設加密演算法根據所述第二匯入餘額和匯入餘額隨機數計算得到;所述方法還包括: 將所述交易隨機數藉由鏈外通道發送至接收方設備,以由所述接收方設備根據更新後第二匯入餘額承諾、更新後匯入餘額隨機數確定更新後第二匯入餘額; 其中,所述更新後第二匯入餘額承諾由所述第二匯入餘額承諾增加所述交易額承諾得到、所述更新後匯入餘額隨機數由所述匯入餘額隨機數增加所述交易隨機數得到、所述更新後第二匯入餘額為所述第二匯入餘額與所述交易額之和。
- 根據申請專利範圍第6項所述的方法,還包括: 在提交所述交易之前,將所述交易額承諾藉由鏈外通道發送至所述接收方設備,以由所述接收方設備驗證所述交易額承諾、所述交易隨機數和所述交易額之間的關聯關係。
- 根據申請專利範圍第7項所述的方法,還包括: 獲取所述接收方設備藉由接收方私鑰產生的與所述交易額承諾相關的接收方簽名,所述接收方簽名由所述接收方設備在所述關聯關係通過驗證後產生; 將所述接收方簽名添加至所述交易中,以供所述區塊鏈中的區塊鏈節點進行簽名驗證。
- 根據申請專利範圍第1項所述的方法,還包括: 藉由匯出方私鑰產生與所述交易額承諾相關的匯出方簽名; 將所述匯出方簽名添加至所述交易中,以供所述區塊鏈中的區塊鏈節點進行簽名驗證。
- 根據申請專利範圍第1項所述的方法,還包括: 產生區間證明; 將所述區間證明添加至所述交易中,以供所述區塊鏈中的區塊鏈節點驗證所述交易額是否滿足:所述交易額不小於0且所述被選取的匯出方備用金餘額不小於所述交易額。
- 一種區塊鏈交易裝置,應用於匯出方設備,所述裝置包括: 確定單元,確定將要從匯出方區塊鏈帳戶匯入接收方區塊鏈帳戶的交易額;其中,所述匯出方區塊鏈帳戶的匯出方餘額被劃分出多份匯出方備用金餘額,每份匯出方備用金餘額在區塊鏈上被登記為相應的匯出方備用金餘額承諾; 選取單元,從所述匯出方區塊鏈帳戶中選取若干份匯出方備用金餘額,被選取的匯出方備用金餘額的總和不小於所述交易額; 提交單元,向區塊鏈提交交易,所述交易中包含所述被選取的匯出方備用金餘額的標識和所述交易額對應的交易額承諾,使得匯出方區塊鏈帳戶在交易完成後刪除所述被選取的匯出方備用金餘額、接收方區塊鏈帳戶在交易完成後增加所述交易額。
- 根據申請專利範圍第11項所述的裝置,所述匯出方餘額還被劃分出第一匯入餘額;其中,當所述匯出方區塊鏈帳戶的匯出方餘額增大時,相應的金額被增加至所述第一匯入餘額。
- 根據申請專利範圍第12項所述的裝置,所述匯出方餘額被劃分出匯出餘額,其中所述匯出餘額的至少一部分被進一步劃分為所述的多份匯出方備用金餘額;所述裝置還包括: 轉移單元,將所述第一匯入餘額中的至少一部分轉移至所述匯出餘額。
- 根據申請專利範圍第12項所述的裝置,當所述被選取的匯出方備用金餘額大於所述交易額時,所述第一匯入餘額在所述交易完成後增加找零額,所述找零額為所述被選取的匯出方備用金餘額與所述交易額之差。
- 根據申請專利範圍第11項所述的裝置,所述接收方區塊鏈帳戶的接收方餘額被劃分出第二匯入餘額,所述第二匯入餘額在區塊鏈上被登記為相應的第二匯入餘額承諾;其中,所述第二匯入餘額承諾在所述交易完成後增加所述交易額承諾。
- 根據申請專利範圍第15項所述的裝置,所述交易額承諾由預設加密演算法根據所述交易額和交易隨機數計算得到、所述第二匯入餘額承諾由所述預設加密演算法根據所述第二匯入餘額和匯入餘額隨機數計算得到;所述裝置還包括: 第一發送單元,將所述交易隨機數藉由鏈外通道發送至接收方設備,以由所述接收方設備根據更新後第二匯入餘額承諾、更新後匯入餘額隨機數確定更新後第二匯入餘額; 其中,所述更新後第二匯入餘額承諾由所述第二匯入餘額承諾增加所述交易額承諾得到、所述更新後匯入餘額隨機數由所述匯入餘額隨機數增加所述交易隨機數得到、所述更新後第二匯入餘額為所述第二匯入餘額與所述交易額之和。
- 根據申請專利範圍第16項所述的裝置,還包括: 第二發送單元,在提交所述交易之前,將所述交易額承諾藉由鏈外通道發送至所述接收方設備,以由所述接收方設備驗證所述交易額承諾、所述交易隨機數和所述交易額之間的關聯關係。
- 根據申請專利範圍第17項所述的裝置,還包括: 獲取單元,獲取所述接收方設備藉由接收方私鑰產生的與所述交易額承諾相關的接收方簽名,所述接收方簽名由所述接收方設備在所述關聯關係通過驗證後產生; 第一添加單元,將所述接收方簽名添加至所述交易中,以供所述區塊鏈中的區塊鏈節點進行簽名驗證。
- 根據申請專利範圍第11項所述的裝置,還包括: 第一產生單元,藉由匯出方私鑰產生與所述交易額承諾相關的匯出方簽名; 第二添加單元,將所述匯出方簽名添加至所述交易中,以供所述區塊鏈中的區塊鏈節點進行簽名驗證。
- 根據申請專利範圍第11項所述的裝置,還包括: 第二產生單元,產生區間證明; 第三添加單元,將所述區間證明添加至所述交易中,以供所述區塊鏈中的區塊鏈節點驗證所述交易額是否滿足:所述交易額不小於0且所述被選取的匯出方備用金餘額不小於所述交易額。
- 一種電子設備,包括: 處理器; 用於儲存處理器可執行指令的記憶體; 其中,所述處理器藉由運行所述可執行指令以實現如申請專利範圍第1-10項中任一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811249440.5A CN109377224A (zh) | 2018-10-25 | 2018-10-25 | 区块链交易方法及装置、电子设备 |
CN201811249440.5 | 2018-10-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202016819A true TW202016819A (zh) | 2020-05-01 |
Family
ID=65401883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108110890A TW202016819A (zh) | 2018-10-25 | 2019-03-28 | 區塊鏈交易方法及裝置、電子設備 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11481775B2 (zh) |
EP (1) | EP3827396A1 (zh) |
CN (1) | CN109377224A (zh) |
SG (1) | SG11202101754WA (zh) |
TW (1) | TW202016819A (zh) |
WO (1) | WO2020086233A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020096996A2 (en) * | 2018-11-05 | 2020-05-14 | Tunnel International Inc. | Methods, systems, and devices for concealing account balances in ledgers |
CN110458561B (zh) * | 2019-07-31 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 区块链网络中实现机密交易的方法及装置 |
CN111383008B (zh) * | 2020-05-29 | 2021-07-30 | 支付宝(杭州)信息技术有限公司 | 基于账户模型的区块链转账方法及装置 |
US20220147993A1 (en) * | 2020-11-12 | 2022-05-12 | Arbër FAZLIU | Secure peer-to-peer transctions using a blockchain network |
CN113269644B (zh) * | 2021-05-28 | 2023-06-02 | 长沙链奇科技有限公司 | 基于区块链的交易处理方法及装置 |
CN113762946A (zh) * | 2021-07-22 | 2021-12-07 | 北京房江湖科技有限公司 | 账户出入款方法、装置、电子设备、介质及程序产品 |
CN113570373B (zh) * | 2021-09-23 | 2022-02-11 | 北京理工大学 | 一种基于区块链的可追责交易方法及系统 |
CN115330532B (zh) * | 2022-10-10 | 2023-03-10 | 北京百度网讯科技有限公司 | 基于账户模型的区块链处理方法、装置、设备及存储介质 |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57115708A (en) | 1981-01-08 | 1982-07-19 | Kenwood Corp | Manufacture of capacitor paper |
US20030104857A1 (en) | 2001-12-05 | 2003-06-05 | Marcus Jenkins | Dual lottery, gaming and annuity system with guaranteed payoff |
EP3872666A1 (fr) | 2015-01-30 | 2021-09-01 | Enrico Maim | Systèmes et procédés pour la gestion d'engagements en réseau d'entités sécurisées |
KR102556851B1 (ko) | 2015-02-09 | 2023-07-18 | 티제로 아이피, 엘엘씨 | 암호화 통합 플랫폼 |
US11288643B2 (en) * | 2015-02-11 | 2022-03-29 | Global Compassion, Llc | Mobile banking system and method |
CN104794652A (zh) | 2015-04-28 | 2015-07-22 | 胡刚 | 一种建立竞价奖励机制的网络拍卖方法及系统 |
US20160342989A1 (en) | 2015-05-21 | 2016-11-24 | Mastercard International Incorporated | Method and system for processing blockchain-based transactions on existing payment networks |
WO2016200885A1 (en) | 2015-06-08 | 2016-12-15 | Blockstream Corporation | Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction |
US20190259033A1 (en) | 2015-06-20 | 2019-08-22 | Quantiply Corporation | System and method for using a data genome to identify suspicious financial transactions |
US20170048235A1 (en) | 2015-07-14 | 2017-02-16 | Fmr Llc | Crypto Captcha and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US20180191503A1 (en) | 2015-07-14 | 2018-07-05 | Fmr Llc | Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US10402792B2 (en) | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
SG11201806709PA (en) | 2016-02-23 | 2018-09-27 | Nchain Holdings Ltd | Universal tokenisation system for blockchain-based cryptocurrencies |
US11010729B2 (en) * | 2016-04-14 | 2021-05-18 | Pricewaterhousecoopers Llp | Cryptoconomy solution for administration and governance in a distributed system |
US11373183B2 (en) * | 2016-05-06 | 2022-06-28 | Mastercard International Incorporated | Method and system for instantaneous payment using recorded guarantees |
US10546277B2 (en) | 2016-06-24 | 2020-01-28 | Raise Marketplace, Llc | Securely modifying exchange items in an exchange item marketplace network |
US10832247B2 (en) | 2016-09-15 | 2020-11-10 | American Express Travel Related Services Company, Inc. | Systems and methods for blockchain based payment networks |
CN106682984B (zh) | 2016-10-27 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 基于区块链的交易事务处理方法及系统 |
CN106549749B (zh) * | 2016-12-06 | 2019-12-24 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
WO2018115567A1 (en) * | 2016-12-19 | 2018-06-28 | Nokia Technologies Oy | Method and apparatus for private data transfer between parties |
US11196623B2 (en) | 2016-12-30 | 2021-12-07 | Intel Corporation | Data packaging protocols for communications between IoT devices |
WO2018120057A1 (zh) | 2016-12-30 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的货币管理方法和系统 |
WO2018127923A1 (en) | 2017-01-08 | 2018-07-12 | Eyal Hertzog | Methods for exchanging and evaluating virtual currency |
US10102526B1 (en) | 2017-03-31 | 2018-10-16 | Vijay K. Madisetti | Method and system for blockchain-based combined identity, ownership, integrity and custody management |
US11481360B2 (en) | 2017-04-07 | 2022-10-25 | Hwa-Shang CHANG | Blockchain network and method of operation thereof |
CN107358525B (zh) * | 2017-06-26 | 2021-05-25 | 中国人民银行数字货币研究所 | 一种账户交易方法和装置 |
CN107392603B (zh) * | 2017-06-26 | 2021-03-16 | 中国人民银行数字货币研究所 | 使用数字货币的交易方法和装置 |
CN107545419B (zh) | 2017-07-19 | 2021-07-13 | 招商银行股份有限公司 | 汇款处理方法、系统及计算机可读存储介质 |
CN107392584B (zh) | 2017-07-24 | 2021-07-09 | 中国银行股份有限公司 | 跨境支付系统及基于区块链支付系统的跨境支付方法 |
US20200051071A1 (en) | 2017-07-27 | 2020-02-13 | Eland Blockchain Fintech Inc. | Electronic transaction system and method using a blockchain to store transaction records |
CA3113389C (en) * | 2017-09-29 | 2023-12-19 | Leverage Rock Llc | Transaction privacy in public distributed ledger systems |
US11699166B2 (en) | 2017-10-09 | 2023-07-11 | American Express Travel Related Services Company, Inc. | Multi-merchant loyalty point partnership |
US11397962B2 (en) | 2017-10-09 | 2022-07-26 | American Express Travel Related Services Company, Inc. | Loyalty point distributions using a decentralized loyalty ID |
US11182787B2 (en) * | 2017-11-07 | 2021-11-23 | Liquidchain Ag | System and method for scaling blockchain networks with secure off-chain payment hubs |
US10373129B1 (en) * | 2018-03-05 | 2019-08-06 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
US11728995B2 (en) | 2018-04-09 | 2023-08-15 | American Express Travel Related Services Company, Inc. | Reward point transfers using blockchain |
JP7074327B2 (ja) | 2018-04-10 | 2022-05-24 | 株式会社エプセム | 電子通貨管理システム |
KR20190136610A (ko) | 2018-05-31 | 2019-12-10 | 박덕용 | 블록체인 기반의 스마트 컨트랙트를 이용한 거래 처리 장치 및 방법 |
US11568402B2 (en) * | 2018-06-06 | 2023-01-31 | International Business Machines Corporation | Decentralized out-of-band accelerated blockchain transaction processing |
US20200042971A1 (en) | 2018-07-31 | 2020-02-06 | American Express Travel Related Services Co., Inc. | System and method for transaction account based micro-payments |
US11410136B2 (en) | 2018-08-01 | 2022-08-09 | American Express Travel Related Services Company, Inc. | Procurement system using blockchain |
US20200058023A1 (en) | 2018-08-14 | 2020-02-20 | Grandata Inc. | Decentralized Data Marketplace |
CN108985100B (zh) | 2018-08-15 | 2022-02-25 | 百度在线网络技术(北京)有限公司 | 基于区块链的元素安全性证明方法、装置、设备和介质 |
JP6445211B1 (ja) | 2018-08-23 | 2018-12-26 | 寛 鳥居 | 送金指示装置、送金指示方法、送金指示プログラム及び送金指示システム |
-
2018
- 2018-10-25 CN CN201811249440.5A patent/CN109377224A/zh active Pending
-
2019
- 2019-03-28 TW TW108110890A patent/TW202016819A/zh unknown
- 2019-10-03 US US16/592,047 patent/US11481775B2/en active Active
- 2019-10-03 SG SG11202101754WA patent/SG11202101754WA/en unknown
- 2019-10-03 WO PCT/US2019/054462 patent/WO2020086233A1/en active Search and Examination
- 2019-10-03 EP EP19791087.0A patent/EP3827396A1/en active Pending
-
2020
- 2020-03-13 US US16/817,741 patent/US11170374B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2020086233A1 (en) | 2020-04-30 |
US20200134625A1 (en) | 2020-04-30 |
US11170374B2 (en) | 2021-11-09 |
US11481775B2 (en) | 2022-10-25 |
CN109377224A (zh) | 2019-02-22 |
US20200211018A1 (en) | 2020-07-02 |
SG11202101754WA (en) | 2021-03-30 |
EP3827396A1 (en) | 2021-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI727292B (zh) | 區塊鏈交易方法及裝置、電子設備 | |
TWI786282B (zh) | 區塊鏈交易方法及裝置、電子設備 | |
US20220084013A1 (en) | Identity management, smart contract generator, and blockchain mediating system, and related methods | |
WO2021042818A1 (zh) | 基于区块链的资产查询方法及装置、电子设备 | |
TWI694399B (zh) | 基於區塊鏈的資產轉移方法及裝置、電子設備 | |
TWI734090B (zh) | 區塊鏈交易方法及裝置、電子設備 | |
TWI698115B (zh) | 基於區塊鏈的交易方法、裝置和匯出方設備 | |
WO2021017441A1 (zh) | 基于区块链的数据授权方法及装置 | |
TWI685240B (zh) | 區塊鏈交易方法及裝置、電子設備 | |
CN109313685B (zh) | 区块链系统的加密应用 | |
TW202016819A (zh) | 區塊鏈交易方法及裝置、電子設備 | |
WO2020220760A1 (zh) | 基于区块链的缴费代扣方法及装置、电子设备、存储介质 | |
JP7128111B2 (ja) | ブロックチェーンを介して資産関連活動を制御するシステム及び方法 | |
WO2020119294A1 (zh) | 数据共享方法、装置及系统、电子设备 | |
CN110166442B (zh) | 一种基于区块链的数据处理方法和装置 | |
CN109544129B (zh) | 区块链交易方法及装置、电子设备 | |
TW202107377A (zh) | 基於區塊鏈的資料授權方法及裝置 | |
TW202008207A (zh) | 基於區塊鏈的資產發布方法及裝置、電子設備 | |
JP6880255B2 (ja) | ブロックチェーン機密トランザクションの管理 | |
US20210398116A1 (en) | Managing transactions in multiple blockchain networks | |
WO2021017425A1 (zh) | 区块链网络中实现机密交易的方法及装置 | |
CN112561407A (zh) | 基于区块链的资产管理方法、系统及装置 | |
CN111383008B (zh) | 基于账户模型的区块链转账方法及装置 | |
US20240080191A1 (en) | Collaborative computation across blockchain networks | |
WO2023183494A1 (en) | Integrated platform for digital asset registration, tracking and validation |