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

[Bug] Consensus breaks not identified #19

Open
GregTheGreek opened this issue Oct 18, 2019 · 0 comments
Open

[Bug] Consensus breaks not identified #19

GregTheGreek opened this issue Oct 18, 2019 · 0 comments

Comments

@GregTheGreek
Copy link
Member

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

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

No branches or pull requests

1 participant