Allow multiple attacks per graph and check in network - #122
Conversation
|
@elnosh along with regular review, could you test that:
|
elnosh
left a comment
There was a problem hiding this comment.
You're able to pull this branch (+lfs files) and run the sink attack
I wasn't able to do this :( Couldn't figure out why but still getting Git LFS is disabled for this repository error when trying to pull
This format works for your fast jamming attack impl
This worked. I defined a base graph and then added extra channels for the specific attack setting up the files in new structure and was able to run the attack fine. Only clunky thing is the duplicated attack_type flag that is now in Cli and NetworkParams which initially caused it to fail bc I had to pass it twice.
9a1a898 to
0670fb7
Compare
|
Seems like we've run into some github-side issues with LFS 💀 I've emailed support but it may only resolve next month (quota cycle for files restarts). For now I think I'll just make a note in the readme that LFS isn't working and link to files in gdrive :| going to leave them checked in because having the hash is useful for me locally. |
b983f23 to
9f3b584
Compare
elnosh
left a comment
There was a problem hiding this comment.
ignorable nits but LGMT - trusting that LFS works
9f3b584 to
6242b24
Compare
We may want to run different attacks against the same "base" honest network.
We want to be able to check in some graphs, so we stop ignoring these types. Reputation files can be very easily generated locally, so we allow these to be ignored.
6242b24 to
10b7ec1
Compare
|
Rebased on slow jamming PR. |
This PR refactors our expected file structure to allow multiple attacks to run with a single "base" graph. This flexibility allows us to use one "base" graph and run different types of attacks against it, specifying custom attack topologies for each.
This code is a bit verbose, but hopefully cleans up all the different file-switching we were doing in each binary crate to one place. We could get fancy and macro some of it out in future commits.
This PR also checks in a graph so that people have a starting point to write their own attacks. We use
git lfsto check in the larger files, which means you have togit lfs pullto be able to get the full file content.We don't technically have to check in
peacetime_traffic.csv(we could just check in reputation summaries), but I've chosen to do so because:lfsanyway forattacktime_traffic.csv(to allow sink attacks with different bootstrap durations.