IP Library › Granted Patent US 12,432,067
Granted Patent B2
US 12,432,067 · App. 17/990,818 · Granted Sep 30, 2025

Method for authenticating distributed votes for a distributed system

Inventors: David Kozhaya (Dietikon, CH); Maelle Kabir-Querrec (Aarburg, CH)
Assignee: ABB Schweiz AG
H04L9/3239H04L9/3247H04L2209/463
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,432,067
App. No.
17/990,818
Granted
Sep 30, 2025
Kind
B2
Abstract

Described herein is a system and a method for authenticating distributed votes for a distributed system. The distributed system includes a plurality of nodes and at least one leader node. The method includes: sending out, by the leader node, a prepare message including a proposal; generating, by each of at least some of the plurality of nodes, a set of hash values; generating, by each of the at least some of the plurality of nodes, a reply message to the leader node including the set of hash values; signing, by each of the at least some of the plurality of nodes, the reply message with a digital signature; sending, by each of the at least some of the plurality of nodes, the reply message with the digital signature; and validating, by the leader node, the signatures of the reply messages and saving the sets of hash values.

Claims (54)

1. A computer-implemented method for authenticating distributed votes for a distributed system having a plurality of nodes and at least one leader node authorized to make a proposal, the method comprising:

sending out, by the leader node, a prepare message including a proposal;

generating, by each of at least some of the plurality of nodes, a set of hash values based on a set of unique phrases, wherein each hash value of the set of hash values is obtained by applying a hash function on a unique phrase from the set of unique phrases;

generating, by each of the at least some of the plurality of nodes, a reply message to the leader node including the set of hash values;

signing, by each of the at least some of the plurality of nodes, the reply message with a digital signature;

sending, by each of the at least some of the plurality of nodes, the reply message with the digital signature; and

validating, by the leader node, the digital signatures of the reply messages and saving the sets of hash values,

wherein the method further comprises at least one repetition of the following:

sending, by each of the at least some of the plurality of nodes, a vote message including one of the unique phrases of the set of unique phrases, if the node agrees with the proposal, wherein the one of the unique phrases of the set of unique phrases changes in each repetition;

generating, by the leader node, if one or more vote messages are received, a plurality of voting hash values based on the one or more vote messages;

generating comparisons of the voting hash values with the sets of hash values; and

validating a plurality of votes on the proposal based on the comparisons, and

wherein the method further comprises:

making, by the leader node, a decision on the proposal based on a last validated plurality of votes; and

accepting, by each of the at least some of the plurality of nodes, the decision on the proposal.

2. The method of claim 1 , wherein the set of hash values of each of the at least some of the plurality of nodes are at least partially based on the set of unique phrases of the respective node and a unique node identifier of the respective node, and wherein the one or more vote messages each include the unique node identifier of the respective node.

3. The method of claim 1 , wherein the at least one repetition is 1, 2, 3, or 4 repetitions.

4. The method of claim 1 , wherein validating the plurality of votes on the proposal based on the comparisons comprises counting an approval vote for each voting hash value identical to a hash value of the sets of hash values.

5. The method of claim 1 , wherein the prepare message includes a prepare quorum certificate including a voting threshold for legitimizing a voting decision.

6. The method of claim 5 , further comprising:

generating and sending, by the leader node, a pre-commit quorum certificate after validating the digital signatures of the reply messages, if a number of validated signed reply messages is equal or above the voting threshold, wherein the pre-commit quorum certificate comprises the number of validated signed reply messages and/or the sets of hash values.

7. The method of claim 6 , further comprising:

storing, by each of the at least some of the plurality of nodes, the sets of hash values of the pre-commit quorum certificate.

8. The method of claim 1 , wherein, within the at least one repetition, the method further comprises:

receiving, by the leader node, the one or more vote messages for a predetermined amount of time.

9. The method of claim 1 , wherein the hash function is an unkeyed cryptographic hash function.

10. The method of claim 1 , wherein, within the at least one repetition, the method further comprises:

generating, by the leader node, at an end of a repetition of the at least one repetition, a pre-commit quorum certificate including a number of validated votes and/or the unique phrases of the one or more vote messages, if there is at least one more repetition of the at least one repetition, and sending, by the leader node, the pre-commit quorum certificate.

11. The method of claim 1 , wherein the digital signature is configured to uniquely identify and link the digital signature to the respective node.

12. The method of claim 11 , wherein the digital signature is generated using a digital signature scheme based on Rivest-Shamir-Adleman (RSA), Digital Signature Algorithm (DSA), Elliptic Curve Digital Signature Algorithm (ECDSA) or Edwards-curve Digital Signature Algorithm (EdDSA).

13. A distributed system having a plurality of nodes and at least one leader node authorized to make proposals, wherein at least some of the plurality of nodes and the leader node each comprise a processor, the processors configured to perform the method of claim 1 .

14. A distributed system having a plurality of nodes and at least one leader node authorized to make proposals, wherein at least some of the plurality of nodes and the leader node each comprise a processor, the processors configured to perform the following operations:

