# Bounce: A High Performance Satellite-Based Blockchain System
## 6 Experiments, Results, and Analysis
### Multiple Broadcast Ground Station Merkle Tree Construction Performance  
In this experiment, the Sending Station and Broadcast Ground Stations are deployed within a single cluster (CloudLab, Wisconsin). The overlay network is structured as a tree, called the **broadcast tree** with a fixed fanout of 3. The experimental setup involves one Sending Station and 39 Broadcast Ground Stations of which 19 must respond with signed roots (i.e., \(19=f+1\)). Again (and hereafter) each transaction is 392 bytes.  
Figure 4 illustrates the time elapsed from the initiation of the send operation by the Sending Station until responses are received from the Broadcast Ground Stations. The network configuration includes a 10 Gbps interconnect between each node, with an overlay network broadcast tree constructed with a fanout of 3, meaning that the Sending Station initially transmits data to three Broadcast Ground Stations, and each non-leaf Broadcast Ground Station subsequently forwards the request to three child Broadcast Ground Stations.  
Figure 4: The time elapsed between when the Sending Station started sending a Sign Merkle Tree Request and the moment when it received all the signatures from Broadcast Ground Stations to construct the multisignature. This time is a function of the number of transactions to be stored in the Merkle Tree (different colors) and the number of Broadcast Ground Stations (horizontal axis). The network speed is 10 Gbps, and the network overlay graph is configured to a **broadcast tree** with a fanout of 3. The results are the average over 20 running times. For 19 Broadcast Ground Station signatories, this takes around 4 s which will be reflected in the response time (but not the throughput because of pipelining). “Premium” transactions will be in Merkle Trees of only 100,000 transactions, so multisigning across 19 Broadcast Ground Stations can be done in less than 0.5 s.  
\begin{table}
\begin{tabular}{c c} \hline \hline
**\#Transactions** & **Time Taken** \\ \hline
1000 & 1.00 ms \\
10,000 & 8.89 ms \\
100,000 & 91.99 ms \\
1,000,000 & 980.68 ms \\
10,000,000 & 10.68 s \\ \hline \hline \end{tabular}
\end{table}
Table 3: Merkle Tree Construction Timing: construction time scales linearly. A 1 million transaction Merkle Tree can be constructed in one second. This will be used for premium transactions.  
The tests did not use data compression, because previous assessments indicated that, when using a high-speed interconnect, compression and decompression took more time than was saved in communication. For one million transactions, the system takes under 4 s to receive responses from 19 Broadcast Ground Stations. For Merkle Trees containing 100,000 transactions, the Sending Station processes signed responses from all Broadcast Ground Stations in less than one second.  
Figure 5 shows the response time with different fanouts of the overlay graph as a tree. A fanout of 3 works well for 39 Broadcast Ground Stations, because then the broadcast tree has exactly four levels with the Sending Station as the root at level one. The fanout is configurable based on the number of Broadcast Ground Stations. System architects can also customize the network graph based on their network interconnection settings.  
In the following section, we focus on the 10 Gbps network setup. Appendix A analyzes the impact of different network speeds. We assume that users can establish at least a 10 Gbps interconnect between Broadcast Ground Stations, even across significant geographic distances. This assumption is reasonable because Data Center Interconnect (DCI) providers offer high-speed connections ranging from 100 km (Metro DCI) to thousands of kilometers (Subsea DCI) with bandwidth capabilities well beyond 10 Gbps [55; 56; 57].