by
Vlaďka Janů CreativeDock
IPFS pomáhá řešit problémy jako je spolehlivost úložiště (pokud je původní úložiště nefunkční, lze soubor stáhnout ze systémů jiných uživatelů), odpor proti cenzuře obsahu (blokování bude vyžadovat blokování všech uživatelských systémů, které mají kopii dat) a organizování přístupu při absenci přímého připojení k internetu nebo při špatné kvalitě komunikačního kanálu (data si můžete stáhnout prostřednictvím v místní síti).
IPFS je vhodný pro decentralizované aplikace dApps - Web3.0
turecko 2017, blokuje wikipedii
Nevýhody
Základní koncept
? Ale jak ukládat struktutovaná data, jde přece o FS ?
Merkle tree (Hašový strom)
DAG
Directed Acyclic Graph is a special type of merkle tree where multiple nodes can point at the same child and circular references are impossible
čtení DAG
Deduplication
Git, a common version control system, uses Merkle DAGs in a very similar way to track changes to source code in software projects!
čtení DAG
Struktura CIDu
Version 0 (v0)
When IPFS was first designed, we used base 58-encoded multihashes as the content identifiers. This is simpler but much less flexible than newer CIDs. CIDv0 is still used by default for many IPFS operations, so you should generally support v0.
If a CID is 46 characters starting with "Qm", it's a CIDv0
Version 1 (v1)
CID v1 contains some leading identifiers that clarify exactly which representation is used, along with the content-hash itself. These include:
Multibase format
Ukázka rozboru Cidu
https://cid.ipfs.tech
Jak začít ?
Development:
i v browseru
A full P2P protocol written entirely in JavaScript
Práce s Dagem
let cid = await ipfs.dag.put({ test: 1 })
let cid2 = await ipfs.dag.put({ bar: cid })
https://explore.ipld.io/#/explore/bafyreibmdfd7c5db4kls4ty57zljfhqv36gi43l6txl44pi423wwmeskwy
let cid = await ipfs.dag.put({
my: {
deep: {
obj: 'is cool'
}
}
})
console.log(await ipfs.dag.get(cid, {
path: '/my/deep/obj'
}))
// prints { value: 'is cool', remainderPath: '' }
let node = await ipfs.dag.get(cid2, {
path: '/bar/test'
})
console.log(node.value)
Práce se soubory
Pinování - Piñata
https://www.youtube.com/watch?v=j3pI91DB7J4
IPNS
jako DNS :-)
A co mountování ? :-)
Kam dál?
Mars - Země 4-24 minut
(Země - Země do 10 s)
THX, Q? A?