sending out, by the leader node, a prepare message including a proposal;

generating, by each of at least some of the plurality of nodes, a set of hash values based on a set of unique phrases, wherein each hash value of the set of hash values is obtained by applying a hash function on a unique phrase from the set of unique phrases;

generating, by each of the at least some of the plurality of nodes, a reply message to the leader node including the set of hash values;

signing, by each of the at least some of the plurality of nodes, the reply message with a digital signature;

sending, by each of the at least some of the plurality of nodes, the reply message with the digital signature; and

validating, by the leader node, the digital signatures of the reply messages and saving the sets of hash values,

wherein the operations further comprise at least one repetition of the following:

sending, by each of the at least some of the plurality of nodes, a vote message including one of the unique phrases of the set of unique phrases, if the node agrees with the proposal, wherein the one of the unique phrases of the set of unique phrases changes in each repetition;

generating, by the leader node, if one or more vote messages are received, a plurality of voting hash values based on the one or more vote messages;

generating comparisons of the voting hash values with the sets of hash values; and

validating a plurality of votes on the proposal based on the comparisons, and

wherein the operations further comprise:

making, by the leader node, a decision on the proposal based on a last validated plurality of votes; and

accepting, by each of the at least some of the plurality of nodes, the decision on the proposal.

15. The distributed system of claim 14 , wherein the set of hash values of each of the at least some of the plurality of nodes are at least partially based on the set of unique phrases of the respective node and a unique node identifier of the respective node, and wherein the one or more vote messages each include the unique node identifier of the respective node.

16. The distributed system of claim 14 , wherein validating the plurality of votes on the proposal based on the comparisons comprises counting an approval vote for each voting hash value identical to a hash value of the sets of hash values.

17. The distributed system of claim 14 , wherein the prepare message includes a prepare quorum certificate including a voting threshold for legitimizing a voting decision.

18. The distributed system of claim 17 , further comprising:

generating and sending, by the leader node, a pre-commit quorum certificate after validating the digital signatures of the reply messages, if a number of validated signed reply messages is equal to or above the voting threshold, wherein the pre-commit quorum certificate comprises the number of validated signed reply messages and/or the sets of hash values.

19. The distributed system of claim 18 , wherein the operations further comprise:

storing, by each of the at least some of the plurality of nodes, the sets of hash values of the pre-commit quorum certificate.

20. The distributed system of claim 14 , wherein the hash function is an unkeyed cryptographic hash function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2022
From: KOZHAYA, DAVID; KABIR-QUERREC, MAELLE
To: ABB SCHWEIZ AG
Reel/Frame 061974/0349 →
Priority Claims (1)
EP 21210774 · Nov 26, 2021 · regional
Continuity (1)
Related Publication 20230171109A1 · Jun 1, 2023
References Cited (17)
US 11222009B2 · Shi · 2022 [cited by examiner]
US 11902456B2 · Zamani · 2024 [cited by examiner]
US 20190258610A1 · Dang · 2019 [cited by examiner]
US 20190305938A1 · Sandberg-Maitland · 2019 [cited by examiner]
US 20210342297A1 · Gupta · 2021 [cited by examiner]
US 20230108514A1 · Muhia · 2023 [cited by examiner]
WO WO2020098840A3 · 2020 [cited by examiner]
WO WO2021050929A1 · 2021 [cited by examiner]
WO WO2023009230A1 · 2023 [cited by examiner]
WO WO2023055512A1 · 2023 [cited by examiner]
Maofan Yin, HotStuff: BFT Consensus with Linearity and Responsiveness, 2019, Processing of the 2019 ACM Symposium on Principles of Distributed Computing, ACMPUB27, New York, NY, USA, pp. 347-356. (Year: 2019). [cited by examiner]
Christopher Natoli et al: “Deconstructing Blockchains: A Comprehensive Survey on Consensus, Membership and Structure”, arxiv.org, Cornell University Library, 201 Olin LibraryCornell University Ithaca, NY 14853, Aug. 22,… [cited by applicant]
Sotirios Brotsis et al: “On the Suitability of Blockchain Platforms for IoT Applications: Architectures, Security, Privacy, and Performance”,arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ith… [cited by applicant]
Yin Maofan Tedyin@CS Cornell Edu et al: “HotStuff BFT Consensus with Linearity and Responsiveness”, Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, ACMPUB27, New York, NY, USA, Jul. 16, 201… [cited by applicant]
Boneh Dan et al: “Short Signatures from the Weil Pairing”,Journal of Cryptology, Springer US, New York,vol. 17,No. 4,Jul. 30, 2004 (Jul. 30, 2004), pp. 297-319, XP037087813,ISSN: 0933-2790, DOI: 1 0.1 007/5001 45-004-03… [cited by applicant]
Jiashuo Zhang et al: “Efficient Byzantine Fault Tolerance using Trusted Execution Environment: Preventing Equivocation is only the Beginning”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University I… [cited by applicant]
Extended European Search Report for European Application No. 21210774.2, dated May 20, 2022, 10 pages. [cited by applicant]