Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Draft] Slash malevolent validators #294

Merged
merged 29 commits into from
Aug 21, 2023
Merged

Commits on Aug 20, 2023

  1. add slash tx

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    0a61802 View commit details
    Browse the repository at this point in the history
  2. ignore unsigned tx replays

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    192daa9 View commit details
    Browse the repository at this point in the history
  3. verify that provided evidence is valid

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    666d047 View commit details
    Browse the repository at this point in the history
  4. fix clippy + fmt

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    a7834d6 View commit details
    Browse the repository at this point in the history
  5. move application tx handling to another module

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    3ecf234 View commit details
    Browse the repository at this point in the history
  6. partially handle the tendermint txs

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    88f6629 View commit details
    Browse the repository at this point in the history
  7. fix pr comments

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    206167a View commit details
    Browse the repository at this point in the history
  8. support unsigned app txs

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    e6b79b0 View commit details
    Browse the repository at this point in the history
  9. add slash target to the votes

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    0c251e4 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    03bccef View commit details
    Browse the repository at this point in the history
  11. bug fixes

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    a08c185 View commit details
    Browse the repository at this point in the history
  12. add unit test for tendermint txs

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    0cf7dc8 View commit details
    Browse the repository at this point in the history
  13. bug fixes

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    b6e1025 View commit details
    Browse the repository at this point in the history
  14. update tests for tendermint txs

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    db98b43 View commit details
    Browse the repository at this point in the history
  15. add tx ordering test

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    10ed1c2 View commit details
    Browse the repository at this point in the history
  16. tidy up tx ordering test

    akildemir authored and kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    167f08f View commit details
    Browse the repository at this point in the history
  17. cargo +nightly fmt

    kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    2b908d1 View commit details
    Browse the repository at this point in the history
  18. Misc fixes from rebasing

    kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    1adff6e View commit details
    Browse the repository at this point in the history
  19. Finish resolving clippy

    kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    f2f9851 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    7e4e055 View commit details
    Browse the repository at this point in the history
  21. Resolve a DoS in SlashEvidence's read

    Also moves Evidence from Vec<Message> to (Message, Option<Message>). That
    should meet all requirements while being a bit safer.
    kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    99e763f View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    6edae35 View commit details
    Browse the repository at this point in the history
  23. Various small tweaks

    One use of sort was inefficient, sorting unsigned || signed when unsigned was
    already properly sorted. Given how the unsigned TXs were given a nonce of 0, an
    unstable sort may swap places with an unsigned TX and a signed TX with a nonce
    of 0 (leading to a faulty block).
    
    The extra protection added here sorts signed, then concats.
    kayabaNerve committed Aug 20, 2023
    Configuration menu
    Copy the full SHA
    baf871f View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    fbfad30 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2023

  1. Configuration menu
    Copy the full SHA
    05136ca View commit details
    Browse the repository at this point in the history
  2. Remove empty_signature

    empty_signature led to corrupted local state histories. Unfortunately, the API
    is only sane with a signature.
    
    We now use the actual signature, which risks creating a signature over a
    malicious message if we have ever have an invariant producing malicious
    messages. Prior, we only signed the message after the local machine confirmed
    it was okay per the local view of consensus.
    
    This is tolerated/preferred over a corrupt state history since production of
    such messages is already an invariant. TODOs are added to make handling of this
    theoretical invariant further robust.
    kayabaNerve committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    a75eb11 View commit details
    Browse the repository at this point in the history
  3. Remove async_sequential for tokio::test

    There was no competition for resources forcing them to be run sequentially.
    kayabaNerve committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    97c95e1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ac13612 View commit details
    Browse the repository at this point in the history
  5. Clean tests

    kayabaNerve committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    d098c2d View commit details
    Browse the repository at this point in the history