IP Library › Granted Patent US 12,309,169
Granted Patent B2
US 12,309,169 · App. 17/850,272 · Granted May 20, 2025

Accessing data on a blockchain with proof of data verification

Inventors: Matthew Gould (Reno, NV); Braden River Pezeshki (Reno, NV); Lisa Seacat DeLuca (Bozeman, MT)
Assignee: Unstoppable Domains, Inc.
H04L63/123H04L63/045
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 12,309,169
App. No.
17/850,272
Filed
Jun 27, 2022
Granted
May 20, 2025
Kind
B2
Art Unit
2494
USPC
726/26
Abstract

According to a present invention embodiment, a system for accessing data on a blockchain comprises one or more memories and at least one processor coupled to the one or more memories. The system accesses one or more data sources to retrieve one or more data elements satisfying a data request from an entity. The one or more data elements include at least one blockchain data element retrieved from a corresponding blockchain. Verification information is produced for each blockchain data element that is used to validate the blockchain data element against values derived from data of a block of the corresponding blockchain containing the blockchain data element. The one or more data elements and the verification information for each blockchain data element are sent to the entity. Present invention embodiments further include a method and computer program product for accessing data on a blockchain in substantially the same manner described above.

Claims (47)

1. A method of accessing data on a blockchain comprising:

accessing, via at least one processor including an application programming interface, one or more data sources to retrieve one or more data elements satisfying a data request in a call to the application programming interface from an entity, wherein the one or more data elements include at least one blockchain data element retrieved from a corresponding blockchain and the data request indicates deferred verification of the at least one blockchain data element to use the at least one blockchain data element for a transaction prior to verification of the at least one blockchain data element against the corresponding blockchain;

producing, via the at least one processor, verification information for each blockchain data element that is used to validate the blockchain data element against values derived from data of a block of the corresponding blockchain containing the blockchain data element; and

sending to the entity, via the at least one processor, a result for the data request prior to verification of the at least one blockchain data element against the corresponding blockchain according to the data request, wherein the result includes a payload of the application programming interface with the one or more data elements and the verification information for each blockchain data element used for determining validity of that blockchain data element with respect to corruption of the data of the block of the corresponding blockchain.

2. The method of claim 1 , further comprising:

generating, via the at least one processor, the result for the data request including the one or more data elements; and

modifying, via the at least one processor, the result to include the verification information for each blockchain data element, wherein the verification information includes blockchain attributes comprising a proof of verification of a corresponding blockchain data element.

3. The method of claim 2 , wherein the one or more data elements include a plurality of data elements with a data element not retrieved from a blockchain, and the method further comprises:

modifying, via the at least one processor, the result to indicate a non-blockchain data item for the data element not retrieved from a blockchain.

4. The method of claim 1 , wherein sending to the entity further comprises:

sending the one or more data elements to the entity prior to sending the payload with the verification information.

5. The method of claim 1 , further comprising:

identifying, via the at least one processor, the at least one blockchain data element retrieved from the corresponding blockchain from among the one or more data elements based on the at least one blockchain data element including one of a hash value and a storage location for a de-centralized storage platform.

6. The method of claim 1 , further comprising:

validating each blockchain data element against the block of the corresponding blockchain containing that blockchain data element based on the verification information in the payload after sending the result.

7. A system for accessing data on a blockchain comprising:

one or more memories; and

at least one processor coupled to the one or more memories and including an application programming interface, the at least one processor configured to:

access one or more data sources to retrieve one or more data elements satisfying a data request in a call to the application programming interface from an entity, wherein the one or more data elements include at least one blockchain data element retrieved from a corresponding blockchain and the data request indicates deferred verification of the at least one blockchain data element to use the at least one blockchain data element for a transaction prior to verification of the at least one blockchain data element against the corresponding blockchain;

produce verification information for each blockchain data element that is used to validate the blockchain data element against values derived from data of a block of the corresponding blockchain containing the blockchain data element; and

send to the entity a result for the data request prior to verification of the at least one blockchain data element against the corresponding blockchain according to the data request, wherein the result includes a payload of the application programming interface with the one or more data elements and the verification information for each blockchain data element used for determining validity of that blockchain data element with respect to corruption of the data of the block of the corresponding blockchain.

8. The system of claim 7 , wherein the at least one processor is further configured to:

generate the result for the data request including the one or more data elements; and

modify the result to include the verification information for each blockchain data element, wherein the verification information includes blockchain attributes comprising a proof of verification of a corresponding blockchain data element.

9. The system of claim 8 , wherein the one or more data elements include a plurality of data elements with a data element not retrieved from a blockchain, and the at least one processor is further configured to:

modify the result to indicate a non-blockchain data item for the data element not retrieved from a blockchain.

10. The system of claim 7 , wherein sending to the entity further comprises:

sending the one or more data elements to the entity prior to sending the payload with the verification information.

11. The system of claim 7 , wherein the at least one processor is further configured to:

identify the at least one blockchain data element retrieved from the corresponding blockchain from among the one or more data elements based on the at least one blockchain data element including one of a hash value and a storage location for a de-centralized storage platform.

12. The system of claim 7 , wherein the at least one processor is further configured to:

validate each blockchain data element against the block of the corresponding blockchain containing that blockchain data element based on the verification information in the payload after sending the result.

13. A computer program product for accessing data on a blockchain, the computer program product comprising one or more non-transitory computer readable media having instructions stored thereon, the instructions executable by at least one processor including an application programming interface to cause the at least one processor to:

access one or more data sources to retrieve one or more data elements satisfying a data request in a call to the application programming interface from an entity, wherein the one or more data elements include at least one blockchain data element retrieved from a corresponding blockchain and the data request indicates deferred verification of the at least one blockchain data element to use the at least one blockchain data element for a transaction prior to verification of the at least one blockchain data element against the corresponding blockchain;

produce verification information for each blockchain data element that is used to validate the blockchain data element against values derived from data of a block of the corresponding blockchain containing the blockchain data element; and

send to the entity a result for the data request prior to verification of the at least one blockchain data element against the corresponding blockchain according to the data request, wherein the result includes a payload of the application programming interface with the one or more data elements and the verification information for each blockchain data element used for determining validity of that blockchain data element with respect to corruption of the data of the block of the corresponding blockchain.

14. The computer program product of claim 13 , wherein the instructions executable by the at least one processor further cause the at least one processor to:

generate the result for the data request including the one or more data elements; and

modify the result to include the verification information for each blockchain data element, wherein the verification information includes blockchain attributes comprising a proof of verification of a corresponding blockchain data element.

15. The computer program product of claim 14 , wherein the one or more data elements include a plurality of data elements with a data element not retrieved from a blockchain, and wherein the instructions executable by the at least one processor further cause the at least one processor to:

modify the result to indicate a non-blockchain data item for the data element not retrieved from a blockchain.

16. The computer program product of claim 13 , wherein sending to the entity further comprises:

sending the one or more data elements to the entity prior to sending the payload with the verification information.

17. The computer program product of claim 13 , wherein the instructions executable by the at least one processor further cause the at least one processor to:

identify the at least one blockchain data element retrieved from the corresponding blockchain from among the one or more data elements based on the at least one blockchain data element including one of a hash value and a storage location for a de-centralized storage platform.

18. The computer program product of claim 13 , wherein the instructions executable by the at least one processor further cause the at least one processor to:

