PoSt Stamps: proposal for removing VDF

Assign
Category
DRI
Nicola
Dependency
Description
Goal
explorationpractical application
Impact
Priority (Nicola)
Size
Solution?
Status
icebox
people
who requested it

Terrible Interactive PoSt

Intuition: A miner submits a PoSt proof at every block i, using the seed at block i-1.

Problem: The on-chain footprint is 192bytes * number of miners, this is completely impractical.

Next steps: Can we avoid everyone submitting a proof at every block?

Improvement 1: We can submit a commitment to the proof at every block, and generating a snark that proves that all the commitments open to correct proofs! (The on-chain footprint is still very impractical 32bytes * number of miners at every block)!

Improvement 2: We can submit commitments to the proof at every block to a special node which collects all the commitments and puts them in a merkle tree. At the end of the proving period a miner generates a snark showing that at every block they had a valid inclusion proof for their proof. (The on-chain footprint will be a minimum of 32 bytes for the entire network!)

PoSt Stamps

  • Stamp: A PoSt stamp Stamp_t is a commitment to an online PoRep proof (a single PoSt epoch).
  • Aggregator: A PoSt Aggregator is a special node that collects

Intuition:

  • At every block:
    • Each miner runs a single PoSt step (online Proof of Replication) using the seed from the previous block
    • Each miner submits a stamp to the Aggregator
    • The Aggregator build an accumulator and sends an inclusion proof to each miner
  • After the proving period:
    • Each miner submit a SNARK that prove that there is a commitment at every block (by proving that it's included in the accumulator block) and that every commitment opens to a correct Proof of Spacetime step

New problems:

  • What if the aggregator is offline? Ideally each miner sends their PoSt to multiple aggregators and multiple aggregators submit the proofs on chain.
  • What's the incentive for an aggregator to aggregato proofs? Unclear!
  • What if an aggregator does not include a proof? A miner should make sure they send it to multiple aggregators :(