1

I have trouble understanding the underlying mechanism for the UJO Music Portal, that helped Imogen Heap sell her album online. There is a smart contract that enables people to pay using ETH with MetaMask and in the end they receive a link to download the song.

Is the link to the song stored in the smart contract? If so, can someone access the smart contract to read the link without paying?

I'm basically trying to come up with a mechanism to pair documents and payments in a smart contract. If you don't pay you should not be able to access the document/the link to the document/the decryption key to the document.

Thanks for your inputs.

0

Along with Mike Goldin, I wrote the Imogen Heap smart contract.

It was fairly simple. The smart contract only divvied up the ETH to hardcoded percentages to the various contributors. We checked if the user did that accordingly and if so, we revealed the link to download.

This is still how most of Ujo works atm. The user sets a licensing policy, that given a certain event in Ethereum, a specific user should be given access to it. Currently that access is given by a specific provider: namely Ujo Music.

There's no other cryptography involved currently. We are starting simple, but in the future want to allow anyone to be a provider and allow optional encryption for access.

You can find our current contracts here: https://github.com/UjoTeam

  • I saw the music file is stored on IPFS. If that's true, how do you restrict the download to only people who payed ? I'm not sure this part is clear to me. Thanks. – Nicolas Massart Aug 22 '18 at 21:10
  • 1
    We don't restrict it atm. Reducing the barrier to entry to license is more important in the short term than protecting against piracy. Either way, if you illegally obtain the file, it's still illegal. – Simon de la Rouviere Aug 23 '18 at 7:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.