noxed part 1: Overview (Byzantine agreement)
Understanding DEXON backwards and forwards
Our world is run by the invisible forces of algorithms and code. Whether or not you’re a developer, it affects you in almost every aspect of your life. From using the internet to something as mundane as buying a cup of coffee, the efficiency of the programs and network behind them are well established that we don’t even think twice to understand how it all happens. Every time you whip out your credit card, assuming you have sufficient credit, everything should work seamlessly. These established systems are fast and convenient.
However, new (and supposedly, improved) systems are being developed to make things even better for everyone. Blockchain technology is one of those — and the premise is to challenge the current world order for the better. But does blockchain really have what it takes to overthrow these systems we all currently rely on? Well, the answer is yes and no.
Let’s examine the most popular financial technology in the world, VISA from the “traditional” system, and Bitcoin and Ethereum from the blockchain industry. VISA is capable of processing 4,000 transactions per second while Ethereum can do 30 transactions per second, and Bitcoin lags at 7 per second — seems like these two blockchain systems may not be viable alternatives based on these numbers. The capacity to allow transactions to go through depends on how fast these systems can confirm transactions, and it appears like Bitcoin and Ethereum are not there yet to peg it as replacements for systems like VISA. But blockchain systems are not out of the running just yet.
Contrary to popular belief, blockchain has other potential than just financial instruments. Blockchain has intrinsic features that can be applied beyond Bitcoin and cryptocurrencies. Randomness is one key element for many applications, particularly in lottery, gambling, and fintech — and randomness is an indispensable feature of blockchain as well. However, most blockchain projects does not have built-in randomness source. Looking at the Bitcoin and Ethereum networks, the issue of randomness is something that desperately needs to be improved. Blockchain developers currently rely on other trusted third-party applications, such as Oraclize, or some other ad hoc construction (the hash of the following blocks) for randomized input. However, it is difficult to verify whether the randomness provided by the third-party is generated according to the protocol. The providers may still know the random beacon in advance, which is unfair for lottery and gambling. Similarly, the block hash or the block time can still be manipulated by malicious miners. A miner can choose to withhold a valid block to bias randomness, or find another block which would generate another randomness in his favor.
This leads us back to our original question, does blockchain really have what it takes to overthrow the systems we all currently rely on? At their most popular form, maybe not. Luckily for us, blockchain is developing and evolving rapidly to accommodate improvements needed, not just within the technology itself, but as a truly relevant technology, useful for almost all industries you can think of.
So allow us to offer DEXON to you. DEXON is a novel blockchain technology with fast finality, high throughput, and on-chain randomness — the perfect concoction to remedy the current issues of popular blockchain systems mentioned in the previous paragraphs.
In this article, we briefly introduce two techniques that allow DEXON to achieve these desired properties.
1. Byzantine agreement
DEXON achieves fast finality and high throughput because of its native technology, “responsive Byzantine agreement.”
It’s standard for all blockchain consensus protocols to ensure that every user agrees on the same view. But the challenge lies on who gets to decide to issue the blocks. As a Delegated Proof of Stake (DPoS)-based consensus protocol, DEXON’s solution is through Byzantine agreement.
In DEXON, any user who satisfies the following two conditions is eligible to be chosen into a group of users called notary set:
- Register its public key on the blockchain
- Deposit enough DXN (DXN is the native currency of DEXON)
The members of the notary set are responsible for running the Byzantine agreement protocol and decide who can issue the block for each block height. Unlike many Proof of Work (PoW)-based blockchains that only have probabilistic confirmation, DEXON enjoys deterministic confirmation, which is faster and more stable.
Moreover, the Byzantine agreement in DEXON is responsive. This means that the protocol proceeds as fast as the actual network latency rather than being bound to any predetermined time.
2. On-Chain Randomness
DEXON is also equipped with “verifiable on-chain randomness.” In a nutshell, its properties can be described as:
- For each block, there is a unique random beacon, which is accessible for smart contracts.
- The random beacon is unpredictable for anyone before the block is confirmed.
- Even the block proposer cannot predict or bias the beacon of that block.
- Every user can verify the validity of the beacon, hence, it is called verifiable.
So how do we do it? The core technique is “threshold signature.”
Briefly speaking, the
(n,t)-threshold signature on a message
m works as follows:
- A set of
nusers sign the signature-shares with their individual secret keys on
- Once we have more
tsignature-shares, everyone can combine the shares into a unique threshold signature.
Notice that no matter which
t shares, the final threshold signature is always the same.
The uniqueness and the unforgeability of the threshold signature give us a good seed to generate the random beacon. The users in the notary set sign the signatures with their individual secret keys on the block hash. Once we have more
t signature-shares, we can combine the shares into a threshold signature on the block hash. The final random beacon is the hash of the threshold signature.
In short, the random beacon for bi is:
Randomness for bi = hash(TSig(block hash of bi))
3. DEXON native currency, DXN
Finally, let’s talk about how you can earn the DEXON coin, DXN.
When a user successfully issues a block, it earns DXN via two kinds of rewards:
- Transaction fee in the block; and
- The block reward
In DEXON, only the members of the notary set can issue the block. The notary set will be re-elected for every
L blocks, which we call, an epoch.
What is noxed?
Noxed is a brand new learning series produced by the DEXON Foundation where we explain the ins and outs of DEXON in written, video, or visual formats. If there’s a topic about DEXON technology you want us to cover, let us know in the comments.
In the next post, we will dive into our Byzantine agreement protocol and talk about:
- The Byzantine Generals Problem
- How our Byzantine agreement achieve responsiveness
- How our Byzantine agreement achieve partition-resilience
Let’s talk about DEXON
You can register for the newsletter for the latest updates, or join us in our various community discussions in different platforms.
👉 Twitter: https://twitter.com/dexonfoundation
👉 Faceboook: https://www.facebook.com/DEXON.Foundation/
👉 YouTube: https://www.youtube.com/channel/UCbg6l4M8QmSrJphxQvKof5g
👉 Medium: https://medium.com/dexon