deMark

deMark

Proof of Source for your Images

379
Built at ETHIndia Fellowship 3.0

The problem deMark solves

The problem deMark solves:

  • How can human creator protect their image creations? More specifically, how can they prove that an image is originally created/posted by them and not by somebody else?
  • Some existing solutions (And their problems)
    • Copyright the image (Not affordable)
    • Adding a watermark to the image (Can easily be reversed by image editing tools)
    • Sign the image using your private key and publish the public key and the signature openly (Can non-tech people do this easily? Hell No!)
  • DeMark solves this by making generating a proof of source of images:
    • Cheap
    • Immutable
    • Easy

How to create a proof?

  1. Upload the Image to IPFS
  2. Create a Soul Bound Token containing metadata:
  • IPFS CID
  • Uploader Address
  • Timestamp
  1. Watermark the SBT transaction data in the image (Steganography)

How to verify a proof?

  1. Retrieve transaction data from the image to verify by decoding the steganographic information
  2. Remove the steganography data
  3. Get the IPFS CID of the image to verify
  4. Check if

    cid_in_transaction == curr_img_cid

  5. Verified!

Challenges I ran into

  • Integrating the steganography library with the frontend (I'm not really in good relations with frontend)
  • Getting IPFS hash before uploading (figured this out with some struggle)
  • Interacting with IPFS without setting up own node (figured this out as well)

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion