A monthly development update series created to embrace the transparency and inclusivity that we strive for at Dusk Network
As announced in the previous Tech Demo, we have completed our transition from a dual-layer state-transition model (where DUSK and the relevant features were part of the settlement layer, while the other logic was part of the contract layer) to a single-layer state-transition model, which houses DUSK, consensus-related logic and other deployed contracts. This transition simplifies the technical overhead of the protocol and allows for a more streamlined integration with third-party service providers, such as wallets, exchanges, etc. The contracting layer includes four initial contracts to be deployed on-chain natively, dubbed “genesis contracts”. These contracts include: Transfer Contract, Fee Contract, Staking Contract and Blind Bid Contract.
As was communicated last month, the team had finalized XSC 2.0 specifications. We are now happy to announce that the XSC 2.0 contract has been successfully implemented and deployed on our Devnet, to be followed by the Sandbox Mainnet after the testing phase is completed. The upgraded standard enables the prospective issuers to have a more granular control of the contract while retaining the standard consistency allowing for an easy integration with other contracts and services.
PLONK implementation & Turbo Composer
With regards to the latest developments in PLONK, our chosen zero-knowledge proof system, we have made some vast improvements.
Note: PLONK is a succinct and fast zero-knowledge proof protocol with a universal set up, which will be responsible for all of our zero knowledge proofs.
In order to reduce the circuit size and thereby speed up proof construction, we have developed a new circuit composer , called ‘Turbo Composer’, which allows the user to build smaller circuits. By doing this, we can supercharge the PLONK protocol, which results in us being able to hugely reduce the order of the number of gates in the circuit, whilst maintaining efficiency. Our turbo composer is based on this implementation by Aztec Protocol, the creators of PLONK.
In addition, we have implemented new widgets that provide efficient proofs for larger circuits. By including both features, we allow for an extensive library, with a wide range of tools and capabilities at the fingertips of the user. In other words, users can tailor the proof construction by choosing one or many of the different features. Speed is at the forefront of our priorities - to ensure that our protocol is capable of processing a large number of transactions - a lot of our research on PLONK has been directed towards having optimisations without having to compromise on a high level of user-friendliness.
As we near the full release of our implementation, we are in the process of adding circuit gates to handle varying program inputs (e.g. logic gates, range constraints gates and ECC gates). As we are working with novel techniques in both computer architecture and cryptography, it is very important that the work itself is understood by those who will be using it. Our desire for full comprehension amongst all audiences has driven us to create extensive documentation surrounding PLONK. All to provide that each technique or declaration, whether in terms of coding or cryptography, is not only well justified, but also quickly understood.
We have completed a consensus protocol update. This update reduces both the computational complexity and the messaging complexity of the consensus, while retaining the same security properties. The upgrade removes the requirement for Agreement phase voters to send an aggregated set of BLS signatures attesting to the validity of the Reduction phase completion, and a few other minor updates, improving the efficiency of the protocol.
Boney-Lynn-Shacham (BLS) is a signature scheme enabling users to verify the authenticity of signers via bilinear pairings. The signature scheme has an advantage of being aggregatable and succinct (32 bytes) at the cost of being computationally costly to verify. Being aggregatable implies that two BLS signatures can be combined into a single one and verified using a single aggregated public key, consisting of the two respective public keys, meaning that the size remains constant as the number of signers scales.
During this month, we undertook research into the dynamics of algebraic number theory and finite groups. We are doing this to achieve further verification performance improvements. Some of our zero-knowledge proofs rely on checking the elements within a predefined group. These groups contain subgroups, which contain cosets (Group > Subgroup > Cosets). As it stands, there is no efficient way to perform these checks, which means we were scanning a huge list of group elements. In order to speed this up, we started in-depth analysis and developed a method where we don’t have to scan an element more than once for different cosets (by taking the largest potential set of roots of unity and making assumptions about internal points). The next stage in this research is to find properties that permeate the roots of unity up to the ‘nth’, so that we can scan a more select set to group elements.
Like so many other companies and people around the globe, we are currently experiencing the limitations we have to deal with because of the Coronavirus. The benefit of being a tech company is that we were to some extent already used to accessing our tools remotely, and that we can collaborate with each other online. Working from our homes, we find that it is important to stay in touch with each other, more than ever before. That is why we were happy to share the news that we have now joined Blockfolio Signal to keep our extended community posted on our latest news and updates.
As the work continues to deliver the world’s most complete zero-knowledge (ZK) blockchain we shared our technical framework and upcoming milestones. The dynamic development roadmap provides a glimpse into what will be made available in the next wave of releases and can be found on our website. The technical framework provides a simplified overview of dusk components and might help to provide contextual meaning when reading stand-alone releases and blogs.
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.