julien on Nostr: A derivation isnt downloaded, its generated locally. Then you take the output hash of ...
A derivation isnt downloaded, its generated locally. Then you take the output hash of the generated derivation, and look for it first locally, then remotely at binary caches. The point is that a deterministic build can be defined (the outputHash) locally and fetched remotely without fear, nix will check the received binary. Its why we call caches "substituters" in Nix, bc i can safely substitute a build output with a remote one if i know its hash. I should draw this out 😅
Trustix is more about detecting malicious builders at large. If you only rely on caches for your packages, we can compare their build outputs to each other and generate trust scores over time. It would need an ecosystem of builders to be useful.
Published at
2024-08-28 13:44:02Event JSON
{
"id": "a1b00bd1546aa599db0123d1ec84ed8c13eace5eb6d53a804835a77a7b843287",
"pubkey": "2bb507e8086248747d2ec5009a70ccdbe0be9310fa612952923c8579e5aa8044",
"created_at": 1724852642,
"kind": 1,
"tags": [
[
"e",
"6c7e707f218aaeeca84e64414eaafecb92d3e1ff19c394021bef121b83a6a793",
"",
"root"
],
[
"e",
"5c3c6cb9977d43263d882caa6080f3d6d415ac48b0e58ecb57f383d4a10c70f9"
],
[
"e",
"66b4c983f0454e224742594d8276510e9adb405b2b13c6d5bdcde71b52c42ef5",
"",
"reply"
],
[
"p",
"2bb507e8086248747d2ec5009a70ccdbe0be9310fa612952923c8579e5aa8044"
],
[
"p",
"a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d"
]
],
"content": "A derivation isnt downloaded, its generated locally. Then you take the output hash of the generated derivation, and look for it first locally, then remotely at binary caches. The point is that a deterministic build can be defined (the outputHash) locally and fetched remotely without fear, nix will check the received binary. Its why we call caches \"substituters\" in Nix, bc i can safely substitute a build output with a remote one if i know its hash. I should draw this out 😅\n\nTrustix is more about detecting malicious builders at large. If you only rely on caches for your packages, we can compare their build outputs to each other and generate trust scores over time. It would need an ecosystem of builders to be useful. ",
"sig": "7fc995e529d4f6313670354f6f53e0acbdc2ed712df9f106c58c1a67469768314123b7d1bd8b9eab25b34306052965698d6a874af57c2d1b53eaa2d0b0b4fe4a"
}