BTQ Research announced that Keelung Compiler is now open source.
Keelung is a programming language specifically designed to create fast, private, and secure zero-knowledge programs, enabling developers to easily generate reliable proofs without any cryptographic expertise.
Keelung harnesses the power of the Haskell ecosystem by embedding itself within the language. This integration empowers Keelung developers to take advantage of Haskell’s extensive collection of libraries, tools, and resources.
The compiler takes the Keelung program as input and turns it into a system of constraints for proof and verification. The compiler comes with an interpreter, allowing developers to run their Keelung programs during development, along with a solver that generates witnesses in a system of constraints. During the compilation process, each Keelung program undergoes several rewrites and optimizations before being translated into a system of constraints for proof and verification, as shown in the diagram below.
Keelung open source toolchain
According to a blog post: “Although the Keelung language itself is open source, the compiler is not. We recognize that in the ZKP world, verification is a prerequisite for trust. That’s why we open source the compiler as well. With the compiler open source under the Apache 2.0 license, we also release rewriting techniques and optimizations done in the compiler. We hope that this will increase Keelung’s transparency and accessibility for developers, thereby fostering a more creative and engaging community. We really welcome contributions to languages and compilers to push the ball forward in the ZKP ecosystem.
Harnessing the power of ZKP”
ZKP serves as an indispensable technology in today’s data-centric world, strengthening privacy and security across applications. From facilitating privacy-oriented analytics – allowing businesses to benchmark performance without disclosing sensitive data – to offering secure identity verification on digital platforms without unnecessarily disclosing personal information, ZKP is proving to be transformative.
They play a critical role in maintaining the integrity of complex global supply chains and have been a cornerstone in creating reliable, transparent and anonymous voting systems, thereby increasing confidence in electoral procedures. ZKP is also making leaps and bounds in machine learning and games. They facilitate localized machine learning without sharing sensitive data with untrusted servers, and allow players to privately validate achievements in the game world.
With Keelung 100% open source, BTQ anticipates expanding this use case. By giving developers the keys to these powerful technologies, the team wanted to see new ways they could leverage them to strengthen data privacy and security, and ultimately, drive innovation in digital engagement.
In the next update, the company reports that it will introduce automatic data type encoding in Keelung. This feature aims to improve integration between Keelung and Haskell by automatically translating Haskell data types into Keelung primitives. With this improvement, the interoperability between the two languages will be much smoother.