Tailstorm: A Secure and Fair Blockchain for Cash Transactions

It’s the same structure, a chain of blocks, I call it “sub” here just to better map it to the version where subs are “inside” the summary. Here they’re “outside” as if just forming a lower block time chain, and the summary is a block just like them except that it serves as epoch marker and it is restricted from having siblings. IDK what would work better, to have PoW and TXs in the marker, or to have it be an empty 0-PoW with just coinbase in it, deterministically generated from blocks between itself and the previous marker.

Yes and yes, question is how to best implement this in a way that doesn’t break non-upgraded software. My intuition is that it can be implemented in a nice and clean way. We want this to look just like the network did nothing else but reduce block time.

Depends on the penalty scheme, not so much on how we structure the epoch’s data. This is still Tailstorm mechanics. It improves things for those who’d otherwise have their blocks orphaned, but in absence of block reward you’d still have selfish mining. The fee splitting idea might improve that aspect, I don’t know, my intuition is that it would, but intuition can be wrong so we’d have to analyze this somehow.

Sure, say we’re 1 block short of having enough “subs” for a summary, and some uncle block just got announced. Imagine you’re a 30% miner, do you ignore the new sub and try to extend the “main” chain? No. Because you don’t know what other miners are doing. If you spend hash on that, while they include the sub and spend hash on summary, they can reorg you and you lose 1/K reward.

1 Like

There was an open design question on how to handle block reward settlement. I think this would do it:

With this we:

  • maintain normal blockchain progression (1 PoW per 1 height),
  • maintain legacy SPV compatibility,
  • maintain assumevalid blockchain parsing compatibility.
1 Like

So, there are essentially 2 ways to implement Tailstorm while preserving blockchain structure:

  • The “inner” way, where all of the epoch’s subblocks (best chain + would-be-orphans) are mashed together “inside” the summary block,
  • The “outer” way, where faster blocks are chained together, and would-be-orphans are merged as individual blocks on top of best chain to reach the settlement block.

Both would maintain parsing and assumevalid compatibility with non-upgraded software (e.g. an indexer like Fulcrum could build its indexes as it does now, while completely ignoring Tailstorm), but some things would seem off:

  • The “inner” way would look like as if (K-1)/K hashrate just left the chain and DAA instantaneously adjusted (HF).
  • The “outer” way would look like both target difficulty and average block time got reduced by a factor of 1/K, and with some blocks here and there having the min. difficulty of 1 rather than 1/K.

The immediate benefit of “inner” variant would be reduction of 1-conf (10 minute target) variance:

and services would have to opt-in to recognize any subblock confirmations.

With the “outer” variant, benefits would be as if the network changed block time to shorter blocks.

1 Like

the other day I edited the sketch so it shows the longest chain of subblocks, dropping it here so I don’t lose it :slight_smile:

2 Likes