Part II of a 3-day series familiarizing the community with the upcoming release of the Testnet v1 (Shin 殉星).
Part II of our 3-day series in which we dive deeper into the features of our Testnet. In this article, we will take a deep dive into the technical components that make the Dusk Network Testnet (Shin 殉星) as well as discussing the features to be added in the consequent iterations of the Testnet. To recap, Part I of the series had discussed the high-level details, including the consensus protocol and the privacy features. Part III, which will follow the publication of this article will introduce the readers to the Testnet implementation and the accompanying tools which will help users get the most out of the testing phase.
Our Testnet is set to launch on the 26th of July 2019!
Segregated Byzantine Agreement
Shin 殉星 comes with the implementation of Segregated Byzantine Agreement (SBA) consensus protocol. SBA plays an integral role in making the Dusk Network protocol a reality. SBA is a permission-less Proof-of-Stake protocol with statistical finality. The terms “permission-less” and “statistically final” translate into a protocol publicly accessible to anybody able to fulfill the predefined conditions to run a Node and a consensus protocol with a negligible probability of a fork.
The consensus protocol splits the workload amongst two types of Nodes:
- Block Generators, and;
Block Generators utilize a novel implementation of Private Proof-of-Stake, called Proof-of-Blind Bid to compete for the round leadership and be able to produce a candidate block as a result. Proof-of-Blind Bid enables Block Generators to participate in the consensus without revealing their identity or the amount of DUSK being staked. The sub-protocol relies on the zero-knowledge proofs to convince the verifier in the validity of the leadership claim, which is derived through a procedure called “sortition”.
Please note that the Proof-of-Blind Bid implementation shipped with Shin 殉星 will not include bid size obfuscation due to the need to test the behavior of the consensus participants required to determine the lower and upper thresholds on the amount of DUSK one is permitted to bid in future iterations of Testnet / Mainnet.
Block Generation, Block Reduction and Block Agreement.
On the other hand, Provisioners are required to reveal their identity and the amount of DUSK being staked. Provisioners compete in a non-interactive lottery called “deterministic sortition” for a place in the committee responsible for validation and certification of the candidate blocks. Each consensus round requires at least three “committee-based” steps, with each committee being extracted from the Provisioner pool independently of the other extractions.
SBA is split into three separate “cleverly named” phases: Block Generation, Block Reduction and Block Agreement. As mentioned before, Block Generation implements Proof-of-Blind Bid, which is utilized by the Block Generators to extract the round leader and propose a candidate block.
Block Reduction is a two-step sub-protocol which is expected to produce an agreement on a uniform candidate block in an instance of successful execution, while Block Agreement proceeds to terminate the consensus round given that the previous two phases have been executed successfully. The former two phases are designed to be secure in a weakly synchronous network, while the latter phase is asynchronous. The consensus round proceeds to loop until a Block Agreement phase for one of the loop iterations terminates the execution, leading to a block being appended to the blockchain and the next consensus round being instantiated.
The innovative features incorporated in the Dusk Network protocol are enabled by the extensive use of cryptography. Shin 殉星 cryptography library includes implementations of LongsightL hash function, Ristretto and BN-256 elliptic curves, BLS and bLSAG/MLSAG signature schemes and Bulletproofs zero-knowledge proof scheme. The latter is of particular interest to us, as it plays a central role in confidential transactions, as well as the Proof-of-Blind Bid. The Bulletproofs implementation includes the arithmetic circuits for the range proof, hash pre-image proof and the Merkle Tree opening proof.
Features to be Added
Some of the features that will be part of the fully-fledged implementation of the Dusk Network protocol are purposely omitted from Shin 殉星. This is a norm for any protocol with novel features. Poseidon, the world’s fastest zero-knowledge proof-friendly hash function, co-created by Dmitry Khovratovich, our Cryptography Lead, is to be included in the next iteration, as a substitute to LongsightL. Additionally, the Virtual Machine with zero-knowledge proof verification capabilities is to be introduced in a later iteration of the Testnet. The Virtual Machine introduction will be accompanied by the release of a brand-new transaction model. The Guru reputation module and the upgraded cryptoeconomic model will be added with the release of the next iteration of the Testnet.
Dusk — Technology for Securities
Dusk Network is the first privacy-oriented blockchain protocol that includes Smart Contracts. DUSK is fully decentralized and anyone can use DUSK to create their own dApps.
Dusk Network Testnet (Shin 殉星) Pre-Release Series, Part II! was originally published in Dusk Network on Medium, where people are continuing the conversation by highlighting and responding to this story.