Implement hArk round protocol
This PR is pretty big, I tried to chop it up into pieces at least a little bit.
There are three major parts:
- the
libcommit that refactors theark::tree::signedmodule to be hArk-based- comes with some changes required to server and client to make the compiler happy
- a bunch of preparatory commits in the server to add hArk functionality without changing the protocol yet
- the actual protocol implementation
- server and client in separate commits
Currently missing:
- reimplementation of the sweeper and forfeit watcher (they are neutralized in this PR)
- bark API to actually participate in non-interactive rounds
- accompanying integration tests for this functionality
This is a breaking change without any effort made to stay backwards compatible.
Follow-up issues:
Edited by Steven Roose