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

EIP-2494 Baby Jubjub Elliptic Curve #2494

Merged
merged 38 commits into from Sep 9, 2020
Merged

EIP-2494 Baby Jubjub Elliptic Curve #2494

merged 38 commits into from Sep 9, 2020

Conversation

bellesmarta
Copy link
Contributor

@bellesmarta bellesmarta commented Jan 29, 2020

This pull request stands for EIP-2494 proposing Baby Jubjub, a twisted Edwards elliptic curve designed to work inside zk-SNARK circuits in Ethereum. Contribute and follow the discussion thread at https://ethereum-magicians.org/t/eip-2494-baby-jubjub-elliptic-curve/3968.

@bellesmarta bellesmarta changed the title eip-draft_babyjubjub.md EIP: Baby Jubjub Elliptic Curve.md Jan 29, 2020
@bellesmarta bellesmarta changed the title EIP: Baby Jubjub Elliptic Curve.md EIP: Baby Jubjub Elliptic Curve Jan 29, 2020
@bellesmarta bellesmarta changed the title EIP: Baby Jubjub Elliptic Curve Draft EIP: Baby Jubjub Elliptic Curve Jan 29, 2020
@bellesmarta bellesmarta changed the title Draft EIP: Baby Jubjub Elliptic Curve EIP: Baby Jubjub Elliptic Curve Jan 29, 2020
@axic
Copy link
Member

@axic axic commented Jan 29, 2020

Discussion thread in #2493.

eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip: 2494
title: Baby Jubjub Elliptic Curve
authors: Barry WhiteHat (@barryWhiteHat), Marta Bellés (@bellesmarta), Jordi Baylina (@jbaylina)
discussions-to: https://github.com/ethereum/EIPs/pull/2494
Copy link
Member

@axic axic Jan 29, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should link to https://github.com/ethereum/EIPs/issues/2493

Copy link
Contributor Author

@bellesmarta bellesmarta Jan 29, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue #2493 is closed. The discussion thread is moved to https://ethereum-magicians.org/t/eip-2494-baby-jubjub-elliptic-curve/3968.

Copy link
Member

@axic axic Jan 29, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI: At the time I wrote the comment, the issue was still open.

Copy link
Contributor Author

@bellesmarta bellesmarta Jan 29, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I opened and closed it now, could you check if it is okay now?

Copy link
Member

@axic axic Jan 29, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm? I wrote the comment at 10:16 GMT and the issue was first closed 10:45 GMT. I've only mentioned it for the record.

@jbaylina
Copy link
Contributor

@jbaylina jbaylina commented Jan 29, 2020

axic said:

This seems to be a specification of the new curve and not a direct integration into Ethereum. Because of that I would think perhaps some other mediums are better for publication if wider adoption is encouraged.

Perhaps IETF RFCs? A bunch of curves were specified as RFCs.

Right now, this curve is widelly used in the Ethereum space, so I think it make sense to have a standard here.

I don't think it's incompatible to start a RFC process, but this will require time and effort. So I think it's worthy to have a standarize as an ERC.

This is the base of other upcoming standards like EdDSA based on this curve, Baby Jub derivation key from an Ethereum Key, Signature aggregation, etc.

@bellesmarta bellesmarta changed the title EIP: Baby Jubjub Elliptic Curve EIP-2494 Baby Jubjub Elliptic Curve Jan 29, 2020
bellesmarta added 3 commits Jan 29, 2020
Updated discussions-to link.
Added Go implementation of the curve.
@paulmillr
Copy link
Contributor

@paulmillr paulmillr commented Feb 3, 2020

Why isn't this bls12-381?

@jbaylina
Copy link
Contributor

@jbaylina jbaylina commented Feb 3, 2020

Currently, the only cure that is supported in Ethereum precompiled smart contract is BN-128.
For BLS12-381, you can check the ZCash JubJub curve.

@paulmillr
Copy link
Contributor

@paulmillr paulmillr commented Feb 3, 2020

Understood. I wish there was an effort for precompiled bls12-381, since eth2 is using it. Interop is great.

eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
axic
axic approved these changes Aug 28, 2020
Copy link
Member

@axic axic left a comment

Besides the formatting comment, I think it is fine merging this.

@axic axic added the type: ERC label Aug 28, 2020
Copy link
Contributor

@MicahZoltu MicahZoltu left a comment

Should match template formatting: https://raw.githubusercontent.com/ethereum/EIPs/master/eip-template.md

Maybe I'm missing something, but this just looks like a definition for a new elliptic curve. I don't think the EIPs repository is really the right place for such things. Aren't there more standardized places to define a new elliptic curve where people with the experience to evaluate such things are more likely to look?

eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
eip-draft_babyjubjub.md Outdated Show resolved Hide resolved
bellesmarta and others added 4 commits Sep 4, 2020
Co-authored-by: Micah Zoltu <micah@zoltu.net>
Co-authored-by: Micah Zoltu <micah@zoltu.net>
Co-authored-by: Micah Zoltu <micah@zoltu.net>
Co-authored-by: Micah Zoltu <micah@zoltu.net>
@axic
Copy link
Member

@axic axic commented Sep 9, 2020

The validator still complains:

eip-2494.md: trailing whitespace

But honestly I'm not sure which line it is complaining about 😢

EIPS/eip-2494.md Outdated Show resolved Hide resolved
EIPS/eip-2494.md Outdated Show resolved Hide resolved
EIPS/eip-2494.md Outdated Show resolved Hide resolved
EIPS/eip-2494.md Outdated Show resolved Hide resolved
EIPS/eip-2494.md Outdated Show resolved Hide resolved
EIPS/eip-2494.md Outdated Show resolved Hide resolved
EIPS/eip-2494.md Outdated Show resolved Hide resolved
EIPS/eip-2494.md Outdated Show resolved Hide resolved
bellesmarta and others added 8 commits Sep 9, 2020
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
EIPS/eip-2494.md Outdated Show resolved Hide resolved
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
EIPS/eip-2494.md Outdated Show resolved Hide resolved
EIPS/eip-2494.md Outdated Show resolved Hide resolved
EIPS/eip-2494.md Show resolved Hide resolved
@axic
Copy link
Member

@axic axic commented Sep 9, 2020

@bellesmarta my two last comment if you would like to respond to them so we can finally get this merged 😉

bellesmarta and others added 2 commits Sep 9, 2020
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
@axic axic merged commit a6b84c8 into ethereum:master Sep 9, 2020
2 checks passed
tkstanczak pushed a commit to tkstanczak/EIPs that referenced this issue Nov 7, 2020
* Create eip-draft_babyjubjub.md

* Update eip-draft_babyjubjub.md

* Update eip-draft_babyjubjub.md

* Update eip-draft_babyjubjub.md

* Update eip-draft_babyjubjub.md

Updated discussions-to link.

* Update eip-draft_babyjubjub.md

Added Go implementation of the curve.

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

* Rename eip-draft_babyjubjub.md to eip-2494.md

* Rename eip-2494.md to EIPS/eip-2494.md

* Update EIPS/eip-2494.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-2494.md

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Micah Zoltu <micah@zoltu.net>
Arachnid pushed a commit to Arachnid/EIPs that referenced this issue Mar 6, 2021
* Create eip-draft_babyjubjub.md

* Update eip-draft_babyjubjub.md

* Update eip-draft_babyjubjub.md

* Update eip-draft_babyjubjub.md

* Update eip-draft_babyjubjub.md

Updated discussions-to link.

* Update eip-draft_babyjubjub.md

Added Go implementation of the curve.

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-draft_babyjubjub.md

* Rename eip-draft_babyjubjub.md to eip-2494.md

* Rename eip-2494.md to EIPS/eip-2494.md

* Update EIPS/eip-2494.md

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Update eip-2494.md

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

* Update EIPS/eip-2494.md

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Micah Zoltu <micah@zoltu.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants