Chained Moonshot
An Introduction to the Fast Path
Copyright © 2023 Supra
Supra Research Team
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
Partially Synchronous Network
Byzantine Faults
Static Adversary
Problem Setting
Copyright © 2023 Supra
Correctness
Safety
No forks
Liveness
Doesn’t halt
Node 1
Node 2
Copyright © 2023 Supra
Single-Shot Two-Phase Commit�Consensus Protocol
Copyright © 2023 Supra
Leader broadcasts proposal
Leader
Node 2
Node 3
Node 4
Two-Phase Commit
Copyright © 2023 Supra
Prepare votes
Leader broadcasts proposal
Leader
Node 2
Node 3
Node 4
Two-Phase Commit
Copyright © 2023 Supra
Prepare QC
Prepare votes
Leader broadcasts proposal
Leader
Node 2
Node 3
Node 4
Two-Phase Commit
Copyright © 2023 Supra
Commit votes
Prepare votes
Leader broadcasts proposal
Prepare QC
Commit QC
Leader
Node 2
Node 3
Node 4
Two-Phase Commit
Copyright © 2023 Supra
Blockchain-Based Two-Phase�Commit SMR Protocol
BB-2PC
Copyright © 2023 Supra
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
Blockchain-Based Two-Phase Commit with
Vote Aggregators and QC Chaining
Jolteon
Copyright © 2023 Supra
Leader 1 broadcasts B1
Leader
Node 2
Node 3
Node 4
Jolteon
Copyright © 2023 Supra
Leader 1 broadcasts B1
Send votes�for B1 to Leader 2
Node 1
Leader 2
Leader 3
Node 4
Jolteon
Copyright © 2023 Supra
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
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
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
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
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
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
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
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
Blockchain-Based Two-Phase Commit with QC Chaining and Proposal Pipelining
Chained Moonshot
Copyright © 2023 Supra
Propose B1 -> B0
Leader
Node 2
Node 3
Node 4
Chained Moonshot
Copyright © 2023 Supra
Prepare votes for B1
Propose B2 -> B1
Propose B1 -> B0
Node 1
Leader 2
Leader 3
Node 4
Chained Moonshot
Copyright © 2023 Supra
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
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
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
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
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
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
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
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
Experimental Results
Copyright © 2023 Supra
Variables
Network size
10, 50, 100, 200
validators
Block size
From 1.8kB to 18MB
Copyright © 2023 Supra
Network Configuration
10, 50 nodes�5 Regions
us-east-1, us-west-1, eu-north-1, ap-northeast-1, ap-southeast-2
100, 200 nodes�20 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
Constants
Target Runtime
300 seconds
Participants
All honest
Copyright © 2023 Supra
Block Throughput
Copyright © 2023 Supra
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
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
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
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
Block Finalization Latency
Copyright © 2023 Supra
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
Data Transfer Rate
Copyright © 2023 Supra
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
Benefits Over Jolteon
Average Improvement to Block Throughput
Average Improvement to Block Finalisation Latency
41.1%
54.9%
Copyright © 2023 Supra
More to come…
Copyright © 2023 Supra
Resources
Moonshot Whitepaper�https://supraoracles.com/docs/SupraOracles-Moonshot-Whitepaper.pdf
PBFT�https://pmg.csail.mit.edu/papers/osdi99.pdf
Tendermint�https://arxiv.org/pdf/1807.04938.pdf
HotStuff �https://dl.acm.org/doi/pdf/10.1145/3293611.3331591
Jolteon and Ditto�https://arxiv.org/pdf/2106.10362.pdf
Facebook Research Narwhal-HS Implementation�https://github.com/facebookresearch/narwhal/tree/narwhal-hs
Copyright © 2023 Supra
From the Supra Research Team
Thank You
Copyright © 2023 Supra