Skip to content

Conversation

apenzk
Copy link
Contributor

@apenzk apenzk commented Feb 11, 2025

Summary

  • MIPs: MIP-37.
  • Categories: protocol-units

Introduces the role of acceptor in the MCR contract, see MIP-37.

The postconfirmer (prevs. acceptor)

  • should be selected based on L1 randomness (not part of this iteration of the protocol)
  • serves for a certain period
  • receives rewards for service
  • is replaceable by volunteer attester
  • is checked for liveness

The volunteer-postconfirmer

  • can postconfirm at any time
  • gets only rewarded after a privilege window for the postconfirmer is over

Motiviation

Currently rewarding based on time of commitment and the complexity that arises from the last committer having higher commit cost and different rewards may cause race conditions, co-location and centralization.

This can be resolved by separating the tasks into attesters and postconfirmer, where postconfirmer is a new role that converts provided attester commitments into a postconfirmation and update the state (i.e., rollover to new epochs). The sole role of the attester becomes to commit.

As a simple first PoC the current acceptor could be selected based on "slow" randomness from L1. E.g. using hashes from L1-blocks. However, this would require that the protocol is modified to use L1 blocks instead of timestamps for epochs. This has been ommitteed for now, but as a consequence it becomes predictable who is the postconfirmer.

Changelog

Testing

forge test ok
cargo check ok
cargo test fail

Outstanding issues

  • using time for acceptor term instead of blocks requires to use pre-calculatable randomness, while this enables rotation it does not make it unpredictable. (this will be fine for now but should be revisited later)

apenzk and others added 6 commits February 11, 2025 15:46
Co-authored-by: Andy Golay <[email protected]>
Co-authored-by: musitdev <[email protected]>
Co-authored-by: Mikhail Zabaluev <[email protected]>
Co-authored-by: Richard Melkonian <[email protected]>
Co-authored-by: Icarus131 <[email protected]>
Co-authored-by: primata <[email protected]>
Co-authored-by: Icarus131 <[email protected]>
Co-authored-by: Richard Melkonian <[email protected]>
@apenzk apenzk changed the title Postconfirmation protocol [draft] Postconfirmation protocol: collects the relevant PRs Feb 17, 2025
@apenzk apenzk changed the title [draft] Postconfirmation protocol: collects the relevant PRs [draft] Postconfirmation protocol Feb 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants