IP Library › Granted Patent US 10,541,820
Granted Patent B2
US 10,541,820 · App. 15/679,783 · Granted Jan 21, 2020

Distributed digital ledger

Inventors: Fabio Jun Takada Chino (Sao Paulo, BR); Ricardo Orsi (Sao Paulo, BR); Cesar Luiz Ferraz (Sao Paulo, BR)
Assignee: GLOBAL BONSAI LLC
H04L9/3249G06F21/602G06F21/64H04L9/302H04L9/3013H04L9/3239H04L9/3247H04L9/3252H04L2209/38
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,541,820
App. No.
15/679,783
Granted
Jan 21, 2020
Kind
B2
Abstract

Methods and systems for generating a new record in a digital ledger include hashing a payload, public key, and signature of a parent record to generate a hash value. A new record is created with a new payload and a new public key. The hash value is combined with the new payload and the new public key to generate a message value. A signature of the new record is generated using the message value and a private key corresponding to the public key of the parent record. The signature of the new record is added to the new record.

Claims (64)

1. A method for generating a new record in a digital ledger, comprising:

hashing a payload, public key, and signature of a parent record to generate a hash value;

creating a new record with a new payload and a new public key;

combining the hash value with the new payload and the new public key to generate a message value;

generating a signature of the new record using the message value and a private key corresponding to the public key of the parent record; and

adding the signature of the new record to the new record.

2. The method of claim 1 , further comprising generating a new key pair including the new public key and a new private key.

3. The method of claim 1 , further comprising generating a closing record after generating the new record.

4. The method of claim 3 , wherein generating the closing record comprises:

hashing the new payload, new public key, and signature of the new record to generate a closing hash value;

creating a closing record with a closing payload and no public key;

combining the closing hash value with the closing payload to generate a closing message value;

generating a signature of the closing record using the closing message value and the new private key; and

adding the signature of the closing record to the closing record.

5. The method of claim 1 , further comprising generating a root record before generating the new record.

6. The method of claim 5 , wherein generating the root record comprises:

generating a root keypair including a root public key and a root private key;

hashing a root payload and a ledger start value to generate a root hash value;

creating a root record with the payload and the root public key;

combining the hash value with the root public key to generate a root message value;

generating a root signature of the root record using the root message value and the root private key; and

adding the root signature to the root record.

7. A non-transitory computer readable storage medium comprising a computer readable program for generating a new record in a digital ledger, wherein the computer readable program when executed on a computer causes the computer to perform the steps of:

hashing a payload, public key, and signature of a parent record to generate a hash value;

creating a new record with a new payload and a new public key;

combining the hash value with the new payload and the new public key to generate a message value;

generating a signature of the new record using the message value and a private key corresponding to the public key of the parent record; and

adding the signature of the new record to the new record.

8. A digital ledger system, comprising:

a hardware processor;

a memory configured to store computer program instructions that, when executed by the hardware processor, cause the digital ledger system to execute one or more functional modules, including:

a hashing module configured to compute a hash of a value;

a joining module configured to join multiple input values into a single output bit value;

a signing/verifying module configured to produce a signature of a value using a private key and to verify the authenticity of a value using a public key associated with the private key;

a key module configured to generate key pairs, each key pair having an associated private key and public key; and

a new record module configured to:

hash a payload, public key, and signature of a parent record to generate a hash value using the hashing module;

create a new record with a new payload and a new public key;

combine the hash value with the new payload and the new public key to generate a message value using the joining module;

generate a signature of the new record using the message value and a private key corresponding to the public key of the parent record using the signing/verifying module; and

add the signature of the new record to the new record.

9. The system of claim 8 , wherein the new record module is further configured to generate a closing record after generating the new record.

10. The system of claim 8 , wherein the new record module is further configured to:

hash the new payload, new public key, and signature of the new record to generate a closing hash value using the hashing module;

create a closing record with a closing payload and no public key; combine the closing hash value with the closing payload to generate a closing message value using the joining module;

generate a signature of the closing record using the closing message value and the new private key using the signing/verifying module; and

add the signature of the closing record to the closing record.

11. The system of claim 8 , wherein the new record module is further configured to generate a root record before generating the new record.

12. The system of claim 9 , wherein the new record module is further configured to:

generate a root keypair including a root public key and a root private key using the key module;

hash a root payload and a ledger start value to generate a root hash value using the hashing module;

create a root record with the payload and the root public key;

combine the hash value with the root public key to generate a root message value using the joining module;

generate a root signature of the root record using the root message value and the root private key using the signing/verifying module; and

add the root signature to the root record.

13. The system of claim 8 , wherein the one or more functional modules further include a validation module configured to validate a current record in a digital ledger, the validation module being configured to:

compute a hash of a parent payload, a parent public key, and a parent signature from a parent record to generate a parent hash value using the hashing module;

combine the hash value with a payload of a current record and a public key for the current record to generate a current message value using the joining module; and

verify the current message value using the parent public key and a signature of the current record according to a cryptographic system using the signing/verifying module.

14. The system of claim 11 , wherein the validation module is further configured to iterate the verification of records until a root record is verified.

15. The system of claim 11 , wherein the validation module is further configured to, before validating the current record:

compute a hash of a payload of the current record, the public key for the current record, and the signature of the current record to generate a current hash value using the hashing module;

combine the hash value with the payload of the closing record and no public key to generate a closing message value using the joining module; and

verify the closing message value using the public key for the current record and a signature of the closing record according to the cryptographic system to validate the closing message using the signing/verifying module.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2025
From: GLOBAL BONSAI LLC
To: INTERLOCKLEDGER - IL2 CORP.
Reel/Frame 070904/0903 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2025
From: INTERLOCKLEDGER - IL2 CORP.
To: CHINO, FABIO JUN TAKADA
Reel/Frame 070904/0978 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2017
From: TAKADA CHINO, FABIO JUN; ORSI, RICARDO; FERRAZ, CESAR LUIS
To: GLOBAL BONSAI LLC
Reel/Frame 043322/0818 →
Continuity (1)
Related Publication 20190058599A1 · Feb 21, 2019
Cited By (1)
US 12,254,435