Sunday, November 18, 2018

web: IPFS: InterPlanetary File System (!), FileChain, DTube, multihash, Merkle DAG

IPFS is designed to be a protocol for next generation web,
compatible with current web, and even with current file systems!

It is a "content addressable" system, similar to Git and blockchains including Ethereum.
And it is much more than that, a completely generic "data graph" with immutable data,
that enables "faster than speed of light" data access (by pre-loading).

In addition, it has security and performance baked-in to design from start,
and open source team with access to leading distributed systems science!

IPFS is the Distributed Web (https://ipfs.io/)




InterPlanetary File System - Wikipedia 

InterPlanetary File System (IPFS) is a protocol and network designed to create a content-addressable, peer-to-peer method of storing and sharing hypermedia in a distributed file system.[2]

Why it is named "Inter Planetary"?
Because it is designed to be able to provide effective access to web from Mars!
And if it can work well from other planet, it can make web work well on any place on Earth, too.


IPFS is mentioned in this Azure Podcast, apparently Microsoft is working on it:
Episode 254 - DevCon 4  from 11:50 to 14:50

ITFS is a pear-to-pear, decentralized content sharing network, where resources are identified by content hash value (like in Git and Docker), and hashes could be shared via block-chain or some other method.

All content is immutable (since content changes are changing hash), and new versions just point to previous versions. The reason Microsoft and enterprises are interested is to augment block-chain with larger size content, making "private IPFS networks.

IPFS - Simply Explained - YouTube

IPFS Alpha Demo - YouTube

Stanford Seminar - IPFS and the Permanent Web - YouTube

DEVCON1: IPFS - Juan Batiz-Benet - YouTube

Juan Benet of Filecoin, Protocol Labs and IPFS: "Filecoin" | Blockstack Berlin 2018 - YouTube

Juan Benet: Enter the Merkle Forest - YouTube  about IPLD, IPNS  (IPLD @ Protocol Labs)

The next Internet Revolution | Juan Benet | TEDxSanFrancisco - YouTube

Juan Benet | LinkedIn (creator of IPFS project)

Protocol Labs | Crunchbase   (protocol.ai)



IPFS @ GitHub

ipfs/ipfs: Peer-to-peer hypermedia protocol

ipfs/go-ipfs: IPFS implementation in Go

ipfs/js-ipfs: IPFS implementation in JavaScript


solidity - What datatype should I use for an IPFS address hash? - Ethereum Stack Exchange

Why do IPFS hashes start with "Qm"? · Issue #22 · ipfs/faq
"IPFS represents the hash of files and objects using Multihash format and Base58 encoding. The letters Qmhappen to correspond with the algorithm (SHA-256) and length (32 bytes) used by IPFS"

go-multihash/multihash at master · multiformats/go-multihash

InterPlanetary File System @ ipfs.io

"IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the World Wide Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository. In other words, IPFS provides a high-throughput, content-addressed block storage model, with content-addressed hyperlinks. This forms a generalized Merkle directed acyclic graph (DAG). IPFS combines a distributed hash table, an incentivized block exchange, and a self-certifying namespace. IPFS has no single point of failure, and nodes do not need to trust each other.[4] Distributed Content Delivery saves bandwidth and prevents DDoS attacks which HTTP struggles with."


https://filecoin.io : IPFS + BlockChain

Introducing Filecoin, a decentralized storage network - YouTube 

DTube : IPFS "youtube"

Base58 - Wikipedia
"Base58 is a group of binary-to-text encoding schemes used to represent large integers as alphanumeric text, introduced by Satoshi Nakamoto for use with Bitcoin.[1] It has since been applied to other cryptocurrencies and applications. It is similar to Base64 but has been modified to avoid both non-alphanumeric characters and letters which might look ambiguous when printed..."


Merkle tree - Wikipedia

"In cryptography and computer science, a hash tree or Merkle tree is a tree in which every leaf node is labelled with the hash of a data block and every non-leaf node is labelled with the cryptographic hash of the labels of its child nodes. Hash trees allow efficient and secure verification of the contents of large data structures. Hash trees are a generalization of hash lists and hash chains."

No comments: