Skip to content

Honey Badger BFT Hypothesis Testing

David Forstenlechner edited this page Mar 24, 2020 · 6 revisions

Premise

As an asynchronous consensus protocol we postulate following performance advantages over synchronous protocols:

  • Lower latency
    • Block creation can be started in the moment they arrive
    • The creation of the next block can be started in the moment the previous block has been completed
  • Higher latency
    • No artificial block creation frequency
    • Blocks can be created in bursts as fast as the network allows

To gather evidence for the correctness of these assumptions we set up practical tests we describe in the following sections.

Test Setup

  • 7 Validators
    • running in separate VMs, distributed between Germany and Finnland
  • All validator nodes doubling up as RPC nodes to test distribution of transactions

Performance Tests

Latency

Test 1 - Single Transactions

  • Send a single transactions, one at a time, spaced out at a random time distance between 1-10s
  • Measure the time between transaction submission and inclusion in a block
  • Continue measurements for at least 5 minutes, logging the results to a file for statistical analysis

Test 2 - Single Transaction under Baseline Load

  • Send a baseline of 10 tx/s to simulate constant load
  • On top of that load do the same as described in Test 1 above

Throughput

Test 1 - Single RPC Node

  • Send 70 tx/s to a single RPC Node
    • As a bonus, try the same on other nodes to detect differences in performance
  • Let run for 5 minutes for burn-in
  • Measure average tx/s over a period of 1 minute

Test 2 - Multiple RPC Nodes

  • Same as for Test 1, but send 70 tx/s to each of the 7 RPC servers, for a total of 490 tx/s