2

Bitcoin Core can be built deterministically, allowing anyone to compile the software themselves and compare it to the released version to see if they're identical. Presumably, software forks of Bitcoin Core like Bitcoin Knots also provide this capability, and I recall that some people did this also for BIP148 UASF forks of Bitcoin Core.

What other software[1] wallets typically provided in pre-compiled form[2] are deterministically built? Deterministic builds seem like a powerful and useful security feature, but as far as I know, almost no software wallets besides Bitcoin Core provide that feature.

Note: deterministic builds should not be confused with BIP32 Hierachical Deterministic (HD) wallets.

[1] Some hardware wallets, like Trezor, provide deterministic builds of their firmware, which is a nice feature. However, that does nothing to prove the security of the hardware, which is hard to audit with the tools found even in a typical geek's home office.

[2] That is, not provided entirely using interpreted code.

3

Electrum's distributed binaries are determinisitc. Although Electrum is written in an interpreted language, the distributed binaries also need to provide the dependencies and the packaging process for producing binaries for python software is not deterministic. Electrum has their own process for ensuring dependency versions and determinism of their binaries.

Mycelium's distributed binaries are deterministic built. They use a docker container instead of Gitian to produce their binaries.

1

What stamps out a gitian build? A timestamp! (Silly joke - I know)

I've been monitoring privacy coins and I verify their development practices (commit signing, gitian usage) a bit and I've seen the following projects use gitian for each release.

I've had to wrestle with gitian in the past, I run my own gitian build machine to verify builds. Dealing with gitian isn't always as easy, so I applaud the effort.

Zcash - runs their own determinstic build system, using vagrant and LXC (bitcoin-core).

Particl - One of the smaller cryptocurrencies but they seem to have their act together when it comes to providing secure releases - uses LXC (from upstream Bitcoin Core). They seem to use gitian for other applications too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.