Top Banner
Web 2.0 Expo Berlin, 2007 Dominik Grolimund P2P Online Storage http://wua.la
174
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Wuala, P2P Online Storage

Web 2.0 Expo Berlin, 2007Dominik Grolimund

P2P Online Storagehttp://wua.la

Page 2: Wuala, P2P Online Storage

large, reliable, and securedistributed online storage

harness idle resources of participating computers

Page 3: Wuala, P2P Online Storage

old dream of computer science

Page 4: Wuala, P2P Online Storage

“The design of a world-wide, fully transparent distributed file system for simultaneous use by millions of mobile and frequently disconnected

users is left as an exercise for the reader.”

A. Tanenbaum, Distributed Operating System, 1995

Page 5: Wuala, P2P Online Storage

lots of research projects

OceanStore (UC Berkeley)Past (Microsoft Research)

CFS (MIT)

Page 6: Wuala, P2P Online Storage

we were inspired by them

wanted to make it work

first step: closed alpha

Page 7: Wuala, P2P Online Storage
Page 8: Wuala, P2P Online Storage

upload any file in any size

Page 9: Wuala, P2P Online Storage

upload any file in any size

access from anywhere

Page 10: Wuala, P2P Online Storage

upload any file in any size

access from anywhereshare with friends and groups

Page 11: Wuala, P2P Online Storage

upload any file in any size

access from anywhereshare with friends and groups

publish to the world

Page 12: Wuala, P2P Online Storage
Page 13: Wuala, P2P Online Storage

free and simple application

(Win, Mac, and soon Linux)

Page 14: Wuala, P2P Online Storage

free and simple application

(Win, Mac, and soon Linux)

start with 1 GB of storage

provided by us

Page 15: Wuala, P2P Online Storage

free and simple application

(Win, Mac, and soon Linux)

start with 1 GB of storage

provided by us

if you want more, you can

trade local disk space for more

online storage

Page 16: Wuala, P2P Online Storage

online storage

with the “power of P2P”

Page 17: Wuala, P2P Online Storage

online storage

with the “power of P2P”

fast downloads

Page 18: Wuala, P2P Online Storage

online storage

with the “power of P2P”

fast downloads

no file size limit

Page 19: Wuala, P2P Online Storage

online storage

with the “power of P2P”

fast downloads

no file size limit

no traffic limit

Page 20: Wuala, P2P Online Storage
Page 21: Wuala, P2P Online Storage

privacy

Page 22: Wuala, P2P Online Storage

privacy

all files are encrypted on your computer

Page 23: Wuala, P2P Online Storage

privacy

all files are encrypted on your computer

your password never leaves your computer

Page 24: Wuala, P2P Online Storage

privacy

all files are encrypted on your computer

your password never leaves your computer

so no one, not even we, can see your files

Page 25: Wuala, P2P Online Storage
Page 26: Wuala, P2P Online Storage

screens

Page 27: Wuala, P2P Online Storage
Page 28: Wuala, P2P Online Storage
Page 29: Wuala, P2P Online Storage

screens

Page 30: Wuala, P2P Online Storage

screens

Page 31: Wuala, P2P Online Storage

screens

Page 32: Wuala, P2P Online Storage
Page 33: Wuala, P2P Online Storage
Page 34: Wuala, P2P Online Storage
Page 35: Wuala, P2P Online Storage
Page 36: Wuala, P2P Online Storage
Page 37: Wuala, P2P Online Storage

how does it work?

Page 38: Wuala, P2P Online Storage

data stored in the p2p network

users’s computer can be offline

how to ensure availability

(persistent storage)?

Page 39: Wuala, P2P Online Storage
Page 40: Wuala, P2P Online Storage

two approaches

Page 41: Wuala, P2P Online Storage

two approaches

1. make sure the data is always

in the network

Page 42: Wuala, P2P Online Storage

two approaches

1. make sure the data is always

in the networkmove the data when a computer goes offline

Page 43: Wuala, P2P Online Storage

two approaches

1. make sure the data is always

in the networkmove the data when a computer goes offline

bad idea for lots of data and high churn rate

Page 44: Wuala, P2P Online Storage

two approaches

1. make sure the data is always

in the networkmove the data when a computer goes offline

bad idea for lots of data and high churn rate

2. introduce redundancy

Page 45: Wuala, P2P Online Storage

redundany = replication?

p = node availability

k = redundancy factor

prep = file availability

Page 46: Wuala, P2P Online Storage

redundany = replication?

example

p = 0.25

k = 5

prep = 0.763 not enough

Page 47: Wuala, P2P Online Storage

redundany = replication?

example

p = 0.25

k = 24

prep = 0.999

unrealistic

Page 48: Wuala, P2P Online Storage

erasure codes

encode m fragments into n

need any m out of n to reconstruct

reed-solomon (optimal codes)

RAID storage systems

(vs. low-density-parity-check need (1+e) * m,

where e is a fixed, small constant)

Page 49: Wuala, P2P Online Storage

availability

p = 0.25

m = 100, n = 517, k = n/m = 5.17

pec = 0.999k = n/m = 5.17 vs. k = 24 using replication

Page 50: Wuala, P2P Online Storage
Page 51: Wuala, P2P Online Storage

x

y d points

Page 52: Wuala, P2P Online Storage

polynomial of degree d

x

y d points

Page 53: Wuala, P2P Online Storage

polynomial of degree d

any d points

x

y d points

Page 54: Wuala, P2P Online Storage

alice stores a file

roadtrip.mpg

Page 55: Wuala, P2P Online Storage

alice drags roadtrip.mpg into wuala

Page 56: Wuala, P2P Online Storage

1. encrypted on alice’s computer (128 bit AES)

Page 57: Wuala, P2P Online Storage

1. encrypted on alice’s computer (128 bit AES)

2. encoded into redundant fragments

Page 58: Wuala, P2P Online Storage

1. encrypted on alice’s computer (128 bit AES)

2. encoded into redundant fragments

3. uploaded into the p2p network

p2p network

Page 59: Wuala, P2P Online Storage

1. encrypted on alice’s computer (128 bit AES)

2. encoded into redundant fragments

3. uploaded into the p2p network

p2p network

4. m fragments

uploaded onto our

servers (boostrap,

backup)

Page 60: Wuala, P2P Online Storage

alice shares the file with bob

alice and bob have friendship key

alice encrypts file key and exchanges it with bob

bob wants to download the file

Page 61: Wuala, P2P Online Storage

p2p network

Page 62: Wuala, P2P Online Storage

1. download subset of fragments (m)

p2p network

Page 63: Wuala, P2P Online Storage

1. download subset of fragments (m)

p2p network

if necessary, get

the remaining

fragments from

our servers

Page 64: Wuala, P2P Online Storage

1. download subset of fragments (m)

p2p network

Page 65: Wuala, P2P Online Storage

2. decode the file

1. download subset of fragments (m)

p2p network

Page 66: Wuala, P2P Online Storage

3. decrypt the file

2. decode the file

1. download subset of fragments (m)

p2p network

Page 67: Wuala, P2P Online Storage

bob plays roadtrip.mpg

2. decode the file

1. download subset of fragments (m)

p2p network

Page 68: Wuala, P2P Online Storage

p2p network

Page 69: Wuala, P2P Online Storage

maintenance

p2p network

Page 70: Wuala, P2P Online Storage

maintenance

alice’s computer checks and maintains her files

p2p network

Page 71: Wuala, P2P Online Storage

maintenance

alice’s computer checks and maintains her filesif necessary, it constructs new fragments and uploads them

p2p network

Page 72: Wuala, P2P Online Storage

maintenance

alice’s computer checks and maintains her filesif necessary, it constructs new fragments and uploads them

p2p network

Page 73: Wuala, P2P Online Storage

maintenance

alice’s computer checks and maintains her filesif necessary, it constructs new fragments and uploads them

p2p network

Page 74: Wuala, P2P Online Storage

p2p network

Page 75: Wuala, P2P Online Storage

p2p network

put

Page 76: Wuala, P2P Online Storage

p2p network

getput

Page 77: Wuala, P2P Online Storage

distributed hash table (DHT)

p2p network

getput

Page 78: Wuala, P2P Online Storage

super nodes

Page 79: Wuala, P2P Online Storage

storage nodes

Page 80: Wuala, P2P Online Storage

client nodes

Page 81: Wuala, P2P Online Storage

get

Page 82: Wuala, P2P Online Storage

get

Page 83: Wuala, P2P Online Storage

get

Page 84: Wuala, P2P Online Storage

get

Page 85: Wuala, P2P Online Storage

get

Page 86: Wuala, P2P Online Storage

download of fragments (in parallel)

Page 87: Wuala, P2P Online Storage
Page 88: Wuala, P2P Online Storage

routing

Page 89: Wuala, P2P Online Storage

routing

napster: centralized :-(

Page 90: Wuala, P2P Online Storage

routing

napster: centralized :-(gnutella: flooding :-(

Page 91: Wuala, P2P Online Storage

routing

napster: centralized :-(gnutella: flooding :-(

chord, tapestry: structured overlay networks

Page 92: Wuala, P2P Online Storage

routing

napster: centralized :-(gnutella: flooding :-(

chord, tapestry: structured overlay networksO(log n) hops :-)

Page 93: Wuala, P2P Online Storage

routing

napster: centralized :-(gnutella: flooding :-(

chord, tapestry: structured overlay networksO(log n) hops :-)

n = # super nodes

Page 94: Wuala, P2P Online Storage

routing

napster: centralized :-(gnutella: flooding :-(

chord, tapestry: structured overlay networksO(log n) hops :-)

n = # super nodes

vulnerable to attacks (partitioning) :-(

Page 95: Wuala, P2P Online Storage
Page 96: Wuala, P2P Online Storage

super node

Page 97: Wuala, P2P Online Storage

super nodeconnected to direct neighbors

Page 98: Wuala, P2P Online Storage

super nodeconnected to direct neighbors

plus some random links

Page 99: Wuala, P2P Online Storage

super nodeconnected to direct neighbors

plus some random links

random links?

Page 100: Wuala, P2P Online Storage

super nodeconnected to direct neighbors

plus some random links

random links? piggy-pack routing information

Page 101: Wuala, P2P Online Storage
Page 102: Wuala, P2P Online Storage

number of hops depends on

Page 103: Wuala, P2P Online Storage

number of hops depends on

size of the network (n)

Page 104: Wuala, P2P Online Storage

number of hops depends on

size of the network (n)size of the routing table (R)

Page 105: Wuala, P2P Online Storage

number of hops depends on

size of the network (n)size of the routing table (R)

which itself depends on the traffic

Page 106: Wuala, P2P Online Storage

number of hops depends on

size of the network (n)size of the routing table (R)

which itself depends on the trafficwe have lots of traffic due to erasure coding

Page 107: Wuala, P2P Online Storage
Page 108: Wuala, P2P Online Storage

simulation results

Page 109: Wuala, P2P Online Storage

simulation results

n = 106

Page 110: Wuala, P2P Online Storage

simulation results

n = 106

R = 1,000: < 3 hops

Page 111: Wuala, P2P Online Storage

simulation results

n = 106

R = 1,000: < 3 hopsR = 100: ~5 hops

Page 112: Wuala, P2P Online Storage

simulation results

n = 106

R = 1,000: < 3 hopsR = 100: ~5 hops

reasonable already with moderate traffic

Page 113: Wuala, P2P Online Storage

small world effects(see milgram, watts & strogatz, kleinberg)

regular graph

high diameter :-(high clustering :-)

Page 114: Wuala, P2P Online Storage

small world effects(see milgram, watts & strogatz, kleinberg)

regular graph

high diameter :-(high clustering :-)

random graph

low diameter :-)low clustering :-(

Page 115: Wuala, P2P Online Storage

small world effects(see milgram, watts & strogatz, kleinberg)

regular graph

high diameter :-(high clustering :-)

random graph

low diameter :-)low clustering :-(

mix

low diameter :-)high clustering :-)

Page 116: Wuala, P2P Online Storage

routing tablen = 109, R = 10,000

Page 117: Wuala, P2P Online Storage
Page 118: Wuala, P2P Online Storage

incentives, fairness

Page 119: Wuala, P2P Online Storage

incentives, fairness prevent free-riding

Page 120: Wuala, P2P Online Storage

incentives, fairness prevent free-riding

local disk space

Page 121: Wuala, P2P Online Storage

incentives, fairness prevent free-riding

local disk spaceonline time

Page 122: Wuala, P2P Online Storage

incentives, fairness prevent free-riding

local disk spaceonline time

upload bandwidth

Page 123: Wuala, P2P Online Storage
Page 124: Wuala, P2P Online Storage

online storage = local disk space * online time

Page 125: Wuala, P2P Online Storage

online storage = local disk space * online timeexample: 10 GB disk space, 70% online --> 7 GB

Page 126: Wuala, P2P Online Storage

online storage = local disk space * online timeexample: 10 GB disk space, 70% online --> 7 GB

we have different mechanisms to measure

Page 127: Wuala, P2P Online Storage

online storage = local disk space * online timeexample: 10 GB disk space, 70% online --> 7 GB

we have different mechanisms to measure and check these two variables

Page 128: Wuala, P2P Online Storage
Page 129: Wuala, P2P Online Storage

trading storage

Page 130: Wuala, P2P Online Storage

trading storage

only if you want to (you start with 1 GB)

Page 131: Wuala, P2P Online Storage

trading storage

only if you want to (you start with 1 GB)

you must be online at least 17% of the time

Page 132: Wuala, P2P Online Storage

trading storage

only if you want to (you start with 1 GB)

you must be online at least 17% of the time(⋲ 4 hours a day, running average)

Page 133: Wuala, P2P Online Storage

trading storage

only if you want to (you start with 1 GB)

you must be online at least 17% of the time(⋲ 4 hours a day, running average)

storage can be earned on multiple computers

Page 134: Wuala, P2P Online Storage

upload bandwidth

the more upload bandwidth you provide,the more download bandwidth you get

Page 135: Wuala, P2P Online Storage

“client” storage node

Page 136: Wuala, P2P Online Storage

“client” storage node

asymmetric interest

Page 137: Wuala, P2P Online Storage

“client” storage node

asymmetric interesttit-for-tat doesn’t work :-(

Page 138: Wuala, P2P Online Storage

“client” storage node

asymmetric interesttit-for-tat doesn’t work :-(

believe the software? hack it (kazaa lite) :-(

Page 139: Wuala, P2P Online Storage

distributed reputation systemthat is not susceptible to false reports

and other forms of cheating

Havelaar, NetEcon 2006

Page 140: Wuala, P2P Online Storage

distributed reputation systemthat is not susceptible to false reports

and other forms of cheating

Havelaar, NetEcon 2006

must scale well with number of transactionswe have lots of small transactions due to erasure coding

Page 141: Wuala, P2P Online Storage

Havelaar, NetEcon 2006

Page 142: Wuala, P2P Online Storage

Havelaar, NetEcon 2006

1. lots of transactions“observations”

Page 143: Wuala, P2P Online Storage

Havelaar, NetEcon 2006

2. every round (e.g., a week)send observations to

pre-determined neighbors (hash code)

1. lots of transactions“observations”

Page 144: Wuala, P2P Online Storage

Havelaar, NetEcon 2006

2. every round (e.g., a week)send observations to

pre-determined neighbors (hash code)

3. discard ego-reports, median, etc.

1. lots of transactions“observations”

Page 145: Wuala, P2P Online Storage

Havelaar, NetEcon 2006

2. every round (e.g., a week)send observations to

pre-determined neighbors (hash code)

3. discard ego-reports, median, etc.

4. next round, aggregate

1. lots of transactions“observations”

Page 146: Wuala, P2P Online Storage

Havelaar, NetEcon 2006

2. every round (e.g., a week)send observations to

pre-determined neighbors (hash code)

3. discard ego-reports, median, etc.

4. next round, aggregate

5. update reputationof storage nodes

1. lots of transactions“observations”

Page 147: Wuala, P2P Online Storage

Havelaar, NetEcon 2006

2. every round (e.g., a week)send observations to

pre-determined neighbors (hash code)

3. discard ego-reports, median, etc.

4. next round, aggregate

5. update reputationof storage nodes

rewarding: upload bandwidth

proportionalto reputation

1. lots of transactions“observations”

Page 148: Wuala, P2P Online Storage

Havelaar, NetEcon 2006

local approximation of contribution

Page 149: Wuala, P2P Online Storage

“client” storage node

Page 150: Wuala, P2P Online Storage

“client” storage node

Page 151: Wuala, P2P Online Storage

“client” storage node

Page 152: Wuala, P2P Online Storage

“client” storage node

Page 153: Wuala, P2P Online Storage

“client” storage node

Page 154: Wuala, P2P Online Storage

“client” storage node

Page 155: Wuala, P2P Online Storage

“client” storage node

“flash crowd”

Page 156: Wuala, P2P Online Storage

content distributionsimilar to bittorrent

tit-for-tat

some differences due toerasure codes

“client”

Page 157: Wuala, P2P Online Storage
Page 158: Wuala, P2P Online Storage

encryption

Page 159: Wuala, P2P Online Storage

encryption

128 bit AES for encryption

Page 160: Wuala, P2P Online Storage

encryption

128 bit AES for encryption2048 bit RSA for authentication

Page 161: Wuala, P2P Online Storage

encryption

128 bit AES for encryption2048 bit RSA for authentication

all data is encrypted (file + meta data)

Page 162: Wuala, P2P Online Storage

encryption

128 bit AES for encryption2048 bit RSA for authentication

all data is encrypted (file + meta data)all cryptographic operations performed locally

(i.e., on your computer)

Page 163: Wuala, P2P Online Storage

Cryptree, SRDS 2006

Page 164: Wuala, P2P Online Storage

access control

Cryptree, SRDS 2006

Page 165: Wuala, P2P Online Storage

access control

cryptographic tree structure

Cryptree, SRDS 2006

Page 166: Wuala, P2P Online Storage

access control

cryptographic tree structureuntrusted storage

Cryptree, SRDS 2006

Page 167: Wuala, P2P Online Storage

access control

cryptographic tree structureuntrusted storage

doesn’t reveal who has access

Cryptree, SRDS 2006

Page 168: Wuala, P2P Online Storage

access control

cryptographic tree structureuntrusted storage

doesn’t reveal who has accessvery efficient for typical operations

Cryptree, SRDS 2006

Page 169: Wuala, P2P Online Storage

access control

cryptographic tree structureuntrusted storage

doesn’t reveal who has accessvery efficient for typical operations

(grant access, move, etc.)

Cryptree, SRDS 2006

Page 170: Wuala, P2P Online Storage

Cryptree, SRDS 2006

alice

videos

vacation roadtrip.mpg

switzerland.mpg

europe.mpg

root

Page 171: Wuala, P2P Online Storage

Cryptree, SRDS 2006

alice

videos

vacation roadtrip.mpg

switzerland.mpg

europe.mpg

root

claire

bob

bob doesn’t see thatclaire has also access

and vice versa

Page 172: Wuala, P2P Online Storage

Cryptree, SRDS 2006

alice

videos

vacation roadtrip.mpg

switzerland.mpg

europe.mpg

root

garfield

granting access to this and all subfolders takes

just one operationall subkeys can be derived from that

parent keyclaire

bob

bob doesn’t see thatclaire has also access

and vice versa

Page 173: Wuala, P2P Online Storage

demo

Page 174: Wuala, P2P Online Storage

thank you!

sign up for the closed alphahttp://wua.la