MONET Ecosystem: Architecture for Ad Hoc Mobile Blockchains
In the previous post we introduced MONET, an open network architecture based on mobile ad-hoc blockchains and an interoperability protocol. Today, we’ll dive deeper into how MONET works under the hood.
Nowadays, most of us are taking part in the sharing economy, connecting to people, like ourselves, to experience things together and get things done. Cab rides, office space, laundry, delivery, and many other important aspects of our life operate on the basis of peer-driven networks. However, these networks are not truly decentralized: one way or another, various powerful middlemen enable these interactions. Although service providers are the ones who immediately feel the pain of costly centralized servers, app users are also affected by having to sacrifice privacy and by absorbing some of the expenses in the form of higher fees.
Blockchain technology was the first step towards disintermediation, but the current public blockchains are not fully capable of supporting the true nature of a sharing economy. Sharing economy interactions happen in real-time. Hence, they require transaction finality, a very high throughput, and availability on mobile devices. In the current deployments of the blockchain technology, it is simply not possible for a mobile device to operate as a full node and to hold an entire copy of a ledger.
With ad hoc mobile blockchains, MONET is designed to solve these issues. Based on a powerful consensus system, Babble, ad hoc blockchains can process thousands of transactions per second with near instant finality. Since blockchains are ephemeral, any off-shelf device can participate in the blockchain. The result is no middlemen fees, no centralization risks, no sluggish blockchain speed and no cost compromise.
Let’s get into it.
Let’s start from the bird’s eye view and first clarify the naming conventions. You will have come across mentions of Mosaic Networks and MONET on this blog. Mosaic Networks is a company that develops open-source modular blockchain software. Babble consensus, and the accompanying SDK, is one of those products. Further, we’ve developed a light-weight wrapper for the Ethereum Virtual Machine to run Smart Contracts backed by the Babble consensus engine. The combination of EVM and Babble makes for an ultra-fast and secure distributed computing system, that became the basis of MONET.
MONET is an open network architecture for mobile blockchains on demand. A blockchain on demand means that participants of a certain activity can form a temporary network for the duration of their interaction without a need of any centralized third party.
Now that we’ve got that cleared, let’s move to MONET itself.
Cosmos Network creates an ecosystem of sovereign and easy-to-operate blockchains that can communicate with each other. We aspire to achieve a similar goal and to create a network of blockchains, but for deployment on mobile.
FireChat is a service that delivers messages by creating a mesh network of smartphones and bypassing the carrier networks. FireChat’s MeshKit SDK allows developers to build apps that let offline devices transact with each other via mesh. We similarly want to harness peer-to-peer connectivity technology, enabling users to interact with each other on demand.
The key components of MONET architecture are:
- Multiple ephemeral blockchains dynamically formed by users with their mobile devices;
- Inter-Blockchain Communication, enabling these blockchains to speak to one another; and
- MONET Hub — an always on network that provides optional infrastructure services to the first applications and ad hoc blockchains.
Ad Hoc Blockchains:
In MONET, ad hoc mobile blockchains enable decentralized server-less functionality for DApps. Physical devices become the nodes of these blockchains by running an application that uses a MONET-compatible consensus module. The Babble SDK, described in our previous posts is an instance of such consensus. Due to its light resource requirements, ad hoc blockchains powered by Babble can operate nodes on off-the-shelf mobile devices.
When an ad hoc blockchain initiates, the participants agree on an initial list of participants. Since the blockchain is formed by a small, localized group of individuals sharing the same activity, the blockchain is permissioned by nature. The list of participants is further dynamically updated when participants request to join or leave.
Lastly, doesn’t ad hoc mean temporary? That’s correct, a network lives only for as long as the app runs. However, the ephemeral nature of a blockchain does not mean that the information , along with the immutable and irrefutable proof of the events that were recorded, vanishes when the network terminates. This information can be persisted on disk and packaged in a digestible format, providing the base for any accountability requirements and for an Inter-Blockchain Communication (IBC) protocol.
Inter Blockchain Communication:
By design, blockchains contain the irrefutable cryptographic evidence of the events that took place in the network. The role of IBC is to package this information in a digestible format and to define methods for verifying on one chain that a transaction took place on another chain. This makes it possible for blockchains to transact outside of their closed circles and for participants of these blockchains to transfer assets and data across application boundaries.
In permissioned algorithms, like Babble, the verification process involves counting validators’ signatures. Validators sign block hashes, which are themselves obtained by recursively hashing together the various components of a block in a simple Merkle tree. Tampering with any of the intermediary hashes results in a different block hash.
Verification that a transaction happened on a given chain involves retrieving the block containing that transaction and generating a proof object — an IBC packet — with a Merkle proof that transaction is consistent with the block’s transactions-hash, along with the block’s header and signatures. Light-clients recursively check the Merkle proofs all the way to the block hash and finally check that the block obtained a majority of signatures from the validator set registered with the light-client at initialization.
In sum, even though a blockchain itself terminates, the information of the events that happened on the network stays immutable. The requirements for devices that have participated in that network to hold this information remain very light.
MONET Hub is a special kind of blockchain in MONET as it is always on. The Hub provides optional infrastructure services for the first applications on the network. Multiple independent nodes run by validators engaged in a Proof of Stake consensus mechanism comprise MONET Hub. Anyone, who is willing to participate in the consensus and stake some voting tokens, can become a validator in MONET Hub.
MONET Hub will initially host a variety of free Smart Contracts facilitating DApps on ad hoc blockchains with services such as peer-discovery, ID directories, financial ledgers, light-clients for other blockchains, and much more. Just as anyone can become a validator on the Hub, anyone can deploy their own services on the MONET Hub, or even create their own hub for that matter.
Bringing it all together:
MONET creates an infrastructure for distributed mobile p2p applications. Its architecture aims to power the sharing economy by bringing blockchains to mobile.
MONET consists of multiple ad hoc blockchains appearing and terminating as applications’ participants interact with each other.
Inter-Blockchain Communication facilitates interoperability between these blockchains .
Finally, the MONET Hub, being an always-on blockchain, allows distributed applications to be jump started with the use of the existing infrastructure services.
In the next posts, we will spend time discussing governance, tokens, business and incentive models that power MONET. Stay tuned!
In the meanwhile:
Take a look at our White Paper on our site: Monet.network
Ask questions on Telegram: https://t.me/MonetNetwork
Follow our official updates via Twitter: @MonetNetwork