Roles in W3bStream

IoT Devices

IoT devices equipped with sensors are responsible for collecting data from the physical world. A wide range of IoT devices (e.g., OBD dongles, GPS trackers, smart wearables, etc.) should be able to participate in the machine economy.

Users

Users are the owners of one or multiple IoT devices.

W3bStream nodes

A W3bStream node is an IoT gateway with computing, connectivity, and storage capabilities. Each W3bStream node has an operator and is ready to serve MachineFi applications in the metaverse.

MachineFi applications

A MachineFi application is a decentralized application in the metaverse which applies financial instruments to empower the machine economy.
W3bStream Roles

Trust Models in W3bstream

W3bStream is able to accommodate different trust models and the choice of a trust model will determine the implementation architecture.

The Cloud Computing Model

Cloud Computing Model
In this model, the users trust the W3bStream nodes and therefore the W3bStream nodes can access all the raw data received from their IoT devices. On the other hand, Dapps cannot obtain the raw data. Instead, they will use proofs generated by the W3bStream network to conduct token-related businesses. The clear advantage of a Cloud Computing Trust Model is allowing queries to the W3bStream node. Since nodes can access the raw data, any kind of query or computation on the data received could actually be performed. Initially, this trust model is fine because the node might be owned by the project team or by the enterprise. In some applications though, this trust relationship might be of concern. However, allowing communities to run the W3bStream node, could be problematic: users may not know who owns the data, and may therefore not want to trust the W3bStream node. A way around that is implemented in the second trust model: The Postal Service Model.

The Postal Service Model

Postal Service Model
In this model, the users do not trust the W3bStream nodes and would like to share the data collected by their IoT devices with Dapps. To this end, the IoT devices encrypt the raw data before sending it to the W3bStream network using keys under their owner's control. The users then share the encryption keys with the corresponding Dapp servers which make computations on the raw data and trigger smart contracts for completing token-related businesses.

Privacy-Enhancing Model

Privacy-Enhancing Model
In this model, the users do not want to share data with the W3bStream nodes as well as the Dapps. As a result, privacy-enhancing technology such as zero-knowledge proof (ZKP), secure multi-party computation (MPC), and confidential computing (CC) should be implemented on the IoT devices and/or W3bStream nodes. The IoT devices may need to encrypt the raw data or generate ZK proofs, whereas the W3bStream nodes might need to compute on encrypted data or simply pass the ZK proofs to the blockchain. In this case, both the W3bStream nodes and Dapps are not able to access the raw data collected by the IoT devices. This is a more advanced model, but it might have a very limited application depending on specific use cases. We can see how these different trust models could power different types of applications with different security and privacy requirements.

W3bStream Node Runtime

To support a wide range of applications and business requirements, a W3bStream node includes the following connectivity, computing, storage, and consensus components, for interacting with the IoT devices, blockchain, and node operators.
Components of a W3bStream Node
  • Service Endpoint: The service endpoint implements a number of communication protocols (e.g. MQTT, HTTP, RPC, etc.) to communicate with the IoT devices, blockchain and node operators.
  • Virtual File System: The virtual file system is used to store a business program (i.e., a WebAssembly module that implements the business logic of a specific application) and intermediate computation results.
  • Execution Engine: The execution engine executes the pre-defined business program.
  • 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 is used to store the raw or encrypted data received from IoT devices with a data retention policy in place.
  • SSI Wallet: The SSI wallet implements the decentralized identifiers and verifiable credentials related functionalities for managing the identity of a W3bStream node.
The implementation of the W3bStream node is open-source and everyone is able to run a W3bStream node by downloading the docker image and provisioning a machine. The node operators can decide which Dapps they would like to participate in and load the corresponding business program into their machines. The node operators are going to receive token rewards by contributing to the operation of Dapps.
Export as PDF
Copy link
On this page
IoT Devices
Users
W3bStream nodes
MachineFi applications
Trust Models in W3bstream
The Cloud Computing Model
The Postal Service Model
Privacy-Enhancing Model
W3bStream Node Runtime