IP Library Granted Patent US 12,093,908
Granted Patent B2
US 12,093,908 · App. 15/928,119 · Granted Sep 17, 2024

System and method for secure transaction verification in a distributed ledger system

Inventors: Ghassan Karame (Heidelberg, DE); Jens-Matthias Bohli (Leimen, DE)
Assignee: NEC LABORATORIES EUROPE GMBH
G06Q20/0658G06Q20/02G06Q20/3678G06Q20/3823G06Q20/3827G06Q20/3829H04L9/30H04L9/3247G06Q2220/00
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,093,908
App. No.
15/928,119
Granted
Sep 17, 2024
Kind
B2
Abstract

A method for validating a transaction transmitted on a distributed ledger system network includes receiving, by a first node of the distributed ledger system network, verification data associated with the transaction from a second node of the distributed ledger system network. The verification data includes a digital signature generated in a secure enclave of the second node. The first node integrates the verification data into a distributed ledger of the distributed ledger system network.

Claims (46)

1. A method of executing a blockchain protocol to integrate a new block into a blockchain of a blockchain network, a the blockchain network comprising interconnected blockchain nodes comprising at least a first node and a second node, the method comprising:

receiving, by the first node of the blockchain network from the second node of the blockchain network, verification data associated with a transaction, the verification data comprising a digital signature of the second node and the verification data representing that information contained in the transaction has been verified by the second node;

evaluating the verification data, by the first node, to determine whether the verification data is trustworthy; and

based on determining that the verification data is trustworthy, executing a consensus protocol, by the first node, integrating the transaction and the verification data together into the new block and adding the new block to the blockchain of the blockchain network;

wherein evaluating the verification data comprises verifying, by the first node, that the verification data received from the second node was generated by a verification application executed in a secure enclave of the second node, and

wherein evaluating the verification data comprises:

receiving, by the first node, attestation data corresponding to the second node;

determining, by the first node according to the attestation data, whether the second node executed the trusted verification application to generate the verification data;

based on determining that the second node executed the trusted verification application to generate the verification data, determining that the verification data is trustworthy; and

adding, by the first node, a public key corresponding to the digital signature of the second node to a whitelist based on the first node having determined that the second node is executing the trusted verification application.

2. The method according to claim 1 , wherein the digital signature comprises a Software Guard Extensions (SGX) digital signature.

3. The method according to claim 1 , further comprising providing, by the first node, a verification reward to the second node, wherein the verification reward comprises at least one of a digital asset, money, a transaction fee credit, or a transaction fee waiver.

4. The method according to claim 1 , wherein the digital signature received by the first node was generated by a method comprising:

determining whether the transaction is valid by performing at least one of:

verifying a transaction signature of a transaction sender that transmitted the transaction on the blockchain network,

tracing an amount of the transaction back in the blockchain so as to confirm that the transaction sender has sufficient resources to fulfill the transaction,

verifying that an asset associated with the transaction has not been previously double-spent, or

verifying at least one prior verification that was previously integrated into the blockchain is valid; and

generating the digital signature based on the verification having been determined to be valid.

5. The method according to claim 1 , further comprising:

adding, by the first node, the new block to the blockchain; and

receiving, by the first node, a new block reward for adding the new block to the block chain,

providing, by the first node, a verification reward to the second node, wherein the verification reward comprises a share of the new block reward.

6. The method according to claim 1 , wherein the blockchain comprises a fork into a plurality of branches, the method further comprising:

selecting, by the first node, a branch of the plurality of branches having the most verifications as a valid branch of the blockchain.

7. A blockchain node of a blockchain network, the blockchain network comprising a plurality of interconnected blockchain nodes comprising at least the blockchain node and a second node, the blockchain node comprising one or more processors which, alone or in combination, are configured to execute a blockchain protocol to integrate a new block into a blockchain of the blockchain network, wherein executing the blockchain protocol comprises:

receiving, from the second node of the blockchain network, verification data associated with a transaction, the verification data comprising a digital signature the second node and the verification data representing that information contained in the transaction has been verified by the second node;

evaluating the verification data to determine whether the verification data is trustworthy; and

based on determining the verification data is trustworthy, executing a consensus protocol integrating the transaction and the verification data together into the new block and adding the new block to the blockchain of the blockchain network;

wherein evaluating the verification date comprises verifying that the verification data received from the second node was generated by a verification application executed in a secure enclave of the second node, and

wherein evaluating the verification data comprises:

receiving, by the first node, attestation data corresponding to the second node;

determining, by the first node according to the attestation data, whether the second node executed the trusted verification application to generate the verification data;

based on determining that the second node executed the trusted verification application to generate the verification data, determining that the verification data is trustworthy; and

adding, by the first node, a public key corresponding to the digital signature of the second node to a whitelist based on the first node having determined that the second node is executing the trusted verification application.

8. The blockchain node according to claim 7 , wherein the one or more processors, alone or in combination, are further configured to provide performance of the following steps as part of evaluating the verification data:

receiving attestation data corresponding to the second node;

determining, according to the attestation data, whether the second node executed the trusted verification application to generate the verification data;

based on determining that the second node executed the trusted verification application to generate the verification data, determining that the verification data is trustworthy; and

adding a public key corresponding to the digital signature of the second node to a whitelist based on it having been determined that the second node is executing the trusted verification application.

9. The blockchain node according to claim 8 , wherein:

the blockchain comprises a fork into a plurality of branches, and

the one or more processors are further configured to select a branch of the plurality of branches comprising the most verifications as a valid branch of the blockchain.

10. The method according to claim 1 , wherein the secure enclave is a trusted execution environment.

11. The method according to claim 1 , wherein the first node is a mining node configured to execute the entire consensus protocol and the second node is a verifier node which is not configured to execute the entire consensus protocol.

12. The method according to claim 1 , the method further comprising, the first node does not execute a verification process to verify the information contained in the transaction.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2024
From: NEC LABORATORIES EUROPE GMBH
To: NEC CORPORATION
Reel/Frame 068705/0795 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2018
From: KARAME, GHASSAN; BOHLI, JENS-MATTHIAS
To: NEC LABORATORIES EUROPE GMBH
Reel/Frame 045323/0436 →
Continuity (1)
Related Publication 20190295049A1 · Sep 26, 2019