A pseudonymous trust system for a decentralized anonymous - - PowerPoint PPT Presentation

a pseudonymous trust system for a decentralized anonymous
SMART_READER_LITE
LIVE PREVIEW

A pseudonymous trust system for a decentralized anonymous - - PowerPoint PPT Presentation

Na?onal Technical University of Athens School of Electrical and Computer Engineering Department of Computer Science A pseudonymous trust system for a


slide-1
SLIDE 1

A ¡pseudonymous ¡trust ¡system ¡for ¡a ¡ decentralized ¡anonymous ¡marketplace ¡

Dionysis ¡Zindros ¡ ¡

April ¡2015 ¡ Genève ¡

Na?onal ¡Technical ¡University ¡of ¡Athens ¡ School ¡of ¡Electrical ¡and ¡Computer ¡Engineering ¡ Department ¡of ¡Computer ¡Science ¡ ¡

slide-2
SLIDE 2

OpenBazaar ¡

  • A ¡decentralized ¡anonymous ¡marketplace ¡
  • Allows ¡trade ¡of ¡physical ¡and ¡digital ¡goods ¡
  • Uses ¡bitcoin ¡for ¡payments ¡
slide-3
SLIDE 3

What ¡is ¡OpenBazaar? ¡

  • Piece ¡of ¡soNware ¡that ¡runs ¡on ¡your ¡computer ¡
  • Local ¡client-­‑server ¡architecture ¡
  • Marketplace ¡

– Anyone ¡can ¡buy ¡ – Anyone ¡can ¡sell ¡ – Publish ¡products ¡you’re ¡selling ¡ – Search ¡for ¡products ¡you’re ¡buying ¡

slide-4
SLIDE 4

What ¡is ¡OpenBazaar? ¡

  • No ¡intermediaries ¡
  • No ¡fees ¡
  • No ¡censorship ¡
  • No ¡single-­‑point-­‑of-­‑failure ¡
  • Strongly ¡anonymous ¡(over ¡Tor) ¡
slide-5
SLIDE 5

OpenBazaar ¡History ¡

  • October ¡7th, ¡2013: ¡Gosha ¡Arinich ¡publishes: ¡

– “Decentralized ¡Anonymous ¡Marketplace” ¡ @GitHub ¡

  • March ¡24th, ¡2014: ¡Dionysis ¡Zindros ¡publishes: ¡

– “A ¡decentralized ¡anonymous ¡marketplace” ¡ @Libera?onTech ¡

slide-6
SLIDE 6

OpenBazaar ¡History ¡

  • April ¡10th, ¡2014: ¡Amir ¡Taaki ¡& ¡unSYSTEM: ¡

– Implement ¡DarkMarket ¡ – Over ¡the ¡course ¡of ¡a ¡3-­‑day ¡hackathon ¡ ¡

  • April ¡25th, ¡2014: ¡Brian ¡Hoffman: ¡

– Forks ¡DarkMarket ¡into ¡OpenBazaar ¡

slide-7
SLIDE 7

OpenBazaar ¡History ¡

  • August ¡31st: ¡Beta ¡1.0 ¡release ¡

– Reputa?on ¡pledges ¡

  • September ¡31st: ¡Beta ¡2.0 ¡release ¡

– October ¡3rd: ¡Beta ¡2.1 ¡ – October ¡12th: ¡Beta ¡2.2 ¡

  • November ¡30th: ¡Beta ¡3.0 ¡release ¡ ¡

– Namecoin ¡integra?on ¡

  • Last ¡week: ¡Beta ¡4.0 ¡release ¡

– Networking ¡improvements ¡(UDP, ¡hole ¡punching) ¡ – Robustness/stability ¡

slide-8
SLIDE 8

OpenBazaar ¡security ¡

  • In ¡this ¡work: ¡

– We ¡study ¡the ¡security ¡of ¡OpenBazaar ¡ – Try ¡to ¡break ¡it ¡ – Try ¡to ¡fix ¡it ¡ – Design ¡a ¡robust ¡reputa?on ¡system ¡ – Maintain ¡user ¡security ¡assurances ¡ – Against ¡specific ¡threat ¡model ¡ – Design ¡new ¡pseudonymous ¡trust ¡system ¡

slide-9
SLIDE 9

Fundamental ¡problem ¡

  • Can ¡you ¡trust ¡people ¡you ¡don’t ¡know? ¡
slide-10
SLIDE 10

Fundamental ¡problem ¡

  • Can ¡you ¡trust ¡people ¡you ¡don’t ¡know? ¡
  • Yes! ¡
slide-11
SLIDE 11

Threat ¡Model ¡

  • Malicious ¡user ¡can: ¡

– Send ¡invalid ¡data ¡ – Lie ¡about ¡products ¡being ¡sold ¡ – Lie ¡about ¡interest ¡to ¡buy ¡product ¡ – Lie ¡about ¡reputa?on ¡ – Arbitrate ¡and ¡make ¡false ¡claims ¡ – Exit ¡from ¡trading ¡games ¡arbitrarily ¡at ¡will ¡ – Default ¡on ¡payments ¡ – Evade ¡all ¡laws, ¡remain ¡anonymous ¡

slide-12
SLIDE 12

Threat ¡Model ¡

  • Malicious ¡user ¡incen?ve: ¡

– Make ¡money ¡ – Modeled ¡as ¡ra?onal ¡agent ¡with ¡financial ¡goals ¡

slide-13
SLIDE 13

Threat ¡Model ¡

  • Malicious ¡corpora?on ¡can: ¡

– Spend ¡money ¡for ¡goal ¡(millions) ¡

slide-14
SLIDE 14

Threat ¡Model ¡

  • Malicious ¡corpora?on ¡incen?ves: ¡

– Sees ¡OpenBazaar ¡as ¡compe?tor ¡ – External ¡financial ¡incen?ves ¡to ¡destroy ¡market ¡ – Modeled ¡as ¡ra?onal ¡agent ¡with ¡u?lity ¡to ¡destroy ¡ the ¡whole ¡network ¡

¡

slide-15
SLIDE 15

Threat ¡Model ¡

  • Malicious ¡government ¡can: ¡

– Use ¡laws ¡to ¡enforce ¡decisions ¡ – Block ¡/ ¡filter ¡data, ¡deep ¡packet ¡inspec?on ¡ – Bring ¡down ¡Internet ¡in ¡country ¡ – Issue ¡secret ¡warrants ¡ – U?lize ¡force ¡through ¡police ¡ – Aiack ¡individual ¡sellers, ¡buyers, ¡arbiters ¡ – Aiack ¡developers ¡

slide-16
SLIDE 16

Threat ¡Model ¡

  • Malicious ¡government ¡incen?ves: ¡

– Censor ¡content ¡ – Network ¡destruc?on: ¡Majority ¡denial ¡of ¡service ¡ – Network ¡destruc?on: ¡Break ¡reputa?on ¡security ¡ (reputa?ons ¡become ¡arbitrary) ¡

slide-17
SLIDE 17

Threat ¡Model ¡

  • Malicious ¡developer ¡can: ¡

– Push ¡code ¡to ¡OpenBazaar ¡codebase ¡ – Sign ¡releases ¡ – Is ¡forced ¡by ¡secret ¡warrant ¡to ¡check-­‑in ¡backdoor ¡ – Is ¡legally ¡obliged ¡to ¡keep ¡secret ¡

slide-18
SLIDE 18

Secure ¡development ¡process ¡2014 ¡

  • Since ¡July ¡22nd: ¡

– All ¡pull ¡requests ¡reviewed ¡by ¡others ¡ – Cannot ¡merge ¡own ¡pull ¡requests ¡

  • Since ¡September ¡22nd: ¡

– Driessen’s ¡master/develop ¡branching ¡model ¡

  • Since ¡September ¡8th: ¡

– MIT ¡Licensed ¡

slide-19
SLIDE 19

Secure ¡development ¡process ¡

  • Slowly ¡increasing ¡unit ¡test ¡coverage ¡

– August ¡31st: ¡0% ¡ – September ¡24th: ¡16% ¡ – October ¡15th: ¡27% ¡ – April ¡30th: ¡30% ¡ – You ¡can ¡help! ¡

  • All ¡releases ¡git ¡tagged ¡and ¡GPG ¡signed ¡

– With ¡Dionysis’ ¡GPG ¡key ¡ – Strong ¡GPG ¡graph ¡membership ¡

slide-20
SLIDE 20

Secure ¡development ¡process ¡

  • Not ¡rolling ¡our ¡own ¡crypto, ¡except: ¡

– Mul?sig ¡implementa?on ¡ – Proof-­‑of-­‑burn ¡implementa?on ¡ – Reliable ¡implementa?ons ¡do ¡not ¡exist ¡

  • Reusing ¡exis?ng ¡technologies ¡

– Kademlia ¡DHT ¡ – Obelisk ¡(will ¡be ¡replaced ¡by ¡SPV ¡model) ¡ – Bitcoin ¡ – Bitmessage ¡/ ¡pybitmessage ¡ – pybitcointools ¡ – ZeroMQ ¡ – SQLcipher ¡

slide-21
SLIDE 21

Secure ¡development ¡process ¡

  • Automated ¡build ¡process ¡

– pylint ¡ – flake8 ¡ – jshint ¡ – travis-­‑ci ¡ – coveralls ¡

  • All ¡checked-­‑in ¡code ¡must ¡pass ¡
slide-22
SLIDE 22

Decentraliza?on ¡

  • Completely ¡decentralized ¡system ¡
  • Data ¡exchange ¡using ¡Kademlia ¡DHT ¡
  • Bootstrap ¡using ¡hard-­‑coded ¡seeds ¡
  • No ¡single-­‑point-­‑of-­‑failure ¡
slide-23
SLIDE 23

Bitcoin ¡

  • Decentralized ¡secure ¡cryptocurrency ¡

[Nakamoto ¡08] ¡

  • True ¡ownership ¡of ¡money ¡
  • Transac?on-­‑based, ¡not ¡balance-­‑based ¡
  • Balance ¡deduced ¡from ¡UTXO ¡
  • Transac?on ¡has ¡inputs ¡/ ¡outputs ¡
  • Push-­‑down ¡scrip?ng ¡language ¡for ¡generalized ¡

contracts ¡

slide-24
SLIDE 24

Transac?ons ¡

  • Typical ¡transac?on ¡script ¡requires ¡authorized ¡

digital ¡signature ¡

slide-25
SLIDE 25

