# US 10,313,360 B2 · PEDDaL blockchaining for document integrity verification preparation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,313,360 B2
- Document ID: US10313360B2
- Status: Granted
- Kind: B2
- Application number: 15/086,042
- Filed: 2016-03-30
- Published: 2016-07-21
- Granted: 2019-06-04
- Earliest claimed: 2008-04-25
- Applicants: Kelce S. Wilson
- Inventors: Kelce S. Wilson
- Web page: https://patentgrep.com/patent/US10313360B2

## CPC

- H04L 63/12: {Applying verification of the received information (cryptographic mechanisms or cryptographic arrangements for data integrity or data verification H04L9/32)}
- G06F 16/152: {using file content signatures, e.g. hash values}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/24: Querying
- G06F 16/907: Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F 16/908: using metadata automatically derived from the content
- G06F 16/951: Indexing; Web crawling techniques
- G06F 21/57: Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F 21/645: {using a third party}
- G06Q 20/145: {Payments according to the detected use or quantity}
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- H04L 9/3271: {using challenge-response}
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- G06F 2221/03: Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F 2221/2151: Time stamp
- G06Q 2220/12: Usage or charge determination
- H04L 2209/42: Anonymization, e.g. involving pseudonyms
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- H04L 2209/603: Digital right managament [DRM]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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

## Abstract

Systems and methods are disclosed which use a block chain (“blockchain”) to enable the establishment of file dates and the absence of tampering, even for documents held in secrecy and those stored in uncontrolled environments, but which does not require trusting a timestamping authority or document archival service. A trusted timestamping authority (TTSA) may be used, but even if the TTSA loses credibility or a challenger refuses to acknowledge the validity of a timestamp, a date for an electronic document may still be established. Systems and methods are disclosed which enable detection of file duplication in large collections of documents, which can improve searching for documents within the large collection.

## Claims

### Claim 1

A computer implemented method of using a blockchain to generate evidence for later proving integrity of a document, the method executable by a processor, the method comprising:
providing a first node on a computer network, the node having a non-transitory computer readable medium;
storing, on the non-transitory computer readable medium at the first node, a first integrity verification code (IVC) associated with a first document and a first user account;
storing, on the non-transitory computer readable medium at the first node, a second IVC associated with a second document and a second user account, the second IVC being different than the first IVC and the second user account being different than the first user account;
appending the first IVC and the second IVC to an open first document dating list (DDL) edition, wherein the first DDL edition does not contain either the first document or the second document;
storing, on the non-transitory computer readable medium at the first node, a third IVC associated with a third document and a third user account, the third IVC being different than the first IVC and the second IVC and the third user account being different than the first user account and the second user account;
appending the third IVC to an open second DDL edition, wherein the second DDL edition does not contain the third document; and
closing the first DDL edition, wherein closing the first DDL edition comprises generating a fourth IVC for the first DDL edition and appending the fourth IVC to the open second DDL edition, thereby chaining the first DDL edition with the second DDL edition to create a set of chained DDL editions.

### Claim 2 (depends on 1)

The method of claim 1 wherein each IVC comprises a first a hash function message digest (hash value).

### Claim 3 (depends on 2)

The method of claim 2 wherein the first hash value is among the Secure Hash Algorithm (SHA) family of hash values.

### Claim 4 (depends on 2)

The method of claim 2 wherein each wherein each IVC further comprises a second hash value.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
transmitting the first and second DDL editions to a remote second node across the computer network.

### Claim 6 (depends on 1)

The method of claim 1 further comprising:
generating a DDL record for each IVC, wherein generating a DDL record comprises appending at least one of a timestamp and an index number to the IVC, and
wherein appending an IVC to a DDL edition comprises appending the DDL record for the IVC.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
receiving, at the first node, the user account information associated with each of the first, second, and third IVCs.

### Claim 8 (depends on 7)

The method of claim 7 further comprising:
determining whether a count of IVCs associated with any one of the first user account, the second user account and the third user account, during a predetermined time interval, exceeds a predetermined number; and
responsive to determining that the count exceeds the predetermined number, generating billing information for the user account exceeding the predetermined number.

### Claim 9

A computer program embodied on a non-transitory computer readable medium and configured to be executed by a processor, the program comprising:
code for storing, on the non-transitory computer readable medium at a first node on a computer network, a first integrity verification code (IVC) associated with a first document and a first user account;
code for storing, on the non-transitory computer readable medium at the first node, a second IVC associated with a second document and a second user account, the second IVC being different than the first IVC and the second user account being different than the first user account;
code for appending the first IVC and the second IVC to an open first document dating list (DDL) edition, wherein the first DDL edition does not contain either the first document or the second document;
code for storing, on the non-transitory computer readable medium at the first node, a third IVC associated with a third document and a third user account, the third IVC being different than the first IVC and the second IVC and the third user account being different than the first user account and the second user account; and
code for appending the third IVC to an open second DDL edition, wherein the second DDL edition does not contain the third document;
code for closing the first DDL edition, wherein closing the first DDL edition comprises generating a fourth IVC for the first DDL edition and appending the fourth IVC to the open second DDL edition, thereby chaining the first DDL edition with the second DDL edition to create a set of chained DDL editions.

### Claim 10 (depends on 9)

The program of claim 9 wherein each IVC comprises a first a hash function message digest (hash value).

### Claim 11 (depends on 10)

The program of claim 10 wherein the first hash value is among the Secure Hash Algorithm (SHA) family of hash values.

### Claim 12 (depends on 10)

The program of claim 10 wherein each IVC further comprises a second hash value.

### Claim 13 (depends on 9)

The program of claim 9 further comprising:
code for transmitting the first and second DDL editions to a remote second node across the computer network.

### Claim 14 (depends on 9)

The program of claim 9 further comprising:
code for generating a DDL record for each IVC, wherein generating a DDL record comprises appending at least one of a timestamp and an index number to the IVC, and
wherein appending an IVC to a DDL edition comprises appending the DDL record for the IVC.

### Claim 15 (depends on 9)

The program of claim 9 further comprising:
code for receiving, at the first node, the user account information associated with each of the first, second, and third IVCs.

### Claim 16 (depends on 15)

The program of claim 15 further comprising:
code for determining whether a count of IVCs associated with any one of the first user account, the second user account and the third user account, during a predetermined time interval, exceeds a predetermined number; and
code for generating billing information for the user account exceeding the predetermined number, responsive to determining that the count exceeds the predetermined number.
