Skip to content

Reproducible builds for enclave binaries #1467

Open
@sbellem

Description

@sbellem

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:

  1. Possibility for anyone to easily verify that enclave binaries match the source code.
  2. 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.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions