Migrate from secp256k1 to secp256k1prp.#75
Conversation
|
I would really love to add this patch. However, the issue is that How about using some sort of trigger that allows to switch the actual implementation from outside. |
|
That makes total sense, I'll do it. Regarding reviewing my fork, it's not that hard: the python-wrapper code I changed is nothing drastic, just version bumping and some build option adjustments. See for yourself! ludbb/secp256k1-py@master...jhtitor:master Now, there are cffi bindings to the C code, and again, you may plainly see, that nothing suspicious is going on here, it's a 1:1 mapping. Then, in That is a reference to a very specific commit to the zkp library (mind you -- the same library that is used in bitshares-core), the commit is sipa/secp256k1-zkp@35932bb . It is authored by Gregory Maxwell and is the defacto method for pedersen range proofs. There are other forks of the library, that also add this, but I've picked this commit specifically, because gmaxwell is a know and trusted member of the crypto community, and we basically live off his code anyways. (And I had the very same "fears" as you, I didn't want some random implementation, I wanted the implementation). Also, for argument sake, if I turn evil, and release a bad future version, all this won't help. So I think maybe you could fork my repo and maintain it yourself? I've included build scripts to make windows and manylinux wheel files, it's pretty sweet. That being said, I don't see myself ever touching this code again, it's stable, the pip files are built, and there's nothing more to do, really. |
secp256k1is a python wrapper around asecp256k1C library, which speeds up and provides various crypto functions to private key generation.secp256k1prpis a fork, which wraps a similar C library,secp256k1-zkp, from bitshares-core, which adds support for Pederesen commitments / Range Proofs (hence, "prp").As of time of this writing
secp256k1prpis also more maintained thansecp256k1, with pip wheel files provided for all major python platforms (wheel files contain the pre-compiled C library, for a specific platform, so the end-user doesn't have to compile it himself), see here: https://pypi.org/project/secp256k1prp/#filesThis PR simply replaces
secp256k1withsecp256k1prp, but it could possibly look for either.