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

Update node registration transaction #91

Open
tarakby opened this issue Jun 17, 2022 · 6 comments
Open

Update node registration transaction #91

tarakby opened this issue Jun 17, 2022 · 6 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@tarakby
Copy link

tarakby commented Jun 17, 2022

Context

As part of the protocol BFT milestone (permissionless node participation), every new staking node has to share the proof of possession of its staking private key (PoP) with the protocol. The staking contract only accepts the registration if the PoP is valid. The purpose is to secure BLS signature aggregations in the Flow protocol.

Definition of Done

The node registration transaction needs to be updated to add a new field. Ledger needs to be able to parse the new field.

  • Argument: stakingKeyPoP
  • Type: String
  • Description: The proof of possession of the staking private key as a hex-encoded string.

The new field is 48 bytes (96 hex characters).

Flow-port update is done under another ticket: https://github.com/onflow/flow-port/issues/183

@tarakby tarakby added the enhancement New feature or request label Jun 17, 2022
@bthaile
Copy link

bthaile commented Jun 22, 2022

@tarakby How does stakingKeyPoP get created? Will the user simple paste it into the node registration form? Is there a smart contract change? If so has the change been made on testnet?

@tarakby
Copy link
Author

tarakby commented Jun 22, 2022

@bthaile, good questions:

  • the user should paste the stakingKeyPoP in the registration form on flow-port, exactly the way they do for the stakingKey. We will be updating the tools available for node operators so that they can generate stakingKeyPoP.
  • Yes there is smart contract change, to be done in https://github.com/dapperlabs/flow-go/issues/6284. The updated contract is not on any network yet. I've noted this contract update as a blocker for testing Ledger/Flow-port changes.

@pgebheim
Copy link

pgebheim commented Jul 12, 2022

@bthaile, good questions:

  • the user should paste the stakingKeyPoP in the registration form on flow-port, exactly the way they do for the stakingKey. We will be updating the tools available for node operators so that they can generate stakingKeyPoP.
  • Yes there is smart contract change, to be done in Add Proof of Possession Verification to Staking Node Registration dapperlabs/flow-go#6284. The updated contract is not on any network yet. I've noted this contract update as a blocker for testing Ledger/Flow-port changes.

Here is the flow-port ticket @bthaile
https://github.com/onflow/flow-port/issues/183

@pgebheim pgebheim added this to the v0.10.1 milestone Jul 13, 2022
@tarakby
Copy link
Author

tarakby commented Jul 13, 2022

@pgebheim what is the v0.10.1 milestone ? In case the milestone has a deadline, the completion of this ticket depends on Ledger external audit which usually doesn't have a clear timeline.

Btw, this is the complete epic : https://github.com/dapperlabs/flow-go/issues/6281

@pgebheim
Copy link

@pgebheim what is the v0.10.1 milestone ?

This milestone doenst have a deadline, it's just the next planned release number immediately after v0.10.0 is approved by ledger.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants