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

IF: Generate BLS key pairs in leap-util #1525

Closed
Tracked by #1508
arhag opened this issue Aug 17, 2023 · 2 comments · Fixed by #1594 or #1625
Closed
Tracked by #1508

IF: Generate BLS key pairs in leap-util #1525

arhag opened this issue Aug 17, 2023 · 2 comments · Fixed by #1594 or #1625
Assignees

Comments

@arhag
Copy link
Member

arhag commented Aug 17, 2023

Depends #1584 and #1596.

Ensure changes in AntelopeIO/bls12-381#10 are brought into Leap as a submodule update.

There is no need for cleos to create a BLS key pair since BLS key pairs are only needed by some node operators (block producer candidates).

But the basic interface for creating key pairs for other key types (K1, R1) in cleos should be adopted in leap-util but specifically for creating a BLS key pair (there is no need for leap-util to generate K1 or R1 keys).

However, it should also generate a Proof of Possession (PoP) and include that signature in the output as well to act as a proof that the private key for the public key is known. This will be necessary for registering the public key as a finalizer key later in the system contracts. Use https://github.com/AntelopeIO/bls12-381/blob/d79a1836649d6f9b7494ccc3e9a1320a7470acaa/src/signatures.cpp#L630 to generate the PoP.

There should also be another sub-command to regenerate the PoP from a given private key. This will not only output the signature but also the public key corresponding to the provided private key.

@linh2931
Copy link
Member

linh2931 commented Sep 6, 2023

Resolved by #1594

@linh2931 linh2931 closed this as completed Sep 6, 2023
@arhag
Copy link
Member Author

arhag commented Sep 12, 2023

Reopening because #1594 does not use pop_prove but should.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
3 participants