Smart Contract Thoughts – EULAs on the Blockchain
Signing a EULA, Blockchain Entry Style
License codes are a valuable asset, and you CAN NOT trust pirated or dodgy or sub-par software, so their recording of consumption and most likely the software vendors billing should be fair balanced and honest…
What do you guys think about End User License Agreement signing on the Blockchain with EULA SDK/API set/Lib so software always delivers most up to date, encrypted, end user license agreement to the end user.
One way the EULA signing could work
The user could use their keys in the transaction to sign the EULA, and the users public key, the EULAs public key, and encrypted version name could all be recorded to a blockchain.“ Clients SDK running in the software getting temporary signing keys from the Client’s Server who’s private keys can generate them.”
With only the company that authors and delivers the EULA to the end user having the private keys to unlock and see who has signed their EULAs and the Clients SDK running in the software getting temporary signing keys from the Client’s Server who’s private keys can generate those temp signing keys and server them back to the client.
The useful part of it would be that you could know what user passed what version.
Would you keep two chain types/data structures? … one of the encrypted contracts themselves, as they mutate in time, and one of the contract signatures, signed by the SDK getting the SDK Client’s Private key and the end users details encrypted and recorded.
Signing, part of a Greater EULA management application
You would have to build an application for the legal writers and the software release managers so they can edit and deliver the most up to date EULAs.
You would also create and provide a easy to use SDK so software application clients using the EULA delivery APIs can check if the current end user running it passed its latest EULA.
You could even go as far as to check the license agreements to 3rd party applications for mashups an integrations, similar to an OAuth Style process, but kind of the reverse. Instead of the client asking for the 3rd party access….. and the third party providing access… they client would check did the user agree already with that third party on some EULA, if so, then give or unlock some special client access.