BPL Technical Update v0.5: QoS & Fixed Block Rewards

v0.5: Quality of Service Enhancements & Fixed Block Rewards

We’re rolling out BPL v0.5 to our testnet in the coming weeks. This post will first explore the reasoning behind the changes, then dig into the details.

Our goal with Blockpool is to provide a truly decentralized, modular blockchain for enterprises to freely develop their own applications, plugins, and dApps. We've built Blockpool using the Delegated Proof of Stake (DPoS) model for a number of reasons: it's fast, efficient, gives developers the freedom to innovate without taking on risk, and is designed to be a fair, democratic system.

Participants in a DPoS blockchain consist of token holders and a team of delegates. Similar to a corporate board of directors, token holders elect a predetermined number of delegates who get paid to solve - or "forge" - the blocks and maintain the integrity of the network.

In some iterations of DPoS blockchains such as Lisk, delegates are assigned one equally weighted vote per delegate, with votes weighted based on each delegate’s token holdings. This system has enabled voting collusion between wealthy delegates. The largest LISK token holders continuously vote for one another to secure their positions as top delegates.

Because voting participation rates by smaller token holders is quite low, large players dominate voting — two major delegate pools now control more than 85% of Lisk’s block production. This situation has effectively rendered the Lisk network as a hostage - no new delegates can join the network profitably as they won't be able to get voted in, and anytime a developer wants to update the network they need consent from the delegate cartel. Additionally, there’s no way to punish colluding delegates for poor performance.

Collusion in economic systems is a virtually inevitable result of human behaviour - we've seen it in precious metals trading, LIBOR rate setting, Bitcoin mining, and now DPoS forging. We expect participants to behave no differently with Blockpool - if given the opportunity.

To prevent this type of situation from being able to occur in the first place, and to prevent bad actors from participating in our system, we’ve introduced a few key mechanisms with Blockpool:

  • A one-vote-per-delegate system
  • Quality of Service (QoS) v1.0
  • A temporary 5 BPL fixed block reward

One delegate vote per address

Each BPL wallet address is able to vote for one delegate node per voting round out of a total of 201 delegates. The goal of this system is to incentivize each delegate to vote for themselves — not each other — and prevent voting collusion.

Collusion is still technically possible with this system, but far less likely due to how expensive it would be. Because BPL allows one vote per wallet and there are 201 delegate spots, any delegates wishing to collude would need to spread their tokens out in several wallets which would weakening their relative voting power, thus rending collusion more expensive and less effective than on other DPoS networks.

Quality of Service v1.0

In the interest of maintaining Blockpool's network stability, v0.5 will introduce two key Quality of Service (QoS) improvements to enforce good behaviour from delegates:

  • enhanced reliability ranking metrics
  • a deregistration mechanism

Enhanced Reliability Ranking Metrics

Blockpool delegates are currently ranked based on a number of metrics, including:

1. the amount of coins owned by the delegate address 2. the amount of coins staked to the delegate address (votes from token holders) 3. the number of individual votes assigned to the delegate address 4. a reliability metric that analyses missed blocks

Only the top 201 ranked delegates have the ability to forge blocks and earn BPL.

With v0.5 we're introducing a couple of changes to remove poorly performing delegates from the network, while still allowing some degree of flexibility for temporary disruptions.

If a delegate node misses out on forging a block for any reason their delegate rank will be reduced by a set percentage. If delegates miss enough blocks, over time their rank will eventually diminish far enough to push them out of the top 201 ranked delegates and prevent them from forging new blocks. Delegates can eventually gain their reliability rank back by keeping their node online without disruption.

Additionally, if a delegate misses 10 blocks in a row, they will be penalized by not being able to forge blocks for the next forging round, which consists of 201 blocks (one per delegate). After waiting out a round, delegates are assigned a minimal reliability rank of 10% so they can begin forging for the next round and have a chance to regain their ranking.

Deregistration

In the event that a delegate goes offline for a long period of time and doesn’t show any signs of coming back online, they can be deregistered via delegate consensus, completely removing them from the pool.

Housekeeping, if you will.

5 BPL Fixed Block Reward

Lastly, in the interest of attracting new delegates to the Blockpool ecosystem and replacing the genesis nodes, delegates will soon receive a fixed reward of 5 BPL for each newly forged block. This temporary change will improve the profitability of running a BPL node, attract more delegates to the BPL ecosystem, and foster a more competitive and healthier network.

In the future when Blockpool sidechain creation goes live, we will remove the fixed block reward — at this point delegates will be able to earn far more than 5 BPL per block.

The economic reasoning behind the temporary 5 BPL fixed reward change is detailed in this excellent writeup on Reddit. A huge thanks to our community member toucansam_bpl. Keep following your nose!

With the upcoming launch of our Delegate Management Software and v0.5, running a BPL delegate node will be easier, safer and more profitable than ever before.

We're currently testing v0.5 and expect to launch the update on our testnet on or before June 25th.

Keep Reading.