KDAG Has Reached A New Milestone
KDAG has revised the API for the Go framework to improve ease of use, security, consistency, and code quality. In addition, we have significantly improved Solidity’s compatibility with the Go framework, introduced an easier to use Account API, and other API improvements.
We are proud to announce that KDAG has reached a new milestone. With this update, KDAG is expected to take a major step towards providing the most secure and easy-to-use DAG framework on the market. While important features such as the “butterfly” hug and “surf effect” have already been completed, this update allows us to follow our own code standards, enabling the creation of a unified account model that will provide a solid foundation for large-scale smart contract applications.
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.
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.
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.