A monthly development update series created to embrace the transparency and inclusivity that we strive for at Dusk Network
Welcome to our Monthly Dev Update! For newcomers unfamiliar with Dusk Network’s mission statement, here’s what you need to know: we’re developing a new type of blockchain on which users can deploy zero-knowledge smart contracts. To make this possible, we’re integrating our own Rust-based implementation of the PLONK zero-knowledge proof system invented by Aztec Protocol. If you’d like to know more about the basic technical details on PLONK, we highly recommend reading Dusk & Zero-Knowledge Proofs: A Hackernoon Compendium - Dusk.
Over the past months we’ve been working tirelessly on its development and our Monthly Development Updates is how we keep our community abreast of its progress. When you read about PLONK-related developments in this article, keep in mind that we’re referring to the zero-knowledge proof system and that its implementation affects our entire blockchain stack. From our Virtual Machine to our Proof-of-Blind Bid consensus.
Now that you’re all caught up, let’s dive right into the update!
The team has completed the implementation of a zero-knowledge proof-friendly version of EdDSA scheme, which will enable us to generate and verify signatures inside the circuit if the need arises. Our implementation of EdDSA utilizes Poseidon hash function, which makes the proving cost of the signature generation and verification with the circuit relatively cheap.
Practically speaking EdDSA enables us to cut down the data payloads of the contract calls requiring user authentication (when approving token withdrawal from a contract, for example). Previously, the protocol utilized zero-knowledge proofs to authenticate the users, which had a storage footprint of about 20 times larger than an EdDSA signature.
Stealth Address Scheme upgrades
We have also upgraded the stealth address scheme to utilize the Poseidon hash function instead of Blake2. The upgrade enables us to provably encrypt a plaintext to a derivative of the public spend key and prove the correctness of the encryption key computation using the one-time public key included in the transaction, which in turn is utilized to prove the correctness of the encryption. Provable encryption is commonplace in user-to-contract transfers of tokens, as well as Zedger, which deploys provable encryption to retain the auditability and compliance of the given contract.
Variable Base Scalar Multiplication Gate
The team has implemented variable base scalar multiplication gate, which drastically reduces the size of the circuits utilizing provable encryption, stealth addresses, signature schemes, etc. The variable base scalar multiplication implies that the scalar multiplication can be completed against any given point, rather than a constant point hardcoded into the protocol. To put it differently, before this upgrade the protocol utilized a variable base multiplication gadget, which was about 5 times more expensive than this gate.
A series of improvements are being made to the consensus. The reward distribution model for Provisioners has been modified. The protocol will now distribute the rewards to every Provisioner extracted in the successful iteration of the consensus. Previously, only the Provisioners who were active during the Provisioner Committee were rewarded.
In more technical terms, only the Provisioners who’s signatures had been added to the certificate were rewarded. This resulted in a need for uniform certificate agreement amongst nodes, which in turn required a so-called Intermediate Block to be created. Precisely, after the finalization of the block, it becomes an Intermediate Block for one round, until the next block is finalized, at which point the finalized certificate is attached to the previous block.
In the updated version, the block has the certificate attached to it instantly after the finalization of the block due to the fact that the certificates are computed and attached to the blocks locally in each node. This also means that all Provisioners selected for the Provisioner Committee receive a reward, regardless of whether they were fast enough to participate.
The team has continued the research into the possible improvements to our consensus protocol, called Segregated Byzantine Agreement. The next milestone is dubbed “SBA 3.0” and is to incorporate an additional Reduction step as a substitute to the Agreement phase, which is currently utilized to finalize the block (that has reached agreement). The substitution of the Agreement phase with an additional Reduction will drastically reduce the complexity due to the removal of the asynchronous Agreement phase.
The aforementioned modifications to the consensus, led to simplifications of the economic model of the protocol which required an upgrade to the economic paper. The distribution formula update has led to a more predictable incentivization model, which is reflected upon in the upgraded economic paper.
We have completed a document formalizing the configuration of Confidential Security Contract Standard (XSC) for bonds called “XSC-B”. While as a standard, XSC already encompasses all the features required for issuance of different flavours of security tokens, each type requires a different configuration, making use of different features. Specifically, an XSC-B configuration does not support voting functionality, as bonds typically do not permit the holders to vote as well as lacking functionality enabling the issuer to change the supply due to the fact that a series of bonds typically has a fixed supply.
August has been an amazing month for us in terms of exposure and news coverage of Dusk Network. Yesterday, we officially announced iFinex, parent company of Bitfinex, as an investor in our Security Token Exchange project. The capital injection is a timely boost on the road to tokenization. Together, Dusk and iFinex aim to bridge the gap between blockchain & regulation and bring both enterprises and investors closer to the dawn of a new financial sector. If you’re keen to learn more on the Dusk Network infrastructure for collaboration, Part I of The Dawn of Decentralized Finance is a great starting point.
Additionally, earlier this month we undertook another step towards token economy adoption by joining the Interwork Alliance, or IWA. This significantly aids Dusk Network’s international business development efforts, giving us a seat at the table of the industry’s standardization discourse. Similar benefits are reaped through our CBDC track, together with the Dutch Central Bank (DNB), Dutch Blockchain Coalition (DBC) and 2Tokens. For more information, Jelle Pol, business director at Dusk Network, invites you to watch his first vlog on CBDC.
And it wasn’t just business developments that had our community buzzing. Last month, hundreds of you actively participated during the Dusk team AMA, which opened up the floor to over 110,000 Binance community members. Our subsequent Binance Trading Competition kept the participation ball rolling and functioned as a celebration of the start of Block Generator Staking and the amassing of Dusk’s very own consensus army.
The start of Dusk Staking
The bolstering of our network by building our very own consensus army started with the participation of 300 community Block Generators. By staking, participants show their dedication and willingness to further support Dusk Network. In return, they not only become first adopters of cutting edge technology, but also receive compensation for their efforts. In fact, to celebrate the filling of all 300 Block Generator positions, we’ve recently increased the yearly staking reward by 33%. And with Provisioner staking around the corner, we’re expanding staking accessibility for the wider Dusk Network community as well.
Dusk and zero-knowledge proofs are like milk and Oreos. That is why we teamed up with Hackernoon, and created our very own trilogy of articles on the topic. Guiding the reader from the basics towards adding some zero-knowledge magic onto their own project.
- Dusk and Zero-knowledge proofs: A Hackernoon Compendium
- Kadcast vs Gossip
- Smart contracts: Rust Cake!
- Zero-Knowledge Plonk Demo 2
- Zero-Knowledge Plonk Demo
- Dusk Technical Framework - overview
- Genesis Contract: Transfer Contract
- Genesis Contract: Fee Contract
- Genesis Contract: Staking Contract
About Dusk Network
Dusk Network is an open-source and privacy-oriented blockchain based on years of academic research. You can use Dusk Network to create smart contracts that control digital assets and securities.