Harness Unlimited Scalability with the Dragon Net Consensus Mechanism and Matchmaking Process

Dragonchain
5 min readOct 3, 2018

Dragon Net was one of our most significant releases at the Blockchain Seattle conference and a central element of the Dragonchain platform. It is changing the way enterprises and Dragonchain users interact with information on the blockchain, with 110 active nodes and 291,923 transactions in the last month, but what is Dragon Net and what is driving its growth in users?

Dragon Net is a scaled approach to consensus that uses independent verification nodes provided by Dragonchain users. This means that each node represents its own individual blockchain, utilizing a network of blockchains and eliminating constraints seen with a single mainnet. Verification nodes serve the purpose of verifying blocks from business nodes (Level 1 / L1 Nodes), in a marketplace based on scarcity of DDSS (time). Each node at each level is its own blockchain and arei non-homogenous as well, meaning that nodes do not all contain the same information.

“What we’re using for scarcity is DDSS. You can add resources to a system and effectively decrease the scarcity. But you can’t add time to a system. You can’t falsify time. DDSS is a way of us defining exactly that scarcity of time.”

-Paul Sonier, CTO|

Using Proof of Time as the foundation for consensus, the Dragon Net model is able to overcome issues that are being uncovered in Proof of Stake and Proof of Work-based systems.

5 Levels of Consensus

L1 Nodes: Sensitive data and business logic

This is the placement for integration of “real world” value in the form of transactions and business logic. This information is configured by the business or blockchain user and executed by a blockchain node.

L2 Nodes: Validation of block, header, and signatures

Level 2 nodes are a trusted check of validity for blocks and individual transactions, which can be done without exposing the actual data. Rules for L2 Nodes are defined at the enterprise level.

L3 Nodes: Network diversity of L2 validations

Level 3 nodes check the diversity of a transaction’s Level 2 verifications. This level of consensus will ensure that transactions are validated by a sufficiently varied set of distributed sources.

L4 Nodes: Notary function

A Level 4 node provides a notary functionality to the consensus process. Hosted by an external partner, a level 4 node cryptographically signs any verification record it receives from Level 3. This function allows the Level 4 node to act as an independent witness to Level 3 verifications.

L5 Nodes: Public checkpoint

Level 5 nodes serve as the gateway between the Dragonchain platform and public blockchains. When a transaction passes through the fifth level,, it can then be hosted on a public chain like ETH, ETC, NEO, or BTC.

The Dragon Net Matchmaking Process

To support our ever-growing network of verification nodes, our team has also designed the Dragon Net Matchmaking Process. It allows you to search for verification nodes based on fields such as level, price, speed, location, and other factors. This procedure is comprised of the following seven steps:

0. Registration (Before Matchmaking): Levels 2–5 nodes register as available for operation with their corresponding node level, DDSS, and price. (Note that Dragonchain automatically determines their DDSS.)

1. Transaction: A Level 1 node receives a transaction; it composes the transactions that come in-in a 5-second period into a single block. When the block is fixated (the L1 node adds an entry to its blockchain with the block), the block is added to a pool of blocks requiring L2 fixation.

2. Fixation Origination: A Level 1 node, at the specific time (dependent upon the L1 node’s DDSS) it is allowed to begin fixation, and will look in the pool of blocks which require fixation. It will look in the pool of blocks requiring L2 fixation first, followed by the pool of blocks which require L3 fixation, and so on. For each level, the L1 node will identify the blocks which require fixation at that level.

3. Matchmaking: For any blocks which require fixation at a given level, the L1 node will request that number of matches for that level from the Matchmaking service. The matchmaking service will return a set of the requested size of nodes (registered in step 0). The nodes returned will be chosen randomly from the set of registered nodes, weighted by their DDSS / price.

4. Match Validation: The L1 node will evaluate any returned matches that fit its criteria; this will include price, DDSS, region, and other potential fitness identifiers. Any matches that do not fit will be discarded.

5. Block Fixation Submission: The L1 node will submit its candidate block (from step 1) to higher level nodes for validation and will persist information about the higher-level node that the block was submitted to.

6. Block Fixation Return (asynchronous): The higher level node that had an L1 block submitted to it will return a notification to the L1 block of the higher level block which the L1 block was fixated into. The L1 node will annotate the metadata of the L1 block with the information about the higher-level block that the L1 block was fixated into. If the block has received all of the fixations that it requires at a given level, it will be promoted into the pool of blocks requiring a higher level fixation, unless it is at the highest level. (L2 pool -> L3 pool -> L4 pool -> L5 pool.)

7. Looping: Then, the L1 node will wait for a period of time (based upon DDSS) and begin again with step 2.

To get on the Dragonchain platform and try out Dragon Net’s features for yourself, visit dragonchain.com.

This article appeared first on Dragonchain’s blog: https://dragonchain.com/blog/harness-unlimited-blockchain-scalability-with-the-dragon

--

--