Witness blocks in blockchain applications

US10862672B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10862672-B2
Application numberUS-201715791531-A
CountryUS
Kind codeB2
Filing dateOct 24, 2017
Priority dateOct 24, 2017
Publication dateDec 8, 2020
Grant dateDec 8, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are disclosed for managing data of an application. One embodiment presented herein includes a computer-implemented method, which includes scanning a distributed system to identify one or more blocks comprising data associated with the application. The method further includes generating a witness block based on the one or more blocks. The witness block may comprise a state of the data from the one or more blocks. The method further includes adding the witness block to the distributed system.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for managing data of an application, comprising: scanning a distributed system to identify one or more blocks comprising data associated with the application; generating a witness block based on the one or more blocks, wherein the witness block comprises a state of the data from the one or more blocks; adding the witness block to the distributed system; determining whether the distributed system includes at least one block containing respective data associated with a respective application other than the application; determining whether the one or more blocks and the witness block are continuous; and choosing, based on whether the distributed system includes the at least one block containing the respective data associated with the respective application other than the application and based on whether the one or more blocks and the witness block are continuous, to replace the one or more blocks comprising data associated with the application with one or more null blocks, wherein: the one or more null blocks comprise cryptographic link information from the one or more blocks that is different than the data from the one or more blocks, and the one or more null blocks do not comprise the data from the one or more blocks. 2. The computer-implemented method of claim 1 , further comprising archiving the one or more blocks by moving the one or more blocks to a remote data store. 3. The computer-implemented method of claim 2 , further comprising: requesting the state of the data from the distributed system; and receiving the state of the data and a proof from the distributed system. 4. The computer-implemented method of claim 3 , wherein the proof comprises a root hash from the witness block. 5. The computer-implemented method of claim 4 , further comprising: confirming that the proof was received from the witness block; computing a hash tree based on information associated with the state of the data; and determining whether a root hash of the hash tree matches the proof. 6. The computer-implemented method of claim 1 , further comprising: identifying a plurality of null blocks; and collapsing the plurality of null blocks into a single null block, wherein the single null block contains at least a portion of the cryptographic link information from the plurality of null blocks. 7. A computing device for managing data of an application, the computing device comprising: a memory comprising computer-executable instructions; and a processor configured to execute the computer-executable instructions and to cause the computing device to: scan a distributed system to identify one or more blocks comprising data associated with the application; generate a witness block based on the one or more blocks, wherein the witness block comprises a state of the data from the one or more blocks; add the witness block to the distributed system; determine whether the distributed system includes at least one block containing respective data associated with a respective application other than the application; determine whether the one or more blocks and the witness block are continuous; and choose, based on whether the distributed system includes the at least one block containing the respective data associated with the respective application other than the application and based on whether the one or more blocks and the witness block are continuous, to replace the one or more blocks comprising data associated with the application with one or more null blocks, wherein: the one or more null blocks comprise cryptographic link information from the one or more blocks that is different than the data from the one or more blocks, and the one or more null blocks do not comprise the data from the one or more blocks. 8. The computing device of claim 7 , further comprising archiving the one or more blocks comprises by moving the one or more blocks to a remote data store. 9. The computing device of claim 8 , wherein the processor is further configured to cause the computing device to: request the state of the data from the distributed system; and receive the state of the data and a proof from the distributed system. 10. The computing device of claim 9 , wherein the proof comprises a root hash from the witness block. 11. The computing device of claim 10 , wherein the processor is further configured to cause the computing device to: confirm that the proof was received from the witness block; compute a hash tree based on information associated with the state of the data; and determine whether a root hash of the hash tree matches the proof. 12. The computing device of claim 7 , wherein the processor is further configured to cause the computing device to: identify a plurality of null blocks; and collapse the plurality of null blocks into a single null block, wherein the single null block contains at least a portion of the cryptographic link information from the plurality of null blocks. 13. A non-transitory computer-readable medium comprising instructions that when executed by a computing device cause the computing device to perform a method for managing data of an application, comprising: scanning a distributed system to identify one or more blocks comprising data associated with the application; generating a witness block based on the one or more blocks, wherein the witness block comprises a state of the data from the one or more blocks; adding the witness block to the distributed system; determining whether the distributed system includes at least one block containing respective data associated with a respective application other than the application; determining whether the one or more blocks and the witness block are continuous; and choosing, based on whether the distributed system includes the at least one block containing the respective data associated with the respective application other than the application and based on whether the one or more blocks and the witness block are continuous, to replace the one or more blocks comprising data associated with the application with one or more null blocks, wherein: the one or more null blocks comprise cryptographic link information from the one or more blocks that is different than the data from the one or more blocks, and the one or more null blocks do not comprise the data from the one or more blocks. 14. The non-transitory computer-readable medium of claim 13 , further comprising archiving the one or more blocks by moving the one or more blocks to a remote data store. 15. The non-transitory computer-readable medium of claim 14 , wherein the method further comprises: requesting the state of the data from the distributed system; and receiving the state of the data and a proof from the distributed system. 16. The non-transitory computer-readable medium of claim 15 , wherein the proof comprises a root hash from the witness block. 17. The non-transitory computer-readable medium of claim 16 , wherein the method further comprises: confirming that the proof was received from the witness block; computing a hash tree based on information associated with the state of the data; and determining whether a root hash of the hash tree matches the proof. 18. The non-transitory computer-readable medium of claim 13 , wherein the method further comprises: identifying a plurality of null blocks; and collapsing the plurality of null blocks into a single null block, wherein the single null block contains at least a portion of the cryptographic link in

Assignees

Inventors

Classifications

  • H04L9/50Primary

    using hash chains, e.g. blockchains or hash trees · CPC title

  • involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD · CPC title

  • Hash functions, e.g. MD5, SHA, HMAC or f9 MAC · CPC title

  • H04L9/0637Primary

    Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM] · CPC title

  • Electricity · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10862672B2 cover?
Techniques are disclosed for managing data of an application. One embodiment presented herein includes a computer-implemented method, which includes scanning a distributed system to identify one or more blocks comprising data associated with the application. The method further includes generating a witness block based on the one or more blocks. The witness block may comprise a state of the data…
Who is the assignee on this patent?
Intuit Inc
What technology area does this patent fall under?
Primary CPC classification H04L9/50. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 08 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).