Blog post
5 min read

Kinode & zk-Rollups: A Chess App Case Study

Written by
Kinode
Published on
April 5, 2024

Blockchain has problems. Despite years of development, scalability, user experience, and interoperability remain hurdles to both development and adoption. But the advent of open-source zkVMs like Succinct Lab’s SP1 and the emergence of the Kinode platform mean a new paradigm for building the off-chain components to make web3 dApps ‘just work’. Kinode isn't just a new tool; it's a perspective shift in building the off-chain components essential for seamless web3 dApp functionality. Through the toy example of a chess app built on Kinode, this post will explore how we’re addressing blockchain’s challenges so dApp developers don’t have to, paving the way for the first wave of truly rich crypto applications.

Kinode: The Backbone of Blockchain Innovation

Kinode is a ‘batteries-included’ off-chain hosting platform. Developers should worry about business logic and nothing else: no standing up a server, fiddling with a VM, or worrying about user authorization. Bridging and cross-rollup messaging should work out of the box. Devs should be able to work in many languages (not just Rust). There should be native account abstraction so users can use any wallet. Our ambition is clear: we’re building Kinode to become synonymous with ease and innovation in dApp development, making the previously impossible, possible.

The list of things one can eventually expect Kinode to include for dApp development is exactly as long as the list of things that would keep a developer from just writing their core app logic. No more endlessly extended development cycles: build the app you want, in an ergonomic fashion, with a small team and reasonable budget, without having to sacrifice any of the functionality you expect from a first-class web3 application. The distance between a toy app and a production app becomes just a matter of testing and polishing.

The zk-Rollup Template (as Applied to Chess)

To reach our stated ‘just business logic’ goal, zk-Rollups must be fully pluggable. We’ve demonstrated this pattern through a chess game, which showcases a practical application of zk-Rollups in blockchain gaming. Find the github repo here. The zk-Rollup template comprises four main components:

  • The execution engine: details the application's state, transaction types, and business logic.
  • Sequencer: a multifunction component handling RPC API, bridge interactions, serving the web UI, and state transition proving.
  • Sequencer UI: the user interface for the sequencer (in our case a chess app).
  • Prover Extension: enhances the application's trustworthiness by verifying state transitions.

The chess app itself was possible for a single developer to realize in a short time because the chess engine was already available in Rust. This is the benefit of choosing to build Kinode in a widely-adopted language. A developer who wants to make their own app could do the same: find an app suitable for integration with crypto payouts and then simply modify the zk-Rollup template to suit his needs. This is very easy work. First, recast the execution engine with core logic and types. Then, change the sequencer UI to match the app you wish to create. Finally, decide whether your app requires you to deploy your own bridge.

What’s next

The essence of Kinode’s work is simplifying blockchain development, and that extends beyond individual applications like chess. We remove technical hurdles so that developers can reduce the development cycle, build in smaller teams, and really enjoy writing dApps.

To further demonstrate our thesis, we will shortly release a fully working implementation of Blackjack using our own template in exactly the way we encourage other developers to. There are a huge number of blockchain games that can be built using our zk-Rollup template, like Mahjong, Go, or Texas Hold’em: any game that might include actual bets made with crypto or for which it is desirable to write state to the blockchain.

But this is really just the beginning of what we’re unlocking with new primitives like run-ready zk-Rollups. Kinode will make versatile DeFi platforms, interactive NFT ecosystems, and blockchain gaming experiences simpler to build and the user experience actually pleasant and intuitive. It will empower the creation of sophisticated DAO governance and streamline cross-chain interactions with unprecedented ease. By integrating and abstracting away all the primitives necessary to make rich crypto experiences, we help creators make applications that were previously beyond reach.

At Kinode, we’re creating a future where blockchain’s complexity becomes its strength, not its barrier to entry.