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

[PM] Goal #1

Open
minaminao opened this issue Aug 30, 2019 · 2 comments
Open

[PM] Goal #1

minaminao opened this issue Aug 30, 2019 · 2 comments

Comments

@minaminao
Copy link
Contributor

minaminao commented Aug 30, 2019

Goal

Phase 1

  • Summarize
    • Algorithm and data structures to detect finality
    • Algorithm and data structures to update when a message comes in or when a validator is added or deleted
  • Compare existing safety oracles
    • Clique Oracle
    • Turán Oracle
    • Adversary Oracle
    • The Inspector
    • Ideal Oracle (Necessary and sufficient oracle)
  • Metrics
    • Threshold: (Number of validators required to form the DAG, which decides the fault tolerance for plausible liveness)
    • Time to detection
    • Time complexity
    • Space complexity (Storage, Memory)

Phase 2

  • Modified Adversary Oracle
  • Simulation
@nrryuya
Copy link
Member

nrryuya commented Sep 11, 2019

Time to detection

If we assume that the network is In full synchrony and there are a sufficient number of honest validators, this basically depends on the number of layers.
Also, now we know that the original adversary oracle is equivalent to clique oracle with "q = n/2 + t".
Therefore, this metric is quite simple.
(Clique oracle:2, adversary oracle:2, Inspector: k)

In small network failure i.e. Δ > 1 slot, clique oracle needs more epochs but it would be future work.

@nrryuya
Copy link
Member

nrryuya commented Sep 12, 2019

Reorganization of our milestone!

Phase1

Phase2

Future work

  • Safety oracle for sharding
  • Safety oracle for a light client (?)
  • What is the best combo of oracles in practice?

Misc

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

2 participants