Skip to content

[Bug] Consensus breaks not identified #19

@GregTheGreek

Description

@GregTheGreek

From Martin on gitter:

Ah, I see. Well, I think there's a different problem. See e..g. https://github.com/ChainSafe/Anemone/blob/master/solidity/contracts/booleanOperators.sol#L13 , which just does assembly { pop(and(2,3)) }. Even if all clients produce different results for and(2,3), you won't ever get a consensus error, because it won't influence the end result. You just execute it, and throw away the result. If you want to trigger a consensus vuln, you need to do something with it. Either store result via SSTORE, or change the execution flow if the result isn't what you expected
You could e.g. xor all results into a "sponge" memory variable, and then store that

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions