> a requirement that (a) binaries be freely redistributable, and (b) binaries must authenticate against a blockchain and not against private servers
If the software runs on general-purpose hardware, it would be trivial to modify it to bypass the blockchain authentication step. If the software is only compatible with some sort of locked-down platform that won't run modified code, then it already has an enforcement mechanism (whatever is used to prevent running modified code), and a blockchain is redundant.
Blockchain is not redundant because blockchain provides non-first-party ownership authorization and would enforce the transferability of the product.
Like, right now, if I buy a digital good on a game console, my "ownership" of that good is controlled by the vendor. They can take it away on a whim, or simply because they no longer want to maintain the server that says "yes, Pxtl owns this".
If that ownership is stored on a record outside of the first-party infrastructure and the software must authenticate my ownership against that 3rd-party, then that 3rd party is the one that controls whether or not I own the software, and is responsible for keeping that service live.
And a blockchain, flawed as it is, is a decent solution for managing ownership of goods without having the infrastructure owned by a single entity who has to maintain it and can take it down on a whim.
I mean, an ICANN-style neutral 3rd party with specific policies about lifetime and transferability of ownership that just runs this on a regular-ass SQL server would be fine too.
If the software runs on general-purpose hardware, it would be trivial to modify it to bypass the blockchain authentication step. If the software is only compatible with some sort of locked-down platform that won't run modified code, then it already has an enforcement mechanism (whatever is used to prevent running modified code), and a blockchain is redundant.