mizu

Posted on Feb 11, 2022Read on Mirror.xyz

Certifying NFTs with a Little Help from Kleros

NFTs are a great way to sell artwork or other collectibles thanks to the properties bestowed upon them by the blockchains on which they live. In particular, NFTs are freely exchangeable and tradable, and their history can be traced back to when they were originally minted, thereby enabling all to verify the authenticity of any given NFT. Except... this only guarantees authenticity in a mechanical sense, for everything that happens after minting, but as anyone who has been even remotely involved in the NFT space will know, a big issue is verifying the legitimacy of the minting itself, and this is where Kleros, the decentralized court system, comes in.

There are two issues that need to be addressed. One is a mostly technical problem of how to build a registry of items that conform to a predetermined set of rules, and this is already solved by Kleros curated registries (often called Token Curated Registries, or TCRs, but this name makes little sense to me). The other is the problem of agreeing on a standard for what constitutes a legitimate or authentic NFT and writing a comprehensive policy that can be enforced by the court. We'll start with the first, solved, problem.

I. Kleros Curated Registries

A curated registry is a list of items which meet certain criteria as defined by a policy document. Such a registry could be managed by a central authority that unilaterally decides which items meet or do not meet the requirements but this first of all introduces an obvious point of centralization and trust: can we for instance trust a large organisation such as Opensea to interpret the policy without bias? And perhaps just as importantly in our case, a centralized approach is difficult to scale: as more and more people want to certify items every day, the centralized entity will need to hire employees for the job (a notoriously costly process) or need to attempt to develop some custom AI. Both approaches will furthermore likely suffer from the policy being misunderstood and misapplied and lack of transparency and consistency can be expected to be a recurring complaint, such as is already the case with youtube's notorious content ID and complaint system, to consider only one example.

As a solution to both the centralization and scaling issue, the Kleros cooperative has developed a curation framework that combines the following elements:

  1. Submission: Anyone may submit an item for inclusion into the registry but it is initially (e.g. for 3 days) in a pending state and not fully included.
  2. Challenge: Anyone may challenge an item in the pending state if they believe it to be contrary to the registry's policy.
  3. Review: Once a challenge has been made, jurors staked in the Kleros court will be selected at random (proportionally to their stake in the court) to decide whether the entry is valid based on the policy.
  4. Removal: If anyone finds an item to be invalid or no longer valid after it has already been included, they may request that it be removed and this request may also be challenged.

This framework has been successfully used in several applications, most notably ERC-20 (fungible) Token Curation (tokens.kleros.io), providing a list of verified tokens for Uniswap (in particular, uniswap.ninja) and other services; and Proof of Humanity, a registry of verified humans which already grants access to Universal Basic Income (UBI) and voting power in one person one vote or quadratic voting systems, to those who have registered.

Let's now go into a little more depth as to what this entails in the context of NFT curation. To start off, we will be needing two registries. One to curate individual NFTs and one to curate NFT collections. The reason we need a collection registry is that registering individual NFTs would in many cases be an unnecessary burden, especially in the case of large collections of similar works (e.g. Bored Ape Yacht Club). And the reason we need a registry for individual NFTs is that many NFTs are minted as part of open collections where anyone —or at least a large non tightly-controlled group— can mint NFTs. Such a collection can therefore not be expected to be clean of inauthentic NFTs, leaving us with no other choice than to certify the authentic NFTs within individually.

These registries are hosted on the Gnosis Chain (formerly xdai) sidechain in order to benefit from extremely low fees. At the time of writing, all transactions I have made there have cost me less than .01$ in fees. And since there is very little money at stake in NFT curation, we do not need to worry too much about the security implications of using a sidechain as opposed to Ethereum mainnet or a fully decentralized rollup.

In practice this is how the four functions of the NFT registries will operate with the parameters we have chosen for now based on estimates (or guesstimates) of the costs involved for the various participants:

  1. In order to submit an NFT or collection, one will have to deposit 37 xdai, which will be refunded if the NFT or collection is accepted into the registry. In case of rejection, 30$ of this amount will be used to reward the (successful) challenger and 7$ will be used to pay the jury, which, with current parameters, is composed of only one juror for the first round.

  2. If someone believes the NFT to be fraudulent or the submission to be otherwise invalid relative to the registry policy, they may challenge the entry with a 7$ deposit. If they win the challenge, the 7$ will be refunded and the challenger will be attributed the submitter's 30$ deposit as a reward. If they lose, the 7$ will be used to pay the juror fees.

  3. When a case is created in the Kleros court, both sides will first have the opportunity to present evidence and arguments in favor of their side during a 1½ day evidence period. It should be noted however that in order to prevent NFT submitters from laying traps for would-be challengers, they will be expected to submit any necessary proof along with their submission, and the registry policy will bar them from providing evidence which would be unfair towards the challenger once a challenge has already been initiated.

    A single randomly selected juror will vote in the first round. After that, a 3½-day appeal period will start, and during the first half of this period (1¾ days), anyone believing that the previous decision was wrong may fund the losing side of the appeal for 63$ (7$ * 3 * 3). If someone still thinks the previous round winner is in the right, they may fund the winning side of the appeal at any time during the appeal period, for 42$ (7$ * 3 * 2). In general the cost of funding the nth round of appeal grows exponentially and is given by 7$ * (2^n + 1) * 3 for the previous round's loser and 7$ * (2^n + 1) * 2 for the previous round's winner. In other words, each side pays the juror fees (7$ * (2^n + 1)) plus either 1 times or 2 times that amount depending on whether they won or lost the previous round. Whoever ultimately wins gets refunded all of their deposits and wins all the money left over after the juror fees have been paid. Of note, crowd funding is directly supported by the registry's smart contracts, meaning that all the risk does not have to be born by a single participant but can be shared among many. This may become important in expensive high-level appeals. When crowd funding is used, the rewards are distributed among the winning funders proportionally to their contributions.

    As for the jurors, they only earn the juror fees when they have voted coherently with the final result whilst they are penalized otherwise (i.e. if they vote differently or fail to vote at all). This encourages jurors to carefully consider the evidence and the policy as objectively as possible in an attempt to determine the case's Schelling Point, and discourages bad behaviour such as accepting bribes. Many more details about Kleros' design and its underpinning game theory can be found in the white paper and yellow paper.

  4. Removals function the same way as submission, also requiring a 37$ deposit from the person requesting the removal.

All in all, this makes for a system which is:

  • transparent: all decision making is done in the open and based on publicly available information;
  • fair: all challenges are reviewed by a jury incentivized to apply rule of law;
  • cheap: submitting an NFT or a collection is free if one does not make an error or try to cheat, otherwise, the cost is 37$, less than the usual cost of minting and listing on Ethereum; and
  • scalable: As demand for certifying NFTs increases and more submissions need to be challenged, more challengers and jurors can freely come and participate in the system to reap its rewards.

One beautiful aspect of this approach is that rather than hiring one entity to try to find a single solution for fraud detection and having to trust whatever software they come up with, we enable a free market of fraud detection solutions where each report of fraud gets examined by human jurors.

Some practical considerations that will need to be addressed...

One slight drawback of our approach however (although certainly not exclusive to this one approach) is that it takes time for an NFT to become registered, which can induce unwanted delays for any NFT marketplace wishing to make registration a requirement for listing. The negative effects of this can however be minimized by implementing what one might call optimistic auctions and sales: auctions or sales that only finalize after the NFT has been accepted in or rejected from the NFT registry and where the payment and NFT are held in escrow by the marketplace contract until then. If the NFT is accepted, the marketplace sends the money to the seller and the NFT to the buyer as usual, but if rejected, the buyer receives their funds back and the seller their NFT back. Since the registry lives on Gnosis Chain, which will generally not be the chain where the submitted NFT resides, an oracle will be necessary to report the state of the registry to the marketplace contract. Refer to appendix A for more technical details on how this can be implemented.

Another drawback to consider is the increased complexity for sellers wishing to submit their NFTs to the registry before listing it on a marketplace, either simply to increase trust from potential buyers or because registration is required by the marketplace being used. Since in most cases the NFT and the marketplace will not be located on Gnosis Chain, sellers would need to acquire xdai and perform an annoying dance of switching their wallet to the Gnosis Chain network and back every time they wanted to list an NFT. This is "only" a UX issue and I would expect the second part of the issue (switching networks) to eventually be solved by smarter wallet software, but the fact is that this sort of small nuisance could very quickly discourage users from going to the trouble of certifying their NFTs if optional, or encourage them to switch to another marketplace if made mandatory. In order to address this, marketplaces could charge a small listing fee based on an estimate of how likely they think a submission is to be rejected from the NFT registry (e.g. examining past activity from the NFT artist and other statistical analysis) and perform the submission on behalf of the seller. With decent algorithms and error margins, marketplaces should be able to ensure that, on average, they turn a profit from listing fees, while hopefully keeping them a lot lower most of the time than the 37$ deposit required by the registry. It's also worth considering that platforms implementing listing fees could offer correspondingly lower sales fees and that the listing fees could remain optional for those who would rather go to the trouble of submitting their NFTs to the registry themselves and for NFTs which had already been registered previously (as might be the case for a secondary market sale).

By combining optimistic auctions and marketplace-assisted registry submissions, I think it's fair to say that the listing user experience would not be much different than what it is now, while on the upside, having a decentralized certification mechanism would be reassuring for collectors and increase the legitimacy of the NFT market as a whole.

One last practical issue that comes to mind is the registration of multi-edition NFTs where each edition has its own token ID. This is not the case for all NFT contracts, including OpenSea's main contract where all editions in a batch have the same token ID, but it is for many others and so is worth considering. It would of course be possible to register each edition of the same work in the usual way, but this would be slow and unnecessarily capital intensive, especially for works with hundreds of editions. Instead, one can easily create a separate registry to keep track of editions of the same NFT batch. Entries in this registry could take the form of two data points: a canonical token, already registered in or in the process of being registered to the NFT registry, and a list of token IDs minted as part of the same batch. With this new list, verifying an NFT's registered status would only be slightly more complex. One would first test for presence in the NFT editions registry, and if present, check for the status of the canonical token in the NFT registry. If not present, it’s business as usual. The advantages of this editions registry would be that items would not need to be registered individually for one thing, and that, since verifying the validity of entries could be done mechanically in most cases, one could reduce both the submission deposit and the challenge period, maybe down to something 10$ and one hour once challengers are known to have set up automatic and efficient fraud and error detection infrastructure.

II. Policy

Inclusion Criteria

First of all, a word about the philosophy underlying the policy. After much consideration, it appeared to me that if this policy was to stand as a common standard, eventually used by most venues where NFTs are displayed or sold, it was important that it be acceptable to as many people as possible and to minimize the risk that artists would restrict their own artistic freedom for fear of not being included in the registry (which in this vision of the future would exclude them from a large chunk of the web3 world). To that effect, I have made the policy as minimal as I could, even if that means many will find it too often excessively lenient towards low effort derivative works.

Nonetheless, in order to prevent people from creating borderline policy-compliant derivative work, implicitly or explicitly claiming the work of others, and profiting from their potential buyers' ignorance of the source material, items in the registry come with an attribution field in which any works the NFT creator used as a source must be declared. Any platform making use of the NFT registries should of course display this attribution information prominently so that collectors are fully informed when pricing an NFT and can adjust its value downwards (potentially to 0$) based on how derivative the NFT is. Furthermore, this will allow for NFT subcommunities to impose their own consensus as to what constitutes an acceptable amount of derivativeness (including none at all) through social pressure. Another approach NFT platforms might choose is to create their own Kleros Curated Registries with their own stricter policy. As such, a whole hierarchy of registries and policies —with the one I am proposing here at the top— could see the day.

As to how this is implemented, allow me to lazily copy-and-paste the summary of the rules from the policy's preamble (which can be found in appendix B where the whole policy has been copied):

[...] an NFT must must broadly follow the following rules to be accepted in the [registry]:

  1. It must be minted with the consent of the content's legitimate owners.
  2. It must be meaningfully different from preceding works.
  3. If it is derivative, proper attribution must be provided.
  4. These requirements do not expire as a work ages or after the author's death.
  5. All NFTs of the same work must be minted as part of the same batch unless otherwise agreed.

Note: One should be careful not to confuse the concepts of the owner of a work and of the owner of an NFT.

The term "meaningfully different" here is of course doing a lot of heavy lifting and is defined through some examples rather than trying to find an all-encompassing definition:

a. An exact copy of an existing work is to be rejected. b. A copy of an existing work with subtle, or low effort and non-satirical, modifications is to be rejected. c. A mirrored or rotated copy of an existing work is to be rejected. d. A mere algorithmic filter or distortion applied to an existing work is to be rejected. e. A copy of a drawing, even if redrawn from scratch, is to be rejected if it is not easily distinguishable from the original without comparing both side by side. f. Fan art is to be accepted as long as it does not fall into case e. g. A cover of a piece of music is to be accepted as long as it is clearly different from the original performance.

The last point (5.) is perhaps little different from the rest since, rather than restricting an artist to minting only their own work, it regulates the relationship between the artist and their collectors by restricting their right to re-mint their own artwork once made available for purchase (or more accurately, it restricts minting of any artwork which would not be considered "meaningfully different" enough for others to mint were it their own creation).

The inclusion criteria are provided in section I. of the policy (appendix B) and I would encourage anyone wishing to provide feedback to read them in full.

Fields

Each entry in the NFT registry has the following fields:

  1. Thumbnail (image): A thumbnail of the NFT
  2. Name (text, indexed): Official name of the NFT
  3. Author (text, indexed): Author's name
  4. Collection (address, indexed): The collection's address
  5. Token ID (number, indexed): The token ID
  6. Chain ID (number, indexed): The chain ID of the network on which the NFT resides
  7. Proof (file, pdf or txt): Optional proof of authenticity
  8. Attribution (text): Optional attribution

To describe them briefly:

  • 1․ is a highly compressed (<500kB) 1080p webp image of the NFT. It can serve as a certified low resolution version of the NFT for platforms to display at sizes ranging from small thumbnail to 1080p.
  • 2․ and 3. are quite self-explanatory. Of some note, the author field is reserved for the person or entity which actually created the work, not the person who minted the NFT.
  • 4․, 5., and 6. form a triple which uniquely identify the NFT (chain ID, collection ID, token ID) across all blockchains. Of note, this registry will not be able to list NFTs from non-EVM chains in its current iteration. It might be possible to update it for that purpose, or alternatively, it would be very simple to create additional registries with the same policy for non-EVM blockchains.
  • 7․ is to be used to provide proof that the NFT conforms to the Inclusion Criteria, but only when there is reason to be suspicious. Otherwise, the burden of proof falls on the challenger. As such, it cannot be expected that these registries will be completely free from fraud, but this is in my opinion a good compromise which will still allow for the detection and removal of most cases of fraud.
  • 8․ is the attribution field we've already talked about. There is no formal format for it yet (apart from a requirement that entries should be separated by a newline or a semicolon) but works referenced here must be easily searchable if possible.

III. Current State of the Product

Both the NFT registry and the NFT collection registries are already up and running! Thanks to the work the Kleros Cooperative had already put into creating a generic curation platform and a "factory" interface for creating new registries, creating both registries was a trivial task requiring only filling out a web form and confirming the contract creation transaction in Metamask.

The registries are hosted here (if you have Metamask running, you will have to switch to the Gnosis Chain network):

As you will no doubt notice, the user interface is quite rough and lacking NFT-specific functions. Among other things, it is not able to automatically link to the original NFT based on the (chain ID, collection ID, token ID) triple, and the submission interface does not offer to automatically generate a compliant thumbnail, making submitting an NFT a very user-unfriendly and error-prone process. As I've already mentioned, these limitations come from the fact that the current user interface is a generic curation interface not designed specifically for NFTs. Furthermore, the Kleros team is already busy with developing Kleros v2 and other projects and so does not have much time and resources to allocate to the task of creating an NFT-specific curation interface, but even if it did, I believe it would be a waste of time develop a standalone user interface when the end goal is for existing or upcoming NFT platforms to integrate the registry seamlessly into their own interfaces, which will provide for a much better user experience. Following are three aspects of the interface that NFT platforms can integrate in order:

  1. NFT verification display: Platforms can display a "verified by Kleros" badge on NFTs present in the NFT registry (or whose collections are present in the NFT Collection registry). In that case, they should also display the contents of the attribution field alongside the NFT's description. If the submission is still in the pending state, if it has been challenged, or if removal has been requested, this should be displayed as well.
  2. NFT registration, challenge, and removal: Platforms can display a button alongside each NFT allowing users to submit it if not already registered, to challenge it if still in the pending phase, or to request removal if already registered and the user believes it to be inauthentic.
  3. Optimistic auctions: As I have mentioned at the end of part I., marketplaces can make auction settlement conditional on the NFT being accepted into the NFT registry.

For those wishing to implement support for the Kleros NFT registries on their own website, mtsalenc (a.k.a. eccentricexit) from the Kleros Cooperative has provided the following gist showing how to fetch an entry from the registry in nodejs: https://gist.github.com/eccentricexit/58f41b5c57df81c509dd59820395d83c. Note that this uses The Graph's API rather than reading the registry contracts since for gas efficiency considerations, the registry contracts only store an IPFS link to a json file (containing the submitted fields) thereby making a secondary indexer necessary. The Graph has however shown itself to be a bit limited for this use case and we are therefore considering developing our own indexer specific to the NFT registries.

Conclusion

Thanks to the infrastructure provided by the Kleros Cooperative around decentralized curation, we were able to very quickly set up an NFT registry and NFT Collection registry. I have proposed a registry policy which should hopefully be acceptable to all, at the very least as a common basis, even if some platforms or communities decide to create their own stricter policies. We have a working but rudimentary user interface, and the goal remains to have NFT platforms implement support for these registries as part of their own user interfaces. If you are working for such a platform I hope I will have convinced you of the utility and convenience of using the registries presented here as a common open standard.

For further discussion, you can join me and others in the telegram group dedicated to this project here: https://t.me/+xbHbs6foZpMxNmI8. In particular, please join us if you wish to integrate or talk about the policy, including about creating your own policy.

Tip: Test entries will be submitted this week, some containing deliberate errors, so you might want to keep an eye out for a chance to earn 30$ per challenge. Please note that for the duration of the tests, the number of jurors on the first round will be bumped up to 3, increasing the deposits for registrations and challenges by 14$.

Thank you to mtsalenc/eccentricexit for helping set up the NFT registry, fixing issues along the way, and providing the API call example, to Abeer Sharma, Sophie Nappert, and Clément Lesaege for reviewing the registry policy and providing valuable feedback, and to ligaratus for pointing out some practical concerns I had failed to address in a previous version of this article.

Appendix A. Optimistic Auction Implementation

