If I create a program or a novel, how do I prove that I am the author and how do I control copyright/license, including derivative works? I assume that I make a hash of the document and enter a record in the blockchain. But how exactly could an ethereum contract be implemented to protect my copyright/license?
You might want to have a look at
dotta-license which is an ERC721-based Software Licensing Framework.
The issues they cover are much more complex and it seems a well thought solution.
Among the features, it has:
- Multiple products - Each product has its own inventory levels and total supply, housed in one contract
- Subscriptions - Products can (optionally) expire and be renewed by paying additional funds
- Affiliate program - Affiliates can get a cut of sales they refer with individual, -
- whitelisted rates (including recurring affiliate revenue with subscriptions)
- Roles-based permissions - The store has three roles: CEO, CFO, and COO
- Full ERC-721 Compatibility - Each license issued is also an ERC-721-compatible token
- CLI Admin Tools - With Ledger hardware wallet support
You can store copyright/license on IPFS and hash of the copyright/ license in the smart contract. One of the most important cryptographical tools that are used in blockchain is the concept of signatures. Cryptography gives us a solution to this by means of “digital signatures” which is done via the use of “keys”. The private key is a proof of ownership of an account just like your fingerprint or signature and the public key is known to all the participants in the network so that anyone in the network can transact with you. If one loses private key then one loses ownership of an account. While entering data in the blockchain you will sign transaction by using the private key. By using the private key you can claim ownership of data and no can forge that.
Refer the following blog for basic implementation-