Collabration on libsecp256k1

3 271
Avatar for jonny
Written by
4 years ago

About me

Maintain the libsecp256k1, Electron Cash and Electrum packages for Fedora Linux.

Goal

Make it easier to include and maintain a common libsecp256k on Fedora and software for Fedora that rely on that library as a shared library.

Bitcoin-ABC

Own fork maintained along the main software.

Source: https://github.com/Bitcoin-ABC/bitcoin-abc/tree/master/src/secp256k1

Bitcoin Unlimited

Own fork maintained along the main software.

https://github.com/BitcoinUnlimited/BitcoinUnlimited/tree/release/src/secp256k1

Electron Cash

Sub-module of a fork from Bitcoin-ABC

https://github.com/Electron-Cash/secp256k1

Bitcoin Verde

An old fork from Bitcoin-core

https://github.com/SoftwareVerde/bitcoin-verde/tree/development/jni/secp256k1

bchd

Only native in Go/built-in

bip-schnorr

Used by bitbox

Only native in Javascript

1
$ 1.60
$ 1.00 from @Read.Cash
$ 0.50 from @cashdev
$ 0.10 from @btcfork
Avatar for jonny
Written by
4 years ago

Comments

Hi @jonny, I see the problem and how this setup just begs to get quirky over time, but to get anywhere you might have to propose some kind of solution and then ask the relevant parties about it.

Looking in my package manager from the gentoo distribution, I see that the same issue exist here - each node software package their own. There is a standalone package for dev-libs/libsecp256k1 listed at v0.0.0_date with the website https://github.com/bitcoin/secp256k1, but I have BU installed but not that package, and ldd does not list any libsecp256k1 links.

Given the very high value involved there's a risk that software developers will want to keep things in-house to prevent unwanted changes to it, but I do hope that there'll be some discussion around this at least.

$ 0.20
4 years ago

Even if the full nodes want to maintain their own fork in-house, I see value in having a common one that the ecosystem trusts will be maintained. For example, I'd like to support using libsecp256k1 in the pyhon library I maintain (https://github.com/dagurval/python-bitcoincash), but I don't want to maintain my own fork.

I agree with Jonathan though that some of the projects will want to keep things in-house.

$ 0.15
4 years ago

I assume that Bitcoin-ABC and probably Bitcoin Unlimited want to maintain their own version. The Schnorr PR for Bitcoin-core have been open since September 2018, so they will absolutely not use another version.

The developers at Electron Cash does not want to maintain libsecp256k1, Bitcoin Verde seems to not want to have any involvement too.

Amaury Séchet started playing with a git repo at https://github.com/Bitcoin-ABC/secp256k1 today. I would love if he continue to maintain the repo and make releases.

$ 0.00
4 years ago