Skip to content

Add bls12381 support#387

Open
freddiecoleman wants to merge 9 commits intocoinbase:masterfrom
freddiecoleman:bls12381
Open

Add bls12381 support#387
freddiecoleman wants to merge 9 commits intocoinbase:masterfrom
freddiecoleman:bls12381

Conversation

@freddiecoleman
Copy link

@freddiecoleman freddiecoleman commented Mar 5, 2022

Currently waiting on coinbase/kryptology#48

Motivation

This allows Rosetta users to sign and verify payloads using a bls12381 curve type.

It supports both basic and aug with prefix by passing in the relevant signature type.

In order to prepend sign using aug you will need to manually prepend the relevant public key to the payload that is to be signed as the exported interface does not allow an additional argument for the public key.

Solution

Provide an implementation of the Signer interface for bls12381

Open questions

  • It looks like the build/pipeline pulls a JSON file containing the specification and the bls12381 curve type will not currently be in there. I believe adding the necessary support will require a further PR somewhere else - this should be quite simple?

@freddiecoleman freddiecoleman changed the title implement Signer interface for bls12381 Add bls12381 support Mar 5, 2022
@freddiecoleman freddiecoleman force-pushed the bls12381 branch 4 times, most recently from c0925f2 to b12608c Compare March 5, 2022 17:20
@freddiecoleman freddiecoleman force-pushed the bls12381 branch 2 times, most recently from fcc8fe1 to cd86239 Compare March 6, 2022 08:57
@shrimalmadhur
Copy link
Contributor

Motivation

This allows Rosetta users to sign and verify payloads using a bls12381 curve type.

It supports both basic and aug with prefix by passing in the relevant signature type.

In order to sign using aug you will need to prepend the relevant public key to the payload that is to be signed as the exported interface does not allow an additional argument for the public key.

Solution

Provide an implementation of the Signer interface for bls12381

Open questions

  • It looks like the build/pipeline pulls a JSON file containing the specification and the bls12381 curve type will not currently be in there. I believe adding the necessary support will require a further PR somewhere else - this should be quite simple?

Hello @freddiecoleman - you need to make specifications changes here - https://github.com/coinbase/rosetta-specifications
You can use coinbase/mesh-specifications#93 as sample.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants