1 of 50

Chained Moonshot

An Introduction to the Fast Path

Copyright © 2023 Supra

Supra Research Team

2 of 50

The Blockchain

A distributed system working together to agree on the next block to add to the blockchain

Blockchain-Based State Machine Replication (SMR)

CONSENSUS

Copyright © 2023 Supra

3 of 50

Partially Synchronous Network

Byzantine Faults

Static Adversary

Problem Setting

Copyright © 2023 Supra

4 of 50

Correctness

Safety

No forks

Liveness

Doesn’t halt

Node 1

Node 2

Copyright © 2023 Supra

5 of 50

Single-Shot Two-Phase Commit�Consensus Protocol

Copyright © 2023 Supra

6 of 50

Leader broadcasts proposal

Leader

Node 2

Node 3

Node 4

Two-Phase Commit

Copyright © 2023 Supra

7 of 50

Prepare votes

Leader broadcasts proposal

Leader

Node 2

Node 3

Node 4

Two-Phase Commit

Copyright © 2023 Supra

8 of 50

Prepare QC

Prepare votes

Leader broadcasts proposal

Leader

Node 2

Node 3

Node 4

Two-Phase Commit

Copyright © 2023 Supra

9 of 50

Commit votes

Prepare votes

Leader broadcasts proposal

Prepare QC

Commit QC

Leader

Node 2

Node 3

Node 4

Two-Phase Commit

Copyright © 2023 Supra

10 of 50

Blockchain-Based Two-Phase�Commit SMR Protocol

BB-2PC

Copyright © 2023 Supra

11 of 50

Node 1

Node 2

Node 3

Node 4

BB-2PC

Commit votes

Prepare votes

Leader�broadcasts proposal

Commit votes

Prepare votes

Leader�broadcasts proposal

Commit QC

Prepare QC

Commit QC

Prepare QC

Copyright © 2023 Supra

12 of 50

Blockchain-Based Two-Phase Commit with

Vote Aggregators and QC Chaining

Jolteon

Copyright © 2023 Supra

13 of 50

Leader 1 broadcasts B1

Leader

Node 2

Node 3

Node 4

Jolteon

Copyright © 2023 Supra

14 of 50

Leader 1 broadcasts B1

Send votes�for B1 to Leader 2

Node 1

Leader 2

Leader 3

Node 4

Jolteon

Copyright © 2023 Supra

15 of 50

Leader 1 broadcasts B1

Send votes�for B1 to Leader 2

Form B1 QC

Node 1

Leader 2

Leader 3

Node 4

Jolteon

Copyright © 2023 Supra

16 of 50

Leader 1 broadcasts B1

Leader 2�broadcasts B2 + B1 QC

Send votes�for B1 to Leader 2

Form B1 QC

Node 1

Leader 2

Leader 3

Node 4

Jolteon

Copyright © 2023 Supra

17 of 50

Leader 1 broadcasts B1

Leader 2�broadcasts B2 + B1 QC

Send votes�for B1 to Leader 2

Lock B1

Node 1

Leader 2

Leader 3

Node 4

Jolteon

Form B1 QC

Copyright © 2023 Supra

18 of 50

Lock B1

Leader 1 broadcasts B1

Send votes�for B1 to Leader 2

Leader 2�broadcasts B2 + B1 QC

Send votes�for B2 to Leader 3

Node 1

Node 2

Leader 3

Node 4

Jolteon

Form B1 QC

Copyright © 2023 Supra

19 of 50

Form B1 QC

Lock B1

Form B2 QC

Leader 1 broadcasts B1

Send votes�for B1 to Leader 2

Leader 2�broadcasts B2 + B1 QC

Send votes�for B2 to Leader 3

Node 1

Node 2

Leader 3

Node 4

Jolteon

Copyright © 2023 Supra

20 of 50

Form B2 QC

Leader 1 broadcasts B1

Send votes�for B1 to Leader 2

Leader 2�broadcasts B2 + B1 QC

Send votes�for B2 to Leader 3

Leader 3�broadcasts B3 +B2 QC

Node 1

Node 2

Leader 3

Node 4

Jolteon

Form B1 QC

Lock B1

Copyright © 2023 Supra

21 of 50

Leader 1 broadcasts B1

Send votes�for B1 to Leader 2

Leader 2�broadcasts B2 + B1 QC

Send votes�for B2 to Leader 3

Leader 3�broadcasts B3 +B2 QC

Commit B1�Lock B2

Node 1

Node 2

Leader 3

Node 4

Jolteon

Form B1 QC

Lock B1

Form B2 QC

Copyright © 2023 Supra

22 of 50

Leader 1 broadcasts B1

Send votes�for B1 to Leader 2

Leader 2�broadcasts B2 + B1 QC

Send votes�for B2 to Leader 3

Leader 3�broadcasts B3 +B2 QC

Commit B1�Lock B2

Node 1

Node 2

Leader 3

Node 4

Jolteon

Form B2 QC

Lock B1

Form B1 QC

Copyright © 2023 Supra

23 of 50

Blockchain-Based Two-Phase Commit with QC Chaining and Proposal Pipelining

Chained Moonshot

Copyright © 2023 Supra

24 of 50

Propose B1 -> B0

Leader

Node 2

Node 3

Node 4

Chained Moonshot

Copyright © 2023 Supra

25 of 50

Prepare votes for B1

Propose B2 -> B1

Propose B1 -> B0

Node 1

Leader 2

Leader 3

Node 4

Chained Moonshot

Copyright © 2023 Supra

26 of 50

Linear communication complexity is not worth the extra hop.

OUR CONTENTION

Leader 1 broadcasts B1

Send votes�for B1 to Leader 2

Leader 2�broadcasts B2 + B1 QC

Send votes�for B2 to Leader 3

Leader 3�broadcasts B3 +B2 QC

Form B1 QC

Lock B1

Commit B1�Lock B2

Form B2 QC

Node 1

Node 2

Leader 4

Node 3

Jolteon

Copyright © 2023 Supra

27 of 50

Prepare votes for B1

Node 1

Node 2

Leader 3

Node 4

Propose B2 -> B1

Propose B1 -> B0

Lock B1

Chained Moonshot

Copyright © 2023 Supra

28 of 50

Propose B2 -> B1

Propose B1 -> B0

Prepare votes for B1

Lock B1

Prepare votes for B2

Propose B3 -> B2

Node 1

Node 2

Leader 3

Node 4

Chained Moonshot

Copyright © 2023 Supra

29 of 50

Propose B2 -> B1

Propose B1 -> B0

Prepare votes for B1

Lock B1

Prepare votes for B2

Propose B3 -> B2

Lock B2

Commit B1

Node 1

Node 2

Leader 3

Node 4

Chained Moonshot

Copyright © 2023 Supra

30 of 50

Propose B4 -> B3

Prepare votes for B3

Propose B3 -> B2

Propose B2 -> B1

Propose B1 -> B0

Prepare votes for B2

Prepare votes for B1

Lock B2

Commit B1

Lock B1

Node 1

Node 2

Leader 4

Node 3

Chained Moonshot

Copyright © 2023 Supra

31 of 50

Propose B4 -> B3

Lock B3

Commit B2

Prepare votes for B3

Propose B3 -> B2

Propose B2 -> B1

Propose B1 -> B0

Prepare votes for B2

Prepare votes for B1

Lock B2

Commit B1

Lock B1

Node 1

Node 2

Leader 4

Node 3

Chained Moonshot

Copyright © 2023 Supra

32 of 50

Propose B4 -> B3

Lock B3

Commit B2

Prepare votes for B3

Propose B3 -> B2

Propose B2 -> B1

Propose B1 -> B0

Prepare votes for B2

Prepare votes for B1

Lock B2

Commit B1

Lock B1

Node 1

Node 2

Leader 4

Node 3

Chained Moonshot

Copyright © 2023 Supra

33 of 50

Protocol

Communication Complexity

Block Finalization Latency

Block Period

Chained Moonshot

O(n 2)

3𝛿

𝛿

Protocol Comparison

BB-2PC

Jolteon

O(n 2)

O(n)

3𝛿

5𝛿

3𝛿

2𝛿

Copyright © 2023 Supra

34 of 50

Experimental Results

Copyright © 2023 Supra

35 of 50

Variables

Network size

10, 50, 100, 200

validators

Block size

From 1.8kB to 18MB

Copyright © 2023 Supra

36 of 50

Network Configuration

10, 50 nodes5 Regions

us-east-1, us-west-1, eu-north-1, ap-northeast-1, ap-southeast-2

100, 200 nodes20 Regions

us-east-1, us-east-2, us-west-1, us-west-2, ap-east-1, ap-south-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, eu-central-1, eu-west-1, eu-west-2, eu-west-3, eu-north-1, eu-south-1, me-south-1

Regions

Provider

Nodes (m5.xlarge)

16GB RAM

4 vCPUs

Up to 10 Gigabit bandwidth

AWS

Copyright © 2023 Supra

37 of 50

Constants

Target Runtime

300 seconds

Participants

All honest

Copyright © 2023 Supra

38 of 50

Block Throughput

Copyright © 2023 Supra

39 of 50

60

50

40

30

1800

18000

180000

4500000

20

9000000

18000000

Payload size (Bytes)

Improvement (%)

1800000

10 Nodes

Chained Moonshot Throughput Improvement Over Jolteon

Copyright © 2023 Supra

40 of 50

80

60

40

1800

18000

180000

4500000

20

9000000

18000000

Payload size (Bytes)

Improvement (%)

1800000

10 Nodes

50 Nodes

Chained Moonshot Throughput Improvement Over Jolteon

Copyright © 2023 Supra

41 of 50

80

60

40

1800

18000

180000

4500000

20

9000000

18000000

Payload size (Bytes)

Improvement (%)

1800000

10 Nodes

50 Nodes

100 Nodes

Chained Moonshot Throughput Improvement Over Jolteon

Copyright © 2023 Supra

42 of 50

80

60

40

1800

18000

180000

4500000

20

9000000

18000000

Payload size (Bytes)

Improvement (%)

1800000

Chained Moonshot Throughput Improvement Over Jolteon

10 Nodes

50 Nodes

100 Nodes

200 Nodes

Copyright © 2023 Supra

43 of 50

Block Finalization Latency

Copyright © 2023 Supra

44 of 50

1800

18000

180000

4500000

9000000

18000000

Payload size (Bytes)

Improvement (%)

1800000

Chained Moonshot Latency Improvement Over Jolteon

60

50

40

30

20

10 Nodes

50 Nodes

100 Nodes

200 Nodes

Copyright © 2023 Supra

45 of 50

Data Transfer Rate

Copyright © 2023 Supra

46 of 50

10000

100000

1000000

Throughout (B/s)

Latency (ms)

10000000

1000

500

100

10000

5000

50000

Chained Moonshot (200 nodes)

Jolteon (100 nodes)

Jolteon (200 nodes)

Chained Moonshot (50 nodes)

Chained Moonshot (100 nodes)

Jolteon (50 nodes)

Chained Moonshot (10 nodes)

Jolteon (10 nodes)

Copyright © 2023 Supra

47 of 50

Benefits Over Jolteon

Average Improvement to Block Throughput

Average Improvement to Block Finalisation Latency

41.1%

54.9%

Copyright © 2023 Supra

48 of 50

More to come…

Copyright © 2023 Supra

49 of 50

Resources

Moonshot Whitepaperhttps://supraoracles.com/docs/SupraOracles-Moonshot-Whitepaper.pdf

PBFThttps://pmg.csail.mit.edu/papers/osdi99.pdf

Tenderminthttps://arxiv.org/pdf/1807.04938.pdf

HotStuff https://dl.acm.org/doi/pdf/10.1145/3293611.3331591

Jolteon and Dittohttps://arxiv.org/pdf/2106.10362.pdf

Facebook Research Narwhal-HS Implementationhttps://github.com/facebookresearch/narwhal/tree/narwhal-hs

Copyright © 2023 Supra

50 of 50

From the Supra Research Team

Thank You

Copyright © 2023 Supra