Description
Opening this issue as an entry point to discuss the implementation of whatever is necessary to provide reproducible builds for enclave binaries (librust_cosmwasm_enclave.signed.so and
tendermint_enclave.signed.so`).
The underlying assumption is that it is potentially a desired goal, judging from the README.md
text under https://github.com/scrtlabs/SecretNetwork#build-from-source:
For a production build the enclave must be copied from the most recent release.
This is due to non-reproducible builds, and the fact that enclaves must be signed with a specific key to be accepted on mainnet.
Still, the non-enclave code can be modified and ran on mainnet as long as there are no consensus-breaking changes
The two main benefits of having reproducible builds would be:
- Possibility for anyone to easily verify that enclave binaries match the source code.
- Possibility for node runners to use enclave binaries built from source as opposed to downloading them from a trusted source. (This would obviously require using the MRENCLAVE sealing policy.)