SlideShare a Scribd company logo
1 of 27
Download to read offline
Roger
InterPlanetary File System
⠂ IPFS is a protocol designed to create a permanent and decentralized
method of storing and sharing files
⠂ Faster, safer and more open web
⠂ IPFS aims to replace HTTP and build a better web for all of us
2
Network Topology
⠂ Centralised
� Single server
� Difficult to scale
� Single point of failure
⠂ Decentralised
� Multiple servers
� Demand and failures better
handled
� Expensive
3
IPFS Topology
⠂ Fully distributed network
⠂ Acts both server and client
4
The web of tomorrow needs IPFS today
5
HTTP is inefficient and expensive
⠂ HTTP downloads a file from a
single computer at a time,
instead of getting pieces from
multiple computers
simultaneously.
⠂ IPFS makes it possible to
distribute high volumes of data
with high efficiency
6
Humanity's history is deleted daily
⠂ The average lifespan of a web
page is 100 days.
⠂ IPFS provides historic
versioning (like git) and makes
it simple to set up resilient
networks for mirroring of data.
7
The web's centralization limits opportunity
⠂ The Internet is a real
accelerator of innovation. But
the increasing consolidation of
control is a threat to that.
⠂ IPFS remains true to the
original vision of the open and
flat web.
8
Our apps are addicted to the backbone
⠂ All trivial compared to
interplanetary networking.
� Developing world
� Offline
� Natural disasters
� Intermittent connections
⠂ IPFS powers the creation of
diversely resilient networks.
9
How IPFS works?
10
11
Application
Naming
MerkleDAG
Exchange
Routing
Network
Web
SFS
Git
BitTorrent
DHT
The Stack
12
Application
Naming
MerkleDAG
Exchange
Routing
Network
Web
SFS
Git
BitTorrent
DHT
Using the Data
Defining the Data
Moving the Data
IPLD: InterPlanetary Linked Data
⠂ Any data structure can be
represented as a DAG
13
Merkle DAG
14
test_dir
└ bigfile.js
└ hello.txt
└ my_dir
└ my_file.txt
└ testing.txt
Versioned file systems
15
test_dir
└ bigfile.js
└ hello.txt
└ my_dir
└ my_file.txt
└ testing.txt
IPNS: InterPlanetary Name System
⠂ IPNS is a way to add a small amount of mutability to the permanent
immutability that is ipfs.
⠂ Store a reference to an ipfs hash under the namespace of peerID ( public
key hash )
16
/ipns/Qmaaaaaaaaaaa
/ipfs/Qmbbbbbbbbbbbb/website_hash
Demo
17
Demo: Add / Cat / List files
18
# add / download single file
> ipfs add/get <FILE_PATH>
# cat file
> ipfs cat <FILE_HASH>
# add / download folder
> ipfs add/get -r <FOLDER_PATH>
# list folder
> ipfs ls -v <FOLDER_HASH>
Demo: Large file ( > 256 KB)
19
# add / download large file
> ipfs add/get <FILE_PATH>
# get links of large file
> ipfs object get <FILE_HASH>
Demo: Pinning
20
# 1. add file
# 2. pin operating
> ipfs pin ls --type=all
# 3. remove cache
> ipfs pin rm -r <FILE_HASH>
# 4. remove cache
> ipfs repo gc
Demo: Playing videos
21
# add mp4 file
> ipfs add test.mp4
# playing video using browser
https://ipfs.io/ipfs/<VIDEO_HASH>
http://localhost:8080/ipfs/<VIDEO_HASH>
Demo: Git, even more distributed
22
# git clone (ex: bitmarklib)
> git clone --bare https://github.com/bitmark-inc/go-
bitmarklib.git
> cd go-bitmarklib
> git update-server-info
# add git repo to IPFS
> ipfs add -r .
# try it
> git clone https://ipfs.io/ipfs/<GIT_HASH>
Demo: Inter-Planetary Naming System (IPNS)
23
# add file
# publish to the network
> ipfs name publish <FILE_HASH>
Published to <your peer ID>: <that hash>
# resolve
> ipfs name resolve <PEER_ID>
# try it
https://ipfs.io/ipns/<PEER_ID>
Demo: IPFS for websites
24
# 1. add website
> ipfs add -r <WEBSITE_FOLDER>
# 2. publish to the network
> ipfs name publish <WEBSITE_HASH>
# 3. try it
https://ipfs.io/ipns/<PEER_ID>
https://gateway.ipfs.io/ipns/<PEER_ID>
Appendix
25
Appendix
26
⠂ Large file ─ 3.77 TB
� https://gateway.ipfsstore.it:8443/ipfs/QmXd2t4WbhpDf643ija6byLE4q3L8GBQ
3u773wWh5zVRT4
⠂ Filecoin
� $200 Million In 60 Minutes ( 257 million raised )
Thanks!
Any Quesions?
27

More Related Content

Similar to ipfs-171229085327.pdf

Hosting Open Source Projects at the OSUOSL
Hosting Open Source Projects at the OSUOSLHosting Open Source Projects at the OSUOSL
Hosting Open Source Projects at the OSUOSL
OSU Open Source Lab
 
[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports
Perforce
 
Spark Pipelines in the Cloud with Alluxio by Bin Fan
Spark Pipelines in the Cloud with Alluxio by Bin FanSpark Pipelines in the Cloud with Alluxio by Bin Fan
Spark Pipelines in the Cloud with Alluxio by Bin Fan
Data Con LA
 
Spark Pipelines in the Cloud with Alluxio with Gene Pang
Spark Pipelines in the Cloud with Alluxio with Gene PangSpark Pipelines in the Cloud with Alluxio with Gene Pang
Spark Pipelines in the Cloud with Alluxio with Gene Pang
Spark Summit
 
Chapter 8 distributed file systems
Chapter 8 distributed file systemsChapter 8 distributed file systems
Chapter 8 distributed file systems
AbDul ThaYyal
 

Similar to ipfs-171229085327.pdf (20)

Software Defined Analytics with File and Object Access Plus Geographically Di...
Software Defined Analytics with File and Object Access Plus Geographically Di...Software Defined Analytics with File and Object Access Plus Geographically Di...
Software Defined Analytics with File and Object Access Plus Geographically Di...
 
Hosting Open Source Projects at the OSUOSL
Hosting Open Source Projects at the OSUOSLHosting Open Source Projects at the OSUOSL
Hosting Open Source Projects at the OSUOSL
 
IBM Platform Computing Elastic Storage
IBM Platform Computing  Elastic StorageIBM Platform Computing  Elastic Storage
IBM Platform Computing Elastic Storage
 
Distributed Storage with IPFS and Python!
Distributed Storage with IPFS and Python!Distributed Storage with IPFS and Python!
Distributed Storage with IPFS and Python!
 
Peter Tiernan - Ceph at the Digital Repository of Ireland
Peter Tiernan - Ceph at the Digital Repository of IrelandPeter Tiernan - Ceph at the Digital Repository of Ireland
Peter Tiernan - Ceph at the Digital Repository of Ireland
 
Ceph at the Digital Repository of Ireland - Ceph Day Frankfurt
Ceph at the Digital Repository of Ireland - Ceph Day Frankfurt Ceph at the Digital Repository of Ireland - Ceph Day Frankfurt
Ceph at the Digital Repository of Ireland - Ceph Day Frankfurt
 
PVFS: A Parallel File System for Linux Clusters
PVFS: A Parallel File System for Linux ClustersPVFS: A Parallel File System for Linux Clusters
PVFS: A Parallel File System for Linux Clusters
 
[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports
 
Ceph Day Tokyo - Bring Ceph to Enterprise
Ceph Day Tokyo - Bring Ceph to Enterprise Ceph Day Tokyo - Bring Ceph to Enterprise
Ceph Day Tokyo - Bring Ceph to Enterprise
 
Spark Pipelines in the Cloud with Alluxio by Bin Fan
Spark Pipelines in the Cloud with Alluxio by Bin FanSpark Pipelines in the Cloud with Alluxio by Bin Fan
Spark Pipelines in the Cloud with Alluxio by Bin Fan
 
Hadoop
HadoopHadoop
Hadoop
 
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...
Speeding up I/O for Machine Learning  ft Apple Case Study using TensorFlow, N...Speeding up I/O for Machine Learning  ft Apple Case Study using TensorFlow, N...
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...
 
Best Practices for Using Alluxio with Spark
Best Practices for Using Alluxio with SparkBest Practices for Using Alluxio with Spark
Best Practices for Using Alluxio with Spark
 
Spark Pipelines in the Cloud with Alluxio
Spark Pipelines in the Cloud with AlluxioSpark Pipelines in the Cloud with Alluxio
Spark Pipelines in the Cloud with Alluxio
 
Presentation linux on power
Presentation   linux on powerPresentation   linux on power
Presentation linux on power
 
Spark Pipelines in the Cloud with Alluxio with Gene Pang
Spark Pipelines in the Cloud with Alluxio with Gene PangSpark Pipelines in the Cloud with Alluxio with Gene Pang
Spark Pipelines in the Cloud with Alluxio with Gene Pang
 
The infrastructure of the libre office project
The infrastructure of the libre office projectThe infrastructure of the libre office project
The infrastructure of the libre office project
 
The next generation infrastructure of the Document Foundation
The next generation infrastructure of the Document FoundationThe next generation infrastructure of the Document Foundation
The next generation infrastructure of the Document Foundation
 
Ceph Day Bring Ceph To Enterprise
Ceph Day Bring Ceph To EnterpriseCeph Day Bring Ceph To Enterprise
Ceph Day Bring Ceph To Enterprise
 
Chapter 8 distributed file systems
Chapter 8 distributed file systemsChapter 8 distributed file systems
Chapter 8 distributed file systems
 

Recently uploaded

QUATER-1-PE-HEALTH-LC2- this is just a sample of unpacked lesson
QUATER-1-PE-HEALTH-LC2- this is just a sample of unpacked lessonQUATER-1-PE-HEALTH-LC2- this is just a sample of unpacked lesson
QUATER-1-PE-HEALTH-LC2- this is just a sample of unpacked lesson
httgc7rh9c
 
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPSSpellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
AnaAcapella
 

Recently uploaded (20)

How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Our Environment Class 10 Science Notes pdf
Our Environment Class 10 Science Notes pdfOur Environment Class 10 Science Notes pdf
Our Environment Class 10 Science Notes pdf
 
AIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.pptAIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.ppt
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
QUATER-1-PE-HEALTH-LC2- this is just a sample of unpacked lesson
QUATER-1-PE-HEALTH-LC2- this is just a sample of unpacked lessonQUATER-1-PE-HEALTH-LC2- this is just a sample of unpacked lesson
QUATER-1-PE-HEALTH-LC2- this is just a sample of unpacked lesson
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPSSpellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdfUGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
VAMOS CUIDAR DO NOSSO PLANETA! .
VAMOS CUIDAR DO NOSSO PLANETA!                    .VAMOS CUIDAR DO NOSSO PLANETA!                    .
VAMOS CUIDAR DO NOSSO PLANETA! .
 
Play hard learn harder: The Serious Business of Play
Play hard learn harder:  The Serious Business of PlayPlay hard learn harder:  The Serious Business of Play
Play hard learn harder: The Serious Business of Play
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 

ipfs-171229085327.pdf

  • 2. InterPlanetary File System ⠂ IPFS is a protocol designed to create a permanent and decentralized method of storing and sharing files ⠂ Faster, safer and more open web ⠂ IPFS aims to replace HTTP and build a better web for all of us 2
  • 3. Network Topology ⠂ Centralised � Single server � Difficult to scale � Single point of failure ⠂ Decentralised � Multiple servers � Demand and failures better handled � Expensive 3
  • 4. IPFS Topology ⠂ Fully distributed network ⠂ Acts both server and client 4
  • 5. The web of tomorrow needs IPFS today 5
  • 6. HTTP is inefficient and expensive ⠂ HTTP downloads a file from a single computer at a time, instead of getting pieces from multiple computers simultaneously. ⠂ IPFS makes it possible to distribute high volumes of data with high efficiency 6
  • 7. Humanity's history is deleted daily ⠂ The average lifespan of a web page is 100 days. ⠂ IPFS provides historic versioning (like git) and makes it simple to set up resilient networks for mirroring of data. 7
  • 8. The web's centralization limits opportunity ⠂ The Internet is a real accelerator of innovation. But the increasing consolidation of control is a threat to that. ⠂ IPFS remains true to the original vision of the open and flat web. 8
  • 9. Our apps are addicted to the backbone ⠂ All trivial compared to interplanetary networking. � Developing world � Offline � Natural disasters � Intermittent connections ⠂ IPFS powers the creation of diversely resilient networks. 9
  • 13. IPLD: InterPlanetary Linked Data ⠂ Any data structure can be represented as a DAG 13
  • 14. Merkle DAG 14 test_dir └ bigfile.js └ hello.txt └ my_dir └ my_file.txt └ testing.txt
  • 15. Versioned file systems 15 test_dir └ bigfile.js └ hello.txt └ my_dir └ my_file.txt └ testing.txt
  • 16. IPNS: InterPlanetary Name System ⠂ IPNS is a way to add a small amount of mutability to the permanent immutability that is ipfs. ⠂ Store a reference to an ipfs hash under the namespace of peerID ( public key hash ) 16 /ipns/Qmaaaaaaaaaaa /ipfs/Qmbbbbbbbbbbbb/website_hash
  • 18. Demo: Add / Cat / List files 18 # add / download single file > ipfs add/get <FILE_PATH> # cat file > ipfs cat <FILE_HASH> # add / download folder > ipfs add/get -r <FOLDER_PATH> # list folder > ipfs ls -v <FOLDER_HASH>
  • 19. Demo: Large file ( > 256 KB) 19 # add / download large file > ipfs add/get <FILE_PATH> # get links of large file > ipfs object get <FILE_HASH>
  • 20. Demo: Pinning 20 # 1. add file # 2. pin operating > ipfs pin ls --type=all # 3. remove cache > ipfs pin rm -r <FILE_HASH> # 4. remove cache > ipfs repo gc
  • 21. Demo: Playing videos 21 # add mp4 file > ipfs add test.mp4 # playing video using browser https://ipfs.io/ipfs/<VIDEO_HASH> http://localhost:8080/ipfs/<VIDEO_HASH>
  • 22. Demo: Git, even more distributed 22 # git clone (ex: bitmarklib) > git clone --bare https://github.com/bitmark-inc/go- bitmarklib.git > cd go-bitmarklib > git update-server-info # add git repo to IPFS > ipfs add -r . # try it > git clone https://ipfs.io/ipfs/<GIT_HASH>
  • 23. Demo: Inter-Planetary Naming System (IPNS) 23 # add file # publish to the network > ipfs name publish <FILE_HASH> Published to <your peer ID>: <that hash> # resolve > ipfs name resolve <PEER_ID> # try it https://ipfs.io/ipns/<PEER_ID>
  • 24. Demo: IPFS for websites 24 # 1. add website > ipfs add -r <WEBSITE_FOLDER> # 2. publish to the network > ipfs name publish <WEBSITE_HASH> # 3. try it https://ipfs.io/ipns/<PEER_ID> https://gateway.ipfs.io/ipns/<PEER_ID>
  • 26. Appendix 26 ⠂ Large file ─ 3.77 TB � https://gateway.ipfsstore.it:8443/ipfs/QmXd2t4WbhpDf643ija6byLE4q3L8GBQ 3u773wWh5zVRT4 ⠂ Filecoin � $200 Million In 60 Minutes ( 257 million raised )