ChainSafe / ChainSafe/Anemone

[Bug] Consensus breaks not identified

Open
#19 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
12
Forks
2
PR merge metrics
No merged PRs in 30d

Description

From Martin on [gitter](https://gitter.im/ethereum/tests):
> 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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.