The Streamr Network is a decentralized, topic-based publish-subscribe system. Each stream or pub-sub topic has its own peer-to-peer overlay network that is built and maintained by a set of BitTorrent-like trackers. Development is still in progress, with Brubeck as the current milestone.
The Streamr Network is still under active development, with Brubeck as the current major milestone.
Applications publishing or subscribing to data streams interact with the network via Broker nodes. Apps interface with nodes using simple standard protocols like MQTT, HTTP, and websockets, making integration easy from any programming language. The node also runs natively inside JS-based applications.
To allow applications to interact with a stream, the node joins it by connecting to a number of other nodes that have already joined the stream. Each node that has joined a stream relays messages to other connected nodes under the rules of the protocol. This means that every node that receives particular data also helps distribute it onwards, making the network scale extremely well.
Messages that are not intended to be public are end-to-end encrypted, and can only be decrypted by a set of recipients controlled by the publisher. Each published message is also signed with the publisher’s private key, making tampering of the data impossible.
The Streamr Network works alongside the Ethereum blockchain and uses its identity system. Users are represented by Ethereum addresses and authenticated by private keys. Ethereum smart contracts are used to maintain and secure the registry of permissions associated with streams, and the DATA token is used to to pay Broker nodes for securing and scaling streams on the network.
The Streamr network opens up a world of innovation by connecting unstoppable pub/sub real-time data transport to the ecosystem of decentralized applications
Buy and sell access to ethically sourced data streams with Data Products and Data Unions
Gather metrics from decentralized systems such as blockchain networks
Capable of being the real-time networking layer of massive multiplayer games
Publish and broadcast messages from any kind of internet-connected device
Transfer metadata for VoIP or WebRTC signalling
DDoS resistant block transfer or broadcast signed transactions with low and predictable latency
The Network Explorer app allows you to dig into what is happening moment-to-moment on the Streamr Network. View and search for nodes, streams and connections, with live and historical metrics.
Truly decentralised innovation with real-time data applications is enabled by Streamr's P2P network and companion blockchain settlement layer.
Applications always access the Streamr Network via a node. Depending on your application, there are two easy ways to run a companion node as part of your application. Light nodes run as a library inside your application, while Broker nodes run as a separate process and connect to it.
If you have a web frontend or node.js backend, this is your best option. In this case, the node runs natively inside the application, but this approach can only be used in JS-based environments at the moment. The library is distributed as an npm package.
If your application is written in other programming languages, run a node as a separate backend process, and your application interacts with it over a set of standard protocols and libraries. Currently supported protocols are MQTT, HTTP, and websocket. The Broker node is distributed as a Docker image or an npm package.
You can mine DATA by running a Broker node and setting it up for mining. By doing so, you help secure and scale the Network, and contribute your bandwidth and computing resources to the Network in exchange for DATA tokens.
While the full token economics will only go live in the Tatum milestone in 2022, Brokers can mine a set amount of token rewards in the Brubeck milestone too.
The Broker node runs well on commodity hardware, including ordinary computers, mini-computers such as Raspberry Pi, and Avado blockchain computers—almost anything that can run Docker or node.js.
The node consumes bandwidth and CPU depending on your application workloads or mining settings, which determine how much data traffic flows through the node. For mining, high uptime and a stable connection will maximize rewards, and at least 8 GB of available RAM is recommended.
Streamr is using a lightweight governance system of community voting on Streamr Improvement Proposals (SIPs) via the Snapshot app. All token holders are eligible to vote and you can browse current and past proposals.
The Network can operate as a free and open data network, but it also provides incentives for users to run paid nodes to provide higher levels of service, and allows token holders to earn yield by staking on nodes to share in their earnings.
Understanding how the Streamr network differs from other solutions can help to clarify the strengths of a truly decentralised real-time data network.
Streamr | PubNub | Google Firebase | Matrix | |
---|---|---|---|---|
Architecture | Decentralised | Distributed | Distributed | Federated |
Message Ordering | ||||
Message completeness | ||||
Message signing | ||||
E2E Encryption | ||||
Data monetisation | ||||
Storage | ||||
License | Open source | Proprietary | Proprietary | Apache V2 |
Governance | DAO | Company | N/A | Foundation |
Identity | Ethereum public key Eth public key | Email | Email | Email + phone number Email + phone |
Streamr | PubNub | |
---|---|---|
Architecture | Decentralised | Distributed |
Message Ordering | ||
Message completeness | ||
Message signing | ||
E2E Encryption | ||
Data monetisation | ||
Storage | ||
License | Open source | Proprietary |
Governance | DAO | Company |
Identity | Ethereum public key Eth public key |
Streamr | Google Firebase | |
---|---|---|
Architecture | Decentralised | Distributed |
Message Ordering | ||
Message completeness | ||
Message signing | ||
E2E Encryption | ||
Data monetisation | ||
Storage | ||
License | Open source | Proprietary |
Governance | DAO | N/A |
Identity | Ethereum public key Eth public key |
Streamr | Matrix | |
---|---|---|
Architecture | Decentralised | Federated |
Message Ordering | ||
Message completeness | ||
Message signing | ||
E2E Encryption | ||
Data monetisation | ||
Storage | ||
License | Open source | Apache V2 |
Governance | DAO | Foundation |
Identity | Ethereum public key Eth public key | Email + phone number Email + phone |
Explore some of the design principles that guide network development or grab the whitepaper for more details.