Intro
The HonestNFT core team has spent countless hours analyzing NFT collections over the last year. We’ve utilized our data science and forensics expertise to identify opportunities for improvement in NFT launch mechanisms. While we’ve had some success conducting public audits and advising projects on mechanisms for their NFT launches, we think we’ve identified a more scalable solution for NFT creators and collectors.
We propose building a generalized trust and curation protocol for Ethereum, tentatively called Honest Protocol. The general idea is to have a trustless database of labels that characterize NFT collections, especially as it relates to consumer protection. To achieve this, we propose creating an on-chain mapping between NFT collection smart contract addresses and key/value pairs to be curated by members of the HonestNFT community. Once these labels are deployed, we propose enabling developers of applications that display NFTs (e.g. marketplaces, explorers, portfolio trackers, etc.) to curate NFTs utilizing an on-chain filter that is defined by the HonestNFT community, the application developers, or the application user.
We believe that this infrastructure will serve as the basis for permissionless and trustless curation of crypto assets on the Ethereum blockchain, starting with NFTs.
Proposed Architecture
The proposed architecture defines how various actors may interact in the ecosystem. We propose developing a consensus mechanism whereby Auditors are incentivized to add labels and associated proofs to the protocol and Verifiers are incentivized to verify the truth of the labels provided by the Auditors. On the other hand, Curators may consume badges from the protocol that are defined by logic that they develop. Curators would use such badges to filter displays / recommendations of NFTs on their platforms. NFT communities observe outcomes on the platforms they frequent and develop values as a result of what they observe. Curators assess the values that NFT communities develop and develop logic that generates badges.
Through this cycle of incentivizing honest characterization of NFT smart contracts and observing outcomes and values, we think communities can converge on curation mechanisms that better reflect their values. The protocol will be permissionless so that anyone can create a filter and observer the outcomes associated with that filter.
Below we provide more description of the various components of the protocol architecture.
Roles
Verifier
Actions
- Review labels and proofs submitted by auditors
- Agree with label value that was submitted by an auditor
- Dispute a label value that was submitted by an auditor
- Approve / reject proposals for new label / proof combinations
Incentives
- Create value by verifying validity of labels
- Effect the downstream filtration / curation of NFT smart contracts
Auditor
Actions
- Commit label value pairs and corresponding proofs
- Propose new labels and proofs for the ecosystem
- Design proofs for new labels
- Assess the impact of labels on the NFT market
Incentives
- Create value by expanding the scope of filtration / curation of NFT smart contracts
- Increase transparency for NFT smart contracts
- Effect the downstream filtration / curation of NFT smart contracts
Curator
Actions
- Define logic used to filter / curate NFT smart contracts
- Deploy new filter smart contracts
- Consume badges that can be used to filter / curate NFT smart contracts
- Observe and assess the value systems used by NFT communities
Incentives
- Curate lists of NFT smart contracts for users
- Protect web3 users from malicious or scam NFT collections
NFT Creator
Actions
- Request a mechanism audit for a deployed NFT contract (pre or post mint)
- Stake value that NFT launch will have a given post-mint score
- Learn best practices for launching NFTs
- Fetch examples of audited NFT contracts that meet necessary project requirements
Incentives
- Capture as much value as possible from project
- Protect users from being scammed by other copy-cat projects
- Have a new channel for distribution
- Ensure that users are able to view NFTs on curated platforms
Artifacts
Label
- A well-defined objective attribute for an NFT smart contract
- e.g. USED_COMMIT_REVEAL, HAS_RANDOM_RARITY, HAS_LUCKY_BUYER, etc.
- Value for each label should map to a bool
Proof
- Pointer to a well-defined test that determines the value of a label
- Could take the form of a script, a dune query, list of transactions, etc.
- Must be reproducible
- Must yield a binary outcome, even if the test is statistical in nature
Dispute
- Process where Verifier disagrees with the value of a label
- Process ends in reversal of label to previous state, nullification of label, or no change
Agreement
- Process by which Verifier adds confidence to a label value pair after verifying proof
Filter
- Logic that defines rules for validation of an NFT smart contract
- Array of bools
Badge
- Validation result from a filter applied to label values
- Yielded badge should be a bool
Protocol Components
Label Contract
Dependencies
- Consensus mechanism
Methods
- Add new label value pair
- Update label value pair
- Get value of a label for a given smart contract address
Filter Factory Contract
Dependencies
- Label contract
- Filter
Methods
- Generate new filter
- Fetch address of filter contract with given logic
Filter Contract
Dependencies
- Label contract
- Filter factory contract
Methods
- Fetch badge for a given smart contract address
Consensus Mechanism
Dependencies
- Dispute
- Agreement
- Label
- Proof
Methods
- Propose a new label value pair
- Dispute validity of a label value pair
- Agree with a label value pair