Dear Polkadot Community,
Feedback on the following research project would be greatly appreciated.
This project proposes an investigation into five technical bottlenecks hindering the implementation of a Cardano block importer as a Polkadot/JAM service, thereby enabling the creation of a trustless bridge between the Cardano and Polkadot ecosystems. Cardano, recognized as one of the top ten most isolated blockchains, presents a unique integration challenge. Overcoming these obstacles will showcase the flexibility and strength of the Polkadot/JAM architecture and serve as a blueprint for creating trustless bridges for a broad range of blockchain networks.
The Polkadot ecosystem is undergoing a major transition to Join-Accumulate Machine (JAM) architecture, designed to deliver a unique combination of scalability and coherency. At the heart of JAM lies PolkaVM, a RISC-V-based virtual machine capable of executing code at near-native hardware speeds, thereby enabling a wide range of innovative use cases. The JAM paper recently reached version 0.7.0, with only minor refinements and optimizations anticipated before the 1.0.0 release. The official launch of JAM 1.0.0—and Polkadot’s migration to this new architecture—is tentatively expected within the next year.
To accelerate adoption of the innovative JAM architecture, the Polkadot ecosystem would benefit from high-impact “hero” use cases that showcase its full capabilities and test its limits. Trustless cross-blockchain bridges represent one such compelling use case. These bridges can be realized by integrating full nodes of other blockchains as Polkadot/JAM services. Since running a full node is a highly computationally intensive task, this approach provides an ideal opportunity to demonstrate both the architectural advantages of JAM and the high performance of PolkaVM.
Developing JAM services requires compiling PolkaVM binaries, a process currently supported for Rust and C/C++ via the LLVM toolchain. As a result, integrating blockchain full nodes written in these languages presents the most straightforward path for exploration.
A central element of this proposal is a prototype Cardano Node implemented in C++, https://github.com/r2rationality/turbocardano, which can be compiled into a PolkaVM binary (unlike the traditional Cardano Node, which is written in Haskell).
Additionally, the team behind this proposal is actively developing a C++ JAM implementation, https://github.com/r2rationality/turbojam, providing the necessary expertise and in-depth understanding of the JAM protocol required for this research.
A straightforward compilation of the Cardano block importer into PolkaVM bytecode is not sufficient to deploy it as a JAM service. Several critical constraints must be investigated and addressed:
The duration of each investigation may vary, with some directions potentially completed within a month, while others may require multiple iterations over the course of up to 12 months. Additionally, there are significant fixed costs associated with project setup and preparation of final documentation. As such, allocating less than 1 FTE over 12 months would introduce a high risk of project failure.
Accordingly, the proposed budget is 175,500 USDC (150,000 Euro**** at the current EUR/USD rate of 1.17), allocated as follows: