SlideShare a Scribd company logo
RDM#2
LISBON
Research & Development Meetup
LISBON
David Dias,
P2P SE&R @ Protocol Labs
João Ascensão,
Data Scientist @ Uniplaces
tw: @daviddias gh: @diasdavid
tw: @jtascensao gh: @jtascensao
LISBON
What is RDM?
LISBON
Space to invest time in learning
things that are hard to grasp
LISBON
world of possibilities
LISBON
what actually
gets researched
LISBON
what gets
developed
LISBON
what gets
deployed
LISBON
what most people are doing
PROTOCOL LABS
LISBON
FORMAT
- New topics / Research
- Hacking + Digesting + Publishing
LISBON
TODAY
- The Distributed Web
- Machine Learning / AI
RDM#2- The Distributed Web
The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
Serve data to everywhere
• Motivations
• IPFS, the Protocol
• MerkleDAG (Directed Acyclic Graph)
• DHT (Distributed Hash Table)
• Motivations
• IPFS, the Protocol,
MerkleDAG, IPNS,
Network
• IPFS in action
• IPFS, the project
• filecoin
• libp2p
• starship
• gx
• full IPFS JavaScript
implementation
• mutable file system
and the files API
• Other DHT
• Structure P2P Networks
• Unstructured P2P
Networks
• NAT Traversal
• Relay/Turn
• registry-mirror
• smart chunking
• Transports
• Multiplexers
• Self Describing Data
Types
• Search
• Station
• and more
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
Location Addressing
http://10.20.30.40/foo/bar/baz.png
location path
http://example.com/foo/bar/baz.png
http://10.20.30.40/foo/bar/baz.png
you
http://10.20.30.40/foo/bar/baz.png
10.20.30.40
you
http://10.20.30.40/foo/bar/baz.png
10.20.30.40
you
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
200 MB
200 MB x 30 x 8 = 48 GB
2,544,837,694
2,387,990,609
508.968 PB
Bandwidth
RDM#2- The Distributed Web
https://www.backblaze.com/blog/price-gap-storage-vs-bandwidth/
Latency
Amazon Google
DataCenters
Disconnected / Offline
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
low bw interference congestion travelisp outagedatacenter
Permanence Security
IoT
Control
Offline
Bandwidth
Disconnected
InterPlanetary FileSystem
a protocol to upgrade the web
InterPlanetary FileSystem
RDM#2- The Distributed Web
InterPlanetary FileSystem
DISTRIBUTED
PERMANENT
MERKLE
THE WEB
PermanentDistributed Safer
SmarterOffline
Faster
SFS
web
DHT+
web
DHT
SFS
routing
network
exchange
merkledag
naming
applications
The Stack
routing
network
exchange
merkledag
naming
applicationsThe Stack
Defining the Data
Moving the Data
Using the Data
IPLD
libp2p
IPNS
RDM#2- The Distributed Web
8AyaTQMhJklMo
Ga3WaDgwcAEPc
KQeipgDu64qaj
kr3fNcVt1LVMD
KQsXSobGtbNhF
sv3qA44E7iXAy
gcuSfVhW8RV3z
R9F3MFvbVaqf9
8AyaTQMhJklMo
Ga3WaDgwcAEPc
KQeipgDu64qaj
kr3fNcVt1LVMD
hash( ) -> KQsXSobGtbNhF
KQsXSobGtbNhF
sv3qA44E7iXAy
gcuSfVhW8RV3z
R9F3MFvbVaqf9
8AyaTQMhJklMo
Ga3WaDgwcAEPc
KQeipgDu64qaj
kr3fNcVt1LVMD
hash( ) -> KQsXSobGtbNhF
KQsXSobGtbNhF
sv3qA44E7iXAy
gcuSfVhW8RV3z
R9F3MFvbVaqf9
MERKLE LINK
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
cvs/svn
cvs/svn
cvs/svn
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
RDM#2- The Distributed Web
merkledag
in IPFS
data forms a dag
it’s called the merkle dag
because the links are hashes
any data structures are
represented as dags
unix files
and dirs
any data structures are
represented as dags
blob, tree, commit
unix files
and dirs
any data structures are
represented as dags
blob, tree, commit
unix files
and dirs
any data structures are
represented as dags
blocks, txns, wallets
blob, tree, commit
unix files
and dirs
any data structures are
represented as dags
blocks, txns, wallets
kv-stores
blob, tree, commit
unix files
and dirs
any data structures are
represented as dags
blocks, txns, wallets
kv-stores
unixfs as a dag
files are dag nodes
unixfs as a dag
files are dag nodes
BIG files may be
split into many
unixfs as a dag
directories are
also dag nodes
files are dag nodes
BIG files may be
split into many
unixfs as a dag
which link
to others
directories are
also dag nodes
files are dag nodes
BIG files may be
split into many
unixfs as a dag
http://10.20.30.40/foo/bar/baz.png
location path
http://example.com/foo/bar/baz.png
http://10.20.30.40/foo/bar/baz.png
location path
http://example.com/foo/bar/baz.png
/ipns/example.com/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
content path
10.20.30.40
you
HTTP
http://10.20.30.40/foo/bar/baz.png
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
http://10.20.30.40/foo/bar/baz.png
10.20.30.40
you
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
IPFS
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
content path
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
content path
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
content path
foo
bar
baz.png
QmW98pJrc6FZ6
/ipfs/QmW98pJrc6FZ6/foo/bar/baz.png
content path
foo:HB
HB
HC
HD
bar:HC
baz.png:HDQmW98pJrc6FZ6
foo
bar
baz.png
DHT
DHT are the Holy Grail* of P2P Networks
*from a survey paper
1
5
6
10
50
55
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
hash( )
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
hash( ) = 91
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
hash( ) = 91
1 10 12 20 30 50 54 58 70 88 81 83 88 90 92 95 97 99 101105 300411 500
Who has fim , which hash( ) = 91?
The Distributed Web
• Applications with no-origin
• Leverage network cache
• Resilient to network splits
Serve data to everywhere
Serve data from everywhere
David Dias - http://daviddias.me IPFS http://ipfs.io Protocol Labs http://ipn.io
Thank you!
David Dias - http://daviddias.me IPFS http://ipfs.io Protocol Labs http://ipn.io

More Related Content

What's hot (18)

PPTX
Ipfs
承翰 蔡
 
ODP
PFcache (Linuxcon, Seattle, 2015)
Pavel Emelyanov
 
PPTX
List of Files Format
Daivik Narayan
 
PPT
Raspberry zero usb in linux
GSHCO
 
KEY
TYPO3 at UNESCO.org
Olivier Dobberkau
 
PDF
IPFS: The Permanent Web
Sivachandran Paramsivam
 
PDF
Http2.0 Guide 2013-08-14 #http2study
Jxck Jxck
 
PPTX
Introducing JDBC for SPARQL
Rob Vesse
 
PDF
Archive What I See Now: Personal Web Archiving with WARCs
machawk1
 
PDF
Midwest php 2013 deploying php on paas- why & how
dotCloud
 
PDF
Gbroccolo pgconfeu2016 pgnfs
Giuseppe Broccolo
 
ODP
Convert your package to multibuild on Open Build Service
SUSE Labs Taipei
 
PDF
Non-Framework MVC sites with PHP
César Rodas
 
PDF
Thinking in documents
César Rodas
 
PDF
Speedup your WordPress mit Nginx und HTTP/2
wpmeetupka
 
PDF
Introducing Web Archiving and WSDL Research Group
Sawood Alam
 
PDF
HTTP 2.0 Why, How and When
Codemotion
 
PDF
Linux Kernel 개발참여방법과 문화 (Contribution)
Ubuntu Korea Community
 
PFcache (Linuxcon, Seattle, 2015)
Pavel Emelyanov
 
List of Files Format
Daivik Narayan
 
Raspberry zero usb in linux
GSHCO
 
TYPO3 at UNESCO.org
Olivier Dobberkau
 
IPFS: The Permanent Web
Sivachandran Paramsivam
 
Http2.0 Guide 2013-08-14 #http2study
Jxck Jxck
 
Introducing JDBC for SPARQL
Rob Vesse
 
Archive What I See Now: Personal Web Archiving with WARCs
machawk1
 
Midwest php 2013 deploying php on paas- why & how
dotCloud
 
Gbroccolo pgconfeu2016 pgnfs
Giuseppe Broccolo
 
Convert your package to multibuild on Open Build Service
SUSE Labs Taipei
 
Non-Framework MVC sites with PHP
César Rodas
 
Thinking in documents
César Rodas
 
Speedup your WordPress mit Nginx und HTTP/2
wpmeetupka
 
Introducing Web Archiving and WSDL Research Group
Sawood Alam
 
HTTP 2.0 Why, How and When
Codemotion
 
Linux Kernel 개발참여방법과 문화 (Contribution)
Ubuntu Korea Community
 

Viewers also liked (14)

PDF
The new decentralized compute stack and its application
BigchainDB
 
PDF
Decentralised Web: IPFS project, David Dias, Protocol Labs, IPFS
Alan Quayle
 
PPT
Phishing & Pharming
Devendra Yadav
 
PDF
Building Digital Transaction Systems in the new Banking World
Ramit Surana
 
PDF
Swiss otc blockchain
Walter Strametz
 
PDF
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
Digipolis Antwerpen
 
PDF
BigchainDB - Big Data meets Blockchain
Dimitri De Jonghe
 
PDF
Concept of BlockChain & Decentralized Application
Seiji Takahashi
 
PPTX
Building decentralized applications (dapps) on Ethereum - Eva Shon, & Igor Li...
WithTheBest
 
PPTX
Apache Kafka 0.8 basic training - Verisign
Michael Noll
 
PPT
Strategic Management Presentation - Apple Inc.
Colby Nelson
 
PDF
How Google Works
Eric Schmidt
 
PDF
UX, ethnography and possibilities: for Libraries, Museums and Archives
Ned Potter
 
PDF
Visual Design with Data
Seth Familian
 
The new decentralized compute stack and its application
BigchainDB
 
Decentralised Web: IPFS project, David Dias, Protocol Labs, IPFS
Alan Quayle
 
Phishing & Pharming
Devendra Yadav
 
Building Digital Transaction Systems in the new Banking World
Ramit Surana
 
Swiss otc blockchain
Walter Strametz
 
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
Digipolis Antwerpen
 
BigchainDB - Big Data meets Blockchain
Dimitri De Jonghe
 
Concept of BlockChain & Decentralized Application
Seiji Takahashi
 
Building decentralized applications (dapps) on Ethereum - Eva Shon, & Igor Li...
WithTheBest
 
Apache Kafka 0.8 basic training - Verisign
Michael Noll
 
Strategic Management Presentation - Apple Inc.
Colby Nelson
 
How Google Works
Eric Schmidt
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
Ned Potter
 
Visual Design with Data
Seth Familian
 
Ad

Similar to RDM#2- The Distributed Web (20)

PDF
SF Ceph Users Jan. 2014
Kyle Bader
 
PDF
Module: Content Routing in IPFS
Ioannis Psaras
 
PDF
the ipfs white paper. A P2P file decentralized file system.
cs21btech11057
 
PPT
IEEE ISM 2008: Kalman Graffi: A Distributed Platform for Multimedia Communities
Kalman Graffi
 
PPTX
Peer-to-Peer Networking Systems and Streaming
Dilum Bandara
 
PDF
Encode club introduction_to_libp2p
Vanessa Lošić
 
PPT
Agents and P2P Networks
James Salter
 
PDF
WebRTC DataChannels demystified
Victor Pascual Ávila
 
PPT
Introduction P2p
Davide Carboni
 
PDF
NZNOG 2020: DOH
APNIC
 
PDF
ServalDHT
Marios Isaakidis
 
PDF
Module: the modular p2 p networking stack
Ioannis Psaras
 
PPTX
02 - Topologies of Distributed Systems
Dilum Bandara
 
PDF
IPFS: A Whole New World
ArcBlock
 
PDF
chapter 2 architecture
Sharda University Greater Noida
 
ODP
London Ceph Day Keynote: Building Tomorrow's Ceph
Ceph Community
 
PPT
Serverless (Distributed computing)
Sri Prasanna
 
ODP
Ceph Day Santa Clara: Keynote: Building Tomorrow's Ceph
Ceph Community
 
ODP
Ceph Day NYC: Building Tomorrow's Ceph
Ceph Community
 
PDF
Ceph Day London 2014 - Ceph Ecosystem Overview
Ceph Community
 
SF Ceph Users Jan. 2014
Kyle Bader
 
Module: Content Routing in IPFS
Ioannis Psaras
 
the ipfs white paper. A P2P file decentralized file system.
cs21btech11057
 
IEEE ISM 2008: Kalman Graffi: A Distributed Platform for Multimedia Communities
Kalman Graffi
 
Peer-to-Peer Networking Systems and Streaming
Dilum Bandara
 
Encode club introduction_to_libp2p
Vanessa Lošić
 
Agents and P2P Networks
James Salter
 
WebRTC DataChannels demystified
Victor Pascual Ávila
 
Introduction P2p
Davide Carboni
 
NZNOG 2020: DOH
APNIC
 
ServalDHT
Marios Isaakidis
 
Module: the modular p2 p networking stack
Ioannis Psaras
 
02 - Topologies of Distributed Systems
Dilum Bandara
 
IPFS: A Whole New World
ArcBlock
 
chapter 2 architecture
Sharda University Greater Noida
 
London Ceph Day Keynote: Building Tomorrow's Ceph
Ceph Community
 
Serverless (Distributed computing)
Sri Prasanna
 
Ceph Day Santa Clara: Keynote: Building Tomorrow's Ceph
Ceph Community
 
Ceph Day NYC: Building Tomorrow's Ceph
Ceph Community
 
Ceph Day London 2014 - Ceph Ecosystem Overview
Ceph Community
 
Ad

More from David Dias (8)

PDF
Enter Gossipsub, A scalable, extensible & hardened P2P PubSub Router protocol
David Dias
 
PDF
browserCloud.js - David Dias M.Sc Thesis Defense Deck
David Dias
 
PDF
Understanding The Community Lifecycle
David Dias
 
PDF
P2P Resource Discovery for the Browser
David Dias
 
PDF
Lisboa WebRTC - May 21, 2015 - Intro to WebRTC
David Dias
 
PDF
Resource Discovery for the Web Platform using a P2P Overlay Network with WebR...
David Dias
 
PDF
TriConf 2014 - LXJS, the Lisbon Javascript Conference
David Dias
 
PDF
JSConfBR - Securing Node.js App, by the community and for the community
David Dias
 
Enter Gossipsub, A scalable, extensible & hardened P2P PubSub Router protocol
David Dias
 
browserCloud.js - David Dias M.Sc Thesis Defense Deck
David Dias
 
Understanding The Community Lifecycle
David Dias
 
P2P Resource Discovery for the Browser
David Dias
 
Lisboa WebRTC - May 21, 2015 - Intro to WebRTC
David Dias
 
Resource Discovery for the Web Platform using a P2P Overlay Network with WebR...
David Dias
 
TriConf 2014 - LXJS, the Lisbon Javascript Conference
David Dias
 
JSConfBR - Securing Node.js App, by the community and for the community
David Dias
 

Recently uploaded (20)

PDF
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PPT
PPT2_Metal formingMECHANICALENGINEEIRNG .ppt
Praveen Kumar
 
PDF
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PPTX
Hashing Introduction , hash functions and techniques
sailajam21
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
PPTX
Day2 B2 Best.pptx
helenjenefa1
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
PPTX
Introduction to Neural Networks and Perceptron Learning Algorithm.pptx
Kayalvizhi A
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
PPTX
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PDF
Water Design_Manual_2005. KENYA FOR WASTER SUPPLY AND SEWERAGE
DancanNgutuku
 
PPTX
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PPTX
Element 7. CHEMICAL AND BIOLOGICAL AGENT.pptx
merrandomohandas
 
PPTX
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
PDF
Zilliz Cloud Demo for performance and scale
Zilliz
 
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PPT2_Metal formingMECHANICALENGINEEIRNG .ppt
Praveen Kumar
 
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
Hashing Introduction , hash functions and techniques
sailajam21
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
Day2 B2 Best.pptx
helenjenefa1
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
Introduction to Neural Networks and Perceptron Learning Algorithm.pptx
Kayalvizhi A
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
Design Thinking basics for Engineers.pdf
CMR University
 
Water Design_Manual_2005. KENYA FOR WASTER SUPPLY AND SEWERAGE
DancanNgutuku
 
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
Element 7. CHEMICAL AND BIOLOGICAL AGENT.pptx
merrandomohandas
 
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
Zilliz Cloud Demo for performance and scale
Zilliz
 

RDM#2- The Distributed Web