Ať už vědomě či nevědomě, denně ukládáme spoustu dat. Ale kam a jakým způsobem? Víme vůbec, jak co se s našimi daty děje? Zůstáváme jediní, kdo k nim má přístup? Jakou máme záruku, že o ně nepřijdeme? Drtivá většina dnes uložených dat je ukládaná centralizovaně. A to s sebou přináší řadu nevýhod co do bezpečnosti, soukromí i zálohy. Co kdybychom svá data mohli ukládat decentralizovaně a jak by to vypadalo? Odpověď je možná blíž, než si myslíte.
Asi nemusíme diskutovat o tom, že se z decentralizace se stal do jisté míry buzzword. Stejně jako centralizované strukury však má své problémy, výhody i nevýhody. Abychom viděli, proč a jaká decentralizovaná úložiště mají smysl, vysvětlíme si nejprve, jak se liší od těch centralizovaných.
Internet je tvořen spoustou protokolů a standardů. Zvláštní zkratky jako TCP/IP a HTTP přinesly informační dobu, ve které dnes žijeme. Umožňují vám připojit se k serveru a získat od něj obsah, například jako ten, který právě čtete. Tento server obslouží mnoho klientů a všechno stojí jen na něm. Klasický přístup centralizované sítě není sám o sobě nijak špatný. Umožňuje vysoké rychlosti, nízkou latenci a hlavně dobrou dostupnost. Je efektivní pro uživatele i poskytovatele. Tento koncept má však i své slabé stránky, ve kterých jej převyšují decentralizované struktury.
Jelikož všechen provoz stojí na jednom serveru, vzniká problém, který nazýváme single point of failure. Decentralizace jej dokáže vyřešit, protože obsah je zde rozdělen na stovky nezávislých zařízení, a když jedno vypadne, žádný problém nenastane. Oproti tomu jediný centrální server je snazší hacknout nebo vypnout. V tom spočíva často zmiňovaný faktor necenzurovatelnosti. Vláda (nebo jiný cenzurychtivý orgán) vypne jeden server snadno, kdežto tisíce počítačů po celém světě se cenzurují těžko. Navíc nemusíte vkládat důvěru v jedinou autoritu, že vaše data uhlídá a nebude vás špehovat. Právě masivní sběr dat velkými korporacemi poskytujícími centralizované služby o uživatelích je nástrahou, před kterou vás mohou správně decentralizovaná řešení ochránit.
Nejčastějším argumentem ve prospěch decentralizace, který ve svém okolí slýchám, je svoboda. Přílišná centralizace internetu pomalu zabíjí celý online ekosystém i konkurenci, umožňuje masivní sběr dat a jejich následné zneužití. Oblíbeným pojmem je i Web 3.0 coby úplně decentralizovaný, svobodný internet, který dnešní velké hráče učiní zbytečnými. Vzhledem k tomu, jakou změnu přinesl Bitcoin monetárnímu světu, lze předpokládat, že úložiště dat na tom budou podobně. Decentralizované úložiště si můžete představit jako peer-to-peer síť, ve které počítače poskytují své místo na disku s cílem vytvořit globální sdílené úložiště. Nejsilnější argument pro decentralizované ukládání informací nám však nabízí historie sama!
Alexandrijská knihovna je považována za jeden z divů starověkého světa. Tato instituce obsahovala v době své největší slávy téměř půl milionu knih, více než kterákoliv podobná instituce před ní. Byla také domovem velkých vědců starověkého světa. Z hlediska uchovávání dat pro budoucí generace to však byla katastrofa. Nedochovaly se z ní žádné písemnosti. Naopak díky kláštěrům z raného středověku se zachovalo řádově mnohem více knih než kdykoliv předtím.
Za tento prudký nárůst mohla právě decentralizace ukládání dat. Alexandrijská knihovna uchovávala vše na jednom místě a navíc byla řízena centrálně. Mnohokrát vyhořela, čímž se ztratila většina písemností a později po změnách panovníků přišla i o podporu vlády. Stejný problém centrální správy a ukládání dat na jednom místě platí i dnes, jen namísto papyrusu používáme flash a magnetickou paměť a místo panovníků věříme firmám a vládám.
Kláštery ve středověku naopak fungovaly jako síť. Měly své dceřiné a spřátelené kláštery, mezi kterými se písemnosti přenášely a kopírovaly. Kopie jedné knihy se tak nacházely ve více klášterech a pokud se v některých změnil režim, zanikly, nebo byly zničeny, jinde se kopie podařilo zachovat.
Takovouto nezničitelnost nám umožňuje decentralizované ukládání dat. Přenést ho však do 21. století elegantně a efektivně je velká výzva. Snaží se o to více projektů s různými přístupy a cíli. Některé chtějí sloužit normálním uživatelům jako alternativní cloud, další vývojářům jako hosting pro decentralizované aplikace a jiné chtějí vybudovat nový svobodný internet. Pojďme si je tedy přiblížit.
V tématu decentralizovaného ukládání dat je InterPlanetary File System základním pojmem. Je to protokol vyvinutý Protocol Labs, jehož ultimátním cílem je decentralizovat internet a nahradit HTTP. Oba protokoly slouží pro přenos dat, volí ale rozdílný přístup. Dnešní internet, využívající HTTP, funguje na základě toho, na jakém serveru se obsah nachází. IPFS volí opačný přístup a funguje na základě toho, co je obsahem. Adresace na základě obsahu však není žádný futuristický nápad. Tento koncept v informatice existuje již dlouho a má své implementace, nicméně coby protokol na úrovni internetu ho přinesl až IPFS.
Namísto jednoho serveru IPFS pracuje s obrovským počtem uzlů, které mají uloženy různé bloky dat. Co se děje pod pokličkou IPFS:
Samotné použití IPFS je jednodušší, než by se mohlo zdát. Stačí vám ho nainstalovat, například z gitu nebo skrze snap balíček a v příkazovém řádku inicializovat. Potom dvěma jednoduchými příkazy vyberete soubory k nahrátí a dalším přidáte IPNS jméno. To zaručí, že budou dohledatelné i zvenku. Pokud používáte prohlížeč Brave, možná ani netušíte, že má IPFS integrovaný už od roku 2018. Referenční implementace byla napsána v Go, dnes existuje i alfa verze napsaná v JavaScriptu, na verze v Pythonu a C si zatím počkáme.
IPFS však není kompletním řešením decentralizovaného úložiště. Nepočíta s několika problémy, jako je například šifrování chunků. Také je možné ho zneužít pro botnet jako IPStorm. Nejzásadnější výzvou je však incentivizace uzlů k držení dat. Bez ní totiž mohou soubory uložené v síti časem zmizet a nezbydou žádné uzly, které by je držely. Aktuálně není adopce dostatečně vysoká a zálohování velkého množství dat si vyžaduje ekonomickou motivaci. Vývojáří z Protocol Labs tak přišli s projektem FIlecoin, který má sloužit jako incentivizační vrstva pro IPFS.
Cílem projektu Filecoin je motivovat lidi s nevyužitým místem na disku k hostingu dat v decentralizované síti IPFS. Jeho autory jsou lidé stojící za samotným IPFS, což mu dodává na důvěryhodnosti. Zřejmě i díky tomu vybralo jejich ICO téměř 260 milionů dolarů. Není divu, Filecoin by mohl nastartovat celé nové ekonomické odvětví. Dostávat zaplaceno za to, že máte někde na pozadí spuštěný program a pronajímáte volné gigabajty na disku zní jednoduše, pohodlně a až příliš dokonale. Technická a ekonomická realita je však tvrdší.
Filecoin přišel s koncepty pro konsenzus Proof of Space a Proof of Replication. Ty mají dokazovat, že soubory jsou skutečně alokovány ve svém unikátním prostoru a stále uloženy. S protokolom Filecoinu jsou implementovány v projektu Lotus. Ten může posloužit, pokud si chcete vyzkoušet těžbu filecoinů na nedávno spuštěném testnetu.
Abych jen neteoretizoval, pustil jsem se do instalace a otestoval skutečnou použitelnost Filecoinu. Zapotil jsem se už při samotné instalaci. Vyžaduje mnoho dependencies a pokud máte náhodou nesprávnou verzi toho, co Lotus vyžaduje, skončíte ve slepé uličce. Nejdříve je třeba nainstalovat jazyk Go a jeho kompilátor, opencl drivery pro akceleraci GPU a další balíčky. Většinu můžete vzít z jednoho repozitáře uvedeného na jejich stránce, nicméně ten v mém případě zřejmě neobsahoval správné verze, a tak jsem musel proces zopakovat manuálně. Nakonec se mi podařilo Lotus naklonovat z gitu a úspěšně zkompilovat.
i
Cílem mého testu bylo nejen vyzkoušet funkčnost implementací, ale také otestovat, zda vám dovolí vydělat si pár drobných bokem na vašem běžném počítači. Jedině nízké vstupní náklady totiž umožní vysokou decentralizaci, tím, že budou přístupné běžným uživatelům. Tomu vděčí za úspěch například BitTorrent. Na testy jsem tedy použil svůj laptop s i5 8. generace, NVidia 950M GPU a 16 GB RAM a 3 TB paměti ve třech discích.
Konfigurace a připojení se na testnet jsou další výzvou. Lotus spustíte jako daemon v pozadí a sám se připojí do sítě. Následuje několik hodin synchronizace chainu, které uběhnou vcelku rychle, ale vytíží vám disk i procesor. Po úspěšné synchronizaci si vygenerujete peněženku a pošlete na ni testnet coiny. Odteď můžete svůj disk pronajímat, nebo si naopak pronajmout místo v síti. To je opět docela náročné, musíte si totiž manuálně projít seznam těžařů, jednoho si vybrat, vybrat soubory k nahrátí, dosáhnout jeho požadavků a uzavřít deal. Stojí vás to naštěstí ale jen pár testnet coinů, příkazů a pár minut zmatenosti.
Těžba je jiná kapitola. V tomto případě si musíte peněženku inicializovat jako miner a provést základní konfiguraci. Ta vás může také zaměstnat víc než by se zdálo, na konci ale úspěšně těžíte. Stojí vás to nicméně vysoké vytížení CPU, GPU i RAM. Hardwarové požadavky na mining filecoinu jsou skutečně vyšší, než pro obyčejné nabídnutí volného místa na laptopu. Vyžaduje minimálně 512 GB místa na disku, které se na mainnetu ješte zvýší. Stejně tak bude mainnet vyžadovat 32GB sektory na disku. S požadavky na velkou paměť RAM a GPU se Filecoin jako využití volného místa na disku k výdělku pro obyčejné lidi bohužel nevyplatí. Zda se UX zlepší, ukáže čas, nicméně hardware pro náročné procesy konsenzů Filecoin nepustí.
Další platformou pro trh s úložištěm na blockchainu je Sia. Princip je podobný jako u výše zmíněného Filecoinu – můžete si pronajmout místo, nebo ho někomu pronajímat. Také má vlastní utility token Siacoin, který je možné těžit pronájmem úložiště a výkonu. Zaměřuje se ale na spotřebitele, tedy normální lidi, kteří mohou Siu využít jako alternativu ke klasickým cloudovým službám.
Po technické stránce je od výše zmíněných trochu odlišná. Při rozdělování dat využívá Reed-Solomon opravné kódování. O podobných kódech jste mohli slyšet v souvislosti s telekomunikací, kde zabezpečují kvalitu přenosu. Sia rozdělí soubor na 30 částí, přičemž stačí méně než polovina, aby bylo možné celý soubor obnovit. Dokonce si je můžete obnovit na základě seedu, podobně jako peníze v kryptoměnách. Data jsou přitom šifrována Threefish šifrou.
Pyšní se jednoduchým a lehce použitelným UI. Stačí vám jen nainstalovat aplikaci, která slouží jako peněženka a pomocí které si snadno zálohujete soubory do Sia sítě. Stejně snadno můžete i pronajmout svůj prostor na disku a vydělávat Siacoiny. Ty se obchodují na vícero burzách včetně těch velkých. Vytížení procesoru a paměti přitom není příliš vysoké, pro disk je to však náročnější. I když Sie poskytnete jen část prostoru na disku, těžba Siacoinu vám znároční jeho jiné použití.
Sia navíc stále přichází s novými projekty založenými na své platformě. Například SiaStream, který je aktuálně v betě a nabízí levné decentralizované úložiště pro vaše mediální soubory. Nedávno Sia ohlásila Skynet, který má být svobodným web hostingem. Využívá existující síť Sia a poskytuje ji vývojářům k hostování aplikací, takže vedle uživatelů atakuje i druhou stranu trhu.
Skutečné potíže tohoto projektu tkví jinde, a to v příliš vysoké centralizaci – vývoje i sítě. Velikost sítě a vytěžené bloky si můžete prohlédnout přímo v jejích statistikách. Za vývojem stojí společnost Nebulous, přičemž z komunity pochází jen malá část vývoje a můžeme předpokládat, že stejně tak provozuje velký počet uzlů. Nejvíc komunitu zabolelo, když se rozhodli hard forkem odstřihnout ze sítě minerů ASIC jednotky a vydali vlastní miner, který byl propadák. Můžeme předpokládat, že těžba se po tomto centralizovala okolo Nebulousu samotného.
Storj byl dlouho funkčním decentralizovaným úložištěm s množstvím uživatelů a vlastní komunitou. Kdysi jsme o něm vydali i článek, od té doby však prošel rebrandem na Tardigrade a dost se změnil. Stále sice funguje, bohužel se mi ale nepodařilo dostat ani přes registraci, abych otestoval jeho novou tvář na vlastní kůži. Fungovat by však měl celkem jednoduše a použitelně, jak ukazuje video od Storj Labs.
Má robustní mechanismus ukládání dat. Nejdříve všechna data šifruje, rozděluje svým File Sharding algoritmem a distribuuje po celé síti. Full nody auditují sít a ověřují velikost úložiště, adresování, integritu a dostupnost dat. Silnou výhodou pro mnohé je určitě jeho integrace s NextCloudem. Stejně jako Sia, je cílený na spotřebitele, ne průmysl. Jeho těžba však vyžaduje silný hardware a složitejší setup, takže není pro každého s volným místem na disku.
i
Nový název Tardigrade se zřejmě snaží vyvolat dojem nezničitelnosti.
Misí Internxt, firmy stojící za X Cloudem, je vytváření decentralizovaných služeb pro běžné uživatele. V případě X Cloudu se jim to opravdu povedlo. Ten má být alternativou k tradičním cloudům pro spotřebitele, jako jsou Dropbox nebo Google Drive, a nabízet skutečné soukromí a bezpečí vzhledem ke své decentralizované povaze. Slibuje také “zero-knowledge end-to-end” šifrování, díky kterému jsou vaše data úplně v soukromí. Tvrdí dokonce, že je ekologičtější než klasické cloudy. Za každé koupené premium zasadí Internxt stromeček.
Funguje na velké síti X Core serverů, po které distrubuuje soubory uživatelů. X Core můžete jednoduše provozovat na svém počítači a nestojí to mnoho námahy ani hardwaru. Stačí stáhnout desktop aplikaci s příjemným UI rozhraním, která vás celým procesem provede. Vyberete, kam se mají sdílená data ukládat, kolik místa chcete alokovat a svou adresu pro výplatu odměn. Jednou za měsíc takto obdržíte platbu v ERC20 tokenu INTRX.
Na straně druhé je obdobně jednoduchý pronájem místa. Stačí si stáhnout aplikaci do počítače, mobilu nebo přidat rozšíření do prohlížeče. Základní balíček 2 GB je zdarma, poté si musíte zaplatit, nicméně ceny jsou dost nízké. Spolu s intuitivním UX je tedy X Cloud výrazným konkurentem klasických cloudových služeb.
Kdo by ho neznal. BitTorrent je zřejmě největším peer-to-peer protokolem pro sdílení souborů na naší planetě. Mezi koncovými uživateli svých výšin dosáhl někdy v době před streamovacími službami typu Netflix, jeho popularita však jen tak nevyhasne. Extrémně úspěšný projekt, jehož základy položil Bram Cohen už v roce 2001. Popularita torrentování nás dokonce naučila něco o ekonomii pokroku bez povolení. V diskuzi o decentralizovaném ukládání dat ho nesmíme vynechat, jelikož i projekty, o kterých jsem mluvil výše, se jím minimálně po technologické stránce inspirovaly.
Genialita BitTorrentu spočívá v jeho šikovné optimalizaci posílání dat. Když si od vás více klientů stahuje obsah, dáte jim různé části tohoto obsahu a oni si zbylé vymění mezi sebou. Díky tomuto odesíláte data konstantní rychlostí nezávisle na tom, kolik uživatelů, v torrent žargonu peers, si je od vás stahuje. Tímto je vyřešen jeden z nejnepříjemnějších problémů HTTP, kdy server simultánně posílá data více klientům a má omezený bandwidth. Odesílaná data jsou hierarchicky hashovaná, takže není možné podvádět podstrčením falešných dat. Tento jednoduchý a elegantní design má však i několik problémů.
Pro udržování obsahu neexistuje ekonomická incentiva. Seedeři nejsou automaticky odmeňováni a na úrovni protokolu není motivace poskytovat obsah. Pro udržení přehledu, kdo má jaký obsah, se zformovaly různé trackery – tvoří tak však centrální body, které v dokonale decentralizovaném světě nechceme. Do jisté míry to řeší DHT, komunitní trackery se ale snaží motivovat i seedery. Torrentům také chybí výše nastíněné adresování na základě obsahu. Jednotlivé kousky dat jsou totiž sdíleny jen v rámci větších souborů. Právě toto adresování obsahu řeší IPFS.
Problémy BitTorrentu se rozhodl vzít pod křídla TRON. Ten můžete znát coby výpočtovou blockchain platformu a konkurenci například Etherea. TRON se snaží v BitTorrent klientu incentivizovat seedování vyplácením BTT tokenů. Zároveň vyvíjí BTFS, fork výše popsaného IPFS. Ten je protokolem a síťovou aplikací pro decentralizované sdílení dat. Na jedné straně tedy slouží k uchovávání dat, na straně druhé nabízí vývojářům platformu například pro DApps.
Na mainnetu už funguje a nedávno vyšla jeho nová verze. Používáním se téměř neliší od originálního IPFS, ale na rozdíl od něj umožňuje šifrování souborů. Používá podobný mechanismus jako Sia – rozděluje soubory na 30 částí, přičemž ke zpětnému složení souboru jich stačí 10.
i
Za obnovením souboru pomocí jeho částí nestojí žádná magie. Opravné kódy jako Reed–Solomon se v ukládání a přenosu dat používají už desítky let. Představte si kousky souboru například jako střepy z rozbité vázy. Stačí vám jich složit pár, abyste poznali, že se jedná o vázu.
Na technologii torrentu si zakládá i další firma snažící se o decentralizovanou budoucnost. V odvětví patří spíše ke starším hráčům a sází na klasiku. Zeronet je zajímavý tím, jak jednoduše snoubí technologii Bitcoinu a BitTorrentu. Stejná kryptografie eliptických křivek, jakou využívá Bitcoin pro vytvoření páru veřejného a soukromého klíče, slouží k vytvoření nové stránky na ZeroNetu. Veřejný klíč je adresou stránky, svým soukromým klíčem pak podepisujete změny, které na stránce provedete, respektive její samotný deploy. Díky tomu, že algoritmus je totožný jako v Bitcoinu, můžete na svou adresu přijímat platby v bitcoinech. Zároveň získáváte i stejně ověřenou bezpečnost na úrovni Bitcoinu, čistě ve smyslu asymetrické kryptografie.
Samotné stránky však nejsou hostovány na žádném serveru, ale v torrent síti. Když navštívíte stránku na ZeroNetu, vyžádáte si vlastně od BitTorrentu trackery adresy peerů, na kterých je její obsah. Existuje však i podpora bez trackerů. Než se začnou stahovat samotné soubory ze stránky, návštevník obdrží json soubor s hashi obsahu a podpisem. Díky tomu je kryptograficky ověřeno, že stránka, kterou si prohlížíte, byla skutečně v této podobě podepsána svým autorem. Podobně jednoduché je vygenerovat klíče, vytvořit stránku a seedovat ji.
Po úspěšné instalaci vás ZeroNet přivítá na domovské stránce, odkud se můžete dostat k dalším službám na této síti, jako je chat, mail, blog, fórum nebo možnost nahrávat soubory jako na cloud. Také nabízí jednoduchou možnost anonymizovat se pomocí vestavěného Toru.
Zeronet má své výhody jako alternativa k tradičnímu webu, která je jednoduchá, rychlá, transparentní a bezpečná. Může fungovat na mesh sítích bez internetu. Příliš se nesnaží konkurovat ani nahradit tradiční internetový model.
Ze všech zmíněných platforem považuji Swarm za nejpromyšlenější a s nejhlubším filosofickým pozadím. Je jedním z nejdůležitějších projektů na Ethereu a významným kouskem celého jeho decentralizovaného ekosystému.
Vedle Etherea, které nabízí výpočtový výkon, představuje Swarm vrstvu pro decentralizované úložiště a svobodnou komunikační infrastrukturu bez cenzury. Cílem projektu je nabídnout skutečně decentralizované úložiště pro dApps, data uživatelů a data z blockchainu. Je tak klíčovou vrstvou pro onen Web 3.0, ve kterém může nabízet služby pro správu, streamování médií, decentralizované databáze a další infrastrukturu. Právě vidina úplně svobodného a peer-to-peer decentralizovaného internetu bez potřeby webserverů je hnacím motorem Swarmu.i
Nový internet, který je odolný vůči chybám, nemá žádný downtime, je kompletně rezistentní vůči cenzuře a ekonomicky samoudržovaný, je vizí mnohých lidí za projektem Swarm a samotného Etherea. Na takovémto internetu si pro svou webovou aplikaci nebudete kupovat hosting, ale pošlete ji na Swarm, kde bude uložená na počítačích po celém světě.
Swarm funguje oproti ostatním zmíněným platformám trochu specificky, nicméně základní koncept je podobný. Jako peer-to-peer protokol využívá devp2p vyvinutý právě v rámci Ethereum stack a inspirovaný libp2p, na kterém je postaveno například IPFS. Jeho datová struktura je lehce složitější než u jiných platforem. Soubor je taktéž rozdělený na chunky, které vedou na adresy, přidává se ale reference, která identifikuje soubor a manifest popisující datové struktury. Ten umožní, že můžete obsah načítat jako z URL. Nenabízí jen obyčejný protokol, samozřejmě má i vrstvu pro ekonomické incentivizování, jelikož bez něj by robustní samoudržitelný systém nikdy nevznikl. Využívá dva způsoby incentiv.
Vedle teoretizování jsem si Swarm i osahal vlastním příkazovým řádkem. Funguje velmi jednoduše a elegantně. Ukázková implementace Swarmu v Go je součástí Geth klienta od verze 1.5. Můžete ho tedy nainstalovat různými cestami, já jsem rovnou naklonoval git ethersphere a po chvíli zápasení s Go kompilátorem i úspěšně zkompiloval Swarm.
Abychom mohli použít Swarm, potřebujeme Ethereum účet. Ten si jednoduše vytvoříme pomocí geth a Swarm spustíme s adresou tohoto účtu. Po zadání hesla se nastartuje lokální Swarm uzel. Skrze ten dalšími jednoduchými příkazy nahrajete vybrané soubory. K nahranému souboru je přidělen unikátní hash ve Swarm síti. Ten si pomocí bzz URL můžete prohlédnout přes svou lokální instanci Swarmu nebo veřejnou bránu.
!
Hrát si s každou platformou pomocí příkazového řádku vám může připadat zvláštní, stejně však vypadaly rané časy mailu a leckterých dnes běžných aplikací.
Swarm také nabízí PSS, Postal Service over Swarm, protokol pro posílání zpráv s důrazem na soukromí. Toto může být základem úplně nové infrastruktury komunikace mezi počítači – mail budoucnosti. Spolu se všemi funkcemi a partnerskými Ethereum projekty je silným nástrojem pro decentralizovaný internet. Je velmi komplexní – celému jeho fungování porozumíte například z Book of Swarm.
Pro člověka s Bitcoinem v srdci je opravdu těžké přehrabovat se tolika shitcoiny ve světě decentralizovaných úložišť. Proto na závěr představím specialitu postavenou právě na LNP/BP ekosystému, která dá světélko naděje na konci tunelu každému Bitcoin maximalistovi nebo shitcoin minimalistovi doufajícímu v decentralizovaný internet.
V srpnu 2019 Dr. Maxim Orlovsky, kterého možná znáte jako autora implementace RGB, představil svůj projekt Storm. Po uvedení na githubu a diskuzi na Redditu se mu dostalo silného uznání ze strany Bitcoin komunity. Storm vytváří framework, který do úložiště jako BitTorrent přidává ekonomické incentivy pomocí druhé vrstvy Bitcoinu.
Orlovsky navrhl speciální Storm platební kanál, který je vytvořený on chain transakcí podobně jako LN kanály a následují ho částečně podepsané nezveřejněné transakce se smart kontraktem v Bitcoin skriptu. Ty obsahují scénáře pro případ, že druhá strana dostane odměnu nebo bude podvádět. Storm platební kanál může být po úpravě některých BOLTů vytvořen i na existujícím Lightning Network platebním kanále s dodatečnými speciálními výstupy LN commitment transakce. To, že jsou data skutečně uložena u nějaké druhé strany a má být provedena transakce jako odměna, zabezpečují Probabilistically checkable proofs.
Data jsou klasicky rozdělena do chunků stejné velikosti, šifrována a hashována do merkle tree. SHA256 hash dvou spojených kořenů merkle tree prezentuje náhodné číslo, kterým je vybrána náhodná část chunků. S touto malou částí chunků (1-10 %), merkle tree cestami k nim a šifrovacím klíčem je první strana schopná zkontrolovat zero-knowledge argument, jelikož ověří merkle tree cesty vedoucí k chunkům a korespondující root hash. Pomocí šifrovacího klíče zkontroluje, že zdrojové chunky jsou na bajt stejné jako jejich šifrovaná verze uložená u druhé strany. Kdyby tedy strana ukládající data chtěla podvádět, musela by „těžit" šifrovací klíče a více hashů, což je řádově mnohem nákladnější než stake v transakci.
i
Pravděpodobnostní ověřitelné důkazy umožňují neinteraktivním způsobem dokázat integritu nějakého výpočtového procesu, v našem případě kódování dat, bez odhalení samotných dat. Poskytují tedy zero-knowledge argument.
Do budoucna pro Storm existuje mnoho nápadů na vylepšení a využití. Může také sloužit k posílání zpráv, ne však jako messenger, ale jako poskytovatel garantovaného doručení zprávy. Na rozdíl od altcoinů snažících se o incentivizaci ukládání dat, robustnost Bitcoinu a jeho vrstvení, dává vývojářům nové možnosti. Silný základ Bitcoinu a Lightningu, jehož uzly mnoho lidí provozuje doma, může přidat Storm jako další ekonomickou motivaci a přitom zkvalitnit incentivy ukládání dat. Představa, že při provozování domácího full nodu si můžete přivydělat i ukládáním uživatelských dat, je vcelku lákavá.
Silná myšlenka a výhody decentralizovaného úložiště vedly ke vzniku obrovského množství projektů. Většina z nich jsou však stále ještě startupy a jak platí v nekompromisním světě startupů nebo kryptoměn, mívají tendenci rychle zanikat. Před psaním tohoto článku jsem se do tohoto moře řešení ponořil a ty s reálnou implementací si i vyzkoušel. IPFS, Filecoin, Sia, Storj, Warm, Storm, Lake Network, Threefold network, BTFS, PPIO, ZeroNet, MaidSafe, X Cloud, NeoFS, Dfinity, Dat, 0Box, Opacity a další. Právě ty nejpokročilejší, ověřené časem, a snad skutečně funkční jsem vybral do tohoto článku. Kolik z nich se skutečně udrží, ukáže jen čas.
Konkurence decentralizovaných úložišť vůči tradičním je v boji o běžného uživatele náročná. Centralizované služby většinou nabízí nižší ceny, jednoduchost a podporu, což pro většinu uživatelů stojí za obětování soukromí nebo bezpečnosti. Decentralizovaná řešení se však spoléhají na economies of scale, jelikož i teoretickou škálovatelnost mají řádově vysokou. Aktuálně by se kapacita snad všech decentralizovaných úložišť vešla na servery Amazonu či Microsoftu. I proto jsou řešení na Bitcoinu zajímavou alternativou – díky tomu, že mohou přinést silnější networking effect a tedy mnohem šiřší škálu.
Decentralizované ukládání dat se historicky ukázalo jako efektivní pro udržitelnost informací. Nároky jsou však v dnešní době vysoké a jen čas ukáže, jestli se některému projektu tato snaha vydaří a bude škálovat do velikosti dominantních cloudových řešení. Každý zmiňovaný projekt je však otevřený, můžete ho tedy nejen otestovat, ale i do něj přispět, a pomoct tak decentralizované peer-to-peer budoucnosti.
Mário Havel
Mário je student informatiky, který miluje svobodu a technologie. Je předseda Slovak Students for Liberty, od jejího vzniku působí jako člen ve slovenské Paralelní Polis. Věnuje se kryptotechnologiím, vývoji softwaru a rakouské ekonomii. Pravidelně organizuje akce a přednáší na tato témata.