marigold-dev / marigold-dev/deku
Updating the Validator Hash
- Dominant language
- OCaml
- Stars
- 82
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
How frequently should we update the validator hash? We currently update the validators hash every time we update the state root ([link](https://github.com/marigold-dev/deku/blob/5a22f3967e60a90dfd30dda7ebd108a04135e16e/protocol/block.re#L180-L182)).
But in principle we could probably do so a different, more frequent schedule.
Would it be ok to do it on the basis of block level? Maybe every block, or every other block, etc. This introduces the potential to not update for a long time if the chain is moving slowly. I'm not sure what the consequence of that would be.
Alternatively we can do on a timeout, either synchronously or asynchronously. This is complicated, but it's not any more complicated than async state hashing which we're working on as per #147 and would likely look very similar.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with protocol/block.re at lines 180-182 to understand how the validator hash currently follows the state root. Review the async state-hashing work in #147, then determine whether block-based or timeout-based updates are appropriate and what slow chain movement implies. Done means an agreed update schedule and a defined implementation scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100