Because the registries are hosted exclusively on Gnosis Chain and the data is hosted off-chain on IPFS, marketplace contracts cannot simply poll a smart contract to know the status of an NFT in the registry. They will instead need to use or set up an oracle capable of returning the registration status of any NFT. This will of course introduce a point of centralization but the stakes will generally be quite low: at worst, oracle failure will be able to cause an invalid NFT's auction to be settled normally when it shouldn't be, which isn't great but will only affect a person who had already bid on the NFT in the first place so the damage will be very constrained; or the opposite situation may occur where an auction is canceled when it should have gone through. Once again, a very controlled amount of damage.

As to how such an oracle could be implemented, well, clearly for a marketplace running on mainnet, mirroring each NFT registry state change to mainnet is not acceptable, so instead, here are several options:

  1. Only allow the marketplace operator to settle or cancel auctions and have it charge an extra fee as compensation for gas fees.
  2. Require that a message signed by the oracle be provided in the settle and cancel functions.
  3. Add presettle and precancel functions that must be called at least one hour before settling or cancelling, and through which a small ETH deposit is to be made. The marketplace can then check that the correct function has been called based on the state of the NFT registries and confiscate the deposit if the wrong one was called.

The first option is cheap but might have the disadvantage of potentially creating extra legal liability for the marketplace operators (I'm not a lawyer though and this is pure speculation). The second option requires an extra ECDSA signature and will therefore increase the gas cost of settling, but an external oracle can be used which could increase trust and remove possible liability concerns. The third option requires an extra transaction from the user but might alleviate some liability concerns. I'm not sure whether it would be cheaper than 2..

In all cases, there should be an escape hatch in case the marketplace servers or the oracle become inactive or refuse to sign the required transactions. This could be in the form of a time limit greater than the maximum time for an NFT to be accepted or rejected by Kleros with the maximum number of appeals (for instance, 2 months) after which the auction can be cancelled by anyone.

Appendix B. Current policy (v0.3)

Kleros Minimal Authentic NFT Registry and Kleros Minimal Authentic NFT Collection Registry Policy

The Kleros Minimal Authentic NFT Registry (KMANR) and Kleros Minimal Authentic NFT Collection Registry (KMANCR) are lists of authentic NFTs and NFT collections respectively.

The purpose of these registries is to provide some level of verification that the works accepted therein were minted with the consent of their creators as well as a few other side benefits.

Preamble

This preamble seeks to clarify the purpose and methodology behind the registry policy. It does not define any of the rules of the registry and so may generally be skipped. As per Kleros' general court policy, it may however be used as an aid in determining the spirit of the policy so as to resolve edge cases.

Methodology

From most to least prioritized, these were the directing principles in the drafting of this policy:

  1. This policy should not be responsible for any significant loss of artistic freedom.
  2. NFTs certified through this registry should be minted by the author or with the author's direct or indirect consent. It should not be possible to pass off another's work as one's own.
  3. NFTs certified through this registry should be clearly and unambiguously unique within the bounds explicitly or implicitly defined by the minter at the time the NFTs were put on the market.
  4. This policy should be acceptable to as many people as possible and therefore minimal. It is highly encouraged that platforms wishing to impose or offer stricter policies create their own Kleros curated registries. These registries may take the form of badges to be applied to entries already accepted in the KMANR. In any case, it is recommended that conformance with the KMANR policy be a prerequisite for inclusion. Of particular note, this policy does not seek to emulate copyright and indeed does not guarantee compliance with copyright law at all. It remains the responsibility of each platform to ensure they are compliant with the law of the jurisdictions in which they operate (e.g. by responding to DMCA takedown requests and so on). Conversely, compliance with copyright law does not guarantee compliance with this policy.

KMANR vs KMANCR

The only reason for the existence of the KMANCR is to simplify the registration of a whole collection of works by a creator or a trusted group. For instance, it would not make a lot of sense to register each bored ape into the KMANR individually. When platforms wish to check the authenticity of an NFT (c, t), where c is the collection and t the token ID, they should consider the NFT authentic if either (c, t) is included in the KMANR or c is included in the KMANCR.

Inclusion Criteria Summary

To summarize section I.A., an NFT must must broadly follow the following rules to be accepted in the KMANR:

  1. It must be minted with the consent of the content's legitimate owners.
  2. It must be meaningfully different from preceding works.
  3. If it is derivative, proper attribution must be provided.
  4. These requirements do not expire as a work ages or after the author's death.
  5. All NFTs of the same work must be minted as part of the same batch unless otherwise agreed.

Note: One should be careful not to confuse the concepts of the owner of a work and of the owner of an NFT.

Attribution Rationale

Since this policy is quite lenient regarding the minting of derivative works, it is important to prevent anyone minting derivative works from explicitly or implicitly claiming the credit for the work they derived from. The attribution requirements of this policy being quite strict, in order not to penalize good faith omissions or errors at the time of minting, attribution is to be given in the attribution field of the registry, rather than requiring it in the NFT's description for instance. In that way, even an NFT lacking correct attribution may be eligible for inclusion if full attribution is provided in the registry itself. For collectors, attribution should be a major factor when pricing an NFT, so it is very highly recommended that all NFT platforms integrating with these registries display the attribution field at least as prominently as the NFT's description. This attribution information might also help when trying to determine whether to accept an NFT in a registry with a stricter policy.

Submission Rights Rationale

Note that this policy does not require the NFTs to be submitted by their minters. This is deliberate so as to allow owners of unregistered NFTs to register them themselves and to be able to display or resell them on platforms requiring such registration. One might also want to submit an NFT for inclusion in the registry before purchasing it if one has doubts about its authenticity, as a way to outsource the verification work.

Smart Contract Verification Rationale

There is no requirement for ERC-721 or ERC-1155 compliance or even that the collection smart contracts be non-malicious. This is because evaluating these two points would require the use of a more expensive technical court, therefore increasing the required deposit. Another collection registry for that purpose could quite easily be created however.

I. Inclusion criteria

A. Kleros Minimal Authentic NFT Registry

  1. An NFT is eligible for inclusion in the KMANR if it was minted by its content's legitimate owner or by a person authorized to do so by the owner of said content. A person is considered to be the legitimate owner of a work for the purpose of this policy if: a. they are the author of the work and have not foregone their right to the work through an informed non-coercive agreement; or b. they have been given ownership of the work (including an at least implicit right to mint NFTs) by a previous owner of the work through an informed non-coercive agreement and have not since foregone their right to the work through an informed non-coercive agreement. An agreement would be considered to be coercive for the purpose of this policy if it were made under threat of violence or in opposition to one of the party's human rights. So for instance, if a country were to enact a law requiring all rights to its citizens' works be transferred to the king, this king would not be considered a legitimate owner of these works for the purpose of this policy. An agreement is considered informed for the purpose of this policy if it is made between parties in full possession of their mental faculties. A person in a fairly advanced stage of Alzheimer's disease would for instance not be considered able to conclude an informed agreement. The word person here does not only refer to natural persons but also to companies, associations, institutions, DAOs, and so on. In case a work has multiple owners, all owners must agree to the minting of NFTs of that work for them to be accepted in the registry unless they have all agreed to another arrangement beforehand. Persons having substantially worked together on a work will be considered the initial co-owners of the work unless there is an agreement otherwise (e.g. as part of an employment contract).
  2. If the content of an NFT is not meaningfully different from another existing work that predates it (whether or not it has been released as an NFT), it must be rejected. Since it is near impossible to define a concept of meaningful difference, examples are provided below which should be interpolated and extrapolated as necessary —and using common sense— to generate new judgements: a. An exact copy of an existing work is to be rejected. b. A copy of an existing work with subtle, or low effort and non-satirical, modifications is to be rejected. c. A mirrored or rotated copy of an existing work is to be rejected. d. A mere algorithmic filter or distortion applied to an existing work is to be rejected. e. A copy of a drawing, even if redrawn from scratch, is to be rejected if it is not easily distinguishable from the original without comparing both side by side. f. Fan art is to be accepted as long as it does not fall into case e. g. A cover of a piece of music is to be accepted as long as it is clearly different from the original performance.
  3. If the NFT's content is derivative of a work not owned by the same owner and this fact cannot be expected to be immediately obvious to most viewers of the NFT, then, unless the work has no known or distinct author (e.g. folk art), attribution of the work must be provided in the attribution field (II.A.8., II.B.7.). The following examples should be used as a basis for further judgements: a. An interpretation or reinterpretation of a musical composition must come with attribution to the composer, unless it would be immediately recognizable to most viewers of the NFT (e.g. the first movement of Beethoven's 5th Symphony). b. The use of an image as a background must come with attribution to the work or the artist, unless it would be immediately recognizable to most viewers. c. A photo taken in a museum would not require attribution for the works in frame unless one is likely to be lead to erroneously believe that these were the photographer's own works. d. A photo containing buildings does not require attribution to the buildings' architects. e. Fan art must be provided with a mention of the work it is based on. f. Imitating a work's style or an artist's style does not require any attribution. g. Reusing a technique from another work does not require attribution. h. Reusing a short melodic or rhythmic segment, a harmonic arrangement, a timbre, or other similar elements of a musical work, in a larger work (i.e. a work larger than any of these elements) does not require attribution if they are reused without making use of the original recording or a part thereof.
  4. These rules apply to works created at any time in history. This means that an NFT of the Mona Lisa can never be accepted in this registry. Similarly an NFT of a work by a recently deceased artist cannot be included in this registry even with the approval of their estate or heirs unless the artist consented to it before their death, following the conditions laid out in 1.
  5. Section 2. does not apply when a work's owner derives from that work if: a. the original work was not previously minted as an authentic NFT or all such NFTs were burned; or b. the original work's authentic NFTs were still in the possession of the minter and not up for sale or auction when the deriving work was minted, and the deriving work's NFTs would have been easily visible to potential purchasers of the original NFTs (e.g. all the NFTs were minted on the same platform from the same account); or c. it was otherwise made clear to all potential purchasers of the original work's authentic NFTs that this work might be reused in the manner in which it is being used by the deriving work (e.g. by explaining this in the original NFT's description); or d. none of the authentic NFTs of the work or works not meaningfully different by the terms of section 2. were up for sale or auction at the time of minting the new NFT, and all of these NFTs' owners agreed to the minting. In all other cases, section 2. applies and a work's owner may no longer mint NFTs of the work or a work not meaningfully different from it by the terms of section 2. In cases c. and d. the attribution field of the new NFTs must mention the original NFTs for the new NFTs to be accepted into the registry. In case d., the attribution fields of the original NFTs must mention the new NFTs for the original NFTs to be accepted into the registry. If these were already registered in the KMANR without said attribution, they may be removed. An NFT is to be considered authentic for the purpose of this section if it complies with section 1., 2., and 4.

B. Kleros NFT Collection Registry

  1. For a collection to be accepted in the KMANCR, all of its NFTs must conform to the rules of the KMANR and it must be unlikely for invalid NFTs to make it into the collection.
  2. If an NFT in the collection requires specific attribution, that NFT must be registered individually in the KMANR before it is put up for sale or auction or the collection is to be rejected or removed until the situation is resolved.
  3. If a collection is found to contain an invalid NFT or control of the collection's minting process is lost to an untrustworthy party, the collection may be removed.
  4. As a consequence of rule 1., collections of open or semi-open NFT marketplaces must not be accepted in this registry. This applies to invite-only NFT marketplaces where the invitations are given by existing members without a very strict review process.

II. Fields

A. Kleros Minimal Authentic NFT Registry

Following are the fields of each entry in the KMANR. Detailed rules for these fields are provided below.

  1. Thumbnail (image): A thumbnail of the NFT
  2. Name (text, indexed): Official name of the NFT
  3. Author (text, indexed): Author's name
  4. Collection (address, indexed): The collection's address
  5. Token ID (number, indexed): The token ID
  6. Chain ID (number, indexed): The chain ID of the network on which the NFT resides
  7. Proof (file, pdf or txt): Optional proof of authenticity
  8. Attribution (text): Optional attribution

1. Thumbnail

A compressed image of the content must be provided. The purpose of this "thumbnail" is to provide a cheap to distribute and load yet verified version or visualisation of the original file. The webp format being extremely efficient, (as well as open, and well supported by all major web browsers), we can afford to make these "thumbnails" 1080p in most cases.

  1. The file must be provided as an IPFS link (/ipfs/[...], as per the official UI).
  2. It must be in the webp format (.webp extension).
  3. Its size must not exceed 500kB (500,000 bytes).
  4. It must not exceed 1920 pixels in width or height.
  5. Its quality must not be remarkably lower than the quality achievable by the most common free and open-source encoders within the size limit of 500kB.
  6. If the content is an image: if it fits within a 1920x1920 pixel square, its dimensions must be preserved, otherwise, the dimensions must be reduced so that the width or the height, whichever is larger, is reduced to 1920 pixels. The width and height may however be reduced further if that is necessary to fit the 500kB file size limit without causing extreme artefacting.
  7. If the original file is a video or an animated image file (e.g. gif, webp), an animated webp of the full animation may be provided as thumbnail if feasible within the file size limit. Alternatively, a single frame which could reasonably be considered representative of the animation may be used instead (e.g. not a black transition frame).
  8. The aspect ratio must be preserved and no effect or modification other than resizing (within the limits of point 6.) may be applied. However, if the image is extremely long or tall (e.g. more than 2 pages of a comic strip assembled on top of each other or side by side), the thumbnail may be cropped to only show the beginning.
  9. If the content is a 3D model, a representative render of the model must be provided. If such a render has been provided by the NFT creator through metadata or the minting platform, that render must be used.
  10. If the content is audio only, image metadata (e.g. album art) or the image used to present the audio clip on the minting platform must be used if any such image exists.
  11. If the content is text, an image of the first meaningful page of text must be used. If the font is not defined by the medium, a neutral, unremarkable font must be used (e.g. Arial, not Comic Sans). A blank page or a page containing only copyright information would not be considered meaningful unless that is the entire text. A page containing the title or the start of the main text would be. If the text is a book or has a cover for any reason, that cover must be used instead.
  12. In other cases, when a canonical image representation of the NFT exists, it must be used.
  13. In cases not covered above, common sense, interpolation, and extrapolation of these rules must be used on a best effort basis. Unnecessary personalization must however never be introduced. Simplicity and sobriety must be given priority. For instance, a pure black thumbnail might often be the most appropriate choice.
  14. In no case must the thumbnail itself violate the authentic authorship requirement. For instance, if there is evidence album art was used without permission from the artist, that album art may not be used and evidence must be provided to that effect in the "proof" field.

2. Name

The official name of the NFT.

  1. The name field must be encoded as UTF-8.
  2. Excessive unicode ornamentation may not be used, even if used in the official name.

3. Author

The name the author of the contents used when publishing the work.

  1. The author field must be encoded as UTF-8.
  2. Excessive unicode ornamentation may not be used, even if the author usually styles their name in such a way.
  3. If there are multiple authors, the main author (e.g. the minter of the NFT) must appear first within a comma-delimited list of authors (specifically, delimited by a comma followed by a space, e.g. "A, B, C"). A group name is to be preferred instead if well established. If there are a great number of authors, an ellipsis may be used (e.g. "A, B, [...], ...").
  4. When it is unclear which name to use (e.g. different name on twitter/instagram and on the NFT minting platform) and an NFT by the same author has already been submitted, the existing choice must be respected for consistency. This does not apply if the author no longer uses the already registered name.

4. Collection

The address of the NFT collection.

5. Token ID

The token ID of the NFT being registered within the collection.

6. Chain ID

This field must contain the chain ID of the EVM blockchain on which the NFT resides (e.g. 1 for Ethereum, 100 for Gnosis Chain). For informational purposes, a list of chain IDs may for instance be found here: https://chainlist.org/. This website is not to be considered authoritative however.

7. Proof

The proof field must be used to provide proof that minting of the NFT was authorized by the author when this is not obvious or if there are reasons to be suspicious.

  1. The file must be provided as an IPFS link (/ipfs/[...], as per the official UI).
  2. It must be in pdf or txt format (.pdf or .txt extension).
  3. Its size must not exceed 1MB (1,000,000 bytes).
  4. The proof must be in English. Translations may be provided when necessary. Any non-English text must be provided in a form that is selectable and copyable (i.e. not only as an image) to make checking the translation easier.

Such a proof can for instance be in the form of a public message written by an account the author is known to control (e.g. tweet, blog post), in which case a screenshot and a live link must be provided.

In most cases, a proof will not be needed. For instance, if the NFT was minted by the author themselves on a reputable NFT platform in which the author's Twitter account has been verified, or if the author's website links back to the author's NFT collection. On the other hand, if the minter's social media account or website has only recently been active or publishing works, this would be considered cause for suspicion and further proof must be provided at the time of submission, in the form of progress photos or snapshots for instance.

8. Attribution

Attribution for works the NFT's content derives from, as per I.A.3..

  1. Each entry must be on a separate line (but for submissions made at this time, semicolons will be allowed instead of new lines).
  2. Attribution must be provided in English but names and titles may be left in their original language.
  3. A reasonable effort must be made to make the attribution unambiguous and if possible, it must be easy to find more details about the work from a web search of the attribution's text.
  4. It is recommended to provide attribution in the description or title of the NFT as well and if an attribution error has been made in the NFT's description, title, or content, this must be explicitly pointed out and corrected in the attribution field.

B. Kleros Minimal Authentic NFT Collection Registry

Following are the fields of each entry in the KMANCR. Detailed rules for these fields are provided below.

  1. Thumbnail (image): A thumbnail representative of the collection
  2. Name (text, indexed): Official name of the collection
  3. Author (text, indexed): Author's name if relevant
  4. Collection (address, indexed): The collection's address
  5. Chain ID (number, indexed): The chain ID of the network on which the NFT resides
  6. Proof (file, pdf or txt): Optional proof of authenticity
  7. Attribution (text): Optional attribution

1. Thumbnail

  1. If the collection has a canonical thumbnail, that one must be used.
  2. If not, a work representative of the collection must be selected (for instance, the one sold for the highest price) and used.
  3. The rules are otherwise the same as A.1. but the file size is reduced to 100kB and the maximum dimensions to 480x480.

2. Name

The canonical name of the collection. The same rules as for A.2. apply.

3. Author

If the collection has a specific author or limited set of authors, this field must be filled using the same rules as A.3. Otherwise, it must be left empty.

4. Collection

The address of the NFT collection.

5. Chain ID

Same as A.6.

6. Proof

If a proof would be needed to include any of the NFTs in this collection into the KMANR, a document must be provided here with relevant proofs —except for NFTs already registered in the KMANR— following the same rules as A.7. except that the maximum file size is increased to 5MB.

7. Attribution

As per I.A.3., attribution information relevant to most NFTs in the collection must be provided here following the same rules as A.8.., except for NFTs already registered in the KMANR. If only one or a few NFTs in the collection are affected by some attribution, they must be registered in the KMANR with proper attribution or the collection will not be eligible for inclusion into the KMANCR or will become eligible for removal.