Web 3.0 a vývoj dApps: co jsou zač a proč by vás měly zajímat?

software development

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.

data monitoring

Co je web 3.0?

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á.

launch

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.

Web x.0 aneb vývoj webových stránek v kostce

webdev in nutshell software development
Web 1.0
  • 1990–2004
  • počátek internetu
  • první webové stránky
  • převaha statických webových stránek
  • obsah tvořen převážně programátory
  • internet využíván zejména ke konzumaci obsahu

Web 2.0 vs. web3

Architektura 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:

  1. Uživatel zadá prostřednictvím prohlížeče požadavek.
  2. Prohlížeč požadavek pomocí protokolů doručí na server.
  3. Server požadavek zpracuje.
  4. 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.

web versus schema

Architektura webu 2.0 – klient-server

Jak funguje web 3.0

Architektura 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:

  1. 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.
  2. Frontend dApp připojí k poskytovateli (např. opět Metamask).
  3. Poskytovatel komunikuje s chytrými kontrakty umístěnými v blockchainu.
  4. Uzly blockchainu ověří transakci.
  5. 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.

how web3 works

Architektura webu 3.0

Výhody a nevýhody webu 3.0

Výhody
1
Ochrana osobních údajů

Uživatel má mnohem větší kontrolu nad svými daty. Identita je navíc chráněna prostřednictvím privátního klíče.

2
Odstranění vlivu autorit

Web3 je postavený na decentralizaci. Nikdo nemůže podmínit používání dApp, cenzurovat obsah ani porušovat pravidla.

3
Snížení kyberzločinnosti

Princip blockchainu snižuje riziko kyberzločinů.

nevýhody
1
Závislost na kryptoměně

Hodnota tokenů je závislá na zájmu uživatelů. Pokud klesne zájem, klesne i jejich hodnota.

2
Výkon sítě a dApps

Vyšší bezpečnost a důvěryhodnost internetu i transakcí je zaplacena pomalejší odezvou sítě a aplikací.

3
Zneužití decentralizace

Absence autority, která kontroluje provoz sítě může vést ke zneužívání této svobody. Hrozí tedy nárůst případů obtěžování či nenávistných projevů.

Co jsou dApps a jak fungují?

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).

public blockchain

Samotná logika aplikace je uložena ve Smart contractech, které se nacházejí v blockchainu.

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.

Architektura dapps

blue design layerwhite design layerorange design layerpurple design layer
1

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
  • komunikují s uživatelem prostřednictvím transakcí definovaných v kódu
4

Ethereum Virtual Machine (EVM)

JÁDRO ARCHITEKTURY
  • provádí loginu definovanou ve Smart contracts
  • zpracovává všechny změny

Vývoj webových aplikací vs. tvorba dApps

Technologie
  • frontendové technologie webových aplikací: React, Angular, Vue.js, BootStrap, ...
  • frontendové technologie pro vývoj dApps: stejné jako u webových aplikací
  • backendové technologie webových aplikací: Node.js, Gatsby, Next.js, PHP, ...
  • backendové technologie pro vývoj dApps: Truffle, Brownie, Hardhat,
Práva uživatelů
  • web 2.0 a tradiční webové aplikace jsou řízeny autoritami, může tedy docházet k blokování uživatelů či cenzuře
  • základní myšlenkou webu3 a dApps je demokratizace internetu – všichni uživatelé by měli mít stejná práva
  • používání klasických aplikací zanechává digitální stopu – např. poskytovatel internetu vidí navštívené weby
  • decentralizované aplikace kladou soukromí uživatelů na první místo
Architektura
  • tradiční webové aplikace jsou postavené na backendu a frontendu, které se nasazují na centralizované servery
  • dApps používají decentralizované prvky a data se neukládají na servery třetích stran
Bezpečnost
  • korporace stojící za vývojem webových aplikací mohou zneužívat uživatelská data
  • u dApps jsou uživatelská data, včetně identity v rukou uživatelů
  • webové aplikace čelí MITM a dalším útokům
  • dApps jsou postavené na blockchainu, který brání záměně obsahu

NEJČASTĚJŠÍ OTÁZKY (faq)

01

Co jsou decentralizované aplikace?

02

Které programovací jazyky se používají k tvorbě dApps?

03

Je Bitcoin decentralizovaná aplikace?

04

Je možné vydělat na dApp?

05

Jaké jsou příklady dApps?

06

Patří decentralizované aplikace mezi webové stránky?

07

Potřebují dApps backend?

08

Jaké jsou výhody decentralizovaných aplikací?

09

K čemu slouží dApps?

10

Jaký je rozdíl mezi aplikací a decentralizovanou aplikací?