Skip to content
This repository has been archived by the owner on Feb 13, 2023. It is now read-only.

Commit

Permalink
papers
Browse files Browse the repository at this point in the history
  • Loading branch information
jbenet committed Apr 1, 2015
0 parents commit db7e8eb
Show file tree
Hide file tree
Showing 28 changed files with 9,652 additions and 0 deletions.
8 changes: 8 additions & 0 deletions ipfs-cap2pfs/.gitignore
@@ -0,0 +1,8 @@
gfs.pdf
gfs.aux
gfs.log
texput.log
ipfs.aux
ipfs.log
ipfs.pgf-plot.gnuplot
ipfs.pgf-plot.table
25 changes: 25 additions & 0 deletions ipfs-cap2pfs/Makefile
@@ -0,0 +1,25 @@

SHORT=ipfs-cap2pfs
LONG=ipfs-p2p-file-system

all: $(LONG).pdf

$(LONG).pdf: $(SHORT).tex sig-alternate.cls $(SHORT).bib
pdflatex $(SHORT).tex
bibtex $(SHORT)
pdflatex $(SHORT).tex
pdflatex $(SHORT).tex
mv $(SHORT).pdf $(LONG).pdf

clean:
rm *.bbl *.aux *.dvi *.blg *.log *.gnuplot *.table

watch:
-make
@echo "[watching *.tex for recompilation]"
# for portability, use watchmedo -- pip install watchmedo
@watchmedo shell-command --patterns="*.tex;" --recursive \
--command='make' .

publish: $(LONG).pdf
scp $(LONG).pdf benet.ai:/var/static/t/$(LONG).pdf
1,670 changes: 1,670 additions & 0 deletions ipfs-cap2pfs/acm-article.cls

Large diffs are not rendered by default.

117 changes: 117 additions & 0 deletions ipfs-cap2pfs/ipfs-cap2pfs.aux
@@ -0,0 +1,117 @@
\relax
\citation{AFS}
\citation{Oceanstore}
\citation{CFS}
\citation{BitTorrentUsers}
\citation{wang13}
\citation{Camlistore}
\citation{Dat}
\citation{mashtizadeh13}
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{\thepage }}
\@writefile{toc}{\contentsline {section}{\numberline {2}Background}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Distributed Hash Tables}{\thepage }}
\citation{maymounkov02}
\citation{wang13}
\citation{freedman04}
\citation{freedman04}
\citation{baumgart07}
\citation{cohen03}
\citation{levin08}
\citation{mazieres98}
\citation{mazieres00}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Kademlia DHT}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Coral DSHT}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.3}S/Kademlia DHT}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Block Exchanges - BitTorrent}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Version Control Systems - Git}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Self-Certified Filesystems - SFS}{\thepage }}
\citation{baumgart07}
\citation{WebRTC}
\citation{LEDBAT}
\citation{LEDBAT}
\citation{SCTP}
\citation{ICE}
\@writefile{toc}{\contentsline {section}{\numberline {3}IPFS Design}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Identities}{\thepage }}
\@writefile{toc}{\contentsline {paragraph}{Note on Cryptographic Functions}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Network}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Note on Peer Addressing}{\thepage }}
\citation{freedman04}
\citation{wang13}
\citation{levin08}
\citation{levin08}
\citation{levin08}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Routing}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Block Exchange - BitSwap Protocol}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.1}BitSwap Credit}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.2}BitSwap Strategy}{\thepage }}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Probability of Sending as $r$ increases}}{\thepage }}
\newlabel{fig:psending-graph}{{1}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.3}BitSwap Ledger}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.4}BitSwap Specification}{\thepage }}
\@writefile{toc}{\contentsline {paragraph}{Peer.open(NodeId, Ledger)}{\thepage }}
\@writefile{toc}{\contentsline {paragraph}{Peer.send\_want\_list(WantList)}{\thepage }}
\@writefile{toc}{\contentsline {paragraph}{Peer.send\_block(Block)}{\thepage }}
\@writefile{toc}{\contentsline {paragraph}{Peer.close(Bool)}{\thepage }}
\@writefile{toc}{\contentsline {paragraph}{Notes}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Object Merkle DAG}{\thepage }}
\citation{dean11}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1}Paths}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2}Local Objects}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3}Object Pinning}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.4}Publishing Objects}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.5}Object-level Cryptography}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Files}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.1}File Object: \texttt {blob}}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.2}File Object: \texttt {list}}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.3}File Object: \texttt {tree}}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.4}File Object: \texttt {commit}}{\thepage }}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Sample Object Graph}}{\thepage }}
\newlabel{fig:sample-object-graph}{{2}{\thepage }}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Sample Objects}}{\thepage }}
\newlabel{fig:sample-objects}{{3}{\thepage }}
\citation{RabinFingerprints}
\citation{LBFS}
\citation{rsync}
\citation{Plan9}
\citation{Fossil}
\citation{Venti}
\citation{LBFS}
\citation{mazieres98}
\citation{mazieres00}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.5}Version control}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.6}Filesystem Paths}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.7}Splitting Files into Lists and Blob}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.8}Path Lookup Performance}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}IPNS: Naming and Mutable State}{\thepage }}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.1}Self-Certified Names}{\thepage }}
\citation{Proquint}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2}Human Friendly Names}{\thepage }}
\@writefile{toc}{\contentsline {paragraph}{Peer Links}{\thepage }}
\@writefile{toc}{\contentsline {paragraph}{DNS TXT IPNS Records}{\thepage }}
\@writefile{toc}{\contentsline {paragraph}{Proquint Pronounceable Identifiers}{\thepage }}
\@writefile{toc}{\contentsline {paragraph}{Name Shortening Services}{\thepage }}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Using IPFS}{\thepage }}
\citation{FUSE}
\bibstyle{abbrv}
\bibdata{ipfs-cap2pfs}
\bibcite{baumgart07}{1}
\bibcite{BitTorrentUsers}{2}
\bibcite{cohen03}{3}
\bibcite{dean11}{4}
\bibcite{freedman04}{5}
\bibcite{AFS}{6}
\bibcite{Oceanstore}{7}
\bibcite{levin08}{8}
\bibcite{mashtizadeh13}{9}
\bibcite{maymounkov02}{10}
\bibcite{mazieres00}{11}
\bibcite{mazieres98}{12}
\bibcite{ICE}{13}
\bibcite{LEDBAT}{14}
\bibcite{SCTP}{15}
\bibcite{wang13}{16}
\@writefile{toc}{\contentsline {section}{\numberline {4}The Future}{\thepage }}
\@writefile{toc}{\contentsline {section}{\numberline {5}Acknowledgments}{\thepage }}
\@writefile{toc}{\contentsline {section}{\numberline {6}References TODO}{\thepage }}
\@writefile{toc}{\contentsline {section}{\numberline {7}References}{\thepage }}
95 changes: 95 additions & 0 deletions ipfs-cap2pfs/ipfs-cap2pfs.bbl
@@ -0,0 +1,95 @@
\begin{thebibliography}{10}

\bibitem{baumgart07}
I.~Baumgart and S.~Mies.
\newblock S/kademlia: A practicable approach towards secure key-based routing.
\newblock In {\em Parallel and Distributed Systems, 2007 International
Conference on}, volume~2, pages 1--8. IEEE, 2007.

\bibitem{BitTorrentUsers}
I.~BitTorrent.
\newblock Bittorrent and µtorrent software surpass 150 million user milestone,
Jan. 2012.

\bibitem{cohen03}
B.~Cohen.
\newblock Incentives build robustness in bittorrent.
\newblock In {\em Workshop on Economics of Peer-to-Peer systems}, volume~6,
pages 68--72, 2003.

\bibitem{dean11}
J.~Dean and S.~Ghemawat.
\newblock leveldb--a fast and lightweight key/value database library by google,
2011.

\bibitem{freedman04}
M.~J. Freedman, E.~Freudenthal, and D.~Mazieres.
\newblock Democratizing content publication with coral.
\newblock In {\em NSDI}, volume~4, pages 18--18, 2004.

\bibitem{AFS}
J.~H. Howard, M.~L. Kazar, S.~G. Menees, D.~A. Nichols, M.~Satyanarayanan,
R.~N. Sidebotham, and M.~J. West.
\newblock Scale and performance in a distributed file system.
\newblock {\em ACM Transactions on Computer Systems (TOCS)}, 6(1):51--81, 1988.

\bibitem{Oceanstore}
J.~Kubiatowicz, D.~Bindel, Y.~Chen, S.~Czerwinski, P.~Eaton, D.~Geels,
R.~Gummadi, S.~Rhea, H.~Weatherspoon, W.~Weimer, et~al.
\newblock Oceanstore: An architecture for global-scale persistent storage.
\newblock {\em ACM Sigplan Notices}, 35(11):190--201, 2000.

\bibitem{levin08}
D.~Levin, K.~LaCurts, N.~Spring, and B.~Bhattacharjee.
\newblock Bittorrent is an auction: analyzing and improving bittorrent's
incentives.
\newblock In {\em ACM SIGCOMM Computer Communication Review}, volume~38, pages
243--254. ACM, 2008.

\bibitem{mashtizadeh13}
A.~J. Mashtizadeh, A.~Bittau, Y.~F. Huang, and D.~Mazieres.
\newblock Replication, history, and grafting in the ori file system.
\newblock In {\em Proceedings of the Twenty-Fourth ACM Symposium on Operating
Systems Principles}, pages 151--166. ACM, 2013.

\bibitem{maymounkov02}
P.~Maymounkov and D.~Mazieres.
\newblock Kademlia: A peer-to-peer information system based on the xor metric.
\newblock In {\em Peer-to-Peer Systems}, pages 53--65. Springer, 2002.

\bibitem{mazieres00}
D.~Mazieres and F.~Kaashoek.
\newblock Self-certifying file system.
\newblock 2000.

\bibitem{mazieres98}
D.~Mazieres and M.~F. Kaashoek.
\newblock Escaping the evils of centralized control with self-certifying
pathnames.
\newblock In {\em Proceedings of the 8th ACM SIGOPS European workshop on
Support for composing distributed applications}, pages 118--125. ACM, 1998.

\bibitem{ICE}
J.~Rosenberg and A.~Keranen.
\newblock Interactive connectivity establishment (ice): A protocol for network
address translator (nat) traversal for offer/answer protocols.
\newblock 2013.

\bibitem{LEDBAT}
S.~Shalunov, G.~Hazel, J.~Iyengar, and M.~Kuehlewind.
\newblock Low extra delay background transport (ledbat).
\newblock {\em draft-ietf-ledbat-congestion-04. txt}, 2010.

\bibitem{SCTP}
R.~R. Stewart and Q.~Xie.
\newblock {\em Stream control transmission protocol (SCTP): a reference guide}.
\newblock Addison-Wesley Longman Publishing Co., Inc., 2001.

\bibitem{wang13}
L.~Wang and J.~Kangasharju.
\newblock Measuring large-scale distributed systems: case of bittorrent
mainline dht.
\newblock In {\em Peer-to-Peer Computing (P2P), 2013 IEEE Thirteenth
International Conference on}, pages 1--10. IEEE, 2013.

\end{thebibliography}
143 changes: 143 additions & 0 deletions ipfs-cap2pfs/ipfs-cap2pfs.bib
@@ -0,0 +1,143 @@
@article{AFS,
title={Scale and performance in a distributed file system},
author={Howard, John H and Kazar, Michael L and Menees, Sherri G and Nichols, David A and Satyanarayanan, Mahadev and Sidebotham, Robert N and West, Michael J},
journal={ACM Transactions on Computer Systems (TOCS)},
volume={6},
number={1},
pages={51--81},
year={1988},
publisher={ACM}
}

@article{Oceanstore,
title={Oceanstore: An architecture for global-scale persistent storage},
author={Kubiatowicz, John and Bindel, David and Chen, Yan and Czerwinski, Steven and Eaton, Patrick and Geels, Dennis and Gummadi, Ramakrishan and Rhea, Sean and Weatherspoon, Hakim and Weimer, Westley and others},
journal={ACM Sigplan Notices},
volume={35},
number={11},
pages={190--201},
year={2000},
publisher={ACM}
}

