Soon, consumers across the globe, even those in Internet-censored regions of the world, will have access to nearly every website on the web; this is because companies like Justin Tabb’s Substratum are working on products that will nullify censorship efforts.
In the age of the internet, censorship is a threat that looms over all of our heads. Even websites like Twitter have recently starting censoring accounts, banning individuals whose dialogue does not align with Twitter’s Terms of Service. And, although options do exist that allow individuals to circumvent censorship, these options are not always available or effective in every corner of the world.
Fortunately, there is a solution on the horizon.
Not too long ago, we were able to catch up with Justin Tabb to learn more about Substratum’s ground-breaking product, the Substratum Node, a software that provides internet-censorship proof software that is effective around the globe.
Can you tell us more about the Substratum Node, what it does, and the problem that it solves?
Substratum Node provides internet censorship-proof software that utilizes the computing power of individuals all around the world.
Substratum Nodes work by intercepting internet calls and wrapping them into an encrypted message for other peers on the network to fulfill (more on this below). The peers take the place of the typical internet traffic flows or orchestration that occurs. Substratum Node’s routing process typically avoids most or all censorship technology–even in censored regions of the world like China, Iran, and Russia.
Censorship is a serious issue in our world, and the software Substratum is building, along with the help of its vibrant open source community, will solve the problem.
How does Substratum Node work?
The Substratum Node software intercepts Internet requests. The requests are packed into a CORES protocol package. CORES stands for Client Originator Relay Exit Server and is something Substratum invented to be the basis of how Nodes send messages to one another.
When a Node starts up, it must specify a neighbor to join the network with; this is a social feature of how to get bootstrapped into the network in a decentralized way and is a literal version of social networking. Joining the network with a neighbor, along with other Nodes either entering or exiting, causes network Node “Gossip” to occur.
When network Nodes Gossip, they share important Node and Network details so that Nodes can automatically connect with others. Currently, Gossip will produce neighbors that you don’t know, and we plan to make that a toggle-feature so that people can have more secure network control by only allowing “known neighbors.”
Gossip also helps the Substratum Network self heal and grow autonomously without central governance–this is truly powerful!
The Substratum Node user, who requests a target website when they are in consuming mode, will have their request routed through the Substratum Network. That request routes through the other Nodes along the route that the originating Node predetermined based on its knowledge of the neighborhood.
First, it passes the request to an immediate neighbor because there are only a few of these kinds of Nodes that it has more intimate details about in order to build direct connections with, or “edges” like in a graph topology.
After unpacking the instructions that only it could see by unlocking the package that was signed for it to unlock, the immediate neighbor passes it to another Node; this occurs through public key encryption and each Node along the way signs both Gossip and CORES packages for one another. This ensures anonymity and protects the contents for only the Node that should see each portion. The process continues for a minimum of two Node hops until it can safely reach an Exit Node to proxy the requested content on behalf of the originating Node.
Interestingly enough, the SSL handshake is with the originating Node; this is a big differentiator from tools like TOR where the SSL connection is between the Exit Node and the Server. It’s also why Substratum expects to have more fearless Exit Nodes serving traffic and earning more for doing more work than just routing–but we will dive deeper into earning later–this is also why Substratum doesn’t differentiate an Exit Node from any other Node. Any or all Nodes can be used for exit services.
Currently, Substratum is working on building out the monetization minimum viable feature set in concert with things like usability, hardening, and security features.
Monetization got brought into Node routing and exit services by expanding the responsibility of what Nodes can do from the original version that was conceptualized in the Substratum Node White Paper.
The Substratum team was able to figure out a way to circumvent censorship controls without building custom decentralized hosting services; this includes full access to sites like Google, Facebook, Twitter, Telegram, etc., all around the world. Because of this fundamental change to the core design concept, and the success of the beta proving it works, the team decided to bring monetization in for simple routing and exit services without hosting. Hosting can always come later, but much of the value in hosting is for any URL, not just Substratum network specific URLs.
The way monetization is currently being designed, it allows a user to specify an earning wallet address public key, and a consuming wallet address private and public keys. The separation of these wallets allows for flexible configurations where Substratum Node users can receive funds in a single wallet for the work that multiple Nodes did, or to multiple wallets if they choose.
For consuming purposes, each Node instance needs to be able to perform transaction accounting services that reconcile accounting records among the Nodes working together for serving and consuming content. The Nodes basically make adjustments with one another to pay for routes and content consumed or routed.
In summary, Node users who consume content over the network will pay $SUB to the Nodes responsible for routing and exit services. Nodes that serve content by routing requests and providing exit services will earn $SUB for supporting the network.
As Substratum releases monetization it will utilize a cryptocurrency test net that uses “fake cryptocurrency” to ensure the functionality is sound and works as expected.
When does the team expect the Substratum Node to be consumer ready?
Technically adept users have been using the network since the last couple releases of 0.4.1 (Decentralization release) and 0.4.2 (Self Healing and Gossip Release), however, these early versions of the network are not as secure or user-friendly as they can be.
Therefore, we consider the Substratum node to still be in its beta phase due to its security vulnerabilities, the absence of monetization on the mainnet, and a lack of user-friendliness.
The next several releases will enable decentralization features for the GUI, introduce monetization on the test net, harden existing components, and secure any critical security vulnerabilities. Once that’s in place we can call that a V1 of the Substratum Node and Network. So, that’s when it will be consumer ready in our opinion.
How do I become a Substratum Node operator or a Substratum Node Open Beta tester?
That’s simple! You can either choose to work with the edge software through the Github open source repository or download the latest and greatest binary release from the Substratum website. Beta testers can now create issues or new feature requests directly from our open source GitHub repository.Opinions expressed here by Contributors are their own.