The tip of the blockchain can be hardened through the inclusion of orphaned blocks that had valid stake but were not as timely as the blocks that made it into the chain. These orphans contain valid blockchain states which can be used against consensus when ignored, but could be used to strengthen consensus if included. By referencing these orphans twice, once upon initial inclusion and again upon redemption, we harden the tip of the chain against attackers.
An ‘orphan’ is determined as any valid chain state with lower chainweight than another valid chain state (dubbed the ‘main chain’) that has a most recent timestamp preceeding the timestamp of the block in the main chain at the same block height plus one. I.e. an orphan is found at the same height, but after the block that was chosen for the main chain, but before the subsequent confirming main chain block.
‘Inclusion’ of an orphan means referencing the block hash and its staking input as additional bits of information in the main chain at any block height after the orphan was produced. We may want to limit this to, say, 6 block depth. We could also impose a 1 block depth and only consider most recent orphans. This depth will be considered a secondary parameter.
‘Redemption’ occurs when an included orphan successfully mints and adds a block onto the main chain. When this occurs, an additional block subsidy is added as a reward for previous minting behavior when producing the orphan. We can assume that such a reward will motivate minters to always broadcast their orphans, even if they have no chance of them actually becoming main chain blocks. This incentivizes making such near-minting coinstake public and producing additional valid chainstates that are cross referenced in the chain. The magnitude of this redemption reward is also considered a secondary parameter.
The inclusion of an orphan will increase the chainweight of the including block. Each orphan will therefore contribute to chain security against private chain attackers who will not have access to these publicly broadcasted orphans when seeking to cause multi-block reorgs. The magnitude of this chainweight increase should be small, some fraction of a proof of stake difficulty point (such as +0.01 chainweight, or being dependent on the timestamp of the orphan), so as not to compete with the block height as a measure of chainweight in any real capacity. This additional chainweight should be seen as a critical parameter that will provide the quantitative benefit of this proposal as far as chain security is concerned.
By having many virtual chain states pointing back to the true chain state, this proposal hardens the tip of the chain against attack. While a private minter will be able to use privately found orphans to bolster an alternative chain history, they will be competing with the entire minting network producing orphans (especially if a 1-block chain depth orphan inclusion limit is introduced). An attacker with less than 51% of the minting power can be thwarted in this way.
While the security implications can be chosen via the critical chainweight parameter as being negligible or impactful, the resulting minter behavior will be fundamentally different than it is now. While we see ~1 orphan a day currently, under this proposal we should expect to see an orphan every block or so. It is worth stressing that these nearly-competitive valid coinstakes exist whether they are broadcasted or not, this is merely a way to publicize their existance. This proposal directly addresses the ‘nothing at stake’ concern by identifying alternative block histories and indexing them.
Finally, we can look at the economic and minter behavior implications of the redemption reward. More than likely, some static number will be chosen independent of coinage consumed, as no coinage is actually consumed in the production of the orphan. As such, it will likely be a static number, or a direct increase of the static component of the reward. For example, redeeming an included orphan may gain you 2x the static portion. In such case, and assuming an orphan is included every block, we could expect to see a direct inflation increase of 2x the static component, or 0.25%/year. As an alternative, we could directly increase the total block subsidy, coinage consumption included, by say 10%. The issue with such coinage-based redemption rewards is that the original orphan did not have as much coinage as the redeeming coinstake. As such, you could gain an unfair amount of block subsidy by intentionally creating orphans rather than real blocks, a possibility that we certainly do not want to encourage. An additional static reward per redeemed orphan up to the current static reward is therefore the limit of a safe policy. In determining this number, we should look to the knock-on implications to the minimum viable and ideal minting stake size that an additional static reward will generate. We could also simply reduce the static subsidy and give the difference to included orphans instead.
Hardening the chain tip will provide some wiggle room for faster finality, such as a faster 5 minute block time or fewer expected block confirmations.