KDAG Has Reached A New Milestone

KDAG Foundation
4 min readApr 27, 2022


KDAG has made improvements to the API for its Go framework to enhance user experience, security, consistency, and code quality. With the completion of all planned features, such as the “butterfly” hug and “surf effect,” we are excited to announce that KDAG has reached a new milestone with the release of the Alpha version. Some of our partners have tested the Alpha release with very positive results.

After consulting with many partners, we have updated our roadmap based on their feedback. By adhering to the updated roadmap, KDAG is poised to become a leading provider of secure and user-friendly DAG frameworks in the market. While key features such as the “butterfly hug” and “surf effect” have already been implemented, this update allows us to adhere to our own code standards and develop a unified account model that will serve as a robust foundation for large-scale smart contract applications. This will enable our partners to work seamlessly and confidently on the KDAG chain. In 2022, we will be focusing on three major features, ButterFly Hug Delivery for DID messages, Solidity’s compatibility, and enhanced Account API.

ButterFly Hug Delivery

This update contains significant improvements to the HUG Decentralized Identifier (DID) messages on the master chain. First, DID messages are now compressed using the Brotli compression algorithm, reducing the message size by approximately 40% without a significant performance impact due to compression and decompression. As a result of this size reduction, DID messages will require less proof-of-work (PoW) and thus also less time to publish. After decompression, DID messages are also now more clearly structured into three separate objects. This separation makes it easier to find relevant information from the original DID messages and more closely follows the KDAG specifications for the account model.

These changes are incompatible with identity models published using older versions of the framework, which means that these identities cannot be resolved using the new version, and vice versa. To address this challenge, we have added a mapping in the new version that allows the old version model to correspond one-to-one to the new identity model. Each DID message contains a byte for the DID message layout version control and a byte for the compression algorithm used.

Account API Improvements

The Account API has undergone several changes to improve maintainability, flexibility, and ease of use. For developers using the Go framework, this primarily translates into a simplified developer experience where we provide a flexible API with reasonable defaults. The Account API is now used to manage a single identity, rather than multiple identities. This eliminates the need to keep track of DIDs after an identity is created, as developers no longer need to enter the DID into each update function. Because accounts now manage only one DID, we also allow DIDs to be shared between accounts.

Previously, the API only allowed verification of signatures and was only called if the signing key was still valid. Now, developers can choose which validation options they deem important. They can also decide whether to allow expired signatures to pass validation and can easily build their own custom validation logic on top of the validation API primitives.

Solidity Compatibility

Previously we released the first major version of smart contracts, and the EVM implementation in the KDAG framework was not fully compatible with Solidity, and some of the original language could not be implemented in the existing model. Now that the Go framework has matured significantly and our API has been further refined, we are focusing a lot of our efforts on Solidity compatibility in this new release. Most Solidity developers do not currently have a deep understanding of the impact of the DAG framework on their smart contract creation, so we have made it a top priority to make KDAG senseless for Solidity developers. Going forward, we will continue to integrate to reflect the latest changes in the release.

Future Versions

This update to KDAG is a major step forward for the team. Hug Algorithm, Surf Effect, and ButterFly Hug are just the first steps in the Alpha release, and we have completely revised the framework with improvements in ease of use, security, consistency, and code quality. This is an important step towards the production environment.

In addition, we’ve made significant improvements to the development process. This may not be as shiny and exciting for the community, but it does mean that the team now has a fully automated release process with detailed change logs. In addition, our automated tests have become faster and more reliable, covering more important cases.

Based on our research with the Foundation, we started working on parallel smart contracts, zero-knowledge proofs, cross-chain virtual identity IDs, and more. Coming to the Meta-universe, cross-chain, privacy applications provide us with great opportunities as well as numerous challenges. We hope to provide more frequent additional updates with fewer major changes, thus making KDAG more developer-friendly for development to developers and a mainstay of the next generation infrastructure.