Method and apparatus for computer-aided testing of a blockchain
US-2020117585-A1 · Apr 16, 2020 · US
US11004070B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11004070-B2 |
| Application number | US-202016879718-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 20, 2020 |
| Priority date | Oct 26, 2018 |
| Publication date | May 11, 2021 |
| Grant date | May 11, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for implementing blockchain-based transactions includes: determining a to-be-remitted amount for each of a plurality of remitters participating in a transaction and a to-be-received amount for each of a plurality of receivers participating in the transaction, wherein the plurality of remitters include one or more real remitters, the plurality of receivers include one or more real receivers, and the plurality of remitters include one or more cover-up remitters and/or the plurality of receivers include one or more cover-up receivers; generating a commitment of the to-be-remitted amount corresponding to the each remitter and a commitment of the to-be-received amount corresponding to the each receiver; and submitting the transaction to a blockchain for execution, wherein the transaction comprises blockchain account addresses of the remitters and receivers, and the commitments of the to-be-remitted amounts and the to-be-received amounts.
Opening claim text (preview).
What is claimed is: 1. A system, comprising a first computing device and one or more nodes of a blockchain computer network, wherein a blockchain is on the blockchain computer network, and: the first computing device is configured to: hide identities of one or more real remitters and one or more real receivers participating in a transaction by adding one or more cover-up remitters and one or more cover-up receivers to the transaction such that the transaction includes a plurality of remitters comprising the real remitters and cover-up remitters, and a plurality of receivers comprising the real receivers and cover-up receivers, determining an amount to be remitted from a blockchain account of each of the remitters in the transaction, and determining an amount to be received at a blockchain account of each of the receivers in the transaction, wherein the amount remitted from each of the blockchain accounts of the one or more cover-up remitters is zero, and wherein the amount received at each of the blockchain accounts of the one or more cover-up receivers is zero; generate a commitment of each of the amounts to be remitted from the blockchain account of the remitter by applying a homomorphic encryption algorithm to the amount to be remitted according to a first random number corresponding to the remitter; generate a commitment of each of the amounts to be received at the blockchain account of the receiver by applying the homomorphic encryption algorithm to the amount to be received according to a second random number corresponding to the receiver, the plurality receivers corresponding to a plurality of second random numbers; send, via a non-blockchain computer network, to a plurality of second computing devices of the receivers, the amounts to be received at the blockchain accounts of the receivers, the commitments of the amounts to be received at the blockchain accounts of the receivers, and the plurality of second random numbers; receive, from the plurality of second computing devices, a plurality of receiver digital signatures, each of the receiver digital signatures corresponding to the receiver and indicating that that the receiver endorses the commitment of the amount to be received at the blockchain account of the receiver; generate a blockchain transaction comprising a blockchain account address of each of the remitters, a blockchain account address of each of the receivers, the commitments of the amounts to be remitted, the commitments of the amounts to be received, and the receiver digital signatures; and submit the blockchain transaction to the one or more nodes of the blockchain computer network; and the one or more nodes are each configured to: verify the blockchain transaction by at least verifying, based on a blockchain-based double-spending prevention mechanism or replay attack prevention mechanism, that the blockchain transaction has not been executed, and validating the receiver digital signatures; add, to the blockchain, the verified blockchain transaction; deduct each of the commitments of the amount to be remitted from the blockchain account of the remitter from a corresponding commitment of a balance of the remitter recorded in the blockchain in association with the blockchain account address of the remitter; and add each of the commitments of the amount to be received at the blockchain account of the receiver to a corresponding commitment of a balance of the receiver recorded in the blockchain in association with the blockchain account address of the receiver, wherein after deducting each of the commitments of the amount to be remitted and adding each of the commitments of the amount to be received, the balances of the cover-up remitters and the balances of the cover-up receivers remain unchanged. 2. The system of claim 1 , wherein the commitments of the amounts to be remitted from the blockchain accounts of the remitters, the commitments of the amounts to be received at the blockchain accounts of the receivers, the commitments of the receiver balances, and the commitments of the remitter balances are Pedersen Commitments. 3. The system of claim 1 , further comprising the one or more second computing devices, wherein the one or more second computing devices are configured to: verify, for each of the receivers, an association among the commitment of the amount to be received at the receiver's blockchain account, the second random number, and the amount to be received at the receiver's blockchain account; and generate, for each of the receivers, using a private key of the receiver, the receiver digital signature. 4. The system of claim 1 , wherein the first computing device is further configured to: obtain a remitter digital signature of each of the remitters, the remitter digital signatures endorsing the commitments of the amounts to be remitted from the blockchain accounts of the remitters, wherein the blockchain transaction comprises the remitter digital signatures. 5. The system of claim 1 , wherein: the first computing device is further configured to obtain one or more remitter range proofs and one or more receiver range proofs, wherein the generated blockchain transaction comprises the one or more remitter range proofs and the one or more receiver range proofs; and the one or more nodes are each further configured to: verify, based on the one or more remitter range proofs, that the amount to be remitted from the blockchain account of each of the remitters is not less than zero and not greater than the balance of the blockchain account of the remitter; and verify, based on the one or more receiver range proofs, that the amount to be received at the blockchain account of each of the receivers is not less than zero. 6. The system of claim 1 , wherein: the first computing device is further configured to: generate a verification random number by computing a difference between the sum of the first random numbers and the sum of the second random numbers, wherein the generated blockchain transaction comprises the verification random number; and the one or more nodes are each further configured to verify, based on the verification random number, that a total of the amounts to be received is equal to a total of the amounts to be remitted. 7. The system of claim 1 , wherein the amount to be remitted from the blockchain account of each of the real remitters and the amount to be received at the blockchain account of each of the real receivers are preset. 8. One or more non-transitory computer-readable mediums storing instructions executable by one or more processors, wherein execution of the instructions cause the one or more processors to perform operations comprising: hiding identities of one or more real remitters and one or more real receivers participating in a transaction by adding one or more cover-up remitters and one or more cover-up receivers to the transaction such that the transaction includes a plurality of remitters comprising the real remitters and cover-up remitters, and a plurality of receivers comprising the real receivers and cover-up receivers, determining an amount to be remitted from a blockchain account of each of the remitters in the transaction, and determining an amount to be received at a blockchain account of each of the receivers in the transaction, wherein the amount remitted from each of the blockchain accounts of the one or more cover-up remitters is zero, and wherein the amount received at each of the blockchain accounts of the one or more cover-up receivers is zero; generating a commitment of each of the amounts to be remitted from the blockchain account of the remitter by applying a homomorphic encryption algorithm to the amount to be remitted according to a first random number corresponding to
using hash chains, e.g. blockchains or hash trees · CPC title
Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM] · CPC title
Establishing or using transaction specific rules · CPC title
Keeping log of transactions for guaranteeing non-repudiation of a transaction · CPC title
Use of electronic signatures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.