redecentralizing the web: ipfs and filecoin
TRANSCRIPT
Intro to Decentralized Systems
Nicola Greco Protocol Labs
disclaimer
Part 1 Decentralized Web Part 2 Universal Services Part 3 Decentralized Storage Part 4 Cryptonetworks
Part 1
Decentralizing the Web
decentralization = de-concentration of powerBenkler 2016
distributed system
decentralized systemno single authority fully trusted
minimize risk from misbehaving nodes
Server <> ClientWeb
Server provides the right serviceServer uses data responsiblyServer is secureServer is always onlineServer is single point of reference
Server <> ClientWeb
Server provides the right serviceServer uses data responsiblyServer is secureServer is always onlineServer is single point of reference
Server <> ServerP2P
Altruistic NetworkPeers are equal
Server <> ClientWeb
Server provides the right serviceServer uses data responsiblyServer is secureServer is always onlineServer is single point of reference
Server <> ServerP2P
Altruistic NetworkPeers are equal
Network <> ClientIncentivized Protocols
Clients delegate their service to the networkThe network is “paid” to do so
5,000,000,000+ files
• Video distribution & streaming • Legal documents • 3D Models (they’re big!) • Games • Scientific data & papers
• Blogs & websites • Within blockchains • Totally distributed web apps ex. forums, chat, messaging, cms, blogs, github, ...
IPFS
Content Addressing
Content Addressing
Where is the data??
http://nicolagreco.com/slides.pdf
Content Addressing
Where is the data?
Who has the data?
?
http://nicolagreco.com/slides.pdf
QmeomffUNfmQy76CQGy9N…
[RFC6920][BITTORRENT]
[IPFS][BITCOIN]
Content-addressable Web where: - data links work across application - links are cryptographic hashes - anyone can distribute data
DHT
[CHORD]
A
D
F
H
J
O
Q
U
DHT
[CHORD]
A
D
F
H
J
O
Q
USHA256( ) = GRxQ123..
DHT
[CHORD]
A
D
F
H
J
O
Q
USHA256( ) = GRxQ123..
DHT
[CHORD]
A
D
F
H
J
O
Q
USHA256( ) = GRxQ123..
LIBP2P
http://10.20.30.40/foo/bar/baz.png
10.20.30.40
you
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
IPFS
Content Addressing
SLIDE: SIZE OF THE COMMUNITY
Large Open Source ProjectOver 2000+ Contributors
Over 150+ contribute Weekly
Server <> ClientWeb
Server provides the right serviceServer uses data responsiblyServer is secureServer is always onlineServer is single point of reference
Server <> ServerP2P
Altruistic NetworkPeers are equal
Network <> ClientIncentivized Protocols
Clients delegate their service to the networkThe network is “paid” to do so
IPFS(altruistic)
IPFS(altruistic)
Filecoin(incentivized)
Part 2
Universal Servicesdecentralization beyond the web
Fair ExchangeNicola Samer
Fair ExchangeNicola Samer
Fairness Either both parties receive their inputs or none
Fair ExchangeNicola Samer
Fairness Either both parties receive their inputs or none
Timeliness Exchange either happens or does terminate
Fair Exchange
Nicola Samer
Scenario 1
Fair Exchange
Nicola Samer
runs with the money
Scenario 1
Fair Exchange
Nicola Samer
runs with the money
Scenario 1
Nicola Samer
Scenario 2
Fair Exchange
runs without paying
Nicola Samer
runs with the money
Scenario 1
Nicola Samer
Scenario 2
Fair ExchangeNicola Samer
[Cleve1986]
Fair ExchangeNicola Samer
Impossibility of Fair Exchange without a Trusted Third Party
[Cleve1986]
Fair Exchange
N S
Trusted
— Trust Assumptions —
Fair Exchange
N S
Trusted
N S
Building Trust
— Trust Assumptions —
Fair Exchange
N S
Trusted
N S
Building Trust
N S
Third Party
*
— Trust Assumptions —
Fair Exchange— Trust Assumptions —
Trusted Party
Fair Exchange— Trust Assumptions —
TrustedHardware
Trusted Party
Fair Exchange— Trust Assumptions —
TrustedHardware
Trusted Party
Trusted Auditors
Fair Exchange— Trust Assumptions —
Trusted m-of-n
TrustedHardware
Trusted Party
Trusted Auditors
Fair Exchange— Trust Assumptions —
Trusted Majority
Trusted m-of-n
TrustedHardware
Trusted Party
Trusted Auditors
Public Ledger
Alice-Bob $2
…..
Public Ledger
Alice-Bob $2
…..3 MAY 2017: A-B $2
Patent
Public Ledger
Alice-Bob $2
…..3 MAY 2017: A-B $23 MAY 2017: C patent
Patent
State Machine Replication
log
application
OP Log+1 -1 +1 +2 +4 -1
1 0 1 3 7 6 STATE Log
6
Digital Currency
$5
Digital Currency
$5
Digital Currency
$5
Digital Currency
$5
OKOK
OK
OK
OKOK
OK
OK
Digital Currency
$5
A-B 5
A-B 5
A-B 5
A-B 5
A-B 5
A-B 5
A-B 5
A-B 5
Digital Currency
$2A-B 5B-C 2
A-B 5B-C 2 A-B 5
B-C 2
A-B 5B-C 2
A-B 5B-C 2
A-B 5B-C 2
A-B 5B-C 2
A-B 5B-C 2
Naming
Local Naming
./nicola.jpg
Global Naming
Trusted Party
[RFC1035]
Naming
Local Naming
./nicola.jpg
Global Naming
Trusted Party
[RFC1035]
Untrusted Party
[RFC6962][CW2009][CONIKS]
Naming
Local Naming
./nicola.jpg
Global Naming
Trusted Party
[RFC1035]
Untrusted Party
[RFC6962][CW2009][CONIKS]
hash( )
Qas13jdsjw
Cryptographic Hash
[RFC6920][BITTORRENT]
[IPFS]
Naming
Local Naming
./nicola.jpg
Global Naming
Trusted Party
[RFC1035]
Blockchain
[ENS][BLOCKSTACK][NAMECOIN]
Untrusted Party
[RFC6962][CW2009][CONIKS]
hash( )
Qas13jdsjw
Cryptographic Hash
[RFC6920][BITTORRENT]
[IPFS]
Naming
Local Naming
./nicola.jpg
Global Naming
Trusted Party Untrusted Party
[RFC1035] [RFC6962][CW2009]
Blockchain
[ENS][BLOCKSTACK][NAMECOIN][CONIKS]
hash( )
Qas13jdsjw
Cryptographic Hash
[RFC6920][BITTORRENT]
[IPFS]
Trusted Majority
Trusted Party Cryptography
Fair Exchange of Services
Nicola Samer
FairnessTimeliness
Either both parties receive their inputs or none
Exchange either happens or does terminate
Completeness If seller is honest, both parties receive their inputs
Soundness
Fair Exchange of Services
Fair Exchange of Services
Fair Exchange of Services
Fair Exchange of Services
Fair Exchange of Services
Fair Exchange of Services
Fair Exchange of Services
Fair Exchange of Services
Trusted Majority
Any Trust
TrustedHardware
Trusted Party
Trusted Auditors Reputation
PenalizationsRewards
Sigma Protocols SNARKs …
[NICOLA’s MASTER][ZKCSP][ZKCP]
…
Fair Exchange of Services
Trusted Majority
Any Trust
TrustedHardware
Trusted Party
Trusted Auditors Reputation
PenalizationsRewards
Sigma Protocols SNARKs …
[NICOLA’s MASTER][ZKCSP][ZKCP]
…
Fair Exchange of Services
Trusted Majority
Any Trust
TrustedHardware
Trusted Party
Trusted Auditors Reputation
PenalizationsRewards
Sigma Protocols SNARKs …
[NICOLA’s MASTER][ZKCSP][ZKCP]
…
Fair Exchange of Services
Trusted Majority
Any Trust
TrustedHardware
Trusted Party
Trusted Auditors Reputation
PenalizationsRewards
Sigma Protocols SNARKs …
[NICOLA’s MASTER][ZKCSP][ZKCP]
…
Trust Spectrum
You
Trusted Majority
Trusted 1-of-n
TrustedHardware
Trusted Party
Trusted Auditors Reputation Any
Trust
Interactive Proofs
Trust CryptographyRationality
PenalizationsRewards Sigma Protocols SNARKs …
Verifiable Markets
Order matching
Settlement
Verifiable Markets
Order matching
Settlement
– Don’t need to trustindividual service provider
– Anyone can participate inthe market as participant
Part 3
Filecoin (abstract)
Cloud Storage
Store Get
Cloud Storage
Store Get
Decentralized Storage
Put Get
Decentralized Storage
Store Get
How do we store files without trusting the providers?
Filecoin Protocol
Get - Retrieve a file Put - Store a file Pledge - Add storage
Proofs of Storage
CChallenge
Prove
Verify
Setup
Proofs of Storage
Complete Sound Public Verifiable Transparent Useful
everyone with storage will generate valid proofs
no adversary can generate fake proofs
everyone can verify proofs
there is no secret information that can generate proofs info
proofs are about useful storage
Proofs of Storage
h1,2 = h(h1,h2)
p1 p2 p3 p4
h(1) h(2) h(3) h(4)
h3,4 = h(h3,h4)
hroot = h(h1,2,h3,4)
p1 p2 p3 p4
roothash
Proofs of Storage
Proof of Replication
Sybil attackOutsourcing attackGeneration attack
Proof of Retrievability
Setup
Proof of Retrievability
Setup
Challenge C
Setup
Proof of Retrievability
Setup
Proof of Retrievability
Setup
Challenge C
Proof of Retrievability
Setup
Challenge C
Proof of Retrievability
Setup
Challenge C
Proof of Retrievability
Adding Replicas
Setup
Challenge
Adding Replicas
Setup
Challenge C
Adding Replicas
Setup
Challenge C
Adding Replicas
Setup
Challenge C
Adding Replicas
Setup
Challenge C
Making Replicas slow
Setup
Making Replicas slow
Setup
Making Replicas slow
Setup
Challenge C
Making Replicas slow
Setup
Challenge C
Making Replicas slow
Setup
Challenge C
Filecoin Markets
Order matching
Settlement
Order matching
Settlement
Exchange OTC
Order Matching
Storage/ Retrieval
orders
Store a file for 1 week
at 50c GB/h
Offer storage for 1 week at 50c GB/h
Paying for storage
C
Verify
Storage Settlements
Retrieval Settlements
Storage-based Proof of Work
Open Questions
Are there ways to do efficient proofs of replication? Are there ways to overcome front-running attacks? Are there ways to avoid miners posting proofs on chain? Can build a storage-based consensus? What are other incentives beyond economic reward?
Part 4
Foundational Infrastructure
Bell Labs Holmdel site
Open Source
Open Source
Open Source
Open Source
Open Source
Open Source
Open Source
Open Source
Open Source
Open Source
Open Source
Open Source
Open Source
Open Source
Sharing Economy
IPFS
Crypto Network & Tokens
Text názvuText úrovně 1 Text úrovně 2 Text úrovně 3 Text úrovně 4 Text úrovně 5
Text názvuText úrovně 1 Text úrovně 2 Text úrovně 3 Text úrovně 4 Text úrovně 5
Text názvuText úrovně 1 Text úrovně 2 Text úrovně 3 Text úrovně 4 Text úrovně 5
+
Text názvuText úrovně 1 Text úrovně 2 Text úrovně 3 Text úrovně 4 Text úrovně 5
spend . to store
store to earn .
exchange for . . .
Free Market for Data Storage
Governance?
github.com/nicola/decentralized-research
Thank you Samer
Thank you Samer
Question?What are other trust models? What is any-trust?
What are other types of Verifiable Markets?
Would this be enough for decentralizing the web?
Can DDoS attacks be possible on Filecoin?
How do you know Samer?
Refereed Multi-Prover
YES NO NO NO
YES NO NO NO
Refereed Multi-Prover
YES NO NO NO
Refereed Multi-Prover
RationalRefereed Multi-Prover
YES NO NO NO
$$$$$$