Recently, I published an article on CryptoSlate about SubstratumNode v0.4.2, where I performed a series of speed tests to gauge the performance of the network. The technical details about the test were included in an early draft, but were omitted in the final revision due to the lengthiness of the technical jargon. This article is meant to serve as an accompaniment to the CryptoSlate article for people who wish to know more about the test configuration.
Test #1 — 4 Nodes in Singapore
The first test was very straightforward. I set up four DigitalOcean servers in Singapore, installed SubstratumNode v0.4.2, and subverted DNS using the included utility. I then attempted to download files of varying sizes. I found that I was able to download files less than 20MB in size at a decent speed of 500Kb/s without any issues. Files larger than 20MB timed out before download completion. The point of this first test was to prove that SubstratumNode does work, and it does.
Test #2 — 6 Nodes Around the World
The second test used a geographically distributed network of six nodes in Singapore, Bangalore, Frankfurt, New York City, Toronto, and San Francisco.
- At 00:17, I ran
subverton our DigitalOcean server in San Francisco to change the server’s DNS to 127.0.0.1. This is the key step to ensure traffic is routed through SubstratumNode.
- At 00:22, I ran
nslookup match_nameto show that DNS is resolving to 127.0.0.1.
- At 00.32, I ran
speedtest-clito perform a speed test through the Substratum network.
- At 00:48. the speed test resolves to a test server from 220.127.116.11, our DigitalOcean server in Frankfurt, Germany. This demonstrates that our ping request which originated in San Francisco was sent through the Substratum network and exited through our Frankfurt server.
- At 02:13, the speed test finally returns a result which states Speedtest.net’s Interoute VDC (Frankfurt) server was pinged with a time of 2585.889 ms.
- At 02:32, the download speed test times out.
- At 02:48, the upload speed test times out.
- At 02:58, I ran
sudo ./dns_utility reverton my DigitalOcean server in San Francisco to change DNS back to the default setting.
- At 03:02, I ran
nslookup match_nameto show that DNS has been reverted.
- At 03:09, I ran
speedtest-clito demonstrate a speed test
withoutrouting through the Substratum network.
- At 03:10, the speed test resolves quickly to KamaTera INC in Santa Clara, CA — the closest SpeedTest.net test server to our DigitalOcean server in San Francisco.
- At 03:13, the download/upload speed tests complete quickly with no issues.
Test #3 — SubstratumNode Logging
The final test shows that SubstratumNode still logs data in debug mode when DNS is not subverted. Thus, any legitimate SubstratumNode speed test should explicitly show
sudo ./dns_utility subvert (or equivalent process) to confirm that DNS has been subverted.
- At 00:06, I ran
sudo ./dns_utility subvertto change the server’s DNS to 127.0.0.1. This is the key step to ensure traffic is routed through SubstratumNode.
- At 00:14, I ran
sudo ./SubstratumNode --dns_servers 18.104.22.168 --ip 22.214.171.124 --port_count 1 --log_level debug --bootstrap_from Tq3SKpuaMdZ4OgovfhbaqrdpO75kBZ9HgmfTnkvqIU0:126.96.36.199:50098to connect SubstratumNode to our neighborhood in debug mode.
- At 00:24, I ran
clearto remove the debug log from the window.
- At 00.28, I ran
sudo ./dns_utility subvertfollowed by
sudo ./dns_utility revertto switch DNS servers back to the default setting. This is followed by
nslookup match_nameto prove that the DNS servers have been restored to the default setting.
- At 00:44, I started SubstratumNode once again with the previous command. As you can see, the debug log printed even though DNS was not subverted.
- At 00:53, I run
https://brianli.com/favicon.icoto download a small image file. As expected, the download finishes very quickly because I are NOT connected to the Substratum network despite the debug log continuing to print new data.
- At 01:02, I ran
https://cryptoslate.comto request HTTP headers. Once again, the response was almost instantaneous because I were not connected to the Substratum network.
- At 01:26, I ran
sudo ./dns_utility subvertonce again to connect to the Substratum network.
- At 01:32, I ran
https://brianli.com/favicon.ico. Notice the difference in speed this time around. Since I are connected to the Substratum network this time, the download takes ~18 seconds.