← Back to home

MEV and me: Trustscores for market places

SolidityReactTypeScriptPythonRust

Basic Idea: Using zkProofs to have a private trust score for merchants on market places. Pivoted into modules built on top of NFT auctions for attack (sniping bot) and defense (commit reveal).

Screenshots

MEV and me: Trustscores for market places screenshot 1
MEV and me: Trustscores for market places screenshot 2
MEV and me: Trustscores for market places screenshot 3

Problem Statement

Our project came out the idea to use historic data analysis for trustscores. The idea: To participate in an auction, you have to stake money. If your account participates in executing a sandwich trade. You will loose your stake. Therefore MEV would not be as profitable. Given the timing of zk advances our ultimate goal was to implement Vitalik's latest post on privacy applications and make a soulbound private scoring system.We started with a negative reputation score by wash trade participation. And ultimately explored both the attack and defense side of NFT marketplace.We proposed a sniping bot, that would be paid on chain in advance and if the NFT wouldn't get bought in a specific time frame, the money will be returned. We put a lot of effort to make the solidity contract a multi-bidder contract.Given we understood the nature of sniping bots, we came up with modules that we could attach to SeaPorts latest api. To actually, block these bots. We also learned the hard way to implement zk for the first time is quite complex therefore, we wrote the soulbound token with a public score.

Solution

Attack: Sniping Bot:x NFTPort for searchx Reservoir for execution of orderx Seaport for special forms of auctionsx Pocket Network for our nodex React for the frontendx TypeScript for backend Defense: Commit Reveal auction for frontrunning protection:x Seaport as the auctionx Solidity for custom smart contractWashtrading score:x The Graph as a subgraph deployed on gnosis, optimsism, polygon and mainnetx Python for data analysisSoulbound Token with private trustscores:x WorldCoin Id for identifcationx Lens Protocol for reputation increasex Member of BitDao for reputation increasex Endpoint for scoring systemx zk circuits with circom (didnt complete and therefore removed)

Hackathon

ETHNewYork 2022

2022

Prizes

  • 🏆

    🚀 Optimism — Just Deploy!

  • 🏆

    🥇 Reservoir — Best Use

  • 🏆

    🥉 The Graph — Best New Subgraph

  • 🏆

    🥈 OpenSea — Best Use of Seaport

Contributors