Vše, co potřebujete vědět o webu 3.0 a vývoji decentralizovaných (blockchain) aplikací přehledně a na jednom místě.
Web3 a decentralizované aplikace v poslední době vzbudily mnoho povyku. Někteří je vnímají jako další buzzword, zatímco jiní v nich vidí budoucnost internetu i digitálních produktů.
Ponořte se s námi do světa těchto moderních technologií a udělejte si o nich obrázek sami. Prozradíme vám vše, co potřebujete vědět o technologii web3 i proč přemýšlet nad vývojem dApps.
Web 3.0 (někdy též web3) je decentralizovaná síť postavená na decentralizovaných technologiích. Jejím hlavním cílem je přetvořit internet na demokratičtější a bezpečnější místo, kde nebude nikdo kontrolovat provoz či cenzurovat informace jen proto, že web běží na jeho serverech.
Například používání decentralizovaných sociálních sítí nemůže být podmíněno souhlasem se zpracováním osobních údajů a všichni musejí dodržovat stejná pravidla, nezávisle na tom, o jakého uživatele či korporaci se jedná.
Web3 tak reaguje na potřebu zvýšení kontroly nad uživatelskými daty a ochrany soukromí, která vzrostla s rozmachem sociálních sítí a dalších platforem, typických pro web 2.0.
Přesto, že je web3 relativně nový pojem a dosud nikdo přesně nedefinoval komplexní řešení této technologie, symbolizuje pro mnohé budoucnost internetu. Budoucnost postavenou na nové architektuře, další generaci webových aplikací (dApps) a business modelu nezávislém na korporacích.
Chci začít web3 projektArchitektura webu 2.0 je postavená na komunikaci webového prohlížeče s webovým serverem, na kterém se nachází frontend, backend i databáze webu či webové aplikace:
Uživatel zadá prostřednictvím prohlížeče požadavek.
Prohlížeč požadavek pomocí protokolů doručí na server.
Server požadavek zpracuje.
Server pošle prostřednictvím protokolů výsledek prohlížeči.
Klíčovými prvky jsou tedy server a protokoly – nad nimiž uživatel nemá 100% kontrolu. A zde přichází na řadu web3, který centralizované prvky, závislé na autoritách, nahrazuje prvky decentralizovanými.
Chci začít web3 projektArchitektura webu3 může být realizována několika způsoby. Nejčastěji je dnes spojována s Ethereum blockchainem, a proto se veškerý další obsah zaměřuje na popis tohoto modelu:
Uživatel se prostřednictvím privátního klíče, uloženého v kryptopeněžence (například Metamask) připojí k frontendu decentralizované aplikace.
Frontend dApp připojí k poskytovateli (např. opět Metamask).
Poskytovatel komunikuje s chytrými kontrakty umístěnými v blockchainu.
Uzly blockchainu ověří transakci.
Po úspěšném ověření se přidá nový blok do blockchainu.
Všichni tedy kontrolují data, která jsou do databáze přidávána a každý má kopii databáze – peer-to-peer architektura. Komunikace s blockchainem je financována tokeny kryptoměn a vlastnictví je drženo v NFT.
Chci začít web3 projekt1
Ochrana osobních údajů
2
Odstranění vlivu autorit
3
Snížení kyberzločinnosti
1
Závislost na kryptoměně
2
Výkon sítě a dApps
3
Zneužití decentralizace
Decentralizované aplikace (zkráceně dApps) navenek vypadají stejně jako klasické webové aplikace. Stejné zůstává i ovládání a zaměření jednotlivých nástrojů.
Rozdíl je ovšem v architektuře a v backendu. Původní architekturu klient-server nahrazuje peer-to-peer model, jenž data místo na centralizovaný server ukládá na decentralizované úložiště (IPFS/SWARM).
Samotná logika aplikace je uložena ve smart contractech (chytrých kontraktech), které se nacházejí v blockchainu – odtud označení blockchain aplikace.
Zápis dat do blockchainu probíhá prostřednictvím transakcí. Podobu těchto transakcí definují zmíněné chytré kontrakty, přičemž za provedení každé transakce uživatel platí tokeny kryptoměn.
Díky blockchainu jsou dApps bezpečnější, jelikož jeho princip brání přepsání nebo napadení aplikace. Stejně tak nemůže dApp nikdo jen tak vypnout, protože neexistuje žádná centrální entita, která by mohla sama o sobě určovat směr appky.
Chci začít web3 projekt1
Kryptopeněženka
Digitální identita uživatele
ověřuje identitu uživatele a platby
podepisuje transakce
komunikuje s frontendem
2
Frontend
Uživatelské rozhraní aplikace
vytváří požadavky uživatele
komunikuje se smart contracts
3
Smart contracts
Backend / logika aplikace
kód umístěný v blockchainu
komunikuje s uživatelem prostřednictvím transakcí definovaným v kódu
4
Ethereum Virtual Machine
Jádro architektury
provádí logiku definovanou ve smart contracts
zpracovává všechny změny
Technologie
Architektura
Práva uživatelů
Bezpečnost
Decentralizovaná aplikace je typ softwaru postavený na technologiích bez centrální autority. Skládají se ze dvou částí – frontend, který je vytvořený např. prostřednictvím JavaScriptu a backend – chytré kontrakty, které jsou uložené v blockchainu.
Na první pohled jsou tedy nerozeznatelné od tradičních webových aplikací a mohou mít stejné využití – např. aplikace pro správu úkolů.
Solidity – programovací jazyk, určený k tvorbě chytrých kontraktů, který vyvinul Vitalik Buterin (zakladatel Ethereum blockchainu).
Java – jazyk typický pro vývoj mobilních aplikací je možné využít také k tvorbě chytrých kontraktů a vývoji dApps.
JavaScript – jeden z nejpopulárnějších prostředků určených k tvorbě webu či vývoji webových aplikací si díky své škálovatelnosti a zrychlení procesu vývoje probojoval cestu až k vývoji dApps.
Simplicity – jazyk s přívětivou syntaxí, která činí kódování snazší a efektivnější. Umožňuje vytvářet chytré kontrakty a další blockchainová řešení nejen pro Bitcoin, ale i Ethereum.
Bitcoin je open-source platforma, která svým uživatelům umožňuje provádět transparentní transakce bez dohledu jakékoli centrální autority. Díky tomu lze Bitcoin nazvat nejen první kryptoměnou na světě, ale i decentralizovanou aplikací.
Stejně jako tradiční webové aplikace či webové stránky lze dApps zpeněžit různými technikami monetizace. Jednou z nejvyužívanějších možností je takzvaný crowdsale, který je postavený na davovém prodeji, tedy na shánění investorů a rozdělení nákladů
Druhou variantou jsou poplatky za provedené transakce. Díky tomu máte profit ze samotného používání aplikace. Stejně tak lze ovšem využít i zaběhnuté modely, jako jsou platby v aplikacích prostřednictvím kryptoměn.
dApps jsou stejné jako každý jiný digitální produkt. Může se jednat o webovou stránku, webovou nebo mobilní aplikaci. Rozdíl je v tom, že decentralizované aplikace běží na decentralizovaném základu, kupříkladu na Ethereu.
Díky tomu, že backend dApps běží na blockchainu, disponují decentralizované aplikace vysokou mírou zabezpečení, maximální transparentností a mnohem vyšší kontrolou nad uživatelskými daty. Neexistuje zde žádná centrální autorita, která by mohla omezovat či kontrolovat přenášená data a blockchain zajišťuje provoz bez výpadků aplikace.
Rozdíl mezi webovou aplikací a decentralizovanou aplikací tkví v jejich architektuře. Zatímco webové aplikace používají centralizované servery a databáze, dApps využívají pouze decentralizované platformy. Výhodou centralizovaných webových aplikací je svižnější provoz. Výhodou dApps pak vyšší transparentnost, svoboda a nezávislost na autoritách.
Decentralizované aplikace se stejně jako tradiční webové projekty skládají ze dvou částí – backend a frontend. Rozdíl je v tom, že v současnosti většina digitálních produktů backend provozuje na centralizovaných serverech. dApps využívají decentralizované technologie, typicky Ethereum blockchain.