UI Boilerplate V2 release, rkyv in RUSK-VM, and Public API - Dusk Development Update #37
By Toghrul Maharramov

Dec 14, 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:

  • Release of the Dusk UI Boilerplate V2 source code
  • Implementation of rkyv in RUSK-VM
  • Completion of Public API

The release of our second Biannual Report of 2021 put a spotlight on several breakthrough technologies, such as Reinforced Concrete and PLONKup. However, as faithful readers of our Monthly Development Updates already know, they are the tip of the tech development iceberg. With every passing week, we move closer to the launch of our Testnet on February 1st. The works documented in these updates are the many intricate and powerful cogs set to power it, and the subsequent iterations of the network.

As we announced in our previous Monthly Development Update, this article provides specific progress reports on public milestones in different categories, while providing context for the most noteworthy developments as seen on GitHub.


Application

The UI/UX team has been busy in multiple areas of development. The Dusk UI Boilerplate V2 saw the release of its source code on the 1st of November. This release allows anyone to create a fully functional Dusk Network application. To get started on developing, users can consult the Web Development Process on GitHub.

The Public API service for Dusk Network has been completed, having made the API compliant to the Open API 3.0 standard. The API will now be utilized for overall Portal applications, such as the upcoming Block Explorer and Wallet.

Further progress in Dusk UI/UX is being made on the Testnet Dashboard, a vital component of the Testnet launch on February 1st. The Dashboard will be an aggregator of all information available on the deployed clusters, and will also facilitate actions like log retrieval and cluster cleanup. In addition, the public Block Explorer (set to release alongside Testnet) is also being finalized in both look and function, while the Client Backend for the DUSK Wallet is following hot on its development heels.

Node

The BLS Signature scheme has been released to the IPC. The Inter-Process Communication framework is used for composing applications as discrete modules connected by an event bus. The Dusk Network BLS library provides the full implementation of the next generation BLS Multisignature with Public Key aggregation.

Integration of Kadcast to the Node
is now complete, with the final test (running a cluster for more than a day and measuring potential performance degradation) reaping positive results. Nodes are now capable of using the Kadcast network library unimpeded.

Previously identified and noted synchronization issues with the nodes have been resolved, but further work is being performed in relation to the RUSK Wallet API.

Core

The Dusk Network protocol needs a fast and reliable Smart Contract execution environment, which the RUSK Virtual Machine provides. Further development ensures performance remains optimized in future iterations. For example, this month saw the tech team enable gas-allocation per inter-contract call in the VM. This allows users to decide how much gas to allocate for a single inter-contract call. If no gas is specified, the VM will use a set percentage of the total gas available.

In addition, we’re now implementing rkyv in RUSK-VM. This follows a larger move towards rkyv in our stack, which is set to reduce gas costs and improve performance. rkyv is a deserialization framework built entirely in the RUST programming language with a ‘zero-copy’ primary feature, which speeds up the network.

Research & Development

Economic model paper V2.0

Earlier this year we introduced changes to our unique consensus mechanism Segregated Byzantine Agreement. Although the dynamics of the consensus algorithm remain the same, some changes were made to the distribution of rewards for network participants. Specifically, this update eliminates the need for two node types: a Block generator and a Provisioner. Both types had their own staking requirements, node specifications, and reward schemes. Now that we have merged them into a single node type, we are in the process of updating the Economic Model Paper, as aspects regarding the two-node system have become outdated.

PLONKup Paper Publication

The finished PLONKup technical paper is being reviewed for publication. In short, PLONKup is the evolution of the PLONK zero-knowledge proof system, enriched with PLOOKUP and the Reinforced Concrete hashing algorithm. Through this synergy, we’ve achieved a level of optimization that outperforms PLONK. The final steps before publication involve verifying and matching the PLONKup paper to the current implementation of the technology in our stack. As a result, some variable names will be changed to match the ones in the paper, and comments will be added to clarify implementation decisions.

Outlook

Next up are the latest two sprint cycles of the year, entering the final development stage of Dusk’s public Testnet launch on February 1st, 2022. Dusk developers continue to deliver on their milestones and excitement runs high as we shift from a modular focus towards complete integration of the network, and a period of testing.

As it stands, the core team is nearing finalization of the rkyv implementation in the new RUSK Virtual Machine. The last item on their list is to rewrite the Genesis contracts to the latest specs of the VM. Once the Genesis contracts are operable with rkyv and WASMer, we’re set to boost performance of zero-knowledge-friendly smart contract execution.

In the node department, we are making progress to run a cluster with the real RUSK instead of a mock-up. This swap includes a specification about the syncing process between Provisioners (node participants) and RUSK storage. It will be interesting to see what happens when we run the cluster for at least a day. Should performance degradation or any other problem rise to the surface, we can easily scrutinize differences between the real RUSK and its mock-up.

A closer look at our development milestones

GitHub now includes milestones & timelines, making it a lot easier to follow our developmental progress in real-time. Rest assured, for those unfamiliar with Github, or simply lacking the time to dive in, there is always the opportunity to catch up in our Monthly Development Update.

Latest articles:



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