Blockchain ¡

  • Linked ¡list ¡of ¡blocks ¡
  • Blockchain ¡solves ¡byzan?ne ¡problem ¡in ¡prac?ce ¡by ¡

achieving ¡consensus ¡through ¡arrow-­‑of-­‑?me ¡

  • Guards ¡against ¡sybil ¡aiacks ¡through ¡proof-­‑of-­‑work ¡
  • Proof-­‑of-­‑work: ¡Range ¡pre-­‑image ¡of ¡cryptographic ¡

hashfunc?on ¡

  • Block ¡genera?on ¡expected ¡?me ¡is ¡controlled ¡by ¡network ¡
  • Merkle ¡tree ¡hashing ¡of ¡transac?ons ¡
  • Hash ¡of ¡previous ¡block ¡included ¡in ¡next ¡blocks, ¡chain ¡is ¡

exponen?ally ¡unforgeable ¡

  • Avoids ¡double-­‑spending ¡problem ¡
slide-26
SLIDE 26

Blockchain ¡

slide-27
SLIDE 27

Typical ¡bitcoin ¡script ¡

  • scriptPubKey: ¡

– OP_DUP ¡OP_HASH160 ¡<pubKeyHash> ¡ OP_EQUALVERIFY ¡OP_CHECKSIG ¡

  • scriptSig: ¡

– <sig> ¡<pubKey> ¡

slide-28
SLIDE 28

Webs-­‑of-­‑trust ¡

  • A ¡graph ¡where: ¡

– Nodes ¡represent ¡people ¡ – Edges ¡represent ¡trust ¡

slide-29
SLIDE 29

Webs-­‑of-­‑trust ¡history ¡

  • GPG ¡[Zimmerman ¡95] ¡

– Main ¡use: ¡Assurance ¡of ¡iden?ty ¡associa?on ¡ – May ¡be ¡decentralized ¡ – But ¡in ¡prac?ce ¡centralized ¡through ¡keyservers ¡ – Public ¡global ¡topology ¡harms ¡anonymity ¡ – Pseudonymity ¡possible ¡in ¡principle ¡ – Cryptographic ¡signatures ¡on ¡edges ¡ – Trust ¡is ¡projected ¡

slide-30
SLIDE 30

Webs-­‑of-­‑trust ¡history ¡

  • BTC-­‑OTC ¡

– Main ¡use: ¡Financial ¡trust, ¡risk ¡mi?ga?on ¡ – Centralized, ¡single-­‑point-­‑of-­‑failure ¡in ¡admins ¡ – Unauthen?cated, ¡MITM ¡possible ¡ – No ¡digital ¡signatures ¡employed ¡on ¡trust ¡edges ¡ – Public ¡global ¡topology ¡harms ¡anonymity ¡ [Narayanan] ¡ – Mainly ¡pseudonymous ¡ – Trust ¡is ¡a ¡combina?on ¡of ¡global ¡and ¡projected ¡

slide-31
SLIDE 31

Webs-­‑of-­‑trust ¡history ¡

  • Freenet ¡[Clarke] ¡

– Main ¡use: ¡Fight ¡spam ¡ – Pseudonymous ¡ – Public ¡topology, ¡but ¡strong ¡anonymity ¡because ¡ topology ¡is ¡created ¡ad-­‑hoc ¡ – Completely ¡decentralized ¡in ¡theory ¡and ¡prac?ce ¡ – Cryptographic ¡signatures ¡on ¡edges ¡

slide-32
SLIDE 32

Our ¡proposal ¡

  • Main ¡use: ¡Financial ¡trust, ¡risk ¡mi?ga?on ¡
  • Topology ¡is ¡selected ¡by ¡users ¡as ¡in ¡GPG ¡and ¡

BTC-­‑OTC ¡

  • Only ¡local ¡topological ¡neighborhood ¡is ¡

revealed ¡

  • Completely ¡decentralized ¡
slide-33
SLIDE 33

Projected ¡trust ¡

  • Trust ¡is ¡not ¡the ¡same ¡for ¡everyone ¡
  • Similar ¡to ¡GPG ¡
  • The ¡wolf ¡metaphor: ¡

– A ¡wolf ¡finds ¡a ¡wolf ¡trustworthy ¡ – But ¡a ¡sheep ¡doesn’t ¡find ¡the ¡same ¡wolf ¡ trustworthy ¡

slide-34
SLIDE 34

Direct ¡and ¡indirect ¡trust ¡

  • Nodes ¡trust ¡each ¡other ¡directly ¡or ¡indirectly ¡
  • If ¡direct ¡trust ¡is ¡not ¡available, ¡ask ¡peers ¡for ¡

indirect ¡trust ¡

slide-35
SLIDE 35

Trust ¡propaga?on ¡

  • t(A, ¡B) ¡= ¡w(A, ¡B), ¡if ¡w(A, ¡B) ¡is ¡defined ¡
  • t(A, ¡B) ¡= ¡α ¡Σ ¡w(A, ¡C) ¡t(C, ¡B) ¡/ ¡|N(A)|, ¡

– for ¡C ¡in ¡N(A), ¡if: ¡ – w(A, ¡B) ¡is ¡undefined ¡and ¡ – w(A, ¡C) ¡> ¡0 ¡

slide-36
SLIDE 36

Terminology ¡

  • t(A, ¡B): ¡projected ¡trust ¡from ¡A ¡to ¡B ¡
  • w(A, ¡B): ¡direct ¡trust ¡from ¡A ¡to ¡B ¡
  • N(A): ¡neighbourhood ¡of ¡A; ¡set ¡of ¡nodes ¡to ¡

which ¡A ¡has ¡direct ¡trust ¡edges. ¡

  • |N(A)| ¡set ¡size. ¡
  • α ¡aienua?on ¡factor, ¡0 ¡<= ¡α ¡<= ¡1 ¡
slide-37
SLIDE 37

Aienua?on ¡

  • Mimics ¡aienua?on ¡of ¡trust ¡in ¡tradi?onal ¡

webs-­‑of-­‑trust ¡without ¡loss ¡of ¡topological ¡ anonymity ¡

  • α ¡= ¡0.4 ¡follows ¡Freenet’s ¡approach ¡
slide-38
SLIDE 38

Aiacking ¡the ¡web-­‑of-­‑trust ¡

  • Faking ¡trust ¡requires ¡graph ¡separator ¡
  • Full ¡separator ¡compromise ¡can ¡cause ¡

complete ¡trust ¡spoofing ¡

  • Par?al ¡separator ¡compromise ¡can ¡cause ¡

par?al ¡trust ¡spoofing ¡

  • Aiacks ¡formally ¡analyzed ¡by ¡[Panagiotakos ¡et. ¡

al.] ¡

slide-39
SLIDE 39

A ¡separator ¡aiack ¡

slide-40
SLIDE 40

Web-­‑of-­‑trust ¡bootstrap ¡

  • Hard-­‑coded ¡edges ¡
  • Guards ¡against ¡unwanted ¡access ¡to ¡black ¡

markets ¡

slide-41
SLIDE 41

Proof-­‑of-­‑burn ¡

  • Destroy ¡bitcoin ¡in ¡a ¡provable ¡way ¡

[CounterParty] ¡

  • Two ¡implementa?ons: ¡

– OP_RETURN ¡script ¡ – Payment ¡to ¡provably ¡unspendable ¡address ¡

  • Through ¡near-­‑hash ¡collision-­‑resistance ¡of ¡SHA256 ¡
  • This ¡implementa?on ¡needs ¡replacement ¡for ¡scalability ¡
slide-42
SLIDE 42

Reputa?on ¡pledges ¡

  • Publish ¡proof-­‑of-­‑burn ¡for ¡establishing ¡iden?ty ¡
  • We ¡are ¡the ¡first ¡to ¡implement ¡this ¡
  • Near-­‑hash ¡collision ¡resistance ¡algorithm ¡
  • Avoid ¡sybil ¡aiacks ¡[Douceur] ¡
  • Proof-­‑of-­‑burn ¡associated ¡with ¡node ¡GUID ¡
  • OpenBazaar ¡implementa?on ¡is ¡produc?on-­‑

ready ¡

  • Works ¡well ¡combined ¡with ¡web-­‑of-­‑trust ¡
slide-43
SLIDE 43

Reputa?on ¡pledges ¡

  • g(x) ¡= ¡1 ¡-­‑ ¡(1/2)^(x/c) ¡
  • Exponen?al ¡func?on ¡
  • Encourages ¡users ¡to ¡spend ¡some ¡amount ¡
  • But ¡not ¡too ¡much ¡
  • Can ¡be ¡tweaked ¡from ¡version-­‑to-­‑version ¡
slide-44
SLIDE 44

Reputa?on ¡pledge ¡terminology ¡

  • x: ¡amount ¡spent ¡for ¡proof-­‑of-­‑burn ¡
  • g: ¡global ¡trust ¡associated ¡with ¡iden?ty ¡
  • c: ¡is ¡the ¡base ¡trust ¡cost ¡of ¡system ¡
slide-45
SLIDE 45

Total ¡trust ¡

  • s(A, ¡B) ¡= ¡(1/2) ¡* ¡t(A, ¡B) ¡+ ¡(1/2) ¡* ¡g(x(B)) ¡
slide-46
SLIDE 46

Proof-­‑to-­‑miner ¡

  • Alterna?ve, ¡pay ¡proof-­‑of-­‑burn ¡to ¡next ¡miner ¡
  • Suscep?ble ¡to ¡proof-­‑to-­‑miner ¡aiack: ¡

– Miner ¡creates ¡OpenBazaar ¡iden?ty ¡ – Creates ¡secret ¡proof-­‑to-­‑miner ¡transac?on ¡ – Aiempts ¡to ¡mine ¡it ¡ – Mining ¡successful? ¡Publish ¡transac?on ¡ – Mining ¡failed? ¡Double ¡spend ¡

slide-47
SLIDE 47

Zooko’s ¡conjecture ¡

  • A ¡name ¡system ¡cannot ¡be ¡secure, ¡human-­‑

meaningful, ¡and ¡decentralized ¡simultaneously ¡ [Zookoo] ¡

  • Secure: ¡Name ¡can ¡only ¡be ¡used ¡by ¡true ¡owner ¡
  • Human-­‑meaningful: ¡Memorable ¡names, ¡can ¡

be ¡chosen ¡by ¡owners ¡ ¡

  • Decentralized: ¡No ¡single-­‑point-­‑of-­‑failure ¡or ¡

authority ¡

slide-48
SLIDE 48

Zooko’s ¡triangle ¡

slide-49
SLIDE 49

Zooko’s ¡conjecture ¡defied ¡[Swartz] ¡

slide-50
SLIDE 50

Namecoin ¡

  • Fork ¡of ¡bitcoin ¡
  • Uses ¡blockchain ¡to ¡offer ¡key/value ¡store ¡
  • Decentralized ¡
  • Secure ¡
  • Human-­‑meaningful ¡
slide-51
SLIDE 51

Namecoin ¡

  • Used ¡for ¡user-­‑friendly ¡names ¡in ¡OpenBazaar ¡
  • URL-­‑style, ¡without ¡the ¡need ¡for ¡central ¡DNS ¡
  • Mutual ¡authen?ca?on: ¡

– OpenBazaar ¡claims ¡name ¡signed ¡with ¡EC ¡key ¡ – Namecoin ¡signs ¡GUID ¡in ¡name ¡

  • Querying ¡of ¡namecoin ¡blockchain ¡through ¡

DNSChain ¡[Slepak ¡13] ¡

– Authen?cated, ¡federated ¡protocol ¡

slide-52
SLIDE 52

Trust ¡can ¡only ¡go ¡that ¡far ¡

  • Transac?ons ¡must ¡be ¡safe ¡even ¡if ¡trust ¡is ¡

absent ¡

  • Idea: ¡Model ¡transac?ons ¡using ¡game ¡theory ¡
  • Ensure ¡no ¡player ¡is ¡incen?vized ¡to ¡play ¡an ¡

undesired ¡strategy ¡

slide-53
SLIDE 53

Ricardian ¡Contracts ¡

  • Digitally ¡signed ¡contracts ¡of ¡trade ¡
  • Allow ¡for ¡any ¡agreement ¡of ¡trade ¡
  • Can ¡stand ¡in ¡court ¡if ¡not ¡pseudonymous ¡trade ¡
  • Meaningful ¡to ¡private ¡third-­‑party ¡arbiter ¡
  • Work ¡of ¡[Washington ¡14] ¡
slide-54
SLIDE 54

k-­‑of-­‑n ¡mul?sig ¡

  • Unusual ¡type ¡of ¡bitcoin ¡transac?on: ¡
  • k ¡< ¡n ¡
  • Requires ¡any ¡k ¡signatures ¡
  • Includes ¡n ¡public ¡keys ¡
  • Corresponding ¡k ¡private ¡keys ¡must ¡be ¡used ¡

¡

slide-55
SLIDE 55

2-­‑of-­‑2 ¡mul?sig ¡

  • Used ¡for ¡buyer/seller ¡assurance ¡
  • Buyer ¡creates ¡2-­‑of-­‑2 ¡mul?sig ¡containing: ¡

– Buyer ¡address ¡ – Seller ¡address ¡

  • Buyer ¡funds ¡mul?sig ¡address ¡and ¡uses ¡as ¡

proof-­‑of-­‑payment ¡

  • Seller ¡sees ¡proof-­‑of-­‑payment, ¡ships ¡product ¡
slide-56
SLIDE 56

2-­‑of-­‑2 ¡mul?sig ¡

  • Buyer ¡receives ¡product, ¡finalizes ¡transac?on ¡
  • Finaliza?on: ¡

– Buyer ¡signs ¡mul?sig ¡transac?on ¡that ¡releases ¡ funds ¡to ¡seller ¡ – Seller ¡also ¡signs ¡transac?on ¡

  • Seller ¡receives ¡payment ¡
slide-57
SLIDE 57

TX ¡

v ¡ 2-­‑of-­‑2(Alice, ¡Bob) ¡ to ¡Alice ¡ 1 ¡BTC ¡ 1 ¡BTC ¡

2-­‑of-­‑2 ¡mul?sig ¡

Bob ¡

slide-58
SLIDE 58

Game ¡theory ¡terminology ¡

  • ε-­‑good ¡agents ¡will ¡play ¡well ¡when ¡no ¡financial ¡

incen?ve ¡to ¡cheat ¡exists ¡

  • Equivalently: ¡In ¡our ¡proofs, ¡for ¡any ¡posi?ve ¡ε, ¡

there ¡exists ¡an ¡ε-­‑Nash ¡equilibrium ¡in ¡which ¡no ¡ player ¡loses ¡money ¡

  • ε-­‑bad ¡agents ¡will ¡play ¡bad ¡even ¡when ¡no ¡

financial ¡incen?ve ¡to ¡cheat ¡exists ¡

  • Equivalently: ¡In ¡our ¡proofs, ¡we ¡will ¡prove ¡that ¡

for ¡all ¡Nash ¡equilibria, ¡no ¡player ¡loses ¡money ¡

slide-59
SLIDE 59

Transac?on ¡diagrams ¡

  • Edge ¡from ¡buyer ¡labeled ¡with ¡shipping ¡

address ¡

  • Edge ¡to ¡seller ¡labeled ¡with ¡payment ¡address ¡
slide-60
SLIDE 60

2-­‑of-­‑2 ¡game ¡theore?c ¡analysis ¡

  • Bob ¡cannot ¡receive ¡product ¡without ¡paying: ¡

