Consensus, Genesis Contracts, and Rusk VM - Dusk Development Update #32
By Toghrul Maharramov

Jul 01, 2021

A monthly development update series created to embrace the transparency and inclusivity that we strive for at Dusk Network

Dusk Network is developing the privacy blockchain for financial applications. A blockchain-based ecosystem of programmable digital assets that meet industry compliance standards. Companies use Dusk Network to secure capital, trade assets, and access a full spectrum of financial services.

Key takeaways:

  • By eliminating zero-knowledge computation from consensus we can expect an increase in TPS, and thus improved network scalability.
  • The Staking Contract is on the verge of release, and with its release, the Genesis Contracts are near finalization.
  • The implementation of the latest core library brought much-needed persistence to our Rusk VM.


Development

E2E RC releases - DUSK Contract

It took a bit longer than expected, but the team was able to publicly release the library of the single most important genesis contract dubbed the Transfer Contract, or DUSK Contract. This contract makes it possible to pay network fees by means of a smart contract, which has a wonderful indirect impact on the network: we only need to manage one global state.

You can read more on our library releases in their respective articles or find the complete Dusk Network Release Candidate Schedule here.


Genesis Contracts updates

With the release of the DUSK Contract, we are nearing the finalization of the Genesis Contracts. While the path towards releasing the DUSK Contract involved multiple iterations and adjustments to the specifications to ensure correct implementation, a recent optimization in our consensus protocol eliminates the necessity of the Bid Contract. And with the Staking Contract on the verge of release, this means that the Genesis Contracts are near finalization

A persistent global state in our VM

Up until now, the state of the virtual machine was stored in the local memory. With the completion of the latest core library, we've implemented much-needed persistence in our Rusk VM. For a VM in blockchain, a persistent global state is an absolute requirement, else it would not be possible for contracts to take advantage of the VM. The solution actually involved minor work on some of our core libraries that handle data structures such as Microkelvin, Nstack, HAMT and Poseidon252. We implemented a new generic and efficient encoding function to store and retrieve data structures from and to disks.

UI Kit and UX

At Dusk Network we understand the importance of UI/UX. A nice and user-friendly interface to our products is an important factor for adoption, and that is why we have been involved with the UI Kit from the very beginning and were happy to install a community task force. It is our goal to make sure all Dusk Network Apps are accessible and intuitive to use.

To solve problems related to UI development we centralise our approach around our UI Kit. This allows for all of our apps to use the same UI components, providing consistency between the apps we are making. We have achieved a highly flexible and modern component library that we can steer in any direction. We're free to create our own UX without limitation or restriction, and are making sure that partners and grant applications benefit from it.

Research

Consensus protocol optimization - all about scalability

The research team took it upon themselves to further optimize the consensus in order to maximize the throughput of the protocol by allocating the greatest viable amount of time to the block verification. A new solution was achieved by removing the existing two-role system, as well as the computationally intensive Proof-of-Blind Bid Contract.

The consensus optimization squeezes the most out of the system (without resorting to sharding) in which the throughput is constrained by near-constant transaction verification time. By eliminating zero-knowledge computation from consensus we can expect an increase in TPS, and thus improved scalability of the network.

Rusk VM Logging

A proposal is made for event-logging in the virtual machine to make Balance Trie reconstruction in Zedger-based smart contracts (such as XSC) much more efficient. Balance Trie is based on a novel cryptographic structure called Sparse Merkle-Segment Trie and enables XSC users to store the transactional history of their accounts in a zero-knowledge-friendly manner.

In addition, events would also decrease the overall state bloat of the protocol and create a more seamless experience for lightweight wallets. Events are enabled by creating an additional Merkle Tree to be included in the block called Receipt Tree in which the leaves contain the transaction execution metadata. The introduction of Bloom filters into the block header enables the clients to sift through the historical indexed logs emitted during the transaction execution to retrieve any relevant data in a very efficient manner.

Eagle Eye View - Roadmap

For a more thorough view of all the Dusk Network development components, please visit the Eagle Eye Roadmap.



Outlook

In the coming weeks, we’ll be changing gear as we wrap up the Genesis Contracts and start focusing on the other Rusk Smart Contract Platform libraries. We'll refactor the Rusk VM to improve gas handling and tweak performance once the latest iterations are done, and start eyeing towards the Zedger infrastructure, which adds the potential to create regulatory-compliant confidential security tokens to the network. In the meantime, the research department will be investigating the potential of sharding and other events/state bloat solutions.


Community

On June 1st, we reached a major milestone as we opened up a new way for talented developers and visionaries to join us in our mission to change the financial ecosystem for the better. To better facilitate new projects in their grant proposals, we have added a new Grant Application to the Dusk Portal. Find out more about our open grant opportunities and start your application today.

On June 15th, Binance added DUSK to the most popular Earn product: Liquid Swap. This brings forth another opportunity for the Dusk-community to earn on their holdings. By providing liquidity to the DUSK/USDT pool today, you could capture an annualized yield of approximately 33%*. Just don’t forget, providing liquidity does come with certain risks, such as the risk of impermanent loss.

*July 1st, 2021. Yields can vary depending on multiple factors.



About Dusk Network

Dusk Network is the privacy blockchain for financial applications. A new standard for compliance, control, and collaboration. Our mission is to enable any size enterprise to collaborate at scale, meet compliance requirements and ensure that personal and transaction data remains confidential.

Share this post

Subscribe to our newsletter

Dusk on GitHub Download Whitepaper