Skip to content

machinefi/w3bstream-docs-gitbook

Repository files navigation

About W3bstream

Overview

W3bstream is a decentralized protocol that connects data generated in the physical world to the blockchain world. To learn more about the vision behind W3bstream through the words of the IoTeX co-founder and CEO, Raullen Chai, have a look at the video linked below: 👇

{% hint style="info" %}

{% endhint %}

In essence, W3bstream uses a decentralized network of nodes, which receives and processes data from real-world "data publishers". These could be devices, machines, or any other source. ZK-proofs of real-world facts can then be generated on top of the data for utilization by dApps on various L1 and L2 blockchains.

{% hint style="success" %} Blockchain developers can leverage the W3bstream framework to receive and process raw data to generate ZK-proofs and dispatch them to any of the supported chains to trigger dApp behaviors. {% endhint %}

W3bstream Node architecture

To cater to a wide range of applications and business requirements, a W3bstream node encompasses the following connectivity, computing, storage, and consensus components. These interact with IoT devices, the blockchain, and node operators:

Service Endpoint

The service endpoint implements a number of communication protocols (e.g., MQTT, HTTP, RPC, etc.) to communicate with smart devices, blockchain, and node operators.

Virtual File System

The virtual file system is used to store a business program (i.e., WebAssembly modules that implement the business logic of a specific MachineFi application) as well as intermediate computation results**.**

Execution Engine

The W3bstream execution engine runs the pre-defined business logic that process incoming data from smart devices, blockchain events, and more. The execution engine is based on a WebAssembly VM and the WASI interface, and it can run multiple WASM modules in parallel.

Consensus

The consensus module implements a number of consensus algorithms (e.g., Proof of Authority -PoA, Practical Byzantine Fault Tolerance – PBFT, etc…) for realizing a decentralized W3bStream network.

Database

The database component represents an abstract storage interface and its goal is to serve as the long term storage of the raw/encrypted data received from smart devices. Different storage implementations can be plugged in: from a simple local relational database, to a decentralized storage solution like IPFS. Data retention policies can also be configured for this module, depending on the application needs.

SSI Wallet

The SSI wallet implements decentralized identifiers and verifiable credentials-related functionalities for managing identities in a W3bstream node.

Lifecycle

The W3bstream Network encourages communities to run nodes to support the burgeoning ecosystem of MachineFi dApps. Depending on a specific dApp's requirements, a certain number of W3bstream nodes might be employed to serve it. Such a subnet of W3bstream nodes will commence operation when a sufficient number of community nodes have joined.

Any community member interested in operating a W3bstream node could provision a virtual machine on the cloud or set up a local server.

{% hint style="success" %}

What's next?

Learn about the fundamentals of programming a W3bstream node.

Checkout these short videos to learn the basics about W3bstream Studio {% endhint %}