Alice ¡is ¡not ¡incen?vized ¡to ¡send ¡product ¡ without ¡proof-­‑of-­‑payment ¡

slide-61
SLIDE 61

2-­‑of-­‑2 ¡game ¡theore?c ¡analysis ¡

  • ε-­‑goodness ¡requires ¡Alice ¡to ¡ship ¡product ¡
  • No ¡incen?ve ¡to ¡adver?se ¡product ¡without ¡

inten?on ¡to ¡ship ¡

slide-62
SLIDE 62

2-­‑of-­‑2 ¡game ¡theore?c ¡analysis ¡

  • ε-­‑goodness ¡requires ¡Bob ¡to ¡finalize ¡
  • No ¡incen?ve ¡to ¡keep ¡funds ¡locked ¡in ¡mul?sig ¡
slide-63
SLIDE 63

2-­‑of-­‑3 ¡

  • Similar ¡to ¡2-­‑of-­‑2 ¡
  • Requires ¡any ¡2 ¡of ¡3 ¡public ¡keys ¡
  • Used ¡for ¡buyer/seller ¡assurance ¡with ¡arbiter ¡
  • Overcomes ¡ε-­‑goodness ¡requirement ¡
  • Third ¡party ¡is ¡arbiter ¡
slide-64
SLIDE 64

2-­‑of-­‑3 ¡

  • Bob ¡puts ¡money ¡in ¡mul?sig, ¡chooses ¡arbiter ¡
  • Alice ¡sees ¡money ¡in ¡mul?sig, ¡verifies ¡arbiter ¡is ¡

trusted ¡(i.e. ¡non-­‑colluding) ¡

  • Alice ¡ships ¡product ¡
  • Bob ¡receives ¡product ¡
  • Bob ¡finalizes ¡mul?sig ¡
  • Alice ¡gets ¡paid ¡
slide-65
SLIDE 65

TX ¡

v ¡ 2-­‑of-­‑3(Alice, ¡Bob, ¡Charlie) ¡ to ¡Alice ¡ 1 ¡BTC ¡ 1 ¡BTC ¡

2-­‑of-­‑3 ¡mul?sig ¡

Bob ¡

slide-66
SLIDE 66

Protects ¡from ¡1 ¡ε-­‑bad ¡player ¡

  • Arbiter ¡is ¡ε-­‑bad ¡

– Scheme ¡works ¡as ¡before ¡

  • Bob ¡is ¡ε-­‑bad ¡

– Bob ¡doesn’t ¡finalize ¡ – Arbiter ¡forces ¡finaliza?on ¡

  • Alice ¡is ¡ε-­‑bad ¡

– Alice ¡doesn’t ¡ship ¡product ¡ – Arbiter ¡forces ¡transac?on ¡reversal ¡

slide-67
SLIDE 67

MAD ¡

  • Mutually ¡assured ¡destruc?on ¡
  • Similar ¡to ¡2-­‑of-­‑2 ¡
  • We ¡add ¡insurance: ¡
  • Addi?onal ¡value ¡v ¡paid ¡by ¡both ¡par?es ¡
  • Insurance ¡is ¡returned ¡aNer ¡finaliza?on ¡
  • Doesn’t ¡require ¡notary ¡
  • Achieves ¡Nash ¡equilibrium ¡against ¡one ¡ε-­‑bad ¡

players ¡

slide-68
SLIDE 68

TX ¡

2v ¡ 2-­‑of-­‑2(Alice, ¡Bob) ¡to ¡Alice ¡ 2 ¡BTC ¡ 2 ¡BTC ¡

MAD ¡

v ¡ 1 ¡BTC ¡ 2-­‑of-­‑2(Alice, ¡Bob) ¡to ¡Bob ¡ 1 ¡BTC ¡ Bob ¡ Alice ¡

slide-69
SLIDE 69

Vendor-­‑in-­‑the-­‑middle ¡aiack ¡

  • Game-­‑theore?c ¡analysis ¡assumes ¡bad ¡players ¡

cannot ¡alter ¡game ¡topology ¡

  • In ¡proof, ¡system ¡must ¡be ¡closed ¡
  • But ¡in ¡prac0ce, ¡system ¡is ¡not ¡closed ¡
  • We ¡introduce ¡the ¡vendor-­‑in-­‑the-­‑middle ¡aiack ¡
slide-70
SLIDE 70

Vendor-­‑in-­‑the-­‑middle ¡aiack ¡

  • Malicious ¡agent ¡creates ¡1 ¡rogue ¡buyer ¡and ¡2 ¡

rogue ¡sellers ¡

  • Establishes ¡reputa?on ¡for ¡rogue ¡sellers ¡
  • Clones ¡an ¡exis?ng ¡product ¡of ¡an ¡exis?ng ¡seller, ¡

Alice ¡

  • Expects ¡two ¡purchase ¡requests ¡from ¡Bob ¡& ¡

Charlie ¡

  • Sends ¡own ¡payment ¡address ¡to ¡Bob ¡
  • Sends ¡Alice’s ¡payment ¡address ¡to ¡Charlie ¡
slide-71
SLIDE 71

Vendor-­‑in-­‑the-­‑middle ¡aiack ¡

  • Rogue ¡buyer ¡creates ¡trade ¡with ¡actual ¡seller ¡
  • Uses ¡previous ¡mul?sig ¡with ¡Charlie ¡as ¡valid ¡proof-­‑
  • f-­‑payment ¡
  • Requests ¡shipping ¡to ¡Bob ¡
  • Bob ¡receives ¡product, ¡finalizes ¡wrong ¡mul?sig ¡
  • Mallory ¡profits ¡and ¡exits ¡game ¡
  • Charlie ¡never ¡receives ¡product ¡
  • Alice ¡never ¡gets ¡paid ¡
  • Arbitra?on ¡is ¡impossible ¡
slide-72
SLIDE 72
slide-73
SLIDE 73

Solu?on ¡of ¡vendor-­‑in-­‑the-­‑middle ¡

  • Quadruple-­‑sign ¡Ricardian ¡contracts ¡using: ¡

– Seller ¡GPG ¡key ¡ – Buyer ¡GPG ¡key ¡ – Arbiter ¡GPG ¡key ¡ – Buyer ¡EC ¡BTC ¡key ¡

  • Then ¡contract ¡maker ¡proves ¡ownership ¡of ¡

payment ¡source ¡when ¡claiming ¡shipping ¡ address ¡

slide-74
SLIDE 74

Open ¡problems ¡

  • Trust-­‑as-­‑risk: ¡Further ¡research ¡is ¡required ¡to ¡

determine ¡feasibility ¡of ¡game-­‑theore?c ¡approach ¡to ¡ web-­‑of-­‑trust ¡edges. ¡Very ¡close ¡to ¡solving! ¡

  • Scalability: ¡Par?al ¡topological ¡revela?on ¡may ¡not ¡scale, ¡

may ¡need ¡to ¡fallback ¡to ¡global ¡topology ¡[Carroni] ¡

  • Debugging: ¡If ¡calculated ¡trust ¡is ¡wrong, ¡it ¡cannot ¡be ¡

debugged ¡easily ¡in ¡an ¡ad ¡hoc ¡network ¡

  • Reputa0on ¡pledge ¡+ ¡Web-­‑of-­‑trust: ¡How ¡to ¡combine ¡

them ¡to ¡avoid ¡sybil ¡aiacks ¡

  • DHT ¡+ ¡BiDorrent: ¡How ¡is ¡trust ¡informa?on ¡distributed ¡

technically? ¡

slide-75
SLIDE 75

Implica?ons ¡

  • Trade ¡becomes ¡accessible ¡to ¡3rd ¡world ¡countries ¡
  • Small ¡sales ¡now ¡possible ¡
  • Discovery ¡mechanism ¡for ¡bitcoin, ¡will ¡help ¡

support ¡the ¡currency ¡

  • Fees ¡non-­‑existent, ¡money ¡goes ¡to ¡buyers/sellers ¡
  • Oppressive ¡regimes ¡cannot ¡censor ¡
  • Bad ¡governments ¡cannot ¡forbid ¡trade ¡
  • Trade ¡and ¡shops ¡are ¡truly ¡owned ¡by ¡the ¡people ¡
slide-76
SLIDE 76

Implica?ons ¡

  • Buying ¡and ¡selling ¡is ¡truly ¡anonymous ¡
  • No ¡credit ¡card ¡company ¡or ¡government ¡knows ¡
  • ur ¡whereabouts ¡
  • Ques?onable ¡content ¡can ¡be ¡purchased ¡

– Adult ¡products ¡ – Zero-­‑day ¡exploits ¡ – Diploma?c ¡cable ¡leaks ¡

slide-77
SLIDE 77

Ethical ¡implica?ons ¡

  • Drugs? ¡[Barrai] ¡

– But ¡crypto-­‑drugs ¡means ¡no ¡violence ¡

  • Guns, ¡nuclear ¡weapons ¡
  • Child ¡pornography ¡
  • Tax ¡evasion ¡
  • Murder-­‑for-­‑hire ¡
  • Unauthorized ¡product ¡imports/exports ¡
  • What ¡is ¡the ¡engineer’s ¡responsibility? ¡
slide-78
SLIDE 78

Some ¡sta?s?cs ¡

  • 3,900 ¡commits ¡
  • 83 ¡contributors ¡
  • > ¡20,000 ¡lines ¡of ¡code ¡
  • 2,600 ¡reddit ¡subscribers ¡
  • 1,300 ¡GitHub ¡stars ¡

– One ¡of ¡the ¡most ¡ac?ve ¡Python ¡projects ¡

  • Real ¡trades ¡already ¡happening ¡
slide-79
SLIDE 79

Thank ¡you! ¡Ques?ons? ¡

slide-80
SLIDE 80

Read ¡more ¡

  • hips://gist.github.com/dionyziz/

e3b296861175e0ebea4b ¡

slide-81
SLIDE 81

References ¡

  • P.R. ¡Zimmermann. ¡The ¡Official ¡PGP ¡User’s ¡Guide. ¡MIT ¡Press, ¡1995 ¡
  • Patrick ¡Feisthammel, ¡7 ¡Oct ¡2004, ¡hip://www.rubin.ch/pgp/weboNrust.en.html ¡
  • OpenBazaar: ¡hip://openbazaar.org/ ¡
  • Satoshi ¡Nakamoto, ¡Bitcoin: ¡A ¡Peer-­‑to-­‑Peer ¡Electronic ¡Cash ¡System, ¡2008 ¡
  • Sanchez ¡Washington, ¡23 ¡June ¡2014, ¡hips://github.com/OpenBazaar/OpenBazaar/wiki/Contracts-­‑and-­‑Lis?ngs ¡
  • I. ¡Clarke, ¡O. ¡Sandberg, ¡B. ¡Wiley, ¡and ¡T.W. ¡Hong. ¡Freenet: ¡A ¡distributed ¡anonymous ¡informa?on ¡storage ¡and ¡retrieval ¡system. ¡In ¡Proc. ¡Int. ¡

Work-­‑ ¡shop ¡on ¡Design ¡Issues ¡in ¡Anonymity ¡and ¡Unobservability, ¡volume ¡2009 ¡of ¡LNCS, ¡pages ¡46–66, ¡2001. ¡

  • Freenet ¡WoT: ¡hips://wiki.freenetproject.org/Web_of_Trust ¡
  • OTC: ¡hip://wiki.bitcoin-­‑otc.com/wiki/OTC_Ra?ng_System ¡
  • GPG ¡iden?ty: ¡hip://lists.gnupg.org/pipermail/gnupg-­‑users/2013-­‑March/046364.html ¡
  • Gilson, ¡David ¡(2013-­‑06-­‑18). ¡"What ¡are ¡Namecoins ¡and ¡.bit ¡domains?". ¡CoinDesk, ¡hip://www.coindesk.com/what-­‑are-­‑namecoins-­‑and-­‑bit-­‑

domains/ ¡

  • Namecoin ¡ID: ¡hips://wiki.namecoin.info/??tle=Iden?ty ¡
  • A. ¡Narayanan, ¡V. ¡Shma?kov, ¡De-­‑anonymizing ¡Social ¡Networks, ¡IEEE ¡Security ¡and ¡Privacy ¡2009. ¡
  • G. ¡Panagiotakos, ¡et. ¡al. ¡Publica?on ¡Pending, ¡2014. ¡
  • J. ¡Douceur. ¡The ¡Sybil ¡Aiack. ¡In ¡Proc. ¡of ¡the ¡IPTPS ¡’02 ¡Workshop, ¡Mar. ¡2002. ¡
  • A. ¡Jøsang. ¡An ¡Algebra ¡for ¡Assessing ¡Trust ¡in ¡Cer?fica?on ¡Chains. ¡Proceedings ¡of ¡the ¡Network ¡and ¡Distributed ¡Systems ¡Security ¡Symposium, ¡
  • 1999. ¡
  • CounterParty, ¡Why ¡proof-­‑of-­‑burn: ¡hips://www.counterparty.co/why-­‑proof-­‑of-­‑burn/ ¡
  • A. ¡Back, ¡Hashcash ¡-­‑ ¡A ¡Denial ¡of ¡Service ¡Counter-­‑Measure, ¡Aug. ¡2002. ¡
  • nTimeLock: ¡hips://bitcointalk.org/index.php?topic=321550.0 ¡
  • G. ¡Wood. ¡Ethereum: ¡A ¡Secure ¡Decentralised ¡Generalised ¡Transac?on ¡Ledger. ¡
  • J. ¡R. ¡Prins, ¡DigiNotar ¡Cer?ficate ¡Authority ¡breach, ¡Sep. ¡2011. ¡
  • G. ¡Slepak. ¡DNSChain ¡+ ¡okTurtles, ¡Dec. ¡2013. ¡
  • A. ¡Swartz. ¡Squaring ¡Zooko’s ¡Triangle, ¡Jan. ¡2011. ¡
  • M. ¡J. ¡Barrai, ¡Silk ¡Road: ¡eBay ¡for ¡drugs. ¡Addic?on, ¡Volume ¡107, ¡Issue ¡3, ¡page ¡683, ¡Mar. ¡2012. ¡
  • B.C. ¡Popescu, ¡B. ¡Crispo, ¡and ¡A.S. ¡Tanenbaum. ¡"Safe ¡and ¡Private ¡Data ¡Sharing ¡with ¡Turtle: ¡Friends ¡Team-­‑Up ¡and ¡Beat ¡the ¡System." ¡In ¡12th ¡

Interna?onal ¡Workshop ¡on ¡Security ¡Protocols, ¡Cambridge, ¡UK, ¡April ¡2004. ¡

  • Caronni ¡G.: ¡Walking ¡the ¡web-­‑of-­‑trust, ¡9th ¡workshop ¡on ¡Enabling ¡Technologies, ¡2000. ¡
slide-82
SLIDE 82
  • Paper ¡draN: ¡

hips://gist.github.com/dionyziz/ e3b296861175e0ebea4b ¡ ¡

  • twiier.com/dionyziz ¡
  • facebook.com/dionyziz ¡
  • onename.com/dionyziz ¡
  • github.com/openbazaar ¡
  • reddit.com/r/openbazaar ¡
slide-83
SLIDE 83

Dionysis ¡Zindros ¡ Diploma ¡in ¡Electrical ¡and ¡Computer ¡Engineering ¡ Department ¡of ¡Computer ¡Science ¡ Na?onal ¡Technical ¡University ¡of ¡Athens ¡ ¡ dionyziz@gmail.com ¡ @dionyziz ¡ Crea?ve ¡Commons ¡4.0 ¡Airibu?on ¡