lbryio / lbrycrd

The blockchain that provides the digital content namespace for the LBRY protocol
https://lbry.com
MIT License
2.58k stars 178 forks source link

Bring back reproducible builds #401

Open lyoshenka opened 3 years ago

lyoshenka commented 3 years ago

As a security-conscious user, I need to be able to build lbrycrd from source and be confident that it matches the official release. This is critical to ensure that all nodes remain in consensus.

Requirements:

BrannonKing commented 3 years ago

We'll have to set the SOURCE_DATE_EPOCH and whatever the equivalent is for CLANG and the cross compiler. We also need to modify the code to ensure that we aren't running with an incompatible version of ICU and that Boost was built with the ICU backend.

juanpc2018 commented 2 years ago

byte-for-byte reproducible build

is Near impossible, unless you have exactly the same version of everything the developer used to make the build. all libraries, OS, dependencies, etc...

also read: Reflections on Trusting Trust, by Ken Thompson: https://www.youtube.com/results?search_query=Reflections+on+Trusting+Trust%2C+by+Ken+Thompson

thats why people with that level of paranoia buy these: https://www.youtube.com/results?search_query=talos+ii+raptor

The docker image is the "same"... personally i dont like docker, i think is much better a real image .vhd / .vhdx VirtualBox, qemu, kvm, vmware, proxmox, parallels, etc...