KAGOME is a C++ implementation of the Polkadot Host that is protocol compatible with the original implementation in Rust and is already participating in Kusama relay chain validation. With KAGOME and other client implementations we bring client diversity to Polkadot, mitigating risks of fatal bugs, bringing innovations and broadening the development community. During previous work as part of Polkadot treasury proposal 2, the following results were achieved:
In addition to features that were planned during the previous proposal our team achieved the following:
This proposal asks for funding for the next 4 months, in addition to the previous 6 months of work on features that have been retroactively implemented (marked with Done status in Section 4).
Client diversity is essential for the security and resilience of Polkadot as it helps to mitigate the risk of bugs and exploits. If there is only one implementation (which is currently the case Polkadot), then any bug or exploit that is found in that implementation could potentially bring down the entire network. However, with multiple implementations, the risk of a bug or exploit affecting all of the nodes in the network is greatly reduced.
Importance of having multiple client implementations was highlighted multiple times by Polkadot twitter (source), and Web3 foundation RFP (source). Moreover, W3F recognizes clients diversity importance and allocates 10 million DOT prise for the future multiple implementations of JAM protocol.
Gavin Wood mentioned KAGOME during 2023 yearly roundup article (link) and highlighted our achievement of executing KAGOME node in Kusama during his recent interview (link).
To learn more about multi-client philosophy and KAGOME Polkadot Host implementation watch our previous presentations:
Quadrivium is planning to develop a JAM client and is already working on some features for this in parallel with KAGOME. We also started work on SASSAFRAS many months ago, but stopped because the reference implementation in Rust had not yet been merged into the Polkadot SDK. Given that SAFROLE is the simplified version of SASSAFRAS, we are well positioned to implement a new leader election mechanism in the JAM implementation.
However, we recognize the importance of multiple Polkadot Host implementations today, especially since most features are already available and KAGOME is compatible with the Polkadot SDK. Moreover, it's not anticipated that JAM will be launched within the next one or two years. Luckily, we can repurpose much of the KAGOME codebase for the future JAM client implementation. For instance:
But since we didn't initially intend to reuse these components, some refactoring of KAGOME is required. This will enable these components to be reusable and easily integrated into the future JAM client implementation.
Please review the full proposal with detailed tasks descriptions and price breakdown: https://docs.google.com/document/d/1NOkXMSAOYYgm_NCEzuTCKE-rl5MnlaZD3FN8v0otYbc
Quadrivium (https://www.qdrvm.io ) is a blockchain infrastructure development company founded in 2023.
The company specializes in the development of blockchain clients, peer-to-peer networking tools, and zk-cryptography. Quadrivium develops KAGOME Polkadot Host implementation, in partnership with the Web3 Foundation. The company also maintains the C++ libp2p library.
SRLabs (https://www.srlabs.de/) is home to knowledge leaders securing critical infrastructures in finance, blockchain, energy, and telecommunications.
The company focuses on hands-on hacking resilience, not compliance. Their approach is shaped by combining their hacking research with impactful consulting work for innovation leaders who naturally thrive on cutting-edge technologies.
SRLabs is one of the leading blockchain audit companies with experience in many Substrate-based blockchains, including the Polkadot layer-0 relay chain and parachains built on top.
KAGOME is a computer program that helps make Polkadot more secure. It is like a backup plan in case something goes wrong with the main program. KAGOME has already done a lot of work to make Polkadot better, like making sure it can handle many people using it at the same time. KAGOME wants to keep working on Polkadot for the next 4 months, and they need some money to do it. They will use the money to make Polkadot even better and to make sure it is safe to use.
The implementation of JAM has started. A team will not be able to work on the "old tech" and the "new tech" at the same time (full time; they can during their private time). I assume that this project team has already started on the implementation of JAM. So this would mean, that they would potentially double dip, once this proposal and once the JAM Prize (assumption is they know what they are doing and will successfully create a full client).
Edited