JAM still needs quite a bit of time, and currently, the first RISC-V VM that is close to being put into production is PolkaVM (another one is the @boundless_xyz zkvm, which is already on the mainnet beta version and also based on RISC-V VM, but it is a more zk version of the VM). It has already been launched on the KSM platform (the precursor platform of @polkadot). It went live around June and is now relatively fully compatible with Solidity smart contract development. The demo program has implemented the complete operation of the Uniswap V2 version and is compatible with the Ethereum toolchain (Remix, Hardhat), and can integrate with popular libraries.
On this basis, a recent important update is XCM-Precompile (XCM precompilation, where XCM stands for cross-chain transfer protocol), which supports cross-contract calls at the language level. By inheriting or importing the IXcm interface, XCM functionality can be directly integrated into existing smart contracts. This method allows you to seamlessly embed cross-chain functionality into application logic. Whether building DeFi protocols, governance systems, or any applications that require cross-chain coordination, XCM calls can be directly incorporated into the contract's functionality. The Polkadot version of the RISC-V VM - PolkaVM should go live alongside the Polkadot Hub.
Polkadot ecosystem developer @alice_und_bob has predicted the roadmap and timelines for the second half of the year (which may not be absolutely precise):
- Polkadot 2.0 - Elastic Scaling (August?)
- Polkadot Hub - developer and user onboarding platform (October?)
- Polkadot Pay - mobile app (August?)
- DOT ETFs (whether it goes through will ultimately be in November)
- DOT Tokenomics 2.0 (still under discussion)
His roadmap is quite good:
XCM-Precompile:
PolkaVM live on Kusama:

JAM is the accelerated development after 2.0, with over 30 teams using different programming languages and development teams to implement a decentralized JAM client (based on the JAM white paper protocol).
In the early days of ETH, all transactions required all validators to verify them together (this part can actually refer to the Ethereum yellow paper, and there is a better interpretation version).
L2 allows a smaller subset off-chain to perform computations in two ways: one L2 is fraud proof (re-executing transaction code upon discovering fraud to verify), and the other L2 is zk proof, which does not require re-computation but needs expensive GPUs to generate proofs; on-chain, only the proofs are verified without re-executing the previous transaction transformation function code.
Earlier, @Polkadot 1.0 used an algorithm called ELVES, which is different from ETH's fraud algorithm that passively verifies; instead, it uses a probabilistic algorithm for active verification. In @polkadot 2.0, the verification set has been packaged into a concept called Core, which is essentially a subset of the verification set. 2.0 supports Agile Coretime, meaning dynamically using core; in 1.0, a chain could only use one Core, but after 2.0 goes live, it will support Agile Coretime, allowing a chain to dynamically use coretime (the number of verification subsets) based on demand, thereby enhancing the system's service load.
JAM evolves based on these ideas, with the emergence of many zk, op, smart contracts, and even ordinary web2 stateless applications. Can it further abstract services to better adapt to these different application models and allow them to interact and combine? Thus, JAM has further abstracted on this basis.
- Various different L2/parallel chain elements are now referred to as services.
- Blocks/transactions are now referred to as work items or work packages.
- Work items belong to services, while work packages are a set of work items.
- Services are described by three entry points, two of which are fn refine() and fn accumulated.
- The names of these two entry points are precisely why the protocol is called JAM: Join Accumulate Machine. Join refers to fn refine(), where all Polkadot cores execute a large amount of work in parallel for different services. Join means refining data into a smaller subset and then passing it to the next stage.
- Accumulate refers to accumulating the results of all the above operations into the main JAM state.
- Different forms of services are supported (op rollups, zkrollups, parallel chains, stateless applications, smart contracts).
The ETH era was a shared state single-column state machine,
@polkadot 1.0 era was an interoperable probabilistic sharding machine.
@polkadot 2.0 era is the Agile Coretime machine.
The JAM era is the Join Accumulate Machine (JAM).
There are many detailed features; here I only synchronized the information I understood. A deeper understanding of why JAM can run continuously without invoking programs through transactions raises questions about what new model products will emerge in the future when combined with DEFI. Why can JAM run non-state applications, such as JAM DOOM? For specifics, see the video:
Learning materials:



19.23K
26
The content on this page is provided by third parties. Unless otherwise stated, OKX is not the author of the cited article(s) and does not claim any copyright in the materials. The content is provided for informational purposes only and does not represent the views of OKX. It is not intended to be an endorsement of any kind and should not be considered investment advice or a solicitation to buy or sell digital assets. To the extent generative AI is utilized to provide summaries or other information, such AI generated content may be inaccurate or inconsistent. Please read the linked article for more details and information. OKX is not responsible for content hosted on third party sites. Digital asset holdings, including stablecoins and NFTs, involve a high degree of risk and can fluctuate greatly. You should carefully consider whether trading or holding digital assets is suitable for you in light of your financial condition.