cjbprime
a year ago
If you have a large client population, you could try something where you pick e.g. ten clients at random to build-and-upload the same artifact, and if they all come up with exactly the same artifact, and collusion between them is sufficiently implausible, you could decide to trust it.
Apple also has something for iOS called "App Attestation", where you could publish an app to do the building, and then if your server receives an upload from a successfully-signed app instance, you would know that the app code itself was not modified: https://developer.apple.com/documentation/devicecheck/establ...
This is all assuming you can't just do the build yourself to verify what they did. (If you could, why would you need them to upload it?)
solardev
a year ago
I think this is how BOINC does it too:
https://github.com/BOINC/boinc/wiki/JobReplication
https://boinc.n-helix.com/trac/wiki/ValidationSummary
--------
Unrelated, there is also https://en.wikipedia.org/wiki/Homomorphic_encryption
SUPERCILEX
a year ago
Thanks for the links!
SUPERCILEX
a year ago
So you have to use probabilistic methods, makes sense thanks!