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

Adjustments to PBFT ByronConfig #795

Merged
merged 3 commits into from
Jul 19, 2019
Merged

Adjustments to PBFT ByronConfig #795

merged 3 commits into from
Jul 19, 2019

Commits on Jul 19, 2019

  1. Remove unused pbftCoreNodes mapping from ByronConfig

    The pbftCoreNodes was a bi-directional mapping between the core node
    BFT index and the node's operational verification key.
    
    This was never used. It was also confusing since as static configuration
    it is not useful since the real mapping can change when new heavyweight
    delegation certificates are posted.
    dcoutts committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    573d504 View commit details
    Browse the repository at this point in the history
  2. Add TODOs about pbftSecrets and tx elaboration.

    The demo supports submitting transactions which are specified in a nice
    simple manner. To support this we have to support elaborating mock
    transactions into real transaction, which needs access to the signing
    keys of the available wallet accounts. This is clearly a demo-only kind
    of thing. The TODOs note this and note that the pbftSecrets can be
    removed once transaction submission is handled differently, which is
    good since the pbftSecrets is a confusing thing to keep around in the
    real system.
    dcoutts committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    c73f6a7 View commit details
    Browse the repository at this point in the history
  3. Allow not being a PBFT slot leader

    Currently the NodeConfig for PBft makes it non-optional to be a core
    node, with corresponding credentials. This patch makes it optional so we
    can have nodes without core node credentials.
    
    We introduce a PBftIsLeader type that holds the various keys needed for
    core nodes. We make the NodeConfig contain a Maybe one of these.
    
    We take advantage of the IsLeader "proof" type and for PBft we make it
    carry the PBftIsLeader. Of course this does not prove that n `mod` m = i
    but it does at least hold all the credentials which are needed for
    signing blocks. So it makes a lot of sense for checkIsLeader to return
    these credentials.
    
    The rest is just following through the consequences.
    dcoutts committed Jul 19, 2019
    Configuration menu
    Copy the full SHA
    cbb930e View commit details
    Browse the repository at this point in the history