IP Library › Granted Patent US 11,516,000
Granted Patent B2
US 11,516,000 · App. 16/424,644 · Granted Nov 29, 2022

Approximate hash verification of unused blockchain output

Inventor: Praveen Jayachandran (Bangalore, IN)
Assignee: International Business Machines Corporation
H04L9/0643G06F16/1805G06F16/1824G06F16/1834H04L9/0858H04L9/50
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,516,000
App. No.
16/424,644
Granted
Nov 29, 2022
Kind
B2
Abstract

An example operation may include one or more of receiving a location of an output stored on a data structure of a blockchain, where the location comprises a path of hashes generated by a reduced-step hash instead of a full-step hash of the blockchain, performing an approximate hash verification on the path of hashes based on the reduced-step hash values to verify whether the output is unused, and in response to a determination that the output is unused as a result of the approximate hash verification, approving a use of the output by a client associated with the output.

Claims (43)

1. A computing system comprising:

a network interface configured to receive a location of an output stored on a data structure of a blockchain, where the location comprises a path of hashes of blockchain transactions within a block of the blockchain generated by a reduced-step hash instead of a full-step hash of the blockchain; and

a hardware processor configured to perform an approximate hash verification on each node in the path of hashes based on the reduced-step hash to verify whether the output is unused, and, in response to a determination that the output is unused as a result of the approximate hash verification, approve a use of the output by a client associated with the output;

wherein each node in the path includes a reduced-step hash generated based on hash values of respective child nodes in the data structure.

2. The computing system of claim 1 , wherein the full-step hash comprises repeated performance of a function a first predetermined number of times, and the reduced-step hash comprises repeated performance of the function a second predetermined number of times that is less than the first predetermined number of times.

3. The computing system of claim 1 , wherein the path of hashes, when hashed together, produce an identifier of a data block in the blockchain which stores the unused output.

4. The computing system of claim 3 , wherein the approximate hash verification further comprises verification of whether the generated result is the identifier of the data block.

5. The computing system of claim 1 , wherein the path of hashes comprises a path of hashes on a Merkle tree from a leaf node that corresponds to a blockchain transaction to a root node of the Merkle tree.

6. The computing system of claim 1 , wherein the hardware processor is further configured to prevent the use of the output, in response to a determination that the output is used as a result of the approximate hash verification.

7. A method comprising:

receiving a location of an output stored on a data structure of a blockchain, where the location comprises a path of hashes of blockchain transactions within a block of the blockchain generated by a reduced-step hash instead of a full-step hash of the blockchain;

performing an approximate hash verification on each node in the path of hashes based on the reduced-step hash to verify whether the output is unused; and

in response to a determination that the output is unused as a result of the approximate hash verification, approving a use of the output by a client associated with the output;

wherein each node in the path includes a reduced-step hash generated based on hash values of respective child nodes in the data structure.

8. The method of claim 7 , wherein the full-step hash comprises repeated performance of a function a first predetermined number of times, and the reduced-step hash comprises repeated performance of the function a second predetermined number of times that is less than the first predetermined number of times.

9. The method of claim 7 , wherein the path of hashes, when hashed together, produce an identifier of a data block in the blockchain storing the unused output.

10. The method of claim 9 , wherein the approximate hash verification further comprises verifying whether the generated result is the identifier of the data block.

11. The method of claim 7 , wherein the path of hashes comprises a path of hashes on a Merkle tree from a leaf node corresponding to a blockchain transaction to a root node of the Merkle tree.

12. The method of claim 7 , further comprising preventing the use of the output, in response to determining that the output is used as a result of the approximate hash verification.

13. A non-transitory computer readable medium comprising instructions, that when read by a processor, cause the processor to perform a method comprising:

receiving a location of an output stored on a data structure of a blockchain, where the location comprises a path of hashes of blockchain transactions within a block of the blockchain generated by a reduced-step hash instead of a full-step hash of the blockchain;

performing an approximate hash verification on each node in the path of hashes based on the reduced-step hash to verify whether the output is unused; and

in response to a determination that the output is unused as a result of the approximate hash verification, approving a use of the output by a client associated with the output;

wherein each node in the path includes a reduced-step hash generated based on hash values of respective child nodes in the data structure.

14. A computing system comprising:

a network interface configured to receive a hashed identifier of an output stored on a data structure of a blockchain, where the hashed identifier is generated by a reduced-hash of the blockchain performed on a sequence of blockchain data values instead of a full-hash of the blockchain; and

a hardware processor configured to perform an approximate hash verification on each blockchain data value in the sequence based on the reduced-hash to verify whether the output is unused, and in response to a determination that the output is unused as a result of the approximate hash verification, approve a use of the output by a client associated with the output;

wherein the blockchain includes a path of hashes of blockchain transactions;

wherein each node in the path includes a reduced-step hash generated based on hash values of respective child nodes in the data structure.

15. The computing system of claim 14 , wherein the hashed identifier comprises an identification of a data block in the blockchain that stores the unused output.

16. The computing system of claim 14 , wherein the hashed identifier is generated by the processor through a chain of reduced-hashes based on a path of the output stored in a blockchain data structure.

17. The computing system of claim 14 , wherein the hardware processor is further configured to, in response to a determination that the output is used as a result of the approximate hash verification, prevent the use of the output.

18. The computing system of claim 14 , wherein the hardware processor is further configured to store hashed identifiers of a plurality of data blocks and identifiers of the outputs stored in each data block.

19. A method comprising:

receiving a hashed identifier of an output stored on a data structure of a blockchain, where the hashed identifier is generated by a reduced-step hash of the blockchain performed on a sequence of blockchain data values instead of a full-step hash of the blockchain;

performing an approximate hash verification on each blockchain data value in the sequence based on the reduced-step hash to verify whether the output is unused; and

in response to a determination that the output is unused as a result of the approximate hash verification, approving a use of the output by a client associated with the output;

wherein the blockchain includes a path of hashes of blockchain transactions;

wherein each node in the path includes a reduced-step hash generated based on hash values of respective child nodes in the data structure.

20. The method of claim 19 , wherein the hashed identifier comprises an identification of a data block in the blockchain storing the unused output.

21. The method of claim 19 , wherein the hashed identifier is generated by performing a chain of reduced-step hashes based on a path of the output stored in a blockchain data structure.

22. The method of claim 19 , further comprising, in response to determining that the output is used as a result of the approximate hash verification, preventing the use of the output.

23. The method of claim 19 , further comprising storing hashed identifiers of a plurality of data blocks and identifiers of the outputs stored in each data block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2019
From: JAYACHANDRAN, PRAVEEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049301/0895 →
Continuity (1)
Related Publication 20200382279A1 · Dec 3, 2020