ouroboros-network icon indicating copy to clipboard operation
ouroboros-network copied to clipboard

Draft: Genesis exploration

Open jasagredo opened this issue 4 years ago • 1 comments

The way I implemented prefix selection for now is as follows: 2021-09-14-165436_1444x1459_scrot

Implemented:

  • Currently prefix selection is just a step before BlockFetch decision logic that will provide an updated map of candidates if we are in Syncing mode.
  • Genesis window length is now a parameter of the consensus config that for now MUST NOT change between eras (à la k).

Open questions:

  • How to define Caught up and Syncing?
  • In CaughtUp mode, should BlockFetch receive all the candidates and download them following its own policies (network timing, then length) or should we only provide certain candidates?

Pending changes:

  • property tests.
  • the TODO @js comments here and there

jasagredo avatar Aug 27 '21 14:08 jasagredo

Some general and superficial remarks:

  • for most of the new functions it'd be great to have:
    • examples in the docstrings
    • property tests
    • unit-tests/doctests to illustrate what they do
  • for prefix selection, would it make sense to have:
    • an asymptotic complexity analysis

dnadales avatar Sep 21 '21 10:09 dnadales

Javier closed this because it's bitrot. He's on UTxO HD now; Esgen and I are on Genesis.

Javier's worked here helped drive some good discussions with me. And I'm hopeful we can harvest some parts when Esgen and I start implementing the design.

nfrisby avatar Oct 26 '22 17:10 nfrisby