wiki/web.protocols.ipfs.html
2022-07-29 15:41:17 +00:00

24 lines
6.8 KiB
HTML

<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>IPFS protocol</title><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script id="MathJax-script" async="" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script><script type="text/x-mathjax-config">
MathJax = {
tex: {
inlineMath: [ [&#x27;$&#x27;,&#x27;$&#x27;], [&#x27;\(&#x27;,&#x27;\)&#x27;] ],
displayMath: [ [&#x27;$$&#x27;,&#x27;$$&#x27;], [&#x27;[&#x27;,&#x27;]&#x27;] ]
},
options = {
processHtmlClass = &quot;math&quot;
}
}
</script><meta name="next-head-count" content="6"/><link rel="preload" href="/wiki/_next/static/css/52fc2ba29703df73922c.css" as="style"/><link rel="stylesheet" href="/wiki/_next/static/css/52fc2ba29703df73922c.css" data-n-g=""/><noscript data-n-css=""></noscript><link rel="preload" href="/wiki/_next/static/chunks/main-ae4733327bd95c4ac325.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/webpack-50bee04d1dc61f8adf5b.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/framework.9d524150d48315f49e80.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/commons.0e1c3f9aa780c2dfe9f0.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/pages/_app-8e3d0c58a60ec788aa69.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/940643274e605e7596ecea1f2ff8d83317a3fb76.4841a16762f602a59f00.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/pages/%5B%5B...slug%5D%5D-1aa198f87ede1cd0e1dc.js" as="script"/></head><body><div id="__next"><main><h1>IPFS protocol</h1><section class="post-metadata"><span>Date: <!-- -->2021-05-13 16:41:26 +08:00</span><span>Date modified: <!-- -->2021-08-08 20:05:20 +08:00</span></section><nav class="toc"><ol class="toc-level toc-level-1"></ol></nav><p>A project that aims to power the next generation of the web (Web 3.0).
The core component is a protocol (also called IPFS protocol) that aims to replace HTTP.
</p><p>In order to understand what sets IPFS apart, we need to discuss a bit on the current way of delivering content.
</p><p>Currently, 99% of the web today are delivered through HTTP.
It is primarily delivered through <strong>location-based addressing</strong>.
That is, in order to get what the client needs, they need to send a request to the server that has that content wherever they are.
<!-- -->
Problems can come through if the server is located in another country or continent, even, which will result in slower requests.
Furthermore, it will create a bottleneck for that server especially if it&#x27;s a popular site like Facebook, YouTube, and Twitter.
</p><p>IPFS addresses this problem by settling into a different approach: <strong>content-based addressing</strong>.
In this protocol, when the client requests for the content, it will crawl through the network searching for the node that has the content.
</p><p>For content-based addressing, they make content hashes as the central component for that as a way to identify the content.
But since cryptography is not perfect and can always be broken, content IDs can come in multiple format.
</p></main></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"metadata":{"date":"\"2021-05-13 16:41:26 +08:00\"","date_modified":"\"2021-08-08 20:05:20 +08:00\"","language":"en","source":""},"title":"IPFS protocol","hast":{"type":"root","children":[{"type":"element","tagName":"nav","properties":{"className":"toc"},"children":[{"type":"element","tagName":"ol","properties":{"className":"toc-level toc-level-1"},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A project that aims to power the next generation of the web (Web 3.0).\nThe core component is a protocol (also called IPFS protocol) that aims to replace HTTP.\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In order to understand what sets IPFS apart, we need to discuss a bit on the current way of delivering content.\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Currently, 99% of the web today are delivered through HTTP.\nIt is primarily delivered through "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"location-based addressing"}]},{"type":"text","value":".\nThat is, in order to get what the client needs, they need to send a request to the server that has that content wherever they are.\n"},{"type":"text","value":"\nProblems can come through if the server is located in another country or continent, even, which will result in slower requests.\nFurthermore, it will create a bottleneck for that server especially if it's a popular site like Facebook, YouTube, and Twitter.\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"IPFS addresses this problem by settling into a different approach: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"content-based addressing"}]},{"type":"text","value":".\nIn this protocol, when the client requests for the content, it will crawl through the network searching for the node that has the content.\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"For content-based addressing, they make content hashes as the central component for that as a way to identify the content.\nBut since cryptography is not perfect and can always be broken, content IDs can come in multiple format.\n"}]}]},"backlinks":[]},"__N_SSG":true},"page":"/[[...slug]]","query":{"slug":["web.protocols.ipfs"]},"buildId":"Ie9t5zutrXP6Of75Cb5xF","assetPrefix":"/wiki","nextExport":false,"isFallback":false,"gsp":true}</script><script nomodule="" src="/wiki/_next/static/chunks/polyfills-99d808df29361cf7ffb1.js"></script><script src="/wiki/_next/static/chunks/main-ae4733327bd95c4ac325.js" async=""></script><script src="/wiki/_next/static/chunks/webpack-50bee04d1dc61f8adf5b.js" async=""></script><script src="/wiki/_next/static/chunks/framework.9d524150d48315f49e80.js" async=""></script><script src="/wiki/_next/static/chunks/commons.0e1c3f9aa780c2dfe9f0.js" async=""></script><script src="/wiki/_next/static/chunks/pages/_app-8e3d0c58a60ec788aa69.js" async=""></script><script src="/wiki/_next/static/chunks/940643274e605e7596ecea1f2ff8d83317a3fb76.4841a16762f602a59f00.js" async=""></script><script src="/wiki/_next/static/chunks/pages/%5B%5B...slug%5D%5D-1aa198f87ede1cd0e1dc.js" async=""></script><script src="/wiki/_next/static/Ie9t5zutrXP6Of75Cb5xF/_buildManifest.js" async=""></script><script src="/wiki/_next/static/Ie9t5zutrXP6Of75Cb5xF/_ssgManifest.js" async=""></script></body></html>