004 | DEXON | Overview of DEXON | Programmer Explain

How DEXON works under the hood — 1/4

Wayne Chiu
Wayne Chiu in DEXON
Jan 1 · 7 min read

This is a special series that will help you to discover how DEXON could qualify (or over-qualify) real-business adoption as DApps platform.

Before we dive in, if you are wondering 「Why DApps?」 you can check out 『002 | DApps, do we really need it? | Programmer Explain』for different DApp projects built from the Hackathon.

Now, let’s dive in!

In this post, you would be learning how blockchain works and its limitations. Along with it, will help you to uncover how DEXON work in order to break those limitations.


Limitation 1 — Low Transactions Per Second

It means the number of transactions a system can make in every second. For example, VISA can take about 2,000 transactions per second.

Limitation 2— Transactions Confirmation Time

It means the amount of time needed for transactions to get confirmed after being sent. For example, it usually takes about 3 seconds to get a successful message after you swipe your credit card.

Limitation 3— Probabilistic Finality

The transaction that you made is probabilistic. In other words, the transaction that you made has a chance to disappear because of the nature of blockchain consensus mechanism (proof of work). If you choose to dive in, please check out Finality in Blockchain Consensus by Wayne Chiu.

In order to motivate you to dive into how DEXON works under the hood. Let’s talk about DEXON’s current performance first.

DEXON’s TPS is 2,000 with just 1 chain DEXON’s confirmation time is 3 seconds DEXON’s transaction is not probabilistic but final once written on its ledger


Warning: Contents that will be presented might not be user friendly, feel free to join DEXON's Gitter

The thought process of the following content is:

  1. Recap for how blockchain works and the root cause of its 3 limitations - Transactions Per Second - Transactions Confirmation Time - Probabilistic Finality
  2. How DEXON is structured to break these 3 limitations

Let’s see how blockchain works. In this view, blockchain is a distributed ledger linked by a hash value.

By viewing the visual demo, you would know how easy it is to spot someone who is trying to forge any bit of data in the past and the amount of time that find the nonce is to create a boundary for those bad actors.

However, finding nonce mechanism (proof of work) to secure the network is the root cause of a blockchain’s three limitations. Let’s take Bitcoin as an example.

Limitation 1 + 2 — Transactions Per Second/Confirmation Time

Since there are fixed number of transactions in each block, and the block producing time is fixed to 10 minutes. In result, Bitcoin’s TPS is 7 and its confirmation time is 10 minutes.

Limitation 3 — Probabilistic Finality

Because Bitcoin uses the proof of work consensus algorithm , and the algorithm’s rule is that whoever has the longest chain would be considered as the correct chain. In result, a transaction that is written on the blockchain is probabilistic.


Let’s see how DEXON breaks these limitations.


Single Chain Algorithm

Before introducing DEXON’s single chain algorithm, let’s talk about two important primitives

Threshold Signature

To have a threshold signature considering valid without all participants participated

Suppose we use a (5,3)-threshold signature Every three signature shares can produce a threshold signature

Byzantine Agreement Bring processors to agreement despite a fraction of bad processors behaving to disrupt the outcome

DEXON Byzantine Agreement Byzantine agreement (BA) helps all the miners agree on who can issue the next block

Once we have those two primitives understanding, let’s dive into DEXON’s single chain algorithm.

Node set The reason to become one of the Node set is the same as becoming a miner for Bitcoin network.

CRS set to serve as a good random seed for DEXON’s single chain algorithm

Notary set members in notary set : have right to propose a block : participate in Byzantine agreement for consensus : sign a threshold signature on the valid block


Let’s recap, we have two primitives and three different type of Node Set.

With those five components, we are able to create DEXON’s single chain algorithm.


Now we have a fast single chain algorithm, let’s dive in blocklattice structure.

Within multiple chains structure. Conceptually, all participated nodes needs to have a global/single view to determine the order of each transaction in order to avoid the same transaction spend in two different chain.

The blocklattice is formed by ack (acknowledgement) relation. A first node sends message to second node, the second node replies “I receive the message.” That is called “ack.”

The ordering of all blocks will be the same among each node’s output with causality preserved.

We will dive into total ordering algorithm in my 「005 | DEXON | Overview of DEXON | Programmer Explain」


DEXON breaks the limitations of a traditional blockchain by running multiple chains in parallel with total ordering algorithm and reach its consensus via DEXON Byzantine Agreement.

Traditional Blockchain Limitation- Low Transactions Per Second
- Transactions Confirmation Time
— Probabilistic Finality

Free to join DEXON social groups 「Telegram/Gitter/Github/Reddit


About me I am a full-stack javascript / DApps developer and and one of the contributors for open source blockchain project DEXON and NEO.

DEXON

Empowering the Decentralized Future (https://dexon.org)

Wayne Chiu

Written by

Javascript Software Developer, DApps Developer

DEXON

DEXON

Empowering the Decentralized Future (https://dexon.org)