@online{BitTorrentUsers,
author={BitTorrent, Inc.},
title={BitTorrent and µTorrent Software Surpass 150 Million User Milestone},
month=jan,
year=2012,
url={http://www.bittorrent.com/intl/es/company/about/ces_2012_150m_users},
}

@inproceedings{mashtizadeh13,
title={Replication, history, and grafting in the Ori file system},
author={Mashtizadeh, Ali Jos{\'e} and Bittau, Andrea and Huang, Yifeng Frank and Mazieres, David},
booktitle={Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles},
pages={151--166},
year={2013},
organization={ACM}
}

@incollection{maymounkov02,
title={Kademlia: A peer-to-peer information system based on the xor metric},
author={Maymounkov, Petar and Mazieres, David},
booktitle={Peer-to-Peer Systems},
pages={53--65},
year={2002},
publisher={Springer}
}

@inproceedings{wang13,
title={Measuring large-scale distributed systems: case of BitTorrent Mainline DHT},
author={Wang, Liang and Kangasharju, Jussi},
booktitle={Peer-to-Peer Computing (P2P), 2013 IEEE Thirteenth International Conference on},
pages={1--10},
year={2013},
organization={IEEE}
}

@inproceedings{freedman04,
title={Democratizing Content Publication with Coral.},
author={Freedman, Michael J and Freudenthal, Eric and Mazieres, David},
booktitle={NSDI},
volume={4},
pages={18--18},
year={2004}
}

@misc{dean11,
title={leveldb--A fast and lightweight key/value database library by Google},
author={Dean, Jeffrey and Ghemawat, Sanjay},
year={2011}
}

@inproceedings{baumgart07,
title={S/kademlia: A practicable approach towards secure key-based routing},
author={Baumgart, Ingmar and Mies, Sebastian},
booktitle={Parallel and Distributed Systems, 2007 International Conference on},
volume={2},
pages={1--8},
year={2007},
organization={IEEE}
}

@inproceedings{cohen03,
title={Incentives build robustness in BitTorrent},
author={Cohen, Bram},
booktitle={Workshop on Economics of Peer-to-Peer systems},
volume={6},
pages={68--72},
year={2003}
}

@inproceedings{levin08,
title={Bittorrent is an auction: analyzing and improving bittorrent's incentives},
author={Levin, Dave and LaCurts, Katrina and Spring, Neil and Bhattacharjee, Bobby},
booktitle={ACM SIGCOMM Computer Communication Review},
volume={38},
number={4},
pages={243--254},
year={2008},
organization={ACM}
}

@article{mazieres00,
title={Self-certifying file system},
author={Mazieres, David and Kaashoek, Frans},
year={2000},
publisher={Citeseer}
}

@inproceedings{mazieres98,
title={Escaping the evils of centralized control with self-certifying pathnames},
author={Mazieres, David and Kaashoek, M Frans},
booktitle={Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications},
pages={118--125},
year={1998},
organization={ACM}
}

@article{UTP,
title={LEDBAT+ BitTorrent},
author={Rossi, Dario}
}

@article{LEDBAT,
title={Low extra delay background transport (LEDBAT)},
author={Shalunov, Stanislav and Hazel, Greg and Iyengar, Janardhan and Kuehlewind, Mirja},
journal={draft-ietf-ledbat-congestion-04. txt},
year={2010}
}

@book{SCTP,
title={Stream control transmission protocol (SCTP): a reference guide},
author={Stewart, Randall R and Xie, Qiaobing},
year={2001},
publisher={Addison-Wesley Longman Publishing Co., Inc.}
}

@article{ICE,
title={Interactive connectivity establishment (ice): A protocol for network address translator (nat) traversal for offer/answer protocols},
author={Rosenberg, Jonathan and Keranen, Ari},
year={2013}
}

0 comments on commit db7e8eb

Please sign in to comment.