Blog post
5 min read

W.E.R.E. S.O. B.A.C.K.

Written by
Josh Kino
Published on
October 18, 2024

Introduction

Kinode is creating a platform to help devs build modular, decentralized applications. We combined a lot of thinking from the worlds of OS design, networking, and crypto to create the complete offchain computational environment for Web3. Some time ago, one of our devs, Doria, summed up Kinode’s architecture and affordances in a neat acrostic: W.E.R.E. S.O. B.A.C.K. 

Let’s have a look at each letter and how it fits into Kinode’s approach to building for Web3.

W: Wasm Runtime

Kinode leverages a Wasm (WebAssembly) runtime, which allows devs to create secure, cross-platform apps. Each Kinode process is a Wasm component, so they are highly performant and compatible with several programming languages like Rust, Go, C, and JavaScript. Wasm ensures that Kinode processes are lightweight and sandboxed, because Kinode processes have to operate efficiently and securely across user-run nodes in a decentralized network.

E: Erlang-Style Message Passing

One of our big inspirations was Erlang, and the message-passing model we adopted allows Kinode processes to communicate asynchronously. We took Erlang’s “let it crash” philosophy to heart: when Kinode processes fail, they crash gracefully and restart as needed. This makes message-passing in Kinode highly resilient and effective for building apps meant to last. A Kinode instance can run indefinitely with zero maintenance.

R: RPC Access

Remote Procedure Calls (RPCs) allow seamless interaction with external blockchains. Kinode offers devs an ergonomic API that wraps around ETH RPC, so it’s easy to perform one-off chain reads or subscribe to specific smart contract events. You can get data from any chain that implements the ETH JSON-RPC standard—including EVM L2s—and incorporate it directly into offchain apps.

E: Encrypted Peer-to-Peer Networking

Kinode is built with encryption at its core, so communication between nodes is always private and tamper-proof. Each node operates a public/private key pair, making end-to-end encryption possible. Whether nodes are routing directly or through an intermediary, message privacy and data integrity are always maintained.

S: Seamless Developer Experience

One of our primary goals at Kinode is to provide a developer experience that removes all the friction. We’ve built an API that abstracts away all the complex networking and cryptographic functions, allowing you to focus entirely on the business logic of your applications.

O: Onchain Package Manager

By leveraging Kimap, our onchain path-value store, developers can publish, update, and share their apps with the entire network. Our onchain package manager is a decentralized alternative to traditional app stores that enables global deployment without relying on centralized distribution channels.

B: Built-In Wallet

Kinode makes use of a wealth of open-source libraries to allow devs to integrate onchain assets and blockchain interactions directly into their apps. Wasm apps on Kinode can embed wallets that support native tokens and onchain assets, making it easy to handle transactions and interact with various protocols. These wallets also tie into Kinode’s broader capabilities-based security model, so developers have flexible control over what each application can do with wallet resources.

A: App-Level Composability

Another of our core principles is that apps should be highly composable. On Kinode, devs can build modular apps where features can be easily added, removed, or integrated with other apps to create novel experiences. Apps can evolve over time to easily integrate new features or components, so developers can build on Kinode knowing that their apps can be around forever and continue to grow to meet new user demands.

C: Capabilities-Based Security

Here, we took some inspiration from the concept of object capabilities as seen in Midori. In Kinode, each process has specific capabilities granted by the kernel, which allows fine-grained control over what a process can access or interact with. Permissions management on Kinode is simple and ensures interactions across the decentralized network are secure.

K: Kinode

Finally, we’re at the heart of it all: Kinode. A peer-to-peer operating system that’s decentralized, modular, and built with developers in mind. It integrates what we’ve learned from languages and systems like Erlang, Midori, Urbit, and more, combining OS design principles with modern blockchain capabilities to create one neat package: a robust platform for developing the future of decentralized applications.

Conclusion

Web3 has struggled with scalability, centralization, and complexity, which has left it fragmented and reliant on centralized solutions. If the status quo remains, crypto is so over. But Kinode brings a unified, decentralized platform that empowers devs with all the primitives they need: encrypted networking, modular architecture, and seamless blockchain integration. The future of decentralized applications is here. We’re so back.

What will you build?

Find our docs here and join our Discord or Telegram.