validate each blockchain data element against the block of the corresponding blockchain containing that blockchain data element based on the verification information in the payload after sending the result.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2022
From: GOULD, MATTHEW; PEZESHKI, BRADEN RIVER; DELUCA, LISA SEACAT
To: UNSTOPPABLE DOMAINS, INC.
Reel/Frame 060322/0691 →
Continuity (1)
Related Publication 20230421570A1 · Dec 28, 2023
References Cited (31)
US 10123202B1 · Polehn · 2018 [cited by examiner]
US 10708042B1 · Rubenstein · 2020 [cited by examiner]
US 10826685B1 · Campagna · 2020 [cited by examiner]
US 20160241628A1 · Seren · 2016 [cited by examiner]
US 20190165930A1 · Castinado · 2019 [cited by examiner]
US 20200043007A1 · Simons · 2020 [cited by examiner]
US 20200097862A1 · Arora · 2020 [cited by examiner]
US 20200313867A1 · Yu · 2020 [cited by examiner]
US 20200351075A1 · Griffin · 2020 [cited by examiner]
US 20210297265A1 · Huang · 2021 [cited by examiner]
US 20210304191A1 · O'Grady · 2021 [cited by examiner]
US 20220147988A1 · Alexa et al. · 2022 [cited by applicant]
CN 113221166A · 2021 [cited by examiner]
Chiliveri, Sireesha, et al. “ProveDoc: A blockchain based proof of existence with proof of storage.” 2019 International Conference on Information Technology (ICIT). IEEE, 2019. (Year: 2019). [cited by examiner]
Y. Hu et al., “A Delay-Tolerant Payment Scheme Based on the Ethereum Blockchain,” in IEEE Access, vol. 7, pp. 33159-33172, 2019 (Year: 2019). [cited by examiner]
Jake Frankenfield, “Merkle Root (Cryptocurrency)”, https://www.investopedia.com/terms/m/merkle-root-cryptocurrency.asp#:˜:text=A%20Merkle%20root%20is%20a,whole%2C%20undamaged%2C%20and%20unaltered, Investopedia, Aug. 24,… [cited by applicant]
“Merkle Tree & Merkle Root Explained”, Nov. 29, 2017, https://www.mycryptopedia.com/merkle-tree-merkle-root-explained/, 3 pages. [cited by applicant]
“Calculating the Merkle Root for a block”, https://bitcoindev.network/calculating-the-merkle-root-for-a-block/, downloaded from the internet on Jun. 24, 2022, 15 pages. [cited by applicant]
Wikipedia, “Blockchain”, https://en.wikipedia.org/wiki/Blockchain, downloaded from the internet on Mar. 25, 2022, 27 pages. [cited by applicant]
“How does a transaction get into the blockchain?”, Euromoney Learning, https://www.euromoney.com/learning/blockchain-explained/how-transactions-get-into-the-blockchain, downloaded from the internet on Mar. 25, 2022, 9 p… [cited by applicant]
Benjamin Powers, “Brave Integrates Crypto Blockchain Domains, Expanding Access to Web 3.0—CoinDesk”, https://www.coindesk.com/tech/2021/05/13/brave-integrates-crypto-blockchain-domains-expanding-access-to-web-30/, May 1… [cited by applicant]
Michele D'Aliessi, “How Does the Blockchain Work? A Guide to Everything You Need to Know”, OneZero, https://onezero.medium.com/how-does-the-blockchain-work-98c8cd01d2ae, Jun. 1, 2016, 21 pages. [cited by applicant]
Blog, “Introducing Humanity Check—100% Opt-In”, Unstoppable Domains, https://unstoppabledomains.com/blog/introducing-humanity-check, Mar. 13, 2022, downloaded from the internet on Mar. 25, 2022, 8 pages. [cited by applicant]
Amaury Martiny, “One-click Login with Blockchain: A MetaMask Tutorial”, https://www.toptal.com/ethereum/one-click-login-flows-a-metamask-tutorial, downloaded from the internet on Mar. 25, 2022, 16 pages. [cited by applicant]
“What is a non-fungible token (NFT)?”, https://www.coinbase.com/learn/crypto-basics/plp-what-is-nft, downloaded from the internet on Mar. 25, 2022, 10 pages. [cited by applicant]
“Why Are Some Domains Protected?”, Unstoppable Domains, Mar. 11, 2022, https://support.unstoppabledomains.com/support/solutions/articles/48001186091-why-are-some-domains-protected, 3 pages. [cited by applicant]
“Humanity Check Overview”, https://docs.unstoppabledomains.com/login-with-unstoppable/humanity-check/humanity-check-for-login/, downloaded from the internet on Apr. 7, 2022, 5 pages. [cited by applicant]
Chris Hexton, “What is a webhook: How they work and how to set them up”, https://www.getvero.com/resources/webhooks/, downloaded from the internet on May 12, 2022, 18 pages. [cited by applicant]
“Blocks”, https://ethereum.org/en/developers/docs/blocks/#block-anatomy, Jan. 3, 2022, 6 pages. [cited by applicant]
“Ethereum Name Service (ENS)”, https://www.coingecko.com/en/coins/ethereum-name-service, retrieved from the Internet Oct. 30, 2023, 11 pages. [cited by applicant]
“Decentralised naming for wallets, websites, & more”, https://ens.domains/, retrieved from the Internet Oct. 30, 2023, 8 pages. [cited by applicant]
Cited By (1)
US 12,683,822