ECC Blockchain Near-death Experience

And the the Importance of the Community

The last few days were dramatic for ECC, a small community driven cryptocurrency project. Due to decreasing amount of staking nodes, the ECC blockchain stalled.

In this article I will describe what happened and how it was solved for the moment with the help of ECC’s strong community. Finally I will also give an advice to avoid another blockchain stall in the future.

Table of Contents

What is ECC?

ECC (or ECCoin) is a community driven blockchain project with a Proof-Of-Stake consensus mechanism. The maximum total supply of ECC (25 billion ECC coins) was reached in 2017.

Before that a staking node was rewarded with newly minted coins, similar to Bitcoin’s mining reward.

After the maximum supply was reached, the steady flow of newly generated coins dried out. The incentive to operate a full node with activated staking was very low since then. Also, due to its low popularity, the network is not used much, and thus only very few transaction fees are collected.

The transaction fees are important for stakers, because they give stakers an incentive to stake as they can get rewarded for minted blocks. Due to some ECC specifics (ECC only has 6 decimals, not 8), the ECC transaction fee was default set to “0”. So staking had absolutely no incentive.

Fee Burning and Stake Rewards

With the ECC daemon 0.2.5.15 release the minimum relay fee for a transaction was finally set to 1 “ECC satoshi” (6 decimals) per byte of the transaction. Thus transactions broadcasted to the network with nodes ≥ 0.2.5.15 must pay a fee.

In ECC this fee is not directly paid to the staker, but is “burned” or “destroyed”, meaning it is removed from the total ECC coin supply.

As a consequence, stakers can mint “real new” ECC coins again (until the maximum supply is reached), and are “paid” this way. Burning or destroying coins has the benefit that also the history of the burned coins is ending at this point. This way the privacy is increasing with usage of the network, because you can’t determine from which burned fee-coins the stake reward is originating from.

Unspent Transaction Outputs

Having a wallet and being able to stake means, that you have received one or more transactions to an address of your wallet which increased your total wallet balance.

Transaction with previous outputs now called “inputs” and new outputs

Viewing this transaction from the sender side, your wallet (the “receiver” in the picture above) was credited coins from the outputs of this transaction. As long as these outputs are not touched by your wallet, they are called unspent transaction outputs, or short UTXOs.

If your wallet is in staking mode, roughly speaking, it is using one of your UTXOs to create the coinstake transaction for generating a new block. If such a block is generated and the network accepted it, this UTXO is locked for the next coming 150 blocks for security reasons. Blockchainers say “the stake transaction needs 150 confirmations to get unlocked”.

According to this, the whole network has to provide 150 other unlocked UTXOs in active staking wallets to be able to generate 150 blocks so that your locked UTXO is getting unlocked and able to stake again.

As each wallet can theoretically have unlimited UTXOs, it is possible that one single node can provide all these 150 necessary UTXOs and thus such node is able to keep the chain running alone.

If this is the case, and no other node is activly staking, the blockchain will stall if this node goes offline.

This is what happened to ECC two days ago! There was one single node providing all the UTXOs to keep the network running. And this node went suddenly offline!

Admittedly, there were other nodes staking, but those didn’t provide 150 UTXOs together. So at some point all available UTXOs were locked and the chain stalled.

The Community Stood Together

So the ECC team called the community in their Discord channel to fire up their nodes and activate staking to get the chain back rolling.

Thanks to the quick reaction of the community the network was reanimated within a few hours and stakes are processing steadily again.

Also, as the ECC daemon beginning with 0.2.5.15 needs a minimum transaction fee (via burning), generated blocks also can mint new ECC coins again, so staking ECC really has an incentive again!

Example of recently minted ECC coins while staking

Increase the Number of UTXOs

So how can such a near-death experience of the ECC blockchain be avoided in the future?

First of all, the network needs more full nodes which accept incoming connections on TCP port 19118. This helps normal private nodes to get more connections to the network and keep their copy of the blockchain in sync.

Then, as said above, the network needs more UTXOs, so that staking keeps going also with less active staking nodes. This can be done easily by sending yourself small transactions as can be seen in the illustration below:

Manually generating UTXOs to your own wallet

This procedure will generate new UTXOs with 10 ECC each. As the UTXO amount is increased, it is more likely to get be able to generate a new block and the outage of other nodes can be absorbed.

It is important to note that the staking algorithm, which was originally derived from Peercoin, can create new UTXOs by splitting the UTXO of a stake input. For example, if you have a UTXO with 1000 ECC, and this one is used for a stake, it is possible that the staking algorithm splits this amount into 2 x 500 ECC in the generated block, so the amount of UTXOs is increasing. On the other side the algorithm also can merge 2 UTXOs into one, to keep the amount of UTXOs manageable.

New Services Coming

The ECC main developer Griffith is in the final stages to implement the ADOV data routing protocol, which will be the base infrastructure for the upcoming ECC services with blockchain commitments.

Those services will both, increase the usage of the ECC blockchain and increase the amount of burned Tx-fees. Thus staking ECC will become more interesting over time! A project to keep an eye on!

Sources

Trade: https://wallet.crypto-bridge.org/market/BRIDGE.ECC_BRIDGE.BTC

Reddit: https://www.reddit.com/r/ecc/

Discord: https://discord.gg/BYBhQVq

Twitter: https://twitter.com/project_ecc