Data NFTs have arrived — what role do they have in Ocean V4?
Ocean V4 is here and one of the major upgrades are data NFTs. We all know NFTs are awesome, right? Or have we all just got caught up in the hype around them? In this article, we will be taking a look at what Data NFTs are and the role they play in the Ocean Protocol’s V4 release. Spoiler alert… It’s not just hype. So if you’re wondering why we have decided to upgrade our smart contracts to create data NFTs — you’re in the right place.
Sections
1. What Are NFTs?
2. So What’s a Data NFT?
3. Data NFTs Open Up New Possibilities
4. How Are Data NFTs Implemented?
5. What About Fractional Ownership?
6. What Roles Can The Data NFT Owner Assign?
7. Data NFTs Are Awesome
First up — let’s remind ourselves what NFTs are. You probably already know what the acronym stands for, non-fungible token, but what does that mean? A fungible moneda or token is one that can be exchanged for another identical token or unit of moneda (Dollar, Pound, Bitcoin, Ether etc). So the fact that NFTs are non-fungible means that there is nothing identical to exchange them for — they are unique! They are the equivalent of marked dollar bills. The “mark” is usually a hash stored in the NFT smart contract.
This uniqueness is the reason for all the buzz around NFTs — they are ideal for representing other unique assets on the . Over the last 18 months, we’ve seen an explosion in the number of NFTs created, representing all kinds of digital assets from GIFs to Tweets.
By far the most exciting application of NFTs is the potential for them to represent intellectual property (IP) on-chain. Regular readers of our blog will be well-aware of how interested we are in the application of NFTs representing IP. If you would like to gain a more detailed understanding of the background on this topic, we recommend reading:
NFTs & IP 1: Practical Connections of ERC721 with IPNFTs & IP 2: Leveraging ERC20 FungibilityNFTs & IP 3: Combining ERC721 & ERC20
A data NFT represents the copyright (or exclusive license against copyright) for a data asset on the — we call this the “base IP”. When a user publishes a dataset in Ocean V4, they create a new NFT as part of the process. This data NFT is proof of your claim of base IP. Assuming a valid claim, you are entitled to the revenue from that asset, just like a title deed gives you the right to receive rent.
The data NFT smart contract holds metadata about the data asset, stores roles like “who can mint datatokens” or “who controls fees”, and an open-ended key-value store to enable custom fields.
If you have the private key that controls the NFT, you are the owner of that NFT. The owner has the claim on the base IP and is the default recipient of any revenue. They can also assign another account to receive revenue. This enables the publisher to sell their base IP and the revenues that come with it. When the Data NFT is transferred to another user, all the information about roles and where the revenue should be sent is reset. The default recipient of the revenue is the new owner of the data NFT.
With data NFTs, you are able to take advantage of the wider NFT ecosystem and all the tools and possibilities that come with it. As a first example, many leading cripto wallets have first-class support for NFTs, allowing you to manage data NFTs from those wallets. Or, you can post your data NFT for sale on a popular NFT marketplace like OpenSea or Rarible. As a final example, we’re excited to see data NFTs linked to physical items via WiseKey chips.
We have implemented data NFTs using the ERC721 standard. Our implementation has been built on top of the battle-tested OpenZeppelin contract library. However, there are a bunch of interesting parts of our implementation that go a bit beyond an out-of-the-box NFT.
We released Ocean V3 in late 2020. In V3, there was a single ERC20 datatoken contract template and every datatoken had to follow that implementation. Over the last year, we’ve seen large growth in the variety of projects that are now building on top of Ocean. With this in mind, a key goal for V4 has been to introduce as much flexibility as possible. In particular, V4 has flexibility on data NFT templates, data NFT key-value storage, and datatoken templates. Let’s explore each in detail.
Ocean V4’s data NFT factory can deploy different types of data NFTs based on a variety of templates. Some templates could be tuned for data unions, others for DeFi, and others yet for enterprise use cases.
Something else that we’re super excited about in our data NFTs is a cutting-edge standard called ERC725 being driven by our friends at Lukso. The ERC725y feature enables the NFT owner (or a user with the “store updater” role) to input and update information in a key-value store. These values can be viewed externally by anyone.
ERC725y is incredibly flexible and can be used to store any string; you could use it for anything from additional metadata to encrypted values. This helps future-proof the data NFTs and ensure that they are suitable for a wide range of projects that have not been launched yet. As you can imagine, the inclusion of ERC725y has huge potential and we look forward to seeing the different ways people end up using it. If you’re interested in using this, take a look at EIP725.
Continuing the theme of flexibility, for a given data NFT, you can have an ERC20 datatoken contract. Here’s the main idea: 1.0 datatokens allows you to consume the corresponding dataset. Put another way, it’s a sub-license from the base IP to be able to use the dataset according to the license terms (when you send it to the publisher). License terms can be set from a “good default”, or by the Data NFT owner. ERC20 fungible token standard is a natural choice for datatokens, because licenses themselves are fungible: one license can be exchanged 1:1 another. Using the ERC20 standard enables interoperability of datatokens with ERC20-based wallets, DEXes, DAOs, and more. Datatokens can be given (simply transferred), purchased on a marketplace / exchange, airdropped, etc.
You can publish a data NFT initially with no ERC20 datatoken contracts. This means you simply aren’t ready to grant access to your data asset yet (sub-license it). Then, you can publish one or more ERC20 datatoken contracts against the data NFT. One datatoken contract might grant consume rights for 1 day, another for 1 week, etc. Each different datatoken contract is for different license terms.
Ocean provides convenient methods to list ERC20 datatokens for sale, with fixed-price (atomic swap), or automatic pricing via an automated market maker pool (a friendly fork of Balancer). Like any ERC20 token, datatokens may be listed in many decentralised exchanges (DEXes), centralised exchanges (CEXes), over-the-counter, or otherwise.
Fractional ownership is an exciting sub-niche of Web3, at the intersection of NFTs and DeFi. IT allows co-ownership of data IP.
Ocean provides two approaches to fractional ownership:
Sharded holding of ERC20 datatokens, where each ERC20 holder has the usual datatoken rights as described above, e.g. 1.0 datatokens to consume an asset. This comes out-of-the-box with Ocean.Sharding ERC721 data NFT, where each co-holder has right to some earnings against base IP, and co-controls the data NFT. For example, there’s a DAO with the sole purpose to hold the data NFT; this DAO has its own ERC20 token; DAO members vote with tokens to update data NFT roles or deploy ERC20 datatokens against the ERC721.
Note: For (2), one might consider doing sharding with something like Niftex. But then there are questions: what rights do the shard-holders get exactly? It could be zero; for example, Amazon shareholders don’t have the right to walk the hallways of the Amazon offices just because they hold shares. Secondly, how do the shard-holders control the data NFT? These questions get resolved by using a tokenized DAO, as described above.
Data DAOs are a cool use case whenever you have a group of people that wish to co-manage data, or bundle up data for larger collective bargaining power. The DAO may be a union, co-op, or trust.
Consider the following mobile app example. You install the app; it has a built-in cripto wallet; you give the app permission to see your location data; the app gets the DAO to sell your (anonymized) location data on your behalf; the DAO sells your data bundled along with thousands of other DAO members; as a DAO member you get a cut of the profits.
This has several variants. Each member’s data feed could be its own data NFT with associated datatokens. Or, there’s simply one data NFT aggregating datafeeds across all members into a single feed, and the feed is fractionalized by sharded holding of ERC20 tokens (1 above) or sharding the ERC721 data NFT (2 above). If you’re interested in starting a data union then we recommend getting in touch with our friends at Data Union.
As we’ve described above, the data NFT is the base IP for the asset and all the datatokens are therefore linked to the data NFT smart contract — this has enabled us to do a bunch of cool new things around role administration. We’ve introduced a host of useful roles which give you flexibility in how you manage your project. This can be a big help for enterprises and startups who are ready to scale up and introduce a level of administration.
NFT Owner
The NFT owner is the owner of the base-IP and is therefore at the highest level. The NFT owner can perform any action or assign any role but crucially, the NFT owner is only one who can assign the manager role. Upon deployment or transfer of the data NFT, the NFT owner is automatically added as a manager. The NFT owner is also the only role that can’t be assigned to multiple users — the only way to share this role is via multi-sig or a DAO.
Manager
The manager can assign or revoke three main roles (deployer, metadata updater, store updater). The manager is also able to interact with the ERC725 data.
ERC20 Deployer
The Deployer has a bunch of privileges at the ERC20 datatoken level. They can deploy new datatokens and create new pools with vesting and staking, fixed price exchange, or free pricing. They can also update the ERC725Y key-value store and assign roles the ERC20 level.
Metadata Updater
There is also a specific role for updating the metadata. The Metadata updater has the ability to update the information about the data asset (title, description, sample data etc) that is displayed to the user on the asset detail page within the market.
Store Updater
The store updater can store, remove or update any arbitrary key value using the ERC725Y implementation (at the ERC721 level). The use case for this role depends a lot on what data is being stored in the ERC725Y key-value pair — as mentioned above, this is highly flexible.
Minter
The Minter has the ability to mint new datatokens, provided the limit has not been exceeded. In most cases, this role will not be used as the alternative is for the datatokens to be minted by the side-staking bot which has many advantages. We highly recommend taking a read of this article if you’re interested in learning more about safer staking and one-sided staking.
Fee Manager
Finally, we also have a fee manager which has the ability to set a new fee collector — this is the account that will receive the datatokens when a data asset is consumed. If no fee collector account has been set, the datatokens will be sent by default to the NFT Owner. The applicable fees (market and community fees) are automatically deducted from the datatokens that are received.
Nice one — you read through to the end — we’re glad you’re as excited by data NFTs as we are! The conclusion of this article is quite simply that data NFTs are awesome. Here are our top reasons why data NFTs are so cool:
The base IP is now tokenized, on-chain. This means you can sell it, trade it or transfer it from your existing cripto wallet.Data NFTs make it easy for you — the owner — to earn by owning them, by creating and selling datatokens (licenses of the base IP). This means that data NFTs are more than just speculative assets, they bring tangible revenue potential with them.The whole NFT ecosystem of tools is available to you because we’ve used the common ERC721 standard to ensure compatibility. In addition, you get super-flexible key-value storage (ERC725) and DeFi / ERC20 ecosystem tools (datatokens as ERC20).Ownership of the data can now be divided up and shared via fractional ownership. This is especially fitting for data DAO, for a group of people to co-manage data, or bundle up data for stronger collective bargaining.Data NFT owners have a huge amount of flexibility in how they manage their organization through the many different roles that they can assign to others. This is perfect for an enterprise or any startup trying to scale up.
Data NFTs are just one part of a whole range of upgrades we’ve introduced in Ocean V4. You’ll also be interested to read about all the new ways to make money from Ocean V4 and our new approach to staking in pools (it’s a lot safer!).
As always, if you’ve got any questions or want to give us feedback, don’t hesitate to head over to discord or Telegram. We’re looking forward to seeing how you use Ocean V4 and data NFTs.