Mając styczność z tematyką sieci blockchain, mogliście się spotkać z nowym zagadnieniem o nazwie Web3. Nie należy mylić tego pojęcia koncepcją sieci semantycznych zaproponowanych przez Tima Bernersa-Lee.
Web3 to koncepcja internetu zdecentralizowanego, gdzie wymiana informacji następuje bezpośrednio pomiędzy dwoma stronami, bez udziału serwera centralnego. Komunikacja peer-to-peer to jednak żadna nowość. Na czym polega więc wyjątkowość Web3?
Ewolucja internetu
Skoro zaczynamy omawiać wersję trzecią internetu, to musiały istnieć wersje wcześniejsze.
Web 1.0
Strony internetowe pierwszej generacji, działające w okresie 1991-2004 były wyłącznie statyczne. Użytkownik nie miał możliwości jakiejkolwiek interakcji. Nie było komentowania, dynamicznego dodawania treści, zakładania kont, ładnych animacji, itd. Wszystkie treści służyły tylko do odczytu, a ich modyfikacja była możliwa wyłącznie poprzez edycję kodu źródłowego strony (HTML). Modyfikacje były wykonywane przez tzw. webmasterów.
Web 2.0
Kolejna generacja stron internetowych z których korzystamy obecnie. Web 2.0 to interaktywne strony, pozwalające na dwustronną komunikację. Możemy przeglądać treści, ale również dodawać własne, komentować, zakładać konta, itd. Nie potrzebna jest do tego żadna wiedza techniczna. Wystarczy wprowadzić dane w odpowiednie pola formularza. Każdy kto chce mieć własnego bloga, może to zrobić zakładając nowe konto w serwisie tj. Tumblr lub WordPress. Vlogerzy mogą uploadować filmy na platformę Youtube, a influencerzy komunikować się ze swoją publicznością poprzez Instagram.
Dynamiczne strony internetowe do swojego działania wykorzystują m.in. technologie: CSS, JavaScript, PHP, Java, MySQL, itd.
Centralizacja internetu
Web 2.0 cechuje się centralizacją. Kody źródłowe, treści oraz dane użytkowników znajdują się w rękach jednej firmy – właściciela konkretnej aplikacji internetowej. Użytkownik, a uściślając, jego dane stały się produktem.
Powstanie usług chmurowych takich jak Amazon AWS, Microsoft Azure czy Google Cloud zwiększyło centralizację sieci jeszcze bardziej. Ułatwiając tworzenie i zarządzanie infrastrukturą sieciową, cloud services szturmem zdobyły znaczny udział w rynku. Doszło do sytuacji w której awaria w jednej firmie świadczącej usługi chmury potrafi sparaliżować największe strony internetowe i zaburzyć funkcjonowanie przedsiębiorstw na całym świecie.
Web3 to próba decentralizacji w internecie.
Wszystko zaczęło się od powstania pierwszej zdecentralizowanej publicznej kryptowaluty opartej o rewolucyjną sieć blockchain – Bitcoin. Jest to pierwsza udana implementacja zawierania transakcji na odległość, bezpośrednio między dwoma stronami, bez pośrednictwa osób trzecich (np. bank).
Od początku istnienia (rok 2008) Bitcoin udowodnił, że możliwe jest stworzenie zdecentralizowanej, bezpiecznej, skalowalnej sieci, przetwarzając transakcje o wartości ponad 30 miliardów dolarów dziennie, osiągając kapitalizację ponad 800 miliardów dolarów (stan na kwiecień 2022)!
Decentralizacja wszystkiego
Web3 to nie tylko aplikacje internetowe nowej generacji. Web3 to zupełnie nowe podejście do wirtualnego świata, podważające obecnie obowiązujące zasady. To świat, gdzie dane, pieniądze i władza zostają oddane w ręce użytkowników.
Web3 to szerokie pojęcie ingerujące w różne aspekty funkcjonowania aplikacji internetowych. Omówimy teraz najważniejsze z nich.
Decentralizacja infrastruktury
Myśląc o decentralizacji, pierwsza rzecz która przychodzi nam do głowy to infrastruktura. Sieć Blockchain zrewolucjonizowała sposób przechowywania i zarządzania danymi. Każda informacja w sieci przechowywana jest w wielu kopiach na różnych węzłach (klienci podłączeni do sieci). Przypadkowa awaria lub próba oszustwa pojedynczego lub kilku węzłów będzie nieskuteczna ze względu na algorytmy konsensusu, które zapewniają integralność oraz bezpieczeństwo danych. Każda decyzja przez zapisem, musi zostać zaakceptowana przez większość uczestników sieci. Węzły otrzymują wynagrodzenie w formie tokenów (Bitcoin dla sieci Bitcoin, Ether dla sieci Ethereum, itd.) za uczciwą pracę. Istnieją algorytmy konsensusu które mogą nawet ukarać finansowo uczestników za błędnie podejmowane decyzje. Jeśli chcesz dowiedzieć się więcej o tej metodzie, przeczytaj nasz artykuł o algorytmie Proof of Stake.
Ze względu na powyższe właściwości sieci Blockchain stały się fundamentem Web3. Aplikacji internetowe nowej generacji działają nie na pojedyńczym serwerze, ale w zdecentralizowanej sieci Blockchain na tysiącach komputerów. Takiej aplikacji nie da się tak po prostu zablokować, usunąć, wyłączyć czy zmodyfikować. Jeżeli autor aplikacji nie zaimplementuje żadnego mechanizmu zarządzania, nie będzie miał wpływu na działanie aplikacji po jej upublicznieniu. Z kolei otwartość sieci umożliwia wgląd do wszystkich zawartych transakcji czy kodu źródłowego smart kontraktu.
Aktualnie istnieje kilkaset sieci Blockchain które charakteryzują się różnymi cechami (funkcjonalność, algorytmy konsensusu, ilość uczestników, skalowalność, opłaty transakcyjne, itd.). Jeśli chcemy opublikować własną aplikację internetową, smart kontrakt lub dane, musimy podjąć decyzję z której sieci będziemy chcieli skorzystać w zależności od problemu.
Blockchain | Opis |
---|---|
Bitcoin | Pierwsza najbardziej bezpieczna sieć oparta na Proof of Work |
Ethereum | Największa sieć obsługująca smart kontrakty |
Solana | Wysokiej przepustowości sieć obsługująca smart kontrakty |
Cosmos | Sieć obsługująca inne podsieci |
Terra | Protokół do obsługi stablecoinów, obsługuje smart kontrakty |
Zcash | Sieć wspierająca prywatne transakcje |
IPFS | Protokół do przechowywania plików |
Decentralizacja organizacji
DAO – Zdecentralizowana organizacja autonomiczna (ang. Decentralized Autonomous Organization) to nowa forma funkcjonowania organizacji, bez tradycyjnej jednostki centralnej (np. zarząd, prezes, administrator, itp.).
Wyobraźmy sobie firmę w której każdy z nas może być współwłaścicielem, aktywnie uczestniczyć w jej rozwoju i czerpać profity. Zarządzanie taką organizacją byłoby w pełni zdemokratyzowane. Każda decyzja musiałaby zostać uprzednio zgłoszona w formie wniosku, a następnie przegłosowana przez większość. Wszystkie zasady, głosy oraz udziały byłyby dostępne do wglądu, bez ryzyka manipulacji. Tym właśnie jest DAO. Decentralizacja została osiągnięta dzięki zastosowaniu sieci blockchain, odpowiadającej za obsługę smart kontraktu oraz transakcji.
Smart kontrakt to serce organizacji z zaprogramowanymi zasadami. Prawo jest jednoznaczne i dostępne do wglądu dla wszystkich, dzięki otwartości sieci blockchain. Każdy z członków organizacji posługuje się tokenami, które można porównać do udziałów. Im więcej tokenów z dostępnej puli przypada jednej osobie, tym większą siłę mają jego głosy. Decyzje podejmowane są na podstawie głosowań, które od strony technicznej obsługiwane są jako transakcje wchodzące w interakcję ze smart kontraktem.
DAO są z sukcesem wykorzystywane przez wiele organizacji. Najpopularniejszy praktyczny przykład to MakerDAO. Użytkownicy za pomocą tokenu MKR zarządzają protokołem Maker, który odpowiada za poprawne funkcjonowanie zdecentralizowanego stablecoina DAI.
Jeśli chciałbyś przeczytać więcej informacji odnośnie zdecentralizowanych organizacji autonomicznych, zapraszamy do naszego artykułu: Czym jest DAO.
Decentralizacja płatności
Tradycyjne płatności elektroniczne do których jesteśmy przyzwyczajeni, wymagają pośrednika do zawarcia transakcji. Takim pośrednikiem najczęściej jest bank w którym posiadamy konto z dostępnymi pieniędzmi. To bank odpowiada za utrzymanie bazy wszystkich rachunków, stanu środków oraz zawieranie transakcji. Takie rozwiązanie niesie pewne konsekwencje. Środki na naszym koncie mogą zostać zablokowane pozbawiając nas dostępu do pieniędzy, przelewy międzybankowe oraz międzynarodowe są czasochłonne i kosztowne. Pojęcie prywatności w połączeniu z elektronicznym paragonem praktycznie nie istnieje.
Nie jest to rozwiązanie najszybsze, najtańsze i proste. Częsty widok formularza płatności na stronie internetowej:
W 2008 roku Satoshi Nakamoto opublikował dokument opisujący pierwszą w pełni zdecentralizowaną elektroniczną walutę umożliwiającą zawieranie transakcji w internecie bez pośredników – Bitcoin. Anonimowy twórca połączył ze sobą różne algorytmy kryptograficzne oraz jako pierwszy skutecznie rozwiązał problem podwójnego wydatkowania (ang. double spending problem), który był brakującym elementem.
Wyeliminowanych pośredników (np. bank) zastąpiono zdecentralizowanym otwartym rejestrem, tzw. blockchainem, który przechowuje stan całej sieci. Zawieranie transakcji w internecie dzięki temu możemy porównać do wręczania drugiej stronie fizycznej gotówki do ręki. Bez pośredników, błyskawicznie, tanio i w pewnych sytuacjach anonimowo.
Chcąc korzystać z kryptowalut, musimy posiadać portfel na którym będziemy trzymać środki. Portfel kryptowalut składa się z dwóch elementów: adresu (tzw. klucz publiczny) oraz hasła (tzw. klucz prywatny). Te dwie składowe są ze sobą matematycznie powiązane za pomocą kryptografii asymetrycznej. Adres umożliwia otrzymywanie tokenów, natomiast hasło ich wydawanie.
Przykładowy portfel w sieci Ethereum:
Adres: 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
Hasło: 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
Otwartość sieci blockchain umożliwia monitorowanie statusu wszystkich transakcji. Widzimy adres portfela nadawcy, adres portfela odbiorcy oraz kwotę transakcji. Przykładowa pierwsza transakcja w sieci Bitcoin o wartości 50 BTC. Każda z zainteresowanych stron ma 100% pewności, czy dana transakcja miała miejsce.
Dzięki skorzystaniu z aplikacji zarządzającej portfelem krypto (np. MetaMask), formularz płatności w aplikacjach Web3 można uprościć do jednego przycisku:
Decentralizacja tożsamości
Każdy z nas ma przypisane do siebie różne unikalne identyfikatory, które jednoznacznie określają naszą tożsamość. W Polsce, obywatele posiadają swój 11 cyfrowy kod PESEL. Nasz dowód osobisty oznaczony jest unikalnym numerem i serią. Nasz numer telefonu w połączeniu z kodem kierunkowym kraju jest jedyny na świecie. Zakładając skrzynkę pocztową tworzymy jej unikalny adres w obrębie danego dostawcy (np. [email protected], [email protected], itd.). Tworząc konta użytkowników w różnych portalach, najczęściej posługujemy się swoim adresem email, aby jednoznacznie zdefiniować nasz profil.
Większość powyższych przykładów identyfikatorów ma wspólną cechę – nie należą do nas. Są wydawane i zarządzane przez stronę trzecią (np. urząd miasta, operator komórkowy, aplikację internetową, itd.). Identyfikator może zostać w każdym momencie zablokowany, usunięty lub nawet skradziony. Czy wyobrażacie sobie brak dostępu do waszej skrzynki email?
Sieć blockchain, jako zdecentralizowany rejestr stała się fundamentem do usprawnienia kolejnego obszaru naszego funkcjonowania. DIDs – decentralized identifiers to ustandaryzowany przez W3C zdecentralizowany typ cyfrowego identyfikatora zarządzanego w pełni przez jego właściciela.
Identyfikator DID ma formę adresu URL:
Pod każdym adresem DID kryje się przypisany do niego dokument zawierający informacje powiązane. Taki dokument opisuje konkretny przypadek użycia. Na przykład w jaki sposób właściciel będzie logował się do innych usług, jak weryfikować cyfrowy podpis właściciela, jak wyświetlić jego zdjęcie profilowe, w jaki sposób utworzyć bezpieczny kanał komunikacji, itp. Przykładowy dokument DID opisujący sposób autentykacji właściciela identyfikatora did:example:123456789abcdefghi
w sekcji authentication
:
{
"@context": [
"https://www.w3.org/ns/did/v1",
"https://w3id.org/security/suites/ed25519-2020/v1"
]
"id": "did:example:123456789abcdefghi",
"authentication": [{
"id": "did:example:123456789abcdefghi#keys-1",
"type": "Ed25519VerificationKey2020",
"controller": "did:example:123456789abcdefghi",
"publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
}]
}
Posiadany identyfikator można dowolnie rozszerzać o nowe informacje pod sub-adresami. Przykładowo did:example:123456789abcdefghi<strong>/avatar</strong>
powiązany z dokumentem DID może przechowywać zakodowaną graficzną reprezentację zdjęcia profilowego. Modyfikacja dokumentu ze zdjęciem profilowym, automatycznie zmieniłaby wyświetlane zdjęcie we wszystkich portalach, który uzyskały do niego dostęp. To tylko jeden prosty przykład zastosowania, jakie umożliwia decentralizacja identyfikatora.
Nie zagłębiając się w szczegóły zdecentralizowanej tożsamości przejdziemy do przykładu funkcjonowania nowego konceptu w praktyce.
Ethereum Name Service
ENS to rozproszony rejestr nazw oparty o sieć Ethereum, którego głównym celem jest tłumaczenie czytelnych nazw identyfikatorów (np. chainkraft.eth, jan.eth) na identyfikatory sieci blockchain (adres portfela, hash zasobu w sieci IPFS, itd.). Zamiast przesłać tokeny na adres 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
można wykorzystać adres chainkraft.eth
. Funkcjonalność ENS jest zbliżona do funkcjonalności systemu DNS, jednak architektura rozwiązanie jest zupełnie inna ze względu na wykorzystanie sieci blockchain. Hierarchiczność identyfikatorów również została zaimplementowana. Właściciel głównej domeny, może tworzyć dowolne subdomeny (np. blog.chainkraft.eth, shop.chainkraft.eth, itp.) i nawet przypisywać do nich różnych właścicieli.
Aktualnie dwie popularne przeglądarki internetowe posiadają natywne wsparcie protokołu ENS: Opera oraz Brave. Jeśli korzystacie z jednej z tych przeglądarek, możecie sprawdzić działanie ENS w praktyce wchodząc na zdecentralizowany blog twórcy Ethereum vitalik.eth. W przeciwnym razie zawsze można skorzystać z tradycyjnej domeny .link
zarządzaną przez DNS vitalik.eth.link.
ENS to stosunkowo nowy protokół wokół którego rośnie cały ekosystem. Na dzień dzisiejszy istnieje około 350 000 kont użytkowników, którzy zarejestrowali ponad 800 000 domen. Protokół nie ogranicza się wyłącznie do obsługi sieci Ethereum.
Podsumowanie
Obecnie Blockchain przeważnie kojarzy się z kryptowalutami, spekulacjami, czy kosztownymi hackami projektów DeFi. Jednak w cieniu tych wydarzeń, powoli rodzi się nowy ekosystem. O Web3 w następnych latach na pewno będziemy słyszeć coraz częściej.
Jesteśmy jednak na tak wczesnym etapie rozwoju technologii, że nie każda aplikacja w trendzie Web3 ma sens, szczególnie jeśli weźmiemy pod uwagę takie czynniki jak skalowalność, koszty transakcyjne, czy user experience.
Jesteśmy jednak na początku interesującej drogi do stworzenia lepszego internetu.