This is a series of articles that aims at providing a basic explanation of the underlying technologies of Dante Network’s protocol stack. As we can see from the figure below, Dante Network is a multi-layer protocol stack. Today we will use the classical “top-down” approach to interpret the overall Dante Network.
This is the first article of this series. Let’s start with the security issues for dApps in web3, which may be the most important concern for users.
Security for dApps
As far as cross-chain operations are concerned, security is the most important point. Message transmissions among multiple chains could be very similar to HTTP in the web2 if security issues were not considered. Things would have been very It gets simple in such a context if so. WE would have only needed an information organization protocol to describe the services provided by the contracts deployed on multiple chains in web3. After that, interactions could be made between the source chain and the destination by anyone who visits the contract on both chains.
But in reality, the issues we face are similar to HTTP protocol:
- Data sent across the network is plaintext and anyone monitoring the connection can read it.
- All participants in the communication are trustless to each other.
In web2, SSL/TLS is created to solve issues encountered by HTTP. Clients are able to send encrypted symmetric keys to web servers by handshakes. The symmetric keys are temporarily created, and encrypted by the public key of the server, which can be extracted from the certification of the server. The certifications for websites are issued by large companies, which leave us no choice but to trust them. It is indeed an efficient method, but it is centralized.
In web3, all participants are peer-to-peer. In this context, the problems encountered by HTTP become more prominent, because all transactions on the blockchain are transparent. Moreover, no entity can be a centralized authority by a mere declaration of its identity. Considering all these factors, trust issues in a multi-chain collaboration context will be more complex in web3.
Dante Network provides potential solutions to handle privacy issues for transactions in web3.
First, similar to adding SSL/TLS into HTTP, Dante Network brings privacy to transactions and commitment verification as a solution.
Privacy protects the behavior and related amounts of transactions. The address of the operators related to the cooperated services can be anonymous, and the amount of the transactions could be hidden, which is very similar to the encrypted communication in SSL/TLS.
Commitment verification provides trust guarantees to the decentralized environments in a cryptographic way, which can solve the special situations in web3 and have similar efficacy as the certifications in SSL/TLS. But there are some differences:
- Commitment verification is service-oriented, which can be simply explained as: I don’t trust you, but I can trust your service with commitment verification.
- The certifications in SSL/TLS are identity-oriented, which can be simply explained as: I trust your identity, so I trust your service.
With commitment verification, we can guarantee trust at the service level, no matter who did the underlying delivery of the related message.
This sounds nice, it seems we can do anything similar to RESTful web services in web2. Unfortunately, That’s indeed not the whole story in web3. Commitment verification cannot cover all situations in cross-chain cooperations, because it has some restrictions. In web3, it’s indeed necessary to make a special mechanism like consensus to accommodate a wider range of scenarios. Commitment verification is only one of the verification methods in the “Consensus Verification Layer” of the protocol stack for Dante Network. We will cover this in detail in the relevant following articles.
In the rest of this article, we will make a brief introduction to the protocol stack.
The “Service Presentation Layer” is at the top of the protocol stack, which can be and itis called “web3 service protocol” in the whitepaper. We have defined the message organization protocol, the invocation method, and the service interfaces, which can be analogous to “RESTful Web Service” and “HTTP” in web2. This makes the development of web3 dApps quite easier to construct.
The “Security Quality Layer” is the second layer lower from the top, which defines a collection of security mechanisms that could be chosen according to the requests or different scenarios. The “SQoS” defines the concrete mechanisms of routing, verification, privacy, authority, etc. This can be analogous to the “QoS” in TCP/IP protocol cluster.
The “Consensus Verification Layer” is the bottom layer of the protocol stack, which is specially designed for web3. The verification algorithms include the commitment verification mentioned above and another belief verification implemented here, which can be adapted to a wider range of scenarios in web3. Besides, a “Parallel Route Scheduling” algorithm within the protocol is responsible for the “route nodes” selection, along with which the algorithms include evaluation, incentives, and challenge. At the bottom of this layer, we define a “Physical” protocol defining the standard behavior of the working node(named “Adaption node” officially), which is just analogous to the “Physical Layer” of OSI.
That’s the overview of the protocol stack in Dante Network. Officially, we are building a “World Tree in Web3”, so this protocol stack can be analogous to the venation of the “Yggdrasil”. In our idea, we think different public chains are like realms in mythology. There are barriers for users to having universal transportation to travel around the different realms. And there is Bifrost to open a teleport between realms, but it is neither cheap nor easy. So inspired by this, we want to have this “World Tree” that supports open and collaborative ecosystems in web3.
The implementation of the protocol stack can be embedded in public chains by the smart contract. That’s just like the TCP/IP protocol cluster embedded in operating systems to construct the computer network.