Published in


Blockchain Tales: Nodle Arcadia governance model

At Nodle, we recently announced the launch of our Arcadia Testnet. I’m happy to share that it is up and running with success after a few network-wide changes and bug fixes. Today I’m going to cover how we proceed with such upgrades and who has control over it.

View of the network on the Polkadot Telemetry portal

Arcadia as a Self Amending Ledger

Arcadia has the possibility to modify its own code and is able to evolve by itself over time; this is often referred to as “self-amending”. I like to compare it to a kid picking up new skills. This is useful when fixing bugs or introducing new features without having to hard fork the network, or raise months-long debates among the community.

This capability is controlled according to the rules that are written into the chain logic itself, this is what we call our network governance model.

How it Works

The blockchain validates and executes incoming transactions (and also produces and settles on blocks) through what’s called runtime. Think of the runtime as the chain’s contract: it defines what can and can not be done on the network, and how it has to be executed.

With Parity Substrate, the runtime is executed inside a Web Assembly Virtual Machine. Because this is decoupled and kept isolated from actual node code (which typically contains the networking and consensus stack), we have the ability to change its code. This is as simple as replacing the Web Assembly binary to be executed, which can be done through a simple specially crafted transaction.

Runtime upgrades on Kusama, Polkadot’s Canary Network. Source: Polkascan

With Great Power Comes Great Responsibility

Of course this is a very sensitive feature and it can’t be left open for anyone to play with. On Arcadia (and eventually on Nodle’s main network when it is deployed) we have a Technical Committee that is granted a mandate (through a custom module) to execute privileged operations on the blockchain. As of now, 4 members of our team have a seat at the committee with one voice each. 50% + 1 vote is needed to use the mandate granted to the committee; this allows us to iterate and push upgrades quickly as we develop the network.

Our committee composition as of today

The Prime Member

One may have noted the existence of a prime member in the previous image. This member of the committee is very important if the other members forget to vote or are taking a long time to do so. When a proposal is more than 2 days old and is still missing votes to be discarded or executed the votes of the non-voting members will be in support of the prime member’s decision.

For instance, if the prime member submitted a network upgrade proposal, but after two days nobody else voted, the proposal will still be executed unless the other members vote for its refusal. This allows us to have a more liquid and light governance model where we do not need to stop everything we are doing every time we want to do an upgrade that we are already in agreement with, which will happen a lot in the upcoming months!

Toward More Decentralization

At a later stage, or for our main network, we may explore alternative models.

Selecting More Members

In order to add more members to the Committee, we could start by adding people from our surrounding community. For example, some of our partners may be interested in participating in such an initiative. This could also include technical people from the blockchain ecosystem that are able to understand the inner workings of the protocol and would like to be involved with Nodle and its development.

Selecting Members Based on a Token Curated Registry

Another alternative could be to select members based on a Token Curated Registry. This means that token holders can choose who would represent them at the Committee. We would then impose a maximum size to the Committee in order to keep it manageable. But of course, this could be changed through a network-wide upgrade, which is all the beauty of the system.

Side note: we actually developed a Token Curated Registry module as part of our Public Key Infrastructure grant from the Web 3 Foundation.

This post is part of a series we are making to explain the inner workings of our chain and our efforts in this direction. Next up: how we are approaching interoperability between our chain and Stellar. Stay tuned!



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store