Proof-Of-Vote for Ergo EIP-37 on Ergo.GetBlok.io
Background - How did we get here?
Following the Ethereum Merge an influx of Proof-of-Work miners (Roughly 800TH) needed to find a new home to continue their mining operation. Both small and large miners began migrating to new chains and many had found interest in Ergo. On the day of the Merge, Ergo hashrate skyrocketed to an unprecedented all-time high of ~250-300TH.
Due to the increased hashrate, block times were drastically decreased and Ergo was extremely profitable during this period of time. Blocks were being found in seconds versus the target block time of 2 minutes. As hashrate increases on the chain, the difficulty also adjusts to slow down the block times by making it more difficult for a miner to find a block.
The difficulty increased to 21.6PH which was reflective of the near 300TH that was on the chain at the time. Unfortunately, many miners and large farms migrated elsewhere reducing the hashrate on ergo and left the long-term loyal miners to deal with the difficulty adjustment. This impact made mining Ergo very difficult and un-profitable for many smaller/loyal miners already dealing with a tough market landscape.
As with most PoW blockchains, Ergo uses a difficulty adjustment algorithm (DAA) to adjust the difficulty in proportion to the hashrate that is on the network. While the main function of a DAA is to stabilize block times, it also provides several security benefits to the chain.
The current DAA on ergo is set to adjust every epoch (1024 blocks) and the difficulty adjustment is measured over the last 8 epochs. Normally the calculation used would not be an issue. However, due to the increase of available hashrate that could surge the network at any time, the DAA needs to be modified to prevent such disruption to the network. In order to adjust the DAA, a hard fork on Ergo will be required.
EIP-37 Tweaking Difficulty Adjustment Algorithm
In efforts to provide a solution to the DAA, Alex Chepurnoy drafted
EIP-37 that proposes a reduction to the length of the epoch from 1024 blocks to
128 blocks per epoch via hard fork. Additionally, the EIP proposes to limit the difficulty adjustment so that it will never increase more than 50% within a single epoch. This EIP has already been implemented in a recent release of the Ergo Protocol Reference Client (Node). It is now up to the miners to vote to determine if the hard fork should be implemented. More details about EIP-37 can be found here
Voting for an EIP
The current voting process is completed by mining pools and solo miners by setting their node configuration to vote YES or NO for the hard fork. This process is somewhat ambiguous as the miner is relying on the mining pool to vote on their behalf.
Once the voting process starts, the vote needs over 90% super majority for the hard fork to be implemented and activated. A minimum of 232 votes over the last 256 blocks is required for activation. Voting will be checked every 128 blocks.
As a mining pool, GetBlok.io stands in a unique position of power in that we can control the voting decisions of all the miners currently mining to our pool. We felt that this does not provide a fair democratic voice of the individual miners and in turn we developed Proof-of-Vote (PoV).
During EIP-27, GetBlok.io launched PoV which is mechanism that distributed voting tokens to miners using our SmartPool to provide an individual vote through voting contracts. GetBlok.io Governance Tokens (GBGT) were distributed to miners based on their hashrate provided to the network. These tokens allowed them to vote on the pools decision for EIP-27. Based on the consensus of the miners on the pool, we voted in favor of EIP-27.
Will GetBlok.io implement Proof-Of-Vote for EIP-37?
Due to the short notice on EIP-37 implementation, it will be difficult for us to fully develop an emissions contract to support GBGT tokens. It was our initial intention to begin providing these tokens on an on-going basis to support the upcoming EIP as well as future EIP or pool-based decisions. However, it takes about two weeks to fully develop and test an emissions contract.
Although an emissions contract is not possible, we have found a way to pull miners share data from the back end and distribute GBGT tokens to miners via airdrop. Airdrops will be sent to miners daily. Additionally, we will be providing GBGT tokens to miners that have supported our pool through the last epoch. Outside of the emissions contract, we will be following the same proof-of vote process used for EIP-27.
Voting on GetBlok.io will begin in the next 24-48 hours as soon as we launch the voting contracts and webpage to submit your vote. The voting time period will be a very short window and will only last until October 2nd at 12pm EST. Once the voting period is complete, we will adjust our node based on the votes submitted to the contract. In the meantime, keep an eye on your mining
wallet as you will be receiving GBGT tokens within the next few hours.
To learn more about how Proof-of-Vote works, a full breakdown is provided here
Questions? Suggestions? Ideas? Let us know as a comment below!