Risk Warning: Beware of illegal fundraising in the name of 'virtual currency' and 'blockchain'. — Five departments including the Banking and Insurance Regulatory Commission
Information
Discover
Search
Login
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
View Market
Why is Libra's consensus algorithm not secure enough?
Sperax
特邀专栏作者
2020-05-09 11:47
This article is about 1152 words, reading the full article takes about 2 minutes
In this article, we discuss why Facebook Libra's HotStuff consensus algorithm is not secure enough

Protocol Overview

Protocol Overview

first level title

HotStuff's key innovations

The star communication network enables HotStuff BFT/LibraBFT to achieve consensus with reduced communication complexity but increased round complexity. The key innovations worth noting are the following:

1. HotStuff participants send signed messages to the leader through a p2p channel (star topology communication network).

2.HotStuff uses a threshold digital signature scheme that can achieve linear authenticator complexity regardless of whether the leader is right or wrong.

first level title

The Importance of Credible Leaders

The importance of message propagation is particularly prominent in the vulnerability of the HotStuff BFT protocol, because it lacks a clear decision-making message propagation process. Problems arise when the leader cannot reliably broadcast decision messages in HotStuff. Like the following situation:

According to the agreement, the task of the leader is to expand the path to (a0->a1->…->->b). Assuming the execution went well, we continue with the next view v+1. We want the leader to propagate commands to all participants, which should all execute the commands associated with extended leaf nodes b and c. The HotStuff BFT protocol states: "Effectively, lagging receivers can catch up by fetching missing nodes from other replicas." This means that, at the end of view v+1, lagging participants can catch up with (a0-> a1->...->->b->c) corresponding prepareQC.

However, a participant trying to catch up has no way of knowing whether all participants actually executed the command (i.e., whether the leader propagated node b's command to everyone, a node or some subset). According to the HotStuff BFT protocol, the nodes on the tree only contain the hash value of the parent node and the client command. As a result, the leaf nodes maintained by each actor contain no information about whether the command was executed or not.

Finally, this analysis reveals that HotStuff's original overview leaves participants on the network prone to inconsistencies, such that it must be considered whether a given command has been executed or not is included in a tree node.

Libra
开发者
Welcome to Join Odaily Official Community