Bitcoin Forum
February 21, 2026, 08:29:18 PM *
News: Latest Bitcoin Core release: 30.2 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Node Software Reproducibility  (Read 130 times)
Amaro958 (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
February 18, 2026, 12:29:36 AM
 #1

Which node operating systems are reproducible, if any?

I researched this question for different node operating system's like UmbrellOS, Start9 and RaspiBlitz but nowhere I can find information about their reproducibility, does this means that they are not reproducible?

For the people who don't know what reproducibility means:
It means that if you use the build scripts and the source code of a binary and compile it, you get the exact same binary that is officially distributed.
This is important to verify that the binary you running is actually the result of compiling the source code without adding or removing anything.
https://reproducible-builds.org/
ABCbits
Legendary
*
Offline Offline

Activity: 3528
Merit: 9785



View Profile
February 18, 2026, 07:45:42 AM
 #2

None of them appear to build reproducible ISO or image file, although Tails is one of few OS that do that[1]. Note that tails doesn't include full node software, although it include Electrum. On application level, Umbrel makes it much more difficult since it use Docker to ship and run the apps[2]. But looking at one of Raspiblitz PR, it seems it download Bitcoin Core from the website[3]. So verify the binary is theoretically possible.

[1] https://tails.net/contribute/build/reproducible/
[2] https://github.com/getumbrel/umbrel-apps
[3] https://github.com/raspiblitz/raspiblitz/pull/2527

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
n0nce
Hero Member
*****
Offline Offline

Activity: 966
Merit: 6014


not your keys, not your coins!


View Profile WWW
February 18, 2026, 01:57:00 PM
 #3

I would generally recommend 'building' your node yourself. There are guides like mine here (that I should / will update):
[Guide] FULL NODE OpenSUSE 15.3: bitcoind + electrs + c-lightning + RTL
[Guide] How to run a Bitcoin Core full node for under 50 bucks!

If you want a nice and pretty front-end, those can usually be installed manually on top of the 'manually built' full node, and the installation process on Linux often requires building the binaries from source, anyway. If not required, then at least it will be an option.

To be fully safe, you could even first compile the Linux distro of choice yourself, and then compile Bitcoin Core, as well as all the other components, as shown in the guide above.

I just quickly checked and interestingly, Umbrel does not document an easy way to install the user-interface after the fact anymore (if memory serves correct, it was possible in earlier versions).

Meanwhile, RaspiBlitz has separate repositories for blitz_api and raspiblitz-web for the web UI. Those include regular Linux build instructions from source.

n0nce.eu
Amaro958 (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
February 19, 2026, 04:53:02 PM
 #4

None of them appear to build reproducible ISO or image file

This is very unfortunate

Tails is one of few OS that do that

I always thought that most Linux distribution are reproducible?


On application level, Umbrel makes it much more difficult since it use Docker to ship and run the apps[

What exactly is hindering the reproduction of Docker images?
And Umbrell should at least make the system itself reproducible.


But looking at one of Raspiblitz PR, it seems it download Bitcoin Core from the website[3]. So verify the binary is theoretically possible.

Bitcoin Core itself is reproducible as far as I know. but I want to have an operating system that is also reproducible to run Bitcoin Core, LND, and maybe other services like Nextcloud
B1-66ER
Member
**
Offline Offline

Activity: 68
Merit: 30


View Profile
February 19, 2026, 09:35:30 PM
 #5

Which node operating systems are reproducible, if any?

I researched this question for different node operating system's like UmbrellOS, Start9 and RaspiBlitz but nowhere I can find information about their reproducibility, does this means that they are not reproducible?

For the people who don't know what reproducibility means:
It means that if you use the build scripts and the source code of a binary and compile it, you get the exact same binary that is officially distributed.
This is important to verify that the binary you running is actually the result of compiling the source code without adding or removing anything.
https://reproducible-builds.org/

I guess what you looking for is something like

https://nixbitcoin.org/

Why use nix implementation?

Eelco Dolstra and Andres Löh. 2008. NixOS: a purely functional Linux distribution. In Proceedings of the 13th ACM SIGPLAN international conference on Functional programming (ICFP '08). Association for Computing Machinery, New York, NY, USA, 367–378. https://doi.org/10.1145/1411204.1411255

Eelco Dolstra and Andres Löh. 2008. NixOS: a purely functional Linux distribution. SIGPLAN Not. 43, 9 (September 2008), 367–378. https://doi.org/10.1145/1411203.1411255

PS.: Nix project actually predates Ubuntu by about a year... Shocked
ABCbits
Legendary
*
Offline Offline

Activity: 3528
Merit: 9785



View Profile
February 20, 2026, 08:00:14 AM
 #6

Tails is one of few OS that do that

I always thought that most Linux distribution are reproducible?

I never check in detail, but i'm under impression most of them aren't reproducibl. But i found this interesting PDF from website you mentioned, https://reproducible-builds.org/_lfs/presentations/2023-09-10-what-s-missing-so-that-debian-is-finally-reproducible.pdf.

On application level, Umbrel makes it much more difficult since it use Docker to ship and run the apps[

What exactly is hindering the reproduction of Docker images?
And Umbrell should at least make the system itself reproducible.

I barely use Docker, but i recall one of the reason is not all people who create Docker image pin exact version or certain file name/content depends on current timestamp. And from less technical user perspective (like me), verifying Docker image feels more tricky.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
n0nce
Hero Member
*****
Offline Offline

Activity: 966
Merit: 6014


not your keys, not your coins!


View Profile WWW
February 20, 2026, 04:14:47 PM
 #7

Tails is one of few OS that do that
I always thought that most Linux distribution are reproducible?
Reproducibility in this context means that you can quickly verify whether precompiled binaries that are made available for ease of installation, have been compiled from the given source files.

While the Linux kernel is fully open source and most Linux distributions are, too, not all of them offer precompiled binaries and / or an easy way to verify those. Your best bet will always be to build from source, which you can do with any open source project, by definition.

Bitcoin Core itself is reproducible as far as I know. but I want to have an operating system that is also reproducible to run Bitcoin Core, LND, and maybe other services like Nextcloud
That's why I'd recommend you install a safe, long-term stable base distribution like OpenSUSE and then install every single component (Bitcoin Core, C-Lightning, Electrs) from source.

That way you don't just verify that a prebuilt binary matches its source files, you actually built the binary yourself from that source.

n0nce.eu
B1-66ER
Member
**
Offline Offline

Activity: 68
Merit: 30


View Profile
Today at 11:39:41 AM
Merited by Cricktor (1)
 #8

Tails is one of few OS that do that

I always thought that most Linux distribution are reproducible?

I never check in detail, but i'm under impression most of them aren't reproducibl. But i found this interesting PDF from website you mentioned, https://reproducible-builds.org/_lfs/presentations/2023-09-10-what-s-missing-so-that-debian-is-finally-reproducible.pdf.

On application level, Umbrel makes it much more difficult since it use Docker to ship and run the apps[

What exactly is hindering the reproduction of Docker images?
And Umbrell should at least make the system itself reproducible.

I barely use Docker, but i recall one of the reason is not all people who create Docker image pin exact version or certain file name/content depends on current timestamp. And from less technical user perspective (like me), verifying Docker image feels more tricky.


Hi ABCbits I saw your slides, particularly this one that mentions

“Holger NMUed everything that was built before buildinfo
files existed, however there are cases where packages
without buildinfo files pop up (like packages going through
NEW).
buildinfos.debian.net is just a PoC, but it works around
#862073, #763822, #862538, #929397 (all against
ftp.debian.org well enough.”


As a strong supporter of Debian, I really appreciate the growing attention developers are paying to reproducibility. However, Nix and Debian use fundamentally different methods to achieve it. Nix is "Reproducible by Design" while Debian uses "Reproducible by Verification". Still, both try to solve the "it works on my machine" problem by creating a strict mapping between inputs, like source code and build tools and the final, bit-for-bit identical binary output.

Nix treats build processes as pure functions. Just like in mathematics, a pure function’s output depends only on explicit inputs, without relying on or altering the outside environment. In practice, Nix achieves this by taking every single input, like the source code, the compiler, and all dependencies and calculating a combined cryptographic hash for them.

This hash becomes the exact directory name where the built software is saved. If you change even a single bit in any input, the hash changes completely, creating a brand-new directory instead of overwriting the old one. This idea, formalized in Eelco Dolstra's doctoral work, guarantees that software builds are perfectly isolated and immutable.

There are also different levels of reproducibility. At the language level, package managers for specific ecosystems like Cargo for Rust, npm for Node.js, and uv for Python share the same goal as Nix, but with varying degrees of strictness. The C and C++ ecosystem is famously fragmented because, unlike Rust or Node.js, it does not have a single, official package manager built into the language. However, industry standards like Conan and vcpkg step in to fill that role. Manifest files across these tools, like Cargo.toml, package.json, or conanfile.txt, are similar to Nix expressions. They let you declare your high-level intent. Lock files then resolve those requirements into specific versions and record their cryptographic hashes. This prevents what the community calls "dependency version drift" where packages update unpredictably across different machines ensuring everyone downloads the exact same files.

The big difference is control. Cargo and uv lock down your source code dependencies, but they do not control the underlying environment. If you build on a Mac and a coworker builds on Linux, or if you have different system-level compilers, the build might still fail or behave differently. Nix essentially acts as a mega-lockfile for the entire operating system. It doesn't just lock down the Python or C++ packages; it locks down the Python interpreter, the C compiler, the system libraries, and the bash shell used to run the build script.

Regarding Nix, I am personally more familiar with using Flakes to manage these environments. However, it is worth noting that Flakes are still officially classified as an experimental feature and are considered unstable, even though they are widely adopted in the community.

All the best.
Cricktor
Legendary
*
Offline Offline

Activity: 1414
Merit: 3653



View Profile
Today at 02:08:20 PM
 #9

I must say, I'm not paranoid enough (no offense!) to ask for everything has to be reproducible, which is particularly complicated for the underlying OS. You rarely have, if at all, a reproducible build of your OS.

So, I'm fine to start with a well known OS (RaspiOS, Debian, OpenSuSE, Fedora) and build from there. I'm also pragmatic and don't like to make my life too hard when the risk assessment doesn't require it. In my opinion it depends on what you need or want to protect.

I'm mostly fine e.g. to use Umbrel in a low value and low loss risk environment. From what I observed in Umbrel, used Docker containers are pinned by their hash. If you want to verify how a specific container was built, you're on your own and need to know how to do it. It's not rocket science, but also not something for newbies and requires some knowledge. Being a bit of an IT geek helps somewhat.

I used RaspiBlitz in the past, now made a pause and will likely have a fresh look at it when I find the time. In the past it was my impression that in theory you could build your RaspiBlitz image from the Github sources. It wasn't for the faint of heart, though, but not too complicated either. Definitely not sure, how it's today as I haven't looked at the last releases at all.

I also run a very partial build of Raspibolt, mainly only the Bitcoin Core node part because that's what I needed for a special case. Starting from a headless RaspiOS (mostly Debian-like) I set it up from the pre-compiled ARM64 binary of Bitcoin Core and of course verified the signatures. I have enough Linux knowledge to follow Raspibolt setup instructions with ease.

I didn't build Bitcoin Core from sources, because a) it's reproducible, b) others have verified to reproduce the official binaries and c) under these pre-conditions it's fine and pragmatic for me to only verify checksums and signatures.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
NotATether
Legendary
*
Offline Offline

Activity: 2254
Merit: 9517


Trêvoid █ No KYC-AML Crypto Swaps


View Profile WWW
Today at 07:46:28 PM
 #10

Reproducible as in what? All compilation steps are deterministic? Or instructions everywhere like Linux From Scratch.

If these systems are built on Debian then this is a non-issue to be honest.

 
 b1exch.io 
  ETH      DAI   
  BTC      LTC   
  USDT     XMR    
.███████████▄▀▄▀
█████████▄█▄▀
███████████
███████▄█▀
█▀█
▄▄▀░░██▄▄
▄▀██▄▀█████▄
██▄▀░▄██████
███████░█████
█░████░█████████
█░█░█░████░█████
█░█░█░██░█████
▀▀▀▄█▄████▀▀▀
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!