cothority
cothority copied to clipboard
Skipblock propagations
We have three times startPropagation
in skipchain/skipchain.go
, which can confuse things, specifically if the genesis-block already has its forward-links updated, but the block it points to is not available yet.
Cleanup: keep only one startPropagation
in StoreSkipBlock
.
It is difficult to get right without breaking old skipchain implementations. As an exercise, until cothority.v3, this will stay with three startPropagation
.
- when creating a new skipchain in
StoreSkipBlock
- when creating the forwardLink level 0
- when adding an additional forwardLink level
See also #1068
We'll be changing the protocol to fix this issue, so it has to be done before v3 release or for v4. We're very close to the release date so I'm not sure whether we should commit to this issue given that it is an optimisation/cleanup. It's likely that optimising skipblock propagation will help but we also don't know how much. Maybe there should be a student project that thoroughly investigates the bottlenecks (CPU/network/disk) of cothority then go from there. What do you think @jeffallen @Gilthoniel ?
Taking out of v3, marking for a student project maybe.