Cardano Stake Pool
Reading time: 8 min

We run a Cardano Stake Pool by the ticker [DSIO] to which you can delegate your ADA. The stake pool is composed of 3 Nodes - 1 Core and 1 Relay in the Netherlands and 1 Relay in Portugal. Our purpose is to increase Decentralization of the Cardano Network and use the Nodes as the Sandbox to develop Smart Contracts and Applications.

Stake Pool Launched on 06-Dec-2020

First Block produced on 17-Jan-2021 (link)

Second Block produced on 22-Feb-2021 (link)

Why we are running a Cardano Node

Cardano is being actively developed and will become one of the top DeFi platforms in the years to come. This is where the innovation in blockchain technology will happen.

Smart Contracts and Development of Applications

We launched a set of Nodes on the Cardano blockchain to function as a sandbox for our development of Applications. This is where we will be writing our smart contracts to launch on the blockchain.

Cardano is Scientifically rigorous

Cardano is built differently to all the other blockchains that advertise smart contract functionality; it is built on the Haskell programming language and has adopted formal methods which makes it stand apart in terms of rigor.

It also does not require wasteful energy consumption to keep the blockchain going thanks to its bespoke consensus protocol. It uses a proof-of-stake algorithm (no energy waste) versus a proof-of-work algorithm of Bitcoin for example (with a lot of energy waste)

Cardano is Energy Efficient

There are two main blockchain protocols: Proof-of-stake (PoS) and Proof-of-work (PoW). These protocols are consensus algorithms for distributed networks that determine how the nodes on the network agree with each other

Proof-of-work is the blockchain protocol used by bitcoin. Proof-of-work began a revolution: it enabled the creation of secure, permissionless, distributed networks. But to achieve consensus for each new block, proof-of-work requires an enormous amount of energy: an amount so large that the supported blockchains struggle to sustain and scale to the performance requirements of global networks.

Proof-of-stake answers the performance and energy-use challenges of proof-of-work, and arrives at a more sustainable solution. Instead of relying on 'miners' to solve computationally complex equations to create new blocks – and rewarding the first to do so – proof of stake selects participants (in the case of Cardano, stake pools) to create new blocks based on the stake they control in the network.

While Proof-of-work guarantees that each network participant has performed a certain amount of work in order to receive a reward, Proof-of-stake requires participants to prove that they are willing to guarantee the integrity of the blockchain by risking (or locking) a certain amount of cryptocurrency as proof of their good intentions. Participants thus "stake" a certain amount of value (coins) in order to get the chance to verify a block of transactions.

Delegation - The staking process works using a delegation mechanism. The coin holders delegate their coins in favour of a pool giving that pool the right to vote on their behalf. The more coins are delegated to a pool, the higher the chances of that pool producing a block. When blocks are produced the reward is then split among all stakeholders proportionally to the amount they staked.

Note that in a Proof-of-stake the coins are not sent anywhere, only the right is given to the pool to represent them. If the coin holder decides to sell or move his coins, he is free to do so. The pool thus does not control the coins at all.

Cardano is built using the Haskell programming language

Haskell is a functional programming language, which is well-suited for high-assurance code and programs that require a high degree of formal verification.

Functional programming languages put an emphasis on using functions - that always give the same result for the same input (this is very important).  Haskell programmers can make it much easier to reason about their code in the form of “equational reasoning”. This makes it easier to write correct code proving its correctness.

Proving the correctness of the code is what is referred to as Formal Methods. Lack of correctness of code can lead to code failures, or smart contract exploits on other blockchains and smart contract languages have resulted in disastrous consequences and led to considerable financial losses, often in the billions of dollars. This is a key point for institutional users, who have a fiduciary obligation to look after their client's money and need to ensure that they are using robust technology.

Comparison between Functional and Procedural Programming Languages

Founder of Cardano was one of the Ethereum founders

The founder of Cardano, Charles Hoskinson, was part of the core team that launched Ethereum and later exited following a dispute. After leaving he launched Cardano. Now there is generally a benefit of having a second go and avoiding the same mistakes again, and clearly this is case here as well. We have seen Ethereum struggle with issues since its launch - e.g. insufficient throughput for all the DeFi apps, a code base that was, at least initially, subject to attacks, and a wasteful proof-of-work mining protocol that it is now moving away from. These and other mistakes Cardano is trying to avoid from day 1.

What is a Cardano Node

A blockchain is a web of Nodes that are connected to each other. On the most basic level all the Nodes need to agree on what the true state of what the blockchain is keeping a record of.

The Cardano Node is therefore an element of the blockchain, it is the core component that enables our participation in the Cardano blockchain. By running a Cardano node we contribute to the network by our mere presence, and the more Nodes there are the more the decentralized the network becomes

The word Node and Stake Pool can be used interchangeably without loss of generality. The difference between them is that a Node can be a Relay node, or a Block Producing node, whereas a Stake pool is a combination of at least 1 Relay node (and often more) and at least 1 Block producing node. The stake pool needs to be reliable so that the it can produce a block whenever it randomly gets allocated its go.

The following infographic illustrates the mechanics:

  1. The Cardano Network is a large number of Nodes that are constantly talking to to each other over the internet. And their purpose is to communicate what ever it has witnessed and ensure that everyone else agrees with it (aka reaching consensus)
  2. Our Stake Pool is part of this Network. The Relay Nodes talk to everyone everyone else in the Network and keep the Block Producing Node protected. The Block Producing Node only talks to the Relay nodes and its job is to produce blocks when its slot arrives. With the launch of Smart Contracts on Cardano this Node will process their business logic.
  3. The blockchain is an immutable sequence of blocks (can not be changed) and its subsistence depends on nodes like ours. The blockchain grows over time as new blocks get created.
Illustration of the Cardano Network, the Blockchain and our Block Producing Node

Our Cardano Node / Stake Pool

Our Stake Pool is made up of 3 Nodes split between the North of Netherlands (Groningen) and the South of Portugal (Faro). Since regions are independent geographic areas, spreading resources and applications across different regions and zones provides isolation from different kinds of resources, applications, hardware, software, and infrastructure failures. This provides an even higher level of failure independence meaning the failure of one resource will not affect other resources in different regions and zones.

  • Block Producing Node - Netherlands (Groningen)
  • Relay Node N1 - Netherlands  (Groningen)
  • Relay Node N2 - Portugal (Faro)

The servers in Netherlands are Intel Xeon, 2CPU at 2.0GHz, 5GB RAM and 40GB Disk connected on a 100Mbps+ line with unlimited bandwidth. The server in Portugal is an Intel Cedar Mill, 2CPUs at 2.2GHz and 8GB RAM also on unlimited bandwidth.

Stake Pool Ticker: DSIO

Our Node is identified by a ticker. Those interested staking their ADA with or Stake pool can find the pool in Daedalus Wallet under the ticker DSIO.  Detail of the stake pool can also be found by the links below:

Note that these are external pages that monitor the Cardano Blockchain, including our stake pool.

Geographical Location

Our servers are located in the north city of Groningen in the Netherlands and in a southern city of Faro in Portugal.

Geo location of Nodes in our Stake Pool

Socially Responsible

The datacenter in Groningen is 100% powered by Wind and Solar energy. The datacenter has agreements with wind farms in Delfzijl and Zeeland and a solar energy park in Delfzijl Sunport for the purchase of renewable energy. Our Block Producing Node and a Relay Node are hosted at this datacenter

The second Relay Node is hosted at a local datacenter in the South of Portugal that supports Students and Startups particularly through the challenging period of Covid19 as  this being a region that is highly dependent on tourism (that has been lacking). Also Portugal was one of the furthers places in Europe from the Netherlands that we found. This Relay Node is connected to the Core Node in the Netherlands.

Our connection strategy from our Relay Node in the Netherlands is to communicate with other Nodes in Northern Europe and US, and the Node in Portugal communicate with other Nodes in Southern Europe and further East such UAE,  Australia and Japan.

Contribute to Decentralization of the Network

One of the fundamental principle of a public Blockchain is its decentralization. Cardano aims to truly and  globally decentralize its network over a thousand times more than Bitcoin - this means that there will be thousands of pools upkeeping the blockchain network. The goal of a truly decentralized blockchain network is to prevent a single point of failure that shuts down the entire system.

To uphold this principle we will operate only 1 pool and have we joined the Single Pool Alliance which is a group of pool operators who subscribe to this principle [Link]

Monitoring the Node

All the nodes run on a Ubuntu 20.04 LTS Linux with the industry standard process management systemd. Any unforeseen reboots of the servers will restart the Node automatically and have it connected to the Cardano Network.

2 Relay Nodes for Redundancy

We run 2 Relay Nodes in case if one of them goes down then Core node can still communicate with the Network through the other one. To note that the Relay Node receives the brunt of the work load and the Block Producing Node has a relatively easy life being protected from wild internet by the Relay Node, so the chance of the Block producing node going down are lower from the start.

Dashboard

We use a combination of Prometheus and Grafana to monitor the Nodes in the Stake Pool. A print screen with an example is below. Any anomalies highlighted by this dashboard get remediated promptly.

Monitoring Dashboard image
Grafana Dashboard used to monitor the Node in our Stake Pool

Conclusion

Cardano is here to stay and will become one of the dominant blockchains for DeFi applications. In preparation of this we have launched a Staking Pool that is run on 3 Nodes and that will be used as our sandbox to develop smart contracts and applications.

Our Staking Pool has redundancy built in to minimize disruptions, and is operated out of 2 geographical locations (Netherlands and Portugal). We use socially responsible server providers - The datacenter in the Netherlands is 100% powered by Wind and Solar Energy and in Portugal we use a local datacenter that supports Students and Start-ups

If you hold ADA and want to participate then stake your ADA with our Pool. You can find it by the ticket DSIO in your favourite wallet. We will run only 1 Pool and have joined the Single Pool Operators Alliance, so take your spot before the Pool gets saturated.

Sources:

Links for more detail on the subjects covered in this page

Why Cardano chose Haskell: Link
Advantages of Functional Programming Languages: Link
What is a Cardano Node: Link
Grafana Dashboard: Link
How Proof of Stake works: Link Link2