-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Extract ECC operations to 3rd party module #394
Comments
This doesn't follow. My position hasn't changed much regarding my comments in those other threads. In summary, we should move towards Wouldn't it make more sense to prepare to migrate towards |
Oh? I wasn't aware of that (sorry).
Agreed, that is the plan. As for the performance cost, I think that is something we can measurably move towards without fundamentally giving up anything; the only problem is that it is going to take a while to do so.
As for the migration plan, elliptic simply isn't ready yet, but this move should be done in such a way that gets us API parity, so we aren't wasting effort. |
I think creating some wrapper so we can easily switch which package is used would be great and we should go straight for that instead of taking intermediate steps. I don't like the name |
My two cents: I would really like to see an elliptic curve library as fast as Fedor's elliptic but with only secp256k1 designed only for bitcoin. The pure javascript analog of libsecp256k1. If ever such a library were created, that's what I would recommend for bitcoinjs-lib. |
Except that would mean we have no freedom to include our own implementation later if that is preferred. |
@ryanxcharles I'd say that elliptic was designed with secp256k1 in mind ;) It is using GLV because of it, and everything there was benchmarked and optimized using secp256k1 curve. |
Anymore thoughts on the direction that we're going here? |
@jprichardson I think with #420 in place for The last thing we need to do to be able to easily "break away" and have the freedom of choice to move around in this domain is to resolve #407. I'm hoping to have a look at that today. |
Is there any progress on this? |
ping @fanatid, status on node |
I think it's ready for use, probably we should create branch v3.0.0 and merge #440 #456 #459 there, because without this integrate EDIT: There are a lot of work and probably first we should finish with extracted packages. For example with |
Closing in favour of #623 |
As the title says.
For now, I intend to move it to https://github.com/dcousens/libsecp256k1 (I might move that under the bitcoinjs-lib organisation).
By moving it out we can focus on what is important for this library, in this library; and naturally can focus on things like #361 in an external environment.
By doing this, we will have to naturalize (to built-ins or
Buffer
s) such that our API will be more inter-operable.Also related was #350.
The reason I'm thinking we don't use https://github.com/cryptocoinjs/ecdsa initially, is because, like https://github.com/bitcoin/secp256k1/, the extracted library should be purely for secp256k1.
@jprichardson @rubensayshi @Polve thoughts?
The text was updated successfully, but these errors were encountered: