Low Key Experiments in NFT Rights Management

Low Key Experiment with NFT’s stamped with Music License

James McCall
LexDAOism

--

Many epochs ago, we began experimenting with using a DAO to manage IP and mint NFT’s that represent licenses. This basic NFT as representation of certain legal rights seems to be an area ripe for experimentation. Slicing and Dicing rights to a THING is the method to unbundling and tokenizing rights. This is a basic experiment to see where the use case might make sense and where the pain points are. This blog post is probably going to be more about how not to do things. But just like learning to drive a nail with a hammer, mistakes are to be reckoned with. It will also teach a couple tricks about NFT’s and how to manipulate the metadata from etherscan.

Original Master License:

Use NFT’s “nonfungible tokens” and locks to experiment with use case of identifying control and ownership of copyright works within Aragon DAO’s. This is to show flow and potential friction points with the experiment. What is a NFT? refer to the bible.

Artist Zplit.eth minted an NFT on rarible with a unlockable lock that opens upon purchase of the NFT. He has been one of my favorite artists. So after a quick and impulsive panic buy. NFT was pwned. Both for the beats, but also for his willingness to experiment and not accept the unacceptable. The token grants all rights to the token holder as if they created the work themselves. The specific token address is https://app.rarible.com/token/0x6a5ff3ceecae9ceb96e6ac6c76b82af8b39f0eb3:1323

The ownership of the NFT token confers the right to unlock the token and to download the goodies within. Unfortunately, as of the date of the experiment, the app.rarible.com was not supporting Aragon Agent through Frame. So the unlock protocol does not work via the DAO (but it does appear possible to mint NFT’s without lock). It is possible that this can be completed manually through direct action via Aragon Agent on contract. The (un)lock protocol was completed prior to transferring ownership to the DAO at lexCredDAO. The original lock upon purchase unlocks a ipfs url that contains the download for the original .flac file of the tract.

This tract was then converted to mp3 manually using MacOS and was uploaded to IPFS using IPFS Desktop for Mac OS. With this URL a new NFT (the “MP3 NFT”) that confers the permissive license to the music combined with the URL to the MP3 file was minted using app.rarible.com. As said earlier, the lock does not appear to be supportive of using Aragon Agent via Frame.

The image was a personal one taken of art work as it is somewhat unclear as to the license associated with the original artwork NFT. The license is stamped into the NFT as well as the lock and the IPFS URL to the file.

The ownership and control of all the NFT’s are exercised through transferring the NFT ERC-721 token to the agent address. These NFT’s are seen here through Aragon Agent/Frame at the app.rarible.com

The first image is for one where there is a lock imprinted. These could theoretically be resold on rarible.com with the purchase price including unlocking the mp3 file. Votes via DAO’s are probably not anything to be experimented with during high gas prices. It appears that it is the locking mechanism that is triggering the error. These include just the license stamp.

NFT Escrow

Future areas for experimentation might be to use NFT escrow to put mini-escrow where the NFT and file location are exchanged once it is funded. The escrow can be used for a “satisfaction guarantee” where buyers can make sure they are happy with the tunes and funds don’t get released to the seller until a certain amount of time goes past. A buyer’s satisfaction escrow might be released after an hour, for example. It would be really a matter of allocating the risk between buyer and seller in the transaction. This is similar to Amazon being really lenient with returns to bootstrap shoppers willingness to buy things online that they were accustomed to trying on.

IPFS Storage

IPFS is a decentralized storage system that basically serves to use computer storage as nodes to store files and make them redundant through pinning. This is similar to Pied Piper in Silicon Valley. The benefit is that storage is maintained on a decentralized basis. In other words it doesn’t rely on a central cloud storage to host files. This is an issue as if the original artist or minting contract hosts the image files on AWS servers and quits paying the bills. Presumably, the NFT will point to an empty file and become a tombstone NFT. The following IPFS link is hosted on IPFS desktop and all readers should have the right to sample the music

Few understand

Batch Minting when you want Multiples

There are certain NFT platforms that allow batch minting of NFT’s and more on the way using the Enjin EIP 1155. So one issue is how to mint more than a few NFTs economically at scale. There are newer EIPs that make this work better at scale. The lack of batch minting is a gating item of the ability to produce larger quantities of a NFT. As each NFT is basically a unique creation. Also, the metadata that would be required is not generally hosted on chain and requires a hosting service to manage. Current known platforms working on the batch minting are:

  1. Mintable.app
  2. Mintbase.eth
  3. Cargo.build

Decentralized Data Storage platforms are:

  1. Pinata
  2. Fleek
  3. Storj
  4. IPFS

Mintable.app was used to create a contract to batch NFT’s using Aragon Agent via Frame at mintable. These experiments would have been much easier with an account outside of the DAO used to manage these NFT tokens, but it is (a self imposed) important factor to be able to control the permissions of the IP within the DAO. Minting the (sub)license NFT’s would trigger a vote from the DAO as would transferring the tokens outside of the DAO. There are some cool DAO’s working on this as well, such as DAO records and could also be handled via a multisig. Overall conclusion is that DAO’s probably aren’t quite there yet with the ability to manage a large body of IP rights via a multisig. Maybe with integration of Snapshot that would allow offchain consensus with onchain votes where a dispute is stirred up.

MetaData Sublicense Description:

The following metadata was imprinted in the NFT as a license.

“(the) Cybercash Groove miniNFT

Experimental MP3 NFT represents the right to enjoy and download a two-minute syncopated tech-house track inspired by the awesomeness of digital currencies, smart contracts, and the whole community working for the open internet from the emerging artist zplit.eth @zpl1t on twitter. Please feel free to tip the artist if you enjoy the track

Holder of this NFT token is granted nonexclusive license FOR GOOD AND VALUABLE CONSIDERATION, receipt of which is hereby acknowledged, owner of the token controlling rights to (the) cybercash groove hereby irrevocably transfers and assigns to the holder(s) of this Ethereum token, in perpetuity, this nonexclusive license to enjoy the mp3 and to let others remix, adapt, and build upon the work even for commercial purposes, as long as they credit the original artist zplit.eth and rights holder lexdaocred and license their new creations under the identical or more permissive terms. This license is often compared to “copyleft” free and open source software licenses. All new works based on this will carry the same license, so any derivatives will also allow commercial use.”

This is a derivative of the creative commons license. For artists, artisans and degenerative attorneys that would like to develop more creative commons come join MolLeArt DAO that aims to bring a creative commons with DAO controlled commercial licensing. The mintable.app allows batch minting of NFT’s that are a one-time purchase of the batch amount. For example, the 5 allows a batch of 5 NFT’s to be minted using the contract.

NFT Token Factory

( the)CyberCash Groove MP3 Minter Dapp

https://etherscan.io/dapp/0x6c4b3511d46fa72a15401f3488578ce384f9dad6

When the mint was completed the special license metadata was stripped from NFT. Through support with the awesome Mintable team there were a couple of workarounds.

  1. Need to host our own IPFS metadata in a JSON
  2. Make a text file on your computer and copy Metadata in .json format and name it whatever you want (for example):

{ “Address”:”0x6c4b3511d46fa72a15401f3488578ce384f9dad6",

“tokenId”:”0", “title”:”(the) Cybercash Groove.mp3 from artist

Zplit.eth”, “name”:”NFT Music License Token with Link to MP3",

“description”:”Holder of this NFT token is granted nonexclusive

license FOR GOOD AND VALUABLE CONSIDERATION, receipt of which is hereby

acknowledged, owner of the token controlling rights to (the)

cybercash groove hereby irrevocably transfers and assigns to the

holder(s) of this Ethereum token, in perpetuity, this nonexclusive

license to enjoy the mp3 and to let others remix, adapt, and build

upon the work even for commercial purposes, as long as they credit

the original artist zplit.eth and rights holder lexdaocred and

license their new creations under the identical or more permissive

terms. This license is often compared to “copyleft” free and open

source software licenses. All new works based on this will carry the

same license, so any derivatives will also allow commercial use.”,

“image”:”https://picturehosts.s3-us-west-2.amazonaws.com/

IMG_20200205_141231.jpg”,

“url”:”https://ipfs.io/ipfs/

QmNZSpJiZsaK6U8sgE3gJJ2QKh91so2diNFck2cuu7jAbH”,”mp3-download-link”:”https://encrypt.one/s/lJI9M3LwM48SpYg8r0j4AA#jybi7jpaaF0”

}

3. Edit the data to whatever you want your token info to be. So if you want a new title, edit the title field. For a new image, edit the image field URL to wherever your new image is hosted

4. You can add new fields like “mp3-download-link”: “link here”, as well.

5. Copy and paste the file into this website to make sure it is in the right JSON format — https://jsonformatter.curiousconcept.com/

6. Save that text file again as “whatever name you want”.JSON — the “.json” part is the important aspect

7. Upload that .json to IPFS and you will get a URL that hosts your JSON

8. Create a new contract using mintable (and metamask or another supported wallet) and when it says “use our api” DONT tick that box but instead insert your IPFS link

9. Repeat steps 1–7 for each new token, and include that new URL from ipfs when you use aragon to mint new tokens, in the manner you did previously using etherscan or aragon agent

Well I guess music is cool, but what else is possible

NFT’s are good where there is a uniqueness to it. So where Uniswap SOCKS are a representation of an offer to redeem one token for one pair of socks shipped anywhere in the world, NFT’s could be used to have each have a unique property to the token. So examples might be all invoices from different customers. One idea was to have promissory notes from one part to another, where ownership is presumed from holding the token.

Using LexDAO Gamma contract to mint “Promissory Note” NFT for testing purposes.

Leaking Gamma is Much Cooler than Alpha
  1. Loaded an image to AWS S3 made bucket public
  2. Password protected PDF file of promissory note on IPFS from Openlaw form
  3. Point metadata json to “image” and “file” unlock in data. (not real security measures, just some roadblocks)
  4. Go to JSON formatter and Validator
  5. Upload JSON to IPFS
  6. Etherscan Gamma Contract to mint NFT from Gamma factory
  7. Go to Write Contract and select function 2 “mint”

8. Eth Price is the Sale Price

9. For the Token URI string point to the location of the JSON that is stored on IPFS

10. For Sale is a bool, either true or false depending on whether it is for sale or not.

Getting your NFT contract into the OpenSea

  1. To get the NFT to appear, the contract needs to be added to a popular viewer such as opensea.io
  2. https://opensea.io/storefronts
  3. Add existing contract (an also check etherscan)
  4. GAMMA contract is added, but add your own if it is a GAMMA contract.
  5. Add to CryptoVoxels for auction (if wanted)

How to view the Token metadata for the URI

  1. Go to the read contract function, select the URI for the token. For ours it is #7
  2. The URI from the read function will print a JSON URL
  3. This will go to the metadata as the JSON file is hosted on IPFS
  4. One URL points to the image, which is where OpenSea and similar dapps will pull the image for the NFT and the second goes to a download file for the document of the promissory note itself (in this case fictional)

About LexDAO

We are planning a follow up piece on Gamma NFT light weight NFT…..

All links provided are for informational purposes only and not meant as recommendations of the people or products. Nothing herein is legal advice and should not be relied upon without reaching out to your own personal attorney. The linked ABA disclaimer is appended to the blog.

LexDAO is a non-profit association of legal engineering professionals that brings the traditional legal settlement layer to code, and coded agreements to the masses. We believe that everyone deserves access to justice provided in a quick and efficient manner. If legal services were easier to use, verify, and enforce, we could live in a fairer world. Blockchain technology offers solutions to many problems in the legal space. Our mission is to research, develop and evangelize first-class legal methods and blockchain protocols that secure rules and promises with code rather than trust. We do this by training LexDAO certified legal engineers and building LexDAO certified blockchain applications. We strive to balance new deterministic tools with the equitable considerations of law to better serve our clients, allies, and ultimately citizens.

lexDAO.chat to discuss more or apply to join

To be continued…..

--

--

James McCall
LexDAOism

Love agriculture, finance, and law Not legal advice. DAO things w/ @lex_dao ; @farmapper working wit @realdao ; views are mine and relatively scenic