Putting SubstratumNode v0.4.2 to the Test Putting SubstratumNode v0.4.2 to the Test
This article is 4 years old...

Putting SubstratumNode v0.4.2 to the Test

Putting SubstratumNode v0.4.2 to the Test

Cover art/illustration via CryptoSlate

A Substratum brand ambassador tested the latest SubstratumNode v0.4.2 release, showing outstanding speed and performance. CryptoSlate replicated these tests and was not able to achieve the same results.

We received a complaint that this article was defamatory and contained factually incorrect information. We took down the article temporarily to scrutinize and assess these claims. After further review, the CryptoSlate team determined that the article is indeed factual and consequently not defamatory. However, we have made a few changes and corrections to add additional evidence to some of the claims made.

On Jan. 10th, Substratum released v0.4.2 of SubstratumNode, a software product designed to circumvent Internet censorship by routing network traffic through a network of nodes. Substratum is similar to Tor, in that both products route traffic through a network of distributed nodes to give users more privacy and anonymity. The big difference is that Substratum does not require a dedicated web browser, and also allows nodes to earn SUB tokens by routing traffic.

The release of SubstratumNode v0.4.2, which includes key decentralization features, represents a milestone achievement for Substratum. Upon the update, Substratum enthusiasts have launched nodes around the world to test the performance of the network, and so did we.

In previous versions of SubstratumNode, network traffic routes were linear and a single node going offline would render a route useless. With the release of SubstratumNode v0.4.2, the network is now capable of ‘self-healing’ damaged routes by intelligently accounting for offline nodes and “new routes will omit any inactive nodes.” Self-healing is made possible via the network’s “gossip” technology, which automatically alerts an offline node’s connected neighbor nodes so that future requests are not routed to the offline node.

The implementation of gossip technology has also allowed Substratum to take its first step towards legitimate decentralization. According to Substratum, the previous v0.4.1 release “required nodes to bootstrap from a single centralized entity to be in the same neighborhood.” A bootstrap node is effectively a centralized database that contains information about other nodes on the Substratum network and how to connect to them. In v0.4.2, nodes can be bootstrapped from any node on the network by gossiping, and a dedicated centralized bootstrap node is no longer needed to join the Substratum network.

Substratum’s Community Response to v0.4.2

Despite Substratum’s recent history of product development delays, the community’s response to the release of SubstratumNode v0.4.2 has been positive. In addition to launching a SubstratumNode test community which has attracted over eighty members, Substratum ambassador “Bastiaan” has taken the initiative to set up a decentralized neighborhood consisting of twenty-three nodes “around the globe.

In a follow-up tweet, Bastiaan shared a screenshot of a “speed test with 17 nodes through the Substratum network.” The screenshot, which was retweeted by Substratum CMO Christian Pope, shows an impressive 347.14Mb/s download speed and 9 ms ping time. If you’re not familiar with the term “ping time,” it is the amount of time it takes for a computer to receive a response after sending a request–similar to the wait time between ordering a package from Amazon and having it delivered to your doorstep.

An average ping time between Amsterdam and Paris is approximately 19 ms, while a long-distance transpacific ping between Los Angeles and Tokyo can often exceed 200 ms. By design, SubstratumNode routes traffic through one or more nodes, or hops, before reaching the destination. Thus, Bastiaan’s claim of achieving a 9 ms ping time through a decentralized network of nodes raises questions. On Jan. 14th, CryptoSlate contacted Bastiaan via Twitter and email to discuss his test configuration. Bastiaan did not respond until this article was posted.

CryptoSlate Puts SubstratumNode v0.4.2 to the Test

This is not to say SubstratumNode doesn’t work–it does. To prove this, we performed two tests to gauge the speed of the network. For the first test, we used four nodes in the same location. While we experienced network timeouts when trying to download files over 20MB in size, smaller files were downloaded successfully at speeds up to 500KB/s.

After establishing a successful baseline in our first test, our second test introduced geography into the equation by routing traffic through a decentralized network of nodes in Singapore, Bangalore, Frankfurt, New York City, Toronto, and San Francisco. For this test, we used a popular service called to measure network speed and ping time.

Following the conclusion of our second test, we were able to confirm that traffic originating from San Francisco was routed through the Substratum network and exited through our Frankfurt node with a ping time of 2585 ms. Since the average ping time between San Francisco and Frankfurt is 146 ms, the high ping time we observed was likely due to SubstratumNode routing traffic through one or more additional nodes before exiting at Frankfurt. Finally, we successfully downloaded a 3KB image file, which took 13 seconds to complete.

To see the technical step-by-step tests that CryptoSlate performed, read the supplementary article here.

Differing Results

Overall, the results of our tests are not consistent with those performed by Substratum ambassador Bastiaan. With our six-node setup, we were unable to register a ping time of less than 2500 ms, while Bastiaan was able to achieve a 9 ms ping time through a network of seventeen nodes. Similarly, our image download registered an effective speed of 0.17 KB/s, while Bastiaan was able to stream a YouTube video through the Substratum network–a task that requires a download speed that is at least 1,800x faster.

Bastiaan’s tweet depicts a YouTube video accompanied by SubstratumNode logging data in the background. In order to conduct an honest performance test, it’s crucial to show that traffic is being routed through SubstratumNode by subverting DNS using the included utility–a step that is clearly documented in our test videos.

Bastiaan claims the following about subverting his DNS:

“My DNS was subverted, you can clearly see the command prompt getting replies from other nodes.”

With the above said, it’s important to note that SubstratumNode logs data even when traffic is not being routed through the node. Based on the visible replies from his command prompt which doesn’t explicitly show ‘sudo dns_utility subvert’ being run, it is not clear whether Bastiaan’s DNS was subverted.

Think of two railroad tracks, A and B, with an identical origin and destination. Track A is a direct route, while Track B winds and curves through many stops before arriving at the destination. In this scenario, the train represents network traffic and a railroad switch is the DNS subversion utility. From the destination’s perspective, it is impossible to know which route the train took without knowing if the railroad switch was triggered. Similarly, a Substratum network performance test that doesn’t show DNS being subverted is incomplete and inconclusive.

This important step of subverting DNS appears to have been omitted in all of Bastiaan’s v0.4.2 test videos. Furthermore, several members in Bastiaan’s test group have expressed difficulty achieving usable speeds through SubstratumNode. In response, Bastiaan said that he “also have often time outs”–a sentiment that is never expressed in his public-facing tweets.

The Future of SubstratumNode

One thing is certain—SubstratumNode is a working product in the sense that it’s possible to route traffic through a network of nodes. The primary concern now is the speed of the network when routing traffic through geographically distributed nodes.

Substratum is being marketed as the “foundation of the decentralized web,” and CEO Justin Tabb has spoken on many occasions about the merits of decentralization.

SubstratumNode’s progress is exciting and the introduction of self-healing in v0.4.2 is an important first step to decentralizing the network. However, based on the team’s roadmap which includes monetizing the network with the SUB token, implementing secure data encryption, and building an infrastructure of supernodes with a “$5 million [partner] investment,” it appears that a version of SubstratumNode that is suitable for mainstream adoption is still a ways off.

Updated Jan. 30, 12:00 UTC: Added comments from Bastiaan; added additional links to primary evidence.

Updated Jan. 31, 20:10 UTC: A third-party requested that we remove identifying information from one of the parties in the article. We honored the request at our discretion.