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

Support divergent EC chain views in simulator #115

Closed
Tracked by #226
anorth opened this issue Mar 7, 2024 · 0 comments · Fixed by #187
Closed
Tracked by #226

Support divergent EC chain views in simulator #115

anorth opened this issue Mar 7, 2024 · 0 comments · Fixed by #187
Assignees
Labels
testing Related to testing and validation

Comments

@anorth
Copy link
Member

anorth commented Mar 7, 2024

As of #111 the simulator can show participants different EC chains only for the first instance. After that, all participants see the same chain.

Improve this so that participants can at least temporarily observe different chains. They should eventually observe the same chain if progress is to be made. This could be really fiddly to do manually, so a good approach might be to produce a chain (view) generator which evolves stochastically.

Note that the sim doesn't currently feed additional chains into the protocol during each instance. This is part of the spec not currently exercised in any tests.

@anorth anorth added the testing Related to testing and validation label Mar 11, 2024
@masih masih self-assigned this Apr 25, 2024
masih added a commit that referenced this issue May 3, 2024
So far simulations used the same EC chain across all participants after
the first instance. This approach was simple but not representative of
the real-world where the EC chain may diverge across multiple subsets
of participants.

The changes here implement a comprehensive set of APIs that allow a set
of EC generation strategies to mix-and-match and replicate complex EC
chain evolution through iterations of a simulation. The chain evolution
is controllable by instance by actor ID. This allows us to simulate
fluctuating EC evolution patterns throughout a simulation. The changes
include an initial set of EC generators that cover:

* Fixed EC for all instances and participants.
* Random EC per instance per participant.
* Random EC per instance but uniform across all participants.
* Common prefix EC per instance with probabilistic length
* Majority common prefix across a set of participants with probabilistic
  length

The EC generators can be aggregated and set per number of participants,
which enables simulation of a flexible set of scenarios including
evolving majority common prefix.

Fixes #115
masih added a commit that referenced this issue May 3, 2024
So far simulations used the same EC chain across all participants after
the first instance. This approach was simple but not representative of
the real-world where the EC chain may diverge across multiple subsets
of participants.

The changes here implement a comprehensive set of APIs that allow a set
of EC generation strategies to mix-and-match and replicate complex EC
chain evolution through iterations of a simulation. The chain evolution
is controllable by instance by actor ID. This allows us to simulate
fluctuating EC evolution patterns throughout a simulation. The changes
include an initial set of EC generators that cover:

* Fixed EC for all instances and participants.
* Random EC per instance per participant.
* Random EC per instance but uniform across all participants.
* Common prefix EC per instance with probabilistic length
* Majority common prefix across a set of participants with probabilistic
  length

The EC generators can be aggregated and set per number of participants,
which enables simulation of a flexible set of scenarios including
evolving majority common prefix.

Fixes #115
masih added a commit that referenced this issue May 7, 2024
So far simulations used the same EC chain across all participants after
the first instance. This approach was simple but not representative of
the real-world where the EC chain may diverge across multiple subsets
of participants.

The changes here implement a comprehensive set of APIs that allow a set
of EC generation strategies to mix-and-match and replicate complex EC
chain evolution through iterations of a simulation. The chain evolution
is controllable by instance by actor ID. This allows us to simulate
fluctuating EC evolution patterns throughout a simulation. The changes
include an initial set of EC generators that cover:

* Fixed EC for all instances and participants.
* Random EC per instance per participant.
* Random EC per instance but uniform across all participants.
* Common prefix EC per instance with probabilistic length
* Majority common prefix across a set of participants with probabilistic
  length

The EC generators can be aggregated and set per number of participants,
which enables simulation of a flexible set of scenarios including
evolving majority common prefix.

Fixes #115
masih added a commit that referenced this issue May 8, 2024
So far simulations used the same EC chain across all participants after
the first instance. This approach was simple but not representative of
the real-world where the EC chain may diverge across multiple subsets
of participants.

The changes here implement a comprehensive set of APIs that allow a set
of EC generation strategies to mix-and-match and replicate complex EC
chain evolution through iterations of a simulation. The chain evolution
is controllable by instance by actor ID. This allows us to simulate
fluctuating EC evolution patterns throughout a simulation. The changes
include an initial set of EC generators that cover:

* Fixed EC for all instances and participants.
* Random EC per instance per participant.
* Random EC per instance but uniform across all participants.
* Common prefix EC per instance with probabilistic length
* Majority common prefix across a set of participants with probabilistic
  length

The EC generators can be aggregated and set per number of participants,
which enables simulation of a flexible set of scenarios including
evolving majority common prefix.

Fixes #115
masih added a commit that referenced this issue May 8, 2024
So far simulations used the same EC chain across all participants after
the first instance. This approach was simple but not representative of
the real-world where the EC chain may diverge across multiple subsets
of participants.

The changes here implement a comprehensive set of APIs that allow a set
of EC generation strategies to mix-and-match and replicate complex EC
chain evolution through iterations of a simulation. The chain evolution
is controllable by instance by actor ID. This allows us to simulate
fluctuating EC evolution patterns throughout a simulation. The changes
include an initial set of EC generators that cover:

* Fixed EC for all instances and participants.
* Random EC per instance per participant.
* Random EC per instance but uniform across all participants.
* Common prefix EC per instance with probabilistic length
* Majority common prefix across a set of participants with probabilistic
  length

The EC generators can be aggregated and set per number of participants,
which enables simulation of a flexible set of scenarios including
evolving majority common prefix.

Fixes #115
masih added a commit that referenced this issue May 10, 2024
So far simulations used the same EC chain across all participants after
the first instance. This approach was simple but not representative of
the real-world where the EC chain may diverge across multiple subsets
of participants.

The changes here implement a comprehensive set of APIs that allow a set
of EC generation strategies to mix-and-match and replicate complex EC
chain evolution through iterations of a simulation. The chain evolution
is controllable by instance by actor ID. This allows us to simulate
fluctuating EC evolution patterns throughout a simulation. The changes
include an initial set of EC generators that cover:

* Fixed EC for all instances and participants.
* Random EC per instance per participant.
* Random EC per instance but uniform across all participants.
* Common prefix EC per instance with probabilistic length
* Majority common prefix across a set of participants with probabilistic
  length

The EC generators can be aggregated and set per number of participants,
which enables simulation of a flexible set of scenarios including
evolving majority common prefix.

Fixes #115
masih added a commit that referenced this issue May 13, 2024
So far simulations used the same EC chain across all participants after
the first instance. This approach was simple but not representative of
the real-world where the EC chain may diverge across multiple subsets
of participants.

The changes here implement a comprehensive set of APIs that allow a set
of EC generation strategies to mix-and-match and replicate complex EC
chain evolution through iterations of a simulation. The chain evolution
is controllable by instance by actor ID. This allows us to simulate
fluctuating EC evolution patterns throughout a simulation. The changes
include an initial set of EC generators that cover:

* Fixed EC for all instances and participants.
* Random EC per instance per participant.
* Random EC per instance but uniform across all participants.
* Common prefix EC per instance with probabilistic length
* Majority common prefix across a set of participants with probabilistic
  length

The EC generators can be aggregated and set per number of participants,
which enables simulation of a flexible set of scenarios including
evolving majority common prefix.

Fixes #115
github-merge-queue bot pushed a commit that referenced this issue May 13, 2024
So far simulations used the same EC chain across all participants after
the first instance. This approach was simple but not representative of
the real-world where the EC chain may diverge across multiple subsets
of participants.

The changes here implement a comprehensive set of APIs that allow a set
of EC generation strategies to mix-and-match and replicate complex EC
chain evolution through iterations of a simulation. The chain evolution
is controllable by instance by actor ID. This allows us to simulate
fluctuating EC evolution patterns throughout a simulation. The changes
include an initial set of EC generators that cover:

* Fixed EC for all instances and participants.
* Random EC per instance per participant.
* Random EC per instance but uniform across all participants.
* Common prefix EC per instance with probabilistic length
* Majority common prefix across a set of participants with probabilistic
  length

The EC generators can be aggregated and set per number of participants,
which enables simulation of a flexible set of scenarios including
evolving majority common prefix.

Fixes #115
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing Related to testing and validation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants