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

Implement storage power evolution in simulations for honest participants #202

Merged
merged 1 commit into from May 13, 2024

Conversation

masih
Copy link
Member

@masih masih commented May 8, 2024

Implement the ability to evolve the storage power across honest participants over the course of a simulation. The changes introduce primitives to allow doing this and reflect the changes across the tests using a uniformed fixed storage power generator.

The adversary storage power evolution is not yet implemented and left to future work in favour of reducing the number of lines changed.

Add two tests that exercise increase and decrease of storage power over sync and async message passing:

  1. Sudden increase of storage power results in the corresponding group of nodes to dominate consensus as expected.

  2. Gradual decrease of storage power results in loss of dominance among the corresponding group.

Fixes #114

Rebased on top of #187; review that first.

@masih masih force-pushed the masih/sim-pt-evolution branch 3 times, most recently from 7c2b84d to 925d258 Compare May 9, 2024 10:10
@masih masih marked this pull request as ready for review May 9, 2024 10:12
@masih masih requested a review from anorth May 9, 2024 11:06
@anorth
Copy link
Member

anorth commented May 9, 2024

Could you change this PR base to #184 so it's easier to review the diff proposed here?

Copy link
Member

@anorth anorth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically looks good, but will wait for prereq to land

sim *Simulation
id gpbft.ActorID
sim *Simulation
pubkey gpbft.PubKey
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Kubuxu re my comments on #188 , putting the pubkey here seems reasonable and may avoid the power table plumbing.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The power table plumbing is external to the sim, as F3 won't know for which participants it will be signing. Only the application itself knows that.

sim/sim.go Outdated Show resolved Hide resolved
sim/sim.go Outdated Show resolved Hide resolved
})
})
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Implement the ability to evolve the storage power across honest
participants over the course of a simulation. The changes introduce
primitives to allow doing this and reflect the changes across the tests
using a uniformed fixed storage power generator.

The adversary storage power evolution is not yet implemented and left to
future work in favour of reducing the number of lines changed.

Add two tests that exercise increase and decrease of storage power over
sync and async message passing:

1. Sudden increase of storage power results in the corresponding group
of nodes to dominate consensus as expected.

2. Gradual decrease of storage power results in loss of dominance among
the corresponding group.

Fixes #114
@masih masih added this pull request to the merge queue May 13, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks May 13, 2024
@masih masih added this pull request to the merge queue May 13, 2024
Merged via the queue into main with commit 93b1910 May 13, 2024
3 checks passed
@masih masih deleted the masih/sim-pt-evolution branch May 13, 2024 21:23
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

Successfully merging this pull request may close these issues.

Consider supporting power table evolution in simulator
3 participants