Testnet, Rust, and Cycles of Elliptic Curves - Dusk Development Update #38
By Robin Massini

Jan 07, 2022

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:

  • The team is making all the necessary preparations for our public Testnet launch on February 1, 2022.
  • The new release of Kadcast marks an important milestone, not only for Dusk but for the whole blockchain ecosystem. From both the perspective of latency control as well as bandwidth consumption minimization, Kadcast finally achieves the dramatic improvement over all other message propagation protocols, that we first envisioned since its inception.
  • Progress made in our exploration of cycles of elliptic curves solidified our confidence that we are on the right path toward not only efficiency-boosting in recursive proofs, but also to ultimately achieve recursivity for Dusk Network.

Taking a closer look in the rearview mirror, one can easily spot all the hard work done by the Dusk team. What may be less immediately apparent, however, is the uniqueness of it all. We venture where no other project has gone before. As we enter the final weeks before commencing the public release of testnet, let’s dive a little deeper into some of last month’s developments.

This article provides specific progress reports on public milestones in four categories, while providing context for the most noteworthy developments as seen on GitHub.


Node

With the integration of Kadcast to the Node milestone achieved, we are finally creating an interface to use the new Kadcast network natively. The new Kadcast implementation is written in the Rust programming language (we are a huge advocate of Rust!). The Kadcast integration ships improved network efficiency, backpressure control, more advanced forward error correction, a wide configurability, and many more new features and improvements. The library has been stress-tested in harsh conditions, raising our confidence that our structured broadcast approach is ripe to completely replace the Gossip protocol, thus raising the bar for fast and furious propagation of transactions, blocks, and messages within the Dusk Network.

The Kadcast implementation also represents a fundamental step toward our plans to fully migrate the whole stack to a compact, performant, and easily deployed Rust node.


Core

The team has wrapped up the PLONKup implementation. This brings us to the final step of having our new and improved proof system up and running: the API. With the structure in place, the core team needs to set up the API for users to be able to send arbitrary payloads. The team is now in the final code run-through to make sure the code is “bulletproof” (pun not intended) from a security, speed, and quality standpoint.

Meanwhile, the core team is finishing the Rusk-VM WASMer instrumentation. As explained in the new testnet milestones article, the team decided on the overhaul of the VM from WASMi to WASMer to boost performance of zero-knowledge smart contract execution. WASMer has the edge over WASMi, which incurs the cost of being a WASM interpreter, by providing significantly faster execution of WASM logic.

We are also particularly excited for the finalization of the new architecture overhaul powered by rkyv, another rust-based library we heavily invested in, as to boost performance of zero-knowledge smart contract execution. The new architecture improves on the previous one by performing perfect hashing with the so-called compress, hash, and displace algorithm, which minimizes the amount of memory needed for operations to a fraction of what was needed before. You can read more on rkyv in our recent grant applicants article.


Application

The wallet browser extension has received an update after its last round of feedback from developers and the UX team, while the latest QA task force suggestions for the UI-kit have also seen the light of day. Proper button shadowing effects have now been included, making the UI-kit completely consistent with its own defined set of general rules.


Research

Now that the research department has finalized its work on the PLONKup Paper, they commenced with the study of the generation of pairing-friendly elliptic curves. “Why”, you might ask? It has all to do with recursive zero-knowledge proofs. In particular, one of the main approaches for recursive zero-knowledge proofs makes use of cycles of elliptic curves to solve for an otherwise apparent efficiency problem. First step is to study the generation of curves belonging to these cycles.

💡 As far as explanations go in mathematics, an elliptic curve is an algebraic curve with a group structure. Elliptic curves are especially important in number theory and see very common applications in cryptography thanks to their group structure, as they are used for key agreement and digital signatures, among many other uses.

Specifically, the research team is studying the generation of MNT curves, named after Miyaji, Nakabayashi, and Takano, who were first to describe a simple method for the creation of elliptic curves for the realisation of pairing-based cryptosystems on non-singular ordinary elliptic curves. What’s important is that MNT curves are so far the only cryptographically suitable curves that are known to form cycles. Understanding these cycles inside and out will help us in finding better ones to further improve efficiency in recursive proofs.

With the implementation of PLONKup, we’ve improved the performance of the PLONK zero-knowledge proofing scheme and created a faster prover. With the new elliptic curves, we intend to achieve recursivity for Dusk Network, which would further improve the performance of the blockchain in regard to block verification.


Outlook

With our public Testnet launch date within reach, the following weeks will be all about testing, testing, and some more testing. As far as items not directly linked to Testnet go, we’ll be preparing templates for smart contract creation to facilitate a structured approach to smart contract writing for users, and continue our efforts to derive new general properties that curves in cycles necessarily satisfy. Stay tuned for more.

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