This week, we delivered a lot more detail on a very important aspect of Metronome’s cross-blockchain capability: the Metronome validator document, which is now live on GitHub.
This document outlines the definitions, requirements, and functions of the Metronome cross-chain validator network. As it mostly covers the first, federated phase of the validator network, the document is meant to be a living resource, and so the Metronome team encourages the community to review and file GitHub issues to provide feedback.
So what is the validator network?
The validator network is a necessary piece of the Metronome ecosystem only when owners move MET between chains — same-chain transactions will not require validator presence. When transferring MET tokens between different compatible blockchains, an off-chain and publicly-known entity will ensure the validity of exporting and importing MET tokens between chains. Hence, validators are responsible for observing a blockchain for events, validating cross chain transactions (as described below), and voting on the validity of that event.
What challenges do cross-chain transaction face, and why must there be validation?
Ensuring that the maximum global supply of MET tokens is correct at any given time is an important aspect of the system. As such, there are two main considerations: 1) preventing double spends between chains, and 2) choosing one side of a potentially contentious fork.
The validator network takes measures to prevent double-spending across blockchains. Cross-chain transactions require both an export to be provided from the source chain to the validators and an import receipt issued to the destination chain.
Forking, which result in two communities able to support two chains, would also present a problem to the global supply of MET tokens. Therefore, validators choose one side of the fork, leaving the opposing side’s MET tokens invalid and unable to be used in the Metronome ecosystem.
Federated to Decentralized
In order to ensure security and usability of Metronome’s cross-chain features, there will be three phases of the cross-chain rollout. Each subsequent phase will further decentralize the process for completing cross-chain moves.
Phase 1 – Federated Network of Validators
In Phase 1, a small, federated network of validators operates in a multi-signature, multi-party approach to validate import/export transactions that follow the Metronome protocol. MET owners may export at any time. On the import side, a quorum of validators approves a set of import transactions submitted by users. A quorum of validators will add and remove Metronome-available chains and other validators. The goal of Phase 1 quorum is to have five validators at the launch of the second Metronome chain (and thus, the launch of the first Metronome import/export).
In the event of a chain fork, the quorum of validators will choose which side of a fork is The Real Metronome.
Phase 2 – Chain Attestors and stake weighting
Phase 2 seeks to decentralize and move away from validators. For each blockchain, Metronome will look to chain oracles that provide a very specific piece of data: What is the Official Timeline for a particular currency?
Take for example Ethereum (ETH) chain. In the event of an Ethereum hard fork, the Metronome system would look to ethereum community oracles to answer the question of Latest Block Hash. The Metronome system, on Ethereum, would automatically follow the side of a hard fork that the Ethereum community follows.
This system is replicated for each blockchain supported, such as Ethereum Classic (ETC), Qtum and Rootstock-on-Bitcoin (RSK/BTC). ETC would have its own, independent set of community oracles that answer any discrepancy. In the event of an ETC fork, the Metronome system would use the ETC community oracles as the source of truth.
The goal is to automate the choosing of hard fork sides, automatically ingesting and following the community choice for each blockchain.
Finally, as a global check on shenanigans via minority chains and attack-style hard forks, the percentage of total Metronome tokens on a particular chain shall have a commensurate voting weight to its stake of the global supply. in the event of a discrepancy in the Metronome consensus protocol between two versions of the MET global supply timeline.
Phase 3 – Fully autonomous, stake-weighted, cross-chain transfers
Phase 3 of cross-chain validation provides a fully decentralized end state. The model mirrors that of the original Bitcoin blockchain — a full consensus protocol. This model includes:
- A node. In MET Phase 3, each set of Metronome contracts may be viewed like a single Bitcoin node.
- A blockchain. In MET Phase 3, each lily pad maintains its own independent copy of the history of all MET cross-chain transfers.
- A transaction. In MET Phase 3, each user-generated import may be considered like a single unconfirmed Bitcoin transaction. An import is considered confirmed after 24 blocks (24 hours).
- A block. In MET Phase 3, a block may be generated once per hour, on a stake-weighted basis (i.e., the total stake weight of entire lily pad). This block is shared by users desiring imports to each set of contracts.
- A consensus protocol, based on Bitcoin’s design with a proof-of-stake modification. We call this APS, Autonomous Proof of Stake, because it is different from both proof-of-stake (POS) and distributed proof-of-stake (DPOS). In MET Phase 3, each set of contracts is a stake-weighted autonomous actor.
This is possibly the first cross-blockchain blockchain. Each lily pad — each set of smart contracts — uses a Bitcoin-style consensus protocol, with proof-of-stake modification to determine the outcome of hard forks. This consensus protocol automatically chooses one side of a hard fork over another.
The Metronome validator network is an off-chain, increasingly decentralized set of publicly known entities ensuring that the Metronome global supply is not violated. The Metronome team encourages the wider community to file GitHub issues to provide feedback and collaborate on this network, particularly as phases two and three approach.
Dariusz Jakubowski is Bloq’s Head of Community