IP Library Granted Patent US 12,197,300
Granted Patent B2
US 12,197,300 · App. 18/002,056 · Granted Jan 14, 2025

Method and system for execution of a byzantine fault tolerant protocol

Inventors: Sebastien Andreina (Heidelberg, DE); Ghassan Karame (Bochum, DE)
Assignee: NEC CORPORATION
G06F11/1474H04L41/0654H04L43/08G06F2201/87
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,197,300
App. No.
18/002,056
Granted
Jan 14, 2025
Kind
B2
Abstract

A method for execution of a Byzantine Fault Tolerant (BFT) protocol among a number of participating nodes of a network includes: receiving, by a primary node of the BFT protocol, a transaction request, applying, by the primary node, a data dissemination protocol for distributing the transaction request among the participating nodes via a data-plane of the network, and generating, by the primary node, a hash of the transaction request and requesting consensus among the participating nodes via a control-plane of the network using the hash of the transaction request.

Claims (35)

1. A method of execution of a Byzantine Fault Tolerant (BFT) protocol among a number of participating nodes of a network, the method comprising:

receiving, by a primary node of the BFT protocol, a transaction request,

applying, by the primary node, a data dissemination protocol for distributing the transaction request among the participating nodes via a data-plane of the network, and

generating, by the primary node, a hash of the transaction request and requesting consensus among the participating nodes via a control-plane of the network using the hash of the transaction request.

2. The method according to claim 1 , wherein a number of different data dissemination protocols are pre-implemented at the data-plane, the method further comprising:

selecting, from the number of pre-implemented data dissemination protocols, a data dissemination protocol to be applied by the primary node for distributing the transaction request among the participating nodes.

3. The method according to claim 2 , wherein the pre-implemented data dissemination protocols include a Fastest Node First (FNF), data dissemination protocol, an X-ary Tree data dissemination protocol, an X-Trees data dissemination protocol, a redundant mesh data dissemination protocol, and/or a multicast data dissemination protocol.

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

providing, by a network topology aware component implemented at the data-plane, network statistics and/or network configuration information,

wherein selecting the data dissemination protocol to be applied for distributing the transaction request among the participating nodes is based on the provided network statistics and/or network configuration information.

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

monitoring, by a network topology aware component, network performance by collecting feedback information from the participating nodes, and

in case of detecting a change in network performance exceeding a predefined threshold, issues an update message to adapt the data dissemination protocol to be applied for distributing the transaction request among the participating nodes.

6. The method according to claim 5 , wherein the network performance comprises latency and/or throughput.

7. The method according to claim 1 , wherein the data dissemination protocol includes a resilience enhancing mechanism, wherein the mechanism includes broadcasting of inv messages that advertise availability of a node in the network to serve the transaction request.

8. The method according to claim 1 , wherein the data-plane exposes a broadcast application programming interface (API) for broadcasting data using the applicable data dissemination protocol.

9. The method according to claim 1 , wherein the data-plane exposes a subscription API that is configured to enable participating nodes, upon reception of a BFT request on the transaction request, to wait to receive the hash of the transaction request by subscribing to the transaction request.

10. The method according to claim 1 , wherein the BFT protocol comprises an optimistic execution mode and a fallback execution mode, wherein the optimistic execution mode assumes a best case scenario where the participating nodes are honest, and wherein the fallback execution mode assumes that any participating node—may fail or become malicious, the method comprising:

switching from optimistic to fallback execution mode when a number of errors exceeds a configurable threshold, and switching from fallback to optimistic execution mode when no errors are detected for a configurable time period.

11. A network node, configured to act as primary node of a Byzantine Fault Tolerant (BFT) protocol in a method according to claim 1 .

12. A system for execution of a Byzantine Fault Tolerant (BFT) protocol in a network, the system comprising a number of nodes participating in the BFT protocol, wherein the number of participating nodes includes a primary node of the BFT protocol that is configured to:

receive a transaction request,

apply a data dissemination protocol for distributing the transaction request among the participating nodes via a data-plane of the network,

generate a hash of the transaction request, and

request consensus among the participating nodes via a control-plane of the network using only the hash of the transaction request.

13. The system according to claim 12 , further comprising a network topology aware component implemented at the data-plane of the network and configured:

to receive network statistics related to at least one of throughput and latency between each pair of participating nodes,

to receive configuration settings including an optimization parameter that indicates a metric to be optimized, and

based on the network statistics and the configuration settings, select a particular data dissemination protocol to be applied for distributing the transaction request among the participating nodes.

14. The system according to claim 13 , wherein the network topology aware component is configured to

monitor network performance by collecting feedback information from the participating nodes, and

in case of detecting a change in network performance exceeding a predefined threshold, issue an update message to adapt the data dissemination protocol to be applied for distributing the transaction request among the participating nodes.

15. The system according to claim 14 , wherein the network performance comprises latency and/or throughput.

16. The system according to claim 12 , wherein the data-plane exposes a broadcast application programming interface (API) for broadcasting data using the applicable data dissemination protocol.

17. The system according to claim 12 , wherein the data-plane exposes a subscription API that is configured to enable participating nodes, upon reception of a BFT request on the transaction request, to wait to receive the hash of the transaction request by subscribing to the transaction request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2024
From: NEC LABORATORIES EUROPE GMBH
To: NEC CORPORATION
Reel/Frame 069418/0147 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2022
From: ANDREINA, SEBASTIEN; KARAME, GHASSAN
To: NEC LABORATORIES EUROPE GMBH
Reel/Frame 062241/0567 →
Priority Claims (1)
EP 20182369 · Jun 25, 2020 · regional
Continuity (1)
Related Publication 20230229569A1 · Jul 20, 2023
References Cited (11)
US 6671821B1 · Castro · 2003 [cited by examiner]
US 11922074B1 · Thomason · 2024 [cited by examiner]
US 20180307573A1 · Abraham · 2018 [cited by examiner]
US 20190349426A1 · Smith · 2019 [cited by examiner]
US 20200081805A1 · Abraham · 2020 [cited by examiner]
US 20200167243A1 · Rauh · 2020 [cited by examiner]
US 20200379856A1 · Jayachandran · 2020 [cited by examiner]
US 20210117410A1 · Sekniqi · 2021 [cited by examiner]
US 20230130074A1 · Xiao · 2023 [cited by examiner]
Alistarh, Dan et al., “How Efficient Can Gossip Be? (On the Cost of Resilient Information Exchange),” International Colloquium on Automata, Languages, and Programming, Jul. 6, 2010, pp. 115-126, XP019146196, Springer, B… [cited by applicant]
Liu, Jian et al., “Scalable Byzantine Consensus via Hardware-assisted Secret Sharing,” Dec. 15, 2016, pp. 1-12, Arxiv.Org, Cornell University Library, New York, United States. [cited by applicant]