IP Library Granted Patent US 10,754,848
Granted Patent B2
US 10,754,848 · App. 16/103,916 · Granted Aug 25, 2020

Method for registration of data in a blockchain database and a method for verifying data

Inventors: Pawel Zygmunt Aleksander (Kobylniki, PL); Marcin Jozef Rabenda (Roznow, PL); Pawel Kuskowski (Golub-Dobrzyn, PL); Jakub Fijolek (Bydgoszcz, PL)
Assignee: COINFIRM BLOCKCHAIN LAB SP. Z O.O.
G06F16/2365G06F9/466G06F16/2379H04L9/0637H04L9/0643H04L9/30
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 10,754,848
App. No.
16/103,916
Granted
Aug 25, 2020
Kind
B2
Abstract

The invention comprises a method for registration of data in a blockchain database, in which database transactions are constructed of standard data containers which may have a fixed size, in a system comprising one or more storage nodes for storing at least part of the blockchain database, one or more approval nodes for approving transactions in said blockchain database and a first computer for generating transactions in said blockchain database, said computer having access to said blockchain database and having access to a first private key. The invention further comprises a method for verifying data based on the aforementioned method for registration and a computer program product comprising program code stored on a computer readable medium, said program code comprising computer instructions for performing the method.

Claims (26)

1. A method for registration of data in a blockchain database, in which database transactions are constructed of standard data containers which may have a fixed size, in a system comprising one or more storage nodes for storing at least part of the blockchain database, one or more approval nodes for approving transactions in said blockchain database and a first computer for generating transactions in said blockchain database, said computer having access to said blockchain database and having access to a first private key, comprising the following steps:

a) providing a first set of data, relating the contents of a digital file;

b) providing a second set of data, relating to the origin of said digital file;

c) generating a third set of data by merging a header, the first set of data, the second set of data and optionally a suffix into a data frame, starting with the header, followed by the first set of data, followed by the second set of data and optionally ending with the suffix, wherein the header contains information about the size of the first set of data, while the size of the suffix is adjusted such that the size of the data frame is a multiple of the size of the standard data container used in said blockchain database;

d) dividing the third set of data into an integer number N of parts of equal size, said size corresponding to the size of the standard data container used in said blockchain database;

e) generating—by said first computer or an intermediary computer connected to the first computer and said one or more of the approval nodes—a single blockchain database transaction for all the N parts obtained in the step d), signing the transaction by said first private key and sending the transaction and a first public key matching the said first private key to said one or more of the approval nodes for approval;

f) obtaining approval for the transaction from said one or more of the approval nodes;

g) registering the transaction approved in the step f) in a block of the blockchain database with the timestamp of registration by the one or more storage nodes.

2. The method according to claim 1 , wherein the first set of data is the digital file.

3. The method according to claim 1 , wherein the first set of data is a hash of the digital file, preferably generated by SHA256 algorithm, SHA3-256 algorithm, or a SHA3-512 algorithm.

4. The method according to claim 3 , wherein the first set of data is a hash of the digital file generated by the SHA256 algorithm and has the size of 64 digits, preferably 64 hex digits or a multiple thereof or is a hash of the digital file generated by the SHA3-256 algorithm and has the size of 64 digits, preferably 64 hex digits or a multiple thereof, or is a hash of the digital file generated by the SHA3-512 algorithm and has the size of 128 digits, preferably 128 hex digits or a multiple thereof.

5. The method according to claim 1 , wherein the second set of data comprises a digital signature of the digital file, preferably calculated as a function of: the hash of the digital file, a private key corresponding to the origin of the digital file and optionally a public key corresponding to said private key.

6. The method according to claim 5 , wherein the second set of data has the size of 130 digits, preferably 130 hex digits.

7. The method according to claim 1 , wherein the header has the size of 6 digits, preferably 6 hex digits and comprises the following information: version of the digital file, type of the digital file, the number of hashes that should be stored in said data frame, number of signatories of the digital file.

8. The method according to claim 1 , wherein the blockchain database is a Dash database or a Bitcoin database, and the standard data container has the size of 40 hex digits.

9. The method according to claim 1 , in which the following information is stored in a separate database, in relation to the first set of data: the transaction hash corresponding to the transaction generated in the step e), the block hash, the block height and the block timestamp of registration, corresponding to the block mentioned in the step g).

10. A method for verifying data comprising the following steps:

h1) providing a test digital file by a user, preferably through a web browser;

i1) calculating the hash of the test digital file;

j1) checking if the hash of the test digital file matches the first set of data being a hash of the digital file, previously stored in the block of the blockchain database as the result of the method according to claim 3 , and in the affirmative sending confirmation to the user, preferably through the web browser, said confirmation comprising information relating to the contents of the test digital file and optionally comprising information relating to the origin of the test digital file and/or information relating to the timestamp of registration of the block.

11. A method for verifying data comprising the following steps:

h2) providing a test digital file by a user, preferably through a web browser;

i2) calculating the hash of the test digital file;

j2) checking if the hash of the test digital file matches the first set of data being a hash of the digital file, previously stored in said separate database as the result of the method according to claim 9 , and in the affirmative sending confirmation to the user, preferably through the web browser, said confirmation comprising information relating to the contents of the test digital file and optionally comprising information relating to the origin of the test digital file and/or information relating to the block timestamp of registration.

12. The method according to claim 10 , wherein if the hash of the test digital file matches more than one first sets of data in the step j1) or j2) respectively, then only information corresponding to the transaction bearing one selected timestamp of registration, preferably the oldest timestamp of registration is used as the basis to generate the confirmation to the user in the step j1) or j2) respectively.

13. A computer program product comprising program code stored on a non-transitory computer readable medium, said program code comprising computer instructions for performing the method according to claim 1 .

Assignments (2)
CHANGE OF NAME Recorded Nov 29, 2023
From: COINFIRM BLOCKCHAIN LAB SP. ZO.O.
To: LUKKA POLAND SP. Z O.O.
Reel/Frame 065714/0913 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2018
From: ALEKSANDER, PAWEL ZYGMUNT; RABENDA, MARCIN JOZEF; KUSKOWSKI, PAWEL; FIJOLEK, JAKUB
To: COINFIRM BLOCKCHAIN LAB SP. Z O.O.
Reel/Frame 046791/0080 →
Priority Claims (1)
EP 18461565 · Jun 7, 2018 · regional
Continuity (1)
Related Publication 20190377811A1 · Dec 12, 2019