Replace first block zeroes with pseudo-random data

Fix polynomial normalization by nazar-pc · Pull Request #1454 · subspace/subspace · GitHub reminded me that we should probably replace zeroes in the genesis block with pseudo-random data instead. Not sure if those zeroes can be exploited on real network, but why risking it, right?

We can use ChaCha20 or even ChaCha8 and genesis state root as a seed.

I don’t think our specification even talks about this at all right now.

For context: we need this to solve chicken-and-egg problem: for archiving we need to produce blocks, for block production we need to plot archived history. Without enough data in the genesis block to produce at least one segment of archived history we have nothing to plot and can’t kickstart block production.

1 Like

Random data sounds better than 0s. If the initial pieces are all 0s, the farmers are basically plotting the PoS qualities, which doesn’t feel right.
This could also be our chance to put something special in there, that we want to archive, possibly with a sentimental value attached, like the whitepaper.