Archipel — Run unsinkable services

Ostapenco Vladimir
Lugus Labs
Published in
5 min readFeb 6, 2020

TL;DR : Archipel is a high-availability solution for blockchain services on decentralized infrastructure.

Introduction

Back to March 2019, after the Eduardo Antuña talk presenting DAppNode at ETHCC, we were discussing with our colleagues about decentralized infrastructure and the alternative usage of internet provider boxes at home. Then, late night in Paris Airbnb with the help of some good wine, pops-up the word:

Archipelago, Archipel in French.

A word, as an image of a resilient federated bunch of individual islands. Each island has an individual identity but accepts to join a more broad representation, so call Archipelago. If one island disappears, the Archipelago is still there with others and continue to live, continue to exist and serve. That image drove us to write and put down on a paper to formalize this vision. That is how Archipel Atoll paper emerges. Written by Vladimir Ostapenco and Francois Branciard.

Why does it matter ?

Nowadays, many blockchain services are centralized on cloud infrastructure. For instance, around 70% of Ethereum nodes are in VPC and 63% of Ethereum Dapps use Infura Provider as this survey shows. We can imagine that in a few years some blockchain services can be banned from public cloud providers. Moreover, cloud providers can have an interruption of services and network issues.

One solution can be to have a decentralized infrastructure at home. The problem is that it is challenging to maintain a good quality of service at home. You can have internet connection or power cuts. As a result, it is very unsafe to install a Proof-of-Stake validator at home. Your validator must be always up (24/7) and ready to execute its duty. If not, you will be slashed by the network and lose your money. To solve this problem, we are creating a solution to provide high availability for blockchain services. The first service that we target is Polkadot PoS Validator.

Archipel — Emergence

A few months later, we were all also obsessed with this idea and wanted to try it in action. We participated in the ETHBerlin Hackathon in August 2019 to crash test High-Availability setup for validator nodes on the Polkadot Alexander testnet. You can read more about our participation and see the first working prototype in action here.

With only a few hours of sleep, we successfully managed to construct a not perfect but working solution. The first High-Availability setup using 3 DAppNodes was launched.

We had many good feedbacks from the members of the jury, and it inspired us to apply to the Web3 Foundation Grant Program to go further.

We created Lugus Labs. Lugus Labs is a tech laboratory for decentralized software and blockchain innovation.

Our Grant request was accepted by the WEB3 foundation in Wave Four Grant! Thank you for your support!

It boosted the development of the first high availability solution for Polkadot validator nodes on DAppNode.

Archipel — Spread out

In the meanwhile, we exchanged with the DAppNode team about the Archipel project. They are interested to see more services on top of the DAppNode. But there are some drawbacks that can slow down the adoption of decentralized light infrastructures. One of the major drawbacks is the high availability of services.

That’s why Pol Lanski from DAppNode introduced a glimpse of Archipel at Devcon in Osaka last October.

In January 2020, we were pleased to be invited to the first Paris P2P Festival. There we introduced Archipel, DAppNode and Substrate Framework.

Archipel — First milestone

At this moment, we have already released the first grant milestone.

It allows you to create an Archipel federation of 3 DAppNodes to assure the high availability of Kusama Polkadot validator nodes.

How it works?

There is an example of an Archipel federation of 3 DAppNodes. To be able to take any decision within a federation, the Archipel nodes must be synchronized and have a common state. Archipel achieves this with the help of Archipel Substrate Chain.

Thanks to the common state between federation nodes, a leader can be elected.

When a leader is elected, a Polkadot Kusama validator node is launched. All other nodes launch Polkadot Kusama node in synchronization only mode.

To detect node failure, every participant of the federation submits metrics periodically to Archipel Chain and receives metrics from other nodes. If a node doesn’t send any metrics, it can be considered as a failing node.

If a node is failing and is the current leader, another node will try to take its place and will become the new leader. The new leader will launch a Polkadot Kusama validator node.

Components of Archipel Solution

  • Archipel Chain is a component that is responsible for Archipel state synchronization between participants. Archipel Chain is based on the Substrate framework.
  • Archipel Orchestrator is the decision-making component in the Archipel federation. It stops, starts, activates or deactivates the validator node, according to the Archipel Chain state.
  • Archipel UI is the Archipel chain state visualization component.

You can find more information about Archipel components in our GitHub repository.

Warning! The product development is at an early stage. The software should not be used in production. We will address some security features in the next milestone.

Archipel — New horizons are open

In the next milestone, we are planning to add more security and some interesting features to Archipel.

Our plans:

  • Add a component that will allow you to easily bootstrap an Archipel federation(create/join mechanism)
  • Include real-time Polkadot network metrics into the decision-making mechanism
  • Add the support of Sentry nodes
  • Add the support of VPN tunnels
  • Rework Archipel UI

You can follow us on twitter to be updated.

Of course, we are open source. You are welcome to contribute and help us in building open source tools for the high availability of services on decentralized infrastructure.

--

--