Secure Tunnel Switching Explained

What is the Dusk Network?
The Dusk Network is a decentralized infrastructure focused on providing the sweet-spot between privacy and transparency in payments, communication and asset ownership transfers. It departs from consensus mechanisms like PoW/PoS, which are poorly suited for privacy, to introduce a new privacy-oriented consensus mechanism called Segregated Byzantine Agreement. Dusk is a new blockchain that provides true privacy and a fast and a secure streaming mechanism called Secure Tunnel Switching (STS), all powered by a privacy-oriented cryptocurrency: DUSK.

In this introductory series we aim to take a look at specific aspects of the Dusk Network and explain them in a nutshell. In this article we will look at Dusk’s Secure Tunnel Switching (STS) mechanism, a circuit switching technique allowing for safe p2p transfer.

For a detailed description of Dusk’s STS please refer to the whitepaper.

What is Secure Tunnel Switching?
As explained in our previous article Dusk Network uses an advanced version of Garlic Routing. The obfuscation of someone’s identity and IP address becomes highly relevant when we are not simply transacting, but also communicating. The Anonymous Network Layer can be viewed as an entry point to the Dusk Network, after which a user could decide to communicate directly with a peer, thus progressing to the Secure Tunnel Switching layer for a voice or video call. Put simply, Secure Tunnel Switching is a circuit switching technique inspired by the payphone, allowing decentralized pay-as-you-go, as well as increased security. You can use STS for all types of high data rate communications, such as streaming (unidirectional) or voice/video calls (bidirectional).

Before we delve deeper into how tunnel switching improves privacy, one practical implication that immediately comes to mind is: ‘how are transaction costs regulated? Because if the value of the Dusk token can fluctuate, how do I know how much I am going to spend on a certain real-time audio, video or data transfer?’. In order to answer this question, let’s use the following example: node A (Alice) wants to establish a secure data stream with node B (Bob), for which it knows the relevant Dusk address. Before establishing any connection attempt, Alice will commit a payment using an off-chain transaction towards a so-called State Channel Access Point (SCAP), for a dynamic value that will be auto-regulated by the Dusk core. This is done to keep the transmission cost stable, and also independent from token fluctuations.

How does it work?
When two parties, Alice and Bob, want to communicate directly they can use STS to do so. Alice commits a payment to a SCAP, hereby freezing her status on the blockchain until communication closes. A communication circuit is then opened towards Bob, through a various number of gateway nodes that can support the required data stream. Bob starts to receive said data stream and Alice and Bob are now communicating. Assuming Alice wants to continue communication for a reasonable amount of time, say longer than a minute, she will be opening a new circuit (tunnel) towards Bob in parallel to the first one. Bob will receive both data streams simultaneously and uses a technique called bitmatching, simply put Bob will correlate both streams until they are perfectly synchronized. When this happens then Bob will drop the old stream, and continue communication purely through the new one. This process repeats itself as Alice and Bob continue communications. This procedure will repeat for as long as Alice renews the transactions costs with the SCAS to keep streaming data.

Whilst this process brings along some time lag in the VoIP call (solved by bitmatching) it dramatically improves security and anonymity over a conventional Garlic Tunnel connection. By switching the data tunnel at regular intervals, a malicious attacker would be unable to predict compromised nodes, perform DDoS attacks, and in general exploit vulnerabilities on the network. Assuming an interval of 1 minute per tunnel a malicious node would never hold more than a minute of highly encrypted information sent between peers that he does not know and has no way of identifying.

Additionally, Dusk Network will offer the capability to transfer files, both online and offline, over its network in an decentralized, anonymous and secure fashion. To implement this on the network, Dusk combines the capabilities of the anonymous peer discovery and gossip mechanism previously described with those of a third party decentralized and anonymous storage service (for example the Orc Object Storage). In case the receiving user is offline, the file will remain, for example, downloadable for 30 days after the day of sending the file.

Payphone analogy
As alluded to earlier the Secure Tunnel Switching mechanism is highly inspired by the traditional payphone. Alice performs a state channel payment in a similar fashion as you would enter a token or coin into a payphone to open a connection. The payphone also uses circuiting to connect you to the correct recipient, and as soon as your connection has been made your timer starts running down. If you wanted to continue talking, you would simply enter another coin or token and you could keep calling using the payphone. STS is very similar, except that rather than a single payphone you could imagine an endless corridor filled with payphones, and every time your minute almost runs out you put your next coin into a different payphone, that uses a different circuit, to reach a different payphone on the receiving side.

Conclusion
Dusk Network uses STS as a mechanism to allow for high data rate, secure transmission and communication between peers, using state channels, and a cryptographically secure pay as you go mechanism.

How to learn more about Dusk Network
The Dusk Network is a project coordinated by the Dusk Foundation. We are a decentralized ecosystem entirely focused on providing the perfect tradeoff between privacy and transparency. Dusk protects privacy and fits regulations in payments, communications and asset transfers.

Please consider joining us at the following media:

Website: https://www.dusk.network 
FAQ: https://www.dusk.network/faq
Telegram: https://t.me/dusknetwork
Twitter: https://twitter.com/duskfoundation
Reddit: https://reddit.com/r/dusknetwork
Linkedin: https://www.linkedin.com/company/duskfoundation/
GitHub: https://github.com/dusk-network