1 of 14

meth.

Paul Copplestone | Jonathan Summers-Muir | Anthony Wilson��

[m]isleading [e]ncrypted [th]umbnails��

buymeth.com | github.com/MildTomato/Meth

2 of 14

Inspiration

3 of 14

Concept - ERC721 Tokens + Metadata

4 of 14

demo.

https://meth.netlify.com/�Buy & Sell your favourite misleading thumbnails and full res images encrypted with the public key of the owner !!

5 of 14

how?

6 of 14

Bob’s Wallet

Bob’s Browser

Alice’s Wallet

Alice’s Browser

IPFS

Ethereum

1. Make a bid containing PubKey + amount

7 of 14

Bob’s Wallet

Bob’s Browser

Alice’s Wallet

Alice’s Browser

IPFS

Ethereum

1. Make a bid containing PubKey + amount

2. Alice notified of bid

8 of 14

Bob’s Wallet

Bob’s Browser

Alice’s Browser

IPFS

Ethereum

Alice’s Wallet

1. Make a bid containing PubKey + amount

2. Alice notified of bid

3. Alice decrypts image using web3.eth.decrypt()

9 of 14

Bob’s Wallet

Bob’s Browser

Alice’s Browser

IPFS

Ethereum

Alice’s Wallet

1. Make a bid containing PubKey + amount

2. Alice notified of bid

3. Alice decrypts image using web3.eth.decrypt()

4. Alice encrypts the image with Bob’s public key

10 of 14

Bob’s Wallet

Bob’s Browser

Alice’s Browser

IPFS

Ethereum

Alice’s Wallet

1. Make a bid containing PubKey + amount

2. Alice notified of bid

3. Alice decrypts image using web3.eth.decrypt()

4. Alice encrypts the image with Bob’s public key

5. Alice uploads new encrypted image to IPFS

11 of 14

Bob’s Wallet

Bob’s Browser

Alice’s Browser

IPFS

Ethereum

Alice’s Wallet

1. Make a bid containing PubKey + amount

2. Alice notified of bid

3. Alice decrypts image using web3.eth.decrypt()

4. Alice encrypts the image with Bob’s public key

5. Alice uploads new encrypted image to IPFS

6. calls contract method acceptBid() updating ownership, image URL and releasing funds

12 of 14

Bob’s Wallet

Bob’s Browser

Alice’s Wallet

Alice’s Browser

IPFS

Ethereum

1. Make a bid containing PubKey + amount

2. Alice notified of bid

3. Alice decrypts image using web3.eth.decrypt()

4. Alice encrypts the image with Bob’s public key

5. Alice uploads new encrypted image to IPFS

6. calls contract method acceptBid() updating ownership, image URL and releasing funds

7. bob can now decrypt() image that image hash matches original

13 of 14

considerations & future work.

I hashed my full res image and it’s different to the previous hash! Help me!

1/ Purchaser stakes their purchase price.��2/ Seller has to upload unhashed + purchaser’s pubkey��-> If the Seller doesn’t upload, they forfeit their income�-> If the Seller uploads and the hash is correct, Purchaser loses their money�

14 of 14

Considerations and Future Work

  • Dispute resolution
    • Verify: I hashed my full res image and it’s different to the previous hash! Help me!
    • Someone will have to reveal the full image to some intermediary
    • Can protect against this situation with economic incentives/disincentives
  • Economic Incentives to keep secrecy and encrypt honestly