What is Cartesi Lambada?
Cartesi Lambada is a technological stack designed to provide an alternate means for people to adopt the Cartesi technology.
Additionally, in the Lambada initiative, we also promote an alternate culture of development than that currently exists in the ecosystem.
The main objective is to foster rapid adoption of Cartesi by developers - today; and foster wider comprehension of the Cartesi stack, facilitating its evolution, simpler deployment, and enhanced experimentation.
Lambada is the fun ‘working title’ of the project. Maybe cartesi.computer fits better? Suggestions welcome.
What makes Lambada different?
The main question posed by Lambada is: Does a world computer have to be so different than how modern cloud computing works today? Why does it need to feel so alien to developers?
Build a container, wrap it in a chain description telling what sequencer to pick transactions from and what block height, and distribute the genesis state to IPFS and that’s your appchain.
Finance inclusion of your appchain transactions by customers in sequencer blocks & computation of your state, hiring service providers for your appchain, paid through “reverse gas” model, and a free tier model proposed.
Submit transactions through a sequencer network. We’re no longer tied to restrictions of the EVM as sufficient ZK-based off-chain computation technology exists today to bypass EVM restrictions.
For the rest, go read the WIP technical documentation: GitHub - zippiehq/cartesi-lambada
Why does Lambada matter?
There is an emerging environment characterized by a modular choice becoming possible, combining existing blockchains like Ethereum, alt-VMs, high-capacity decentralized sequencers, atomic transaction inclusion, data availability layers, re-staking mechanisms like Eigenlayer, co-processors, and zero-knowledge proofs.
This environment will likely be fully in place by the end of Q1-start of Q2 2024 - and we think we will be ready to provide Cartesi’s core value in this environment. We already see the beginnings of this with the deployment of technologies like Celestia mainnet & RiscZero.
A core belief is that in a decentralized ecosystem, the more approaches that people can successfully adopt and use Cartesi technology through, the better.
The current offering of Cartesi Rollups to developers is more suited towards those who’d deploy on existing Ethereum L1 or L2’s, host their infrastructure, and who have a deeper technical understanding - and architecturally far away from that of the vision of millions of appchains envisioned with sequencers and data availability layers.
The Lambada stack is focused on enabling swift, iterative experimentation & deployment, and easier proof-of-concept development, aiming to efficiently deliver value to both end-users and developers in this dynamic and evolving technological landscape. In short: Lambada makes blockchain development fun again.
The stack is meant to be simple, easy to develop apps using, understandable, and possible to reason about by most participants in the ecosystem, to guide development, advocacy, and product direction.
Sometimes for a project, a “worse is better” approach is required to find PMF. Lambada tries to be such an initiative, aiming to be more adoptable by end users and developers - delivering value today, not tomorrow, or in 12 months - as a part of Cartesi, running in parallel, and pushing the Cartesi ecosystem forward together with it.
When will we have Lambada? Surely, first in 12 months and after several lengthy debates and hours upon hours of synchronous meetings?
Lambada has already been here since December 2023! Check out the work-in-progress code in these repositories:
GitHub - zippiehq/cartesi-lambada (main node code)
GitHub - zippiehq/cartesi-lambada-base-machine (Ubuntu 22.04 image)
GitHub - zippiehq/cartesi-lambada-guest-tools (based on machine-emulator-tools)
See the Real World Assets demo here, for something built with Lambada that’s deployed and works today:
Discord (Cartesi discord thread)
How do I participate?
Come contribute, lurk, test - complain over bugs, bad developer experiences, etc!
#cartesi-compute on Cartesi Discord is open and the GitHub issue trackers are as well.
Additionally, we encourage you all to join The Weekly Lambada Dance, every Friday, starting Friday 12th January at 09:00 BRT/12:00 UTC - it’ll be generally announced with a link to a Google Meet in #cartesi-compute on Discord along with an agenda. The call will be recorded and public.
The point of the call is to sync on Lambada matters, do short demos, and process improvements. The first call will include a code walk-through of Lambada and some guidelines on development culture.
We intend to generate technical vision forum posts and RFPs for CGP (larger tasks) and DevAd Seed grants (smaller tasks) as part of this initiative to attract fresh minds and new contributors to the Cartesi Stack.
Why on earth is the weekly meeting called “The Weekly Lambada Dance”?
View these two videos:
Are you saying we should drop everything we’re doing, get behind this initiative, and adopt this for our developer story?
Evaluate the output of the Lambada initiative on its own merits. If it brings genuine value to what you’re doing and/or want to do in the ecosystem, by all means, adopt it. Or join it. Or contribute. Or don’t. We hope you’ll like this - and our customers too.
What can Lambada do today?
The node code is 2000-3000 lines of Rust, so it’s pretty explainable (please join the first call for a walkthrough). We have the reproducible Ubuntu 22.04 with guest tools, too. We have the IPFS plugin.
The Compute primitive works - state CID + transaction input → new state and background snapshotting. It can do a webhook on compute finishing. IPFS access works. We have Eigenlayer-based software wrapping this compute primitive as well in progress.
Subscription to multiple appchains works for appchains using Espresso testnet (as it’s down currently, that’s our own deployment of it) and Celestia testnet - and you can query the latest state and block history of it. It can also submit transactions to an appchain just by knowing the genesis state CID.
We’ve deployed a test instance of Lambada and used it successfully with the RWA demo. You could probably deploy your own appchain in a few minutes, today, if you so wanted.
What are the skeletons in the closet?
Lambada isn’t perfect. But it gets the job done.
IPFS access is slower than it should be. We don’t have bridging yet in any form (but arbitration has been thought about). We aren’t backward compatible with Cartesi Rollups apps. We could handle failures (disk space, etc) better. Developer experience needs the last mile. Snapshotting is slow (sparse file generation, hashing). Governance of appchains needs to happen within the appchain and need good UX for this. Need more examples and better docs. Some better APIs around transaction inclusion.
We try to track them all at Issues · zippiehq/cartesi-lambada · GitHub
But what’s important: the main value is already delivered and demonstrated and we catch real issues found by end users/developers and we’re able to rapidly fix them.
What could it be doing by the end of Q1?
A nice “beta” of Lambada would be able to deploy 1000s of appchains that leverages Espresso mainnet, use ‘reverse gas’ (see other governance forum post) that has an initial CTSI subsidy on deployment and be able to read and communicate with Ethereum L1/L2.
Comments? Questions? Constructive criticism? Please ask in this thread or reach out