Ethereum | Architektura zdecentralizowanego komputera

6 170

Holistyczne spojrzenie na to czym jest i jak działa Ethereum. Dlaczego sieć pełni tak istotną rolę w rozwoju całego ekosystemu aktywów cyfrowych?

Wstęp

Ethereum wystartowało w 2015 roku. Jest drugą co do wielkości kryptowalutą pod względem kapitalizacji rynkowej po bitcoinie. Kapitalizacja rynkowa wskazuje, jak bardzo ludzie wierzą w Ethereum. Co sprawia, że ​​ta sieć jest tak wyjątkowe?

W tym artykule omówimy różnice pomiędzy Ethereum a Bitcoinem, podstawowe cechy Ethereum, kwestie smart kontraktów i kilka innych cech. Spróbujemy udzielić odpowiedzi na pytanie, dlaczego ten blockchain jest tak rewolucyjny? W jaki sposób Ethereum położyło podwaliny pod naszą cyfrową przyszłość?

UWAGA: Informacje uwzględnione w niniejszym artykule odzwierciedlają stan sieci Ethereum przed ostateczną zmianą konsensusu z proof-of-work i proof-of-stake.

Kalkulator kontra komputer

W przeciwieństwie do Bitcoina, Ethereum nie zostało stworzone jako cyfrowe pieniądze. Twórcy sieci postanowili raczej zbudować globalny, zdecentralizowany komputer. Od chwili uruchomienia sieci, deweloperzy mogli tworzyć na jej bazie własne aplikacje. Trudno przecenić, jak bardzo ważne jest to w kontekście innowacji blockchain. Aby nadać sprawie stosowny kontekst, możemy pomyśleć o Bitcoinie jako o ogromnym kalkulatorze. Gdy dochodzi do transakcji, moneta odejmowana jest z salda konta, które ją wysłało i dodawana do konta, na które została skierowana. To praktycznie wszystko, co dzieje się na blockchainie Bitcoina.

Bitcoin jest niezwykle innowacyjny ze względu na swoją zdolność do zapewniania zaufania bez potrzeby udziału organu centralnego, a nie ze względu na zdolność do procesowania obliczeń. Ethereum jest jednak niczym ogromny komputer. Zapewnia moc obliczeniową i pamięć masową do uruchamiania aplikacji. Pomyśl o tym, o ile bardziej zaawansowany jest komputer w porównaniu z kalkulatorem.

„Bardziej zaawansowany” to mało powiedziane. Funkcjonalność Ethereum jest taka sama jak w przypadku Bitcoina. Ethereum rozszerza supermoce komputera na blockchain. Aplikacje zbudowane na Ethereum są w stanie wykorzystać podstawowe zalety blockchainów: decentralizację, bezpieczeństwo i otwartość. Wszystko – od narzędzi finansowych i gier wideo po złożone bazy danych – działa już na blockchainie Ethereum. Jego przyszły potencjał jest ograniczony jedynie wyobraźnią programistów. Ekscytujące, prawda?

Czym w ogóle jest komputer?

Typowy komputer składa się z trzech głównych komponentów: warstwy sprzętowej (hardware), systemu operacyjnego (OS) i oprogramowania/aplikacji. Kiedy myślisz o takiej strukturze, łatwo połączyć te wszystkie elementy jednym słowem – „komputer”. Rozróżnienie poszczególnych elementów jest jednak niezwykle ważne. Wyjaśnijmy więc, co je wyróżnia i jak wchodzą ze sobą w interakcje.

Definicje

Sprzęt jest infrastrukturą zaplecza, która umożliwia działanie komputerów. Jest jak kręgosłup każdego komputera. Zasadniczo wykonuje zakulisową pracę, przetwarzając i przechowując dane.

System operacyjny (OS) jest interfejsem między oprogramowaniem a sprzętem i łączy to wszystko razem. Deweloperzy, którzy tworzą aplikacje, opierają się na systemach operacyjnych. Każdy komputer ma zwykle własny system operacyjny, aczkolwiek na nowym komputerze użytkownik może zainstalować dowolny, nowy system.

Oprogramowanie to część komputera, za pomocą której użytkownik wchodzi z nim w interakcję. Kiedy myślisz o „komputerze”, prawdopodobnie nie to przychodzi ci na myśl. Możesz pomyśleć o aplikacjach, takich jak Google Chrome, Microsoft Word lub Spotify. Są one pobierane na Twój komputer i nie są natywne dla niego samego.

UWAGA: słowa „oprogramowanie” i „aplikacja” są często używane zamiennie i na potrzeby niniejszego opracowania oznaczają to samo.

Aby to wszystko powiązać razem, podczas interakcji z aplikacją wysyła ona instrukcje do systemu operacyjnego komputera. Twój system operacyjny tłumaczy następnie instrukcje na język zrozumiały dla komputera. Następnie twój sprzęt postępuje zgodnie z tymi instrukcjami i wykonuje określone zadanie.

AWS i rozwój outsourcingu pamięci masowej/komputera

Ponieważ Internet staje się coraz bardziej powszechny, firmy stają się coraz bardziej zorientowane na technologię. Na początku tej transformacji firmy, które chciały przekonwertować swoje procesy na komputery, musiały płacić za możliwość przechowywania i przetwarzania komputerowego (czyli sprzęt). Firmy zorientowane na technologię musiały wydawać dużo pieniędzy tylko na uruchamianie procesów. Spowolniło to innowacyjność i stworzyło OGROMNĄ barierę wejścia dla mniejszych firm. To był dość duży problem.

Wszystkie wielkie problemami rodzą wielkie możliwości ich rozwiązywania. Wiele firm próbowało rozwiązać określone problemy poprzez outsourcing przechowywania i przetwarzania danych. W końcu kilku gigantów technologicznych, takich jak AWS i Oracle, wyszło przed szereg i zapoczątkowało erę „przetwarzania w chmurze”.

Firmy, które chciały skorzystać z zalet technologii, nie musiały już przeznaczać mnóstwa zasobów na podstawowe prace związane z obsługą i utrzymaniem infrastruktury, która jest dostarczana z technologią. Aspekt „sprzętowy” uruchamiania wielu aplikacji nie był już problemem. Co więcej, ci potężni dostawcy infrastruktury chmurowej są kompatybilni (za pośrednictwem witryn internetowych) z popularnymi systemami operacyjnymi, takimi jak MacOS i Windows. Załatwiają zatem problem dwóch z trzech komponentów komputera: sprzętu i systemu operacyjnego.

Dzięki temu firmy mogą skupić się na trzecim komponencie komputerów: aplikacjach. Mogą poświęcić swój czas na tworzenie świetnego oprogramowania i po prostu zlecić na zewnątrz całą podstawową pracę. W dzisiejszych czasach istnieje mniej barier wejścia dla firm, które chciałyby być całkowicie zorientowane na technologię.

W rezultacie powyższego, innowacje w prawie wszystkich branżach następują szybciej. Ponadto ludzie mogą próbować zbudować coś samodzielnie, przy minimalnym ryzyku, ponieważ nie muszą przeznaczać mnóstwa pieniędzy na sprzęt.

Podsumowując: w tej chwili mamy dostawców usług w chmurze (takich jak AWS), którzy pozwalają na minimalizację wydatków na sprzęt, pozostając kompatybilne z popularnymi systemami operacyjnymi. Firmy mogą skupić się na tworzeniu świetnych aplikacji.

W czym problem?

Jako, że tak wiele firm polega na tych platformach i buduje na nich swoje rozwiązania, przed dostawcami tych usług stoi wiele wyzwań. Taki dostawca usług może upaść, może być stronniczy i z pewnością stanowi niepożądany, pojedynczy punkt awarii.

Ethereum i zdecentralizowane aplikacje

Pamiętaj, że komputer składa się z trzech części: aplikacji, systemu operacyjnego i sprzętu. Ethereum działa jak zdecentralizowany system operacyjny. Podobnie jak Bitcoin, Ethereum przydziela pracę obliczeniową górnikom w sieci. Dlatego warstwa sprzętowa sieci jest zdecentralizowana.

Co z oprogramowaniem, które wysyła mu wskazówki? Jak prezentuje się warstwa aplikacji zdecentralizowanego komputera?

Zdecentralizowane aplikacje (dApp)

Komputery otrzymują instrukcje, które wysyłają im zdecentralizowane aplikacje (inaczej „dApps”). dApp jest dokładnie tym samym, co „normalna aplikacja” z tą różnicą, że jest zdecentralizowana (ponieważ jest zbudowana na blockchainie).

Podobnie jak „normalna” aplikacja, dApp ma kod front-end i back-end. Kod front-endowy jest tym, co Ty i ja widzimy, gdy używamy dowolnej aplikacji. Na przykład, gdy klikamy, aby umieścić utwór w kolejce w Spotify, wchodzimy w interakcję z kodem front-endu.

Kod back-endowy działa za kulisami. Kiedy klikamy, aby umieścić utwór w kolejce, kod zaplecza Spotify wyszukuje utwór w swojej bazie danych, pobiera utwór i umieszcza go w kolejce celu odtworzenia w następnej kolejności.

Front-end zdecentralizowanej aplikacji będzie wyglądał tak samo jak w normalnej aplikacji. Ale zamiast logować się za pomocą nazwy użytkownika i hasła, logujesz się za pośrednictwem swojego portfela kryptowalutowego. Poza tym wrażenia użytkownika będą takie same. Tak jak możemy używać Spotify bez faktycznego zrozumienia, jak to działa, możemy używać dApp bez faktycznego zrozumienia, jak ona działa.

dApp działa tak:

zdecentralizowane aplikacje


Tym różnią się aplikacje od dApp. Zwykłe aplikacje uruchamiają swój kod back-endowy na serwerach, takich jak AWS. Zdecentralizowane apliacje uruchamiają go w sieciach blockchain, takich jak Ethereum. Back end zdecentralizowanej aplikacji jest również nazywany „smart kontraktem”.

Smart kontrakty

Technicznie rzecz biorąc, smart kontrakt to kod w łańcuchu bloków.

Kontrakty

Kontrakt to zbiór zobowiązań między dwoma podmiotami. Coś w stylu: jeśli A zrobi X, to B zrobi Y. W tradycyjnej umowie dwie strony podpisują dokument. Ale tak naprawdę nie ma ścisłych gwarancji, że którakolwiek ze stron spełni swoje obietnice. Rzeczywistym celem podpisania umowy jest wyrażenie zgody na to, że każda ze stron poniesie określone przez prawo konsekwencje w przypadku niewywiązania się ze swoich obietnic. Z tego powodu obie strony mogą mieć pewien stopień pewności, że druga strona dotrzyma swoich obietnic, aczkolwiek nadal mogą one zostać złamane.

Smart kontrakt działa na podobnej zasadzie, aczkolwiek realizacja zawartych w nim obietnic i zobowiązań zostaje zautomatyzowana. Aby zilustrować, jak to działa, rozważmy przykład automatu ze słodyczami. Taki automat jest jak prawdziwy smart kontrakt. Obiecuje nam, że jeśli włożymy trochę pieniędzy, to wyda nam chipsy. To, co sprawia, że ​​automat jest „inteligentny”, to fakt, że automatyzuje on cały aspekt wydawania nam chipsów.

Taka „inteligentna umowa” to zestaw warunków, które są realizowane, gdy dostarczasz odpowiednie dane wejściowe. Automat spełnia swoją obietnicę wydania przekąski, gdy dana osoba zapewni odpowiedni wkład pieniędzy. Inteligentny kontrakt jest podobny do naszego automatu, ale zamiast dawać nam paczkę chipsów, wykonuje określony blok kodu.

W automacie możesz wybierać różne przedmioty, które chciałbyś kupić. Podobnie inteligentna umowa zawiera wiele bloków kodu (czyli funkcji). To użytkownik wybiera, której funkcji chce użyć. Nie ma jednak nic za darmo.

Korzystając z automatu, płacisz nie tylko za produkt, który ma z niego „wypaść”. Płacisz również za funkcjonowanie automatu. Podobnie, w przypadku smart kontraktów, musisz ponieść opłatę za gaz.

Opłaty za gaz

Całkowite wymiar zużycia gazu obliczany jest proporcjonalne do zasobów obliczeniowych potrzebnych do realizacji danego smart kontraktu.

Cena gazu w Ethereum zachowuje się generalnie tak samo jak w prawdziwym życiu – zmienia się w zależności od podaży i popytu. Gdy w sieci jest większy ruch, czyli na gaz jest popyt, cena rośnie (i odwrotnie).

Smart kontrakty są niezmienne i interoperacyjne. Oprócz decentralizacji te cechy sprawiają, że dApp są BARDZO atrakcyjne w porównaniu do zwykłych aplikacji.

Niezmienność

Smart kontrakty działają w sieci Ethereum i po wdrożeniu nie można ich zmienić. Ta cyfrowa umowa kontrolowana jest WYŁĄCZNIE przez jej kod, a NIE przez jakąś osobę lub firmę. To dobrze, ponieważ użytkownicy wiedzą, że założenia zaszyte w smart kontrakcie z pewnością nie ulegną zmianie. Dopóki ich dane wejściowe spełnią wymagania do korzystania z kontraktu, umowa zostanie wykonana (a obietnice zostaną spełnione). Oznacza to również, że deweloperzy muszą BARDZO starannie projektować swoje umowy.

Interoperacyjność

Interoperacyjne aplikacje mogą łatwo wchodzić w interakcje i komunikować się ze sobą. To zasadniczo zmienia sposób, w jaki programiści podchodzą do tworzenia nowych zdecentralizowanych aplikacji. Załóżmy, że jesteś programistą i chcesz budować na Ethereum. Interoperacyjność tego blockchaina pozwala na korzystanie z aplikacji już znajdujących się w sieci i budowanie na ich bazie kolejnych. Nie ma więc sensu próbować rozwiązać tego samego problemu, który rozwiązała już inna aplikacja.

W porównaniu z rzeczywistym światem jest to ogromna zmiana w sposobie działania oprogramowania i może implikować ogromne możliwości w zakresie innowacji! Obecnie każda aplikacja może (ale nie musi) być w stanie komunikować się z innymi aplikacjami.

Dzięki interoperacyjności ludzie mogą bezproblemowo budować i wchodzić w interakcje z innym kodem w łańcuchu bloków Ethereum, umożliwiając szybki rozwój ekosystemu. Zamiast spędzać czas na budowaniu tych samych rzeczy, co inne zespoły, projekty można cały czas rozwijać.

Podsumowanie tego, czego dowiedzieliśmy się o smart kontraktach

Smart kontrakty to programy, które są podstawą zdecentralizowanych aplikacji. Każdy może napisać i wdrożyć smart kontrakt w publicznym blockchainie (w tym przypadku blockchainie Ethereum), umożliwiając wszelkiego rodzaju innowacje.

Aktualne trendy, takie jak NFT, DeFi i DAO – które reprezentują nowe sposoby na budowanie własności w zdecentralizowanej sieci, lepsze systemy finansowe dla wszystkich oraz nowe sposoby na koordynację i współpracę między ludźmi – są zasilane przez smart kontrakty.

Smart kontrakty:

  • Potrafią zautomatyzować umowy i procesy
  • Nie zmieniają raz zdefiniowanych założeń
  • Mogą wchodzić ze sobą w interakcje i prowadzić do wielu innowacji

…wszystko w sposób zdecentralizowany poprzez blockchain! Dzięki temu smart kontrakty działają uczciwie, a zasady zawarte w umowie są przestrzegane.

Wiemy teraz, jak działa komputer, w jaki sposób sieć Ethereum replikuje komputer i co sprawia, że ​​zdecentralizowane aplikacje są niesamowite. Nie wyjaśniliśmy jednak do tej pory, jak naprawdę działa Ethereum.

Utrzymywanie stanu sieci i wykonywanie kodu

Współdzielony komputer

Ethereum możemy traktować jako „współdzielony komputer” działający w sieci komputerów. Implikuje to dwie rzeczy:

  • Sieć komputerów może dojść do porozumienia na podstawie dowolnych danych – na przykład danych dotyczących odczytu lub zapisu do prostego pliku tekstowego na Twoim laptopie.
  • Sieć komputerów może uruchamiać dowolny kod. Może symulować wykonywanie podstawowego kodu aplikacji/programów, tak samo jak komputer. Przykładem może być coś w rodzaju uruchamiania Google Chrome, Spotify, a nawet po prostu eksploratora plików. W Ethereum zazwyczaj nie są to tak duże i złożone programy, ale fragmenty kodu.

W swojej istocie Ethereum śledzi dwie rzeczy: stan i kod.

Konta (adresy)

Konta są w dużej mierze tym, co składa się na „stan” łańcucha bloków Ethereum.
Istnieją dwa rodzaje kont: konta zewnętrzne i konta kontraktowe. Konto zewnętrzne to konto należące do osoby. Konto kontraktowe to konto powiązane ze smart kontraktem.

Każde konto składa się z czterech danych:

  • Nonce: łączna liczba potwierdzonych transakcji wykonanych z danego konta
  • Saldo: Liczba ETH na koncie
  • StorageRoot: określenie, gdzie smart kontrakt przechowuje dane
  • CodeHash: określa, gdzie przechowywany jest kod, który uruchamia smart kontrakt.

Konta zewnętrzne i konta kontraktowe składają się z tego samego typu danych. Jednak storageRoot i codeHash kont zewnętrznych są puste. Adresy specyficzne dla smart kontraktów wykorzystują wszystkie cztery typy danych.

Kiedy mówimy o „stanie” łańcucha bloków Ethereum, tak naprawdę mówimy o danych powiązanych z tymi adresami. „Transakcja” to nie tylko wysyłanie ETH z jednego konta na drugie, ale także wysyłanie ETH i danych wejściowych w celu uruchomienia kodu smart kontraktów. W ten sposób transakcja jest tak naprawdę równoznaczna z każdą zmianą stanu łańcucha bloków. Smart kontrakty mogą zmienić stan blockchain, tj. salda innych kont oraz własne dane umowy w jej StorageRoot.

Dlaczego Ethereum jest ważne?

Jak powiedzieliśmy wcześniej, Bitcoin przyniósł światu ideę zdecentralizowanej waluty. Bitcoin to waluta cyfrowa, którą można przekazywać od jednej osoby do drugiej bez potrzeby ingerencji ze strony organu centralnego. To jest niesamowite… aczkolwiek obarczone pewnymi ograniczeniami.

Ethereum przynosi światu ideę zdecentralizowanego komputera. Dzięki smart kontraktom Ethereum stało się PLATFORMĄ blockchain. Przyszły potencjał Ethereum jest ograniczony jedynie wyobraźnią programistów.

Jak widać w ich funkcjonalności, podstawowy cel Ethereum różni się od Bitcoina. BTC został stworzony jako alternatywa dla walut narodowych i dlatego aspiruje do bycia środkiem wymiany i przechowywania wartości. Głównym celem ETH nie jest stworzenie alternatywnego systemu monetarnego, ale raczej ułatwienie działania inteligentnej umowy Ethereum i platformy zdecentralizowanych aplikacji (dApp).

Ethereum korzysta zasadniczo ze „zdigitalizowanego zaufania” Bitcoina i stosuje ją do własnych obliczeń. Oznacza to, że możesz zastąpić i zautomatyzować wiele sytuacji, w których zazwyczaj trzeba by było zaufać stronie trzeciej, aby zyskać gwarancję dotrzymania predefiniowanych warunków. Te procesy mogą być tańsze, szybsze i bardziej niezawodne, ponieważ do wykonania procesu używasz kodu, a nie ludzi.

DeFi

Na Ethereum powstaje wiele innowacyjnych projektów z różnych branż. Branża finansowa jest szczególnie dojrzała do innowacji. Ethereum zapoczątkowało nową erę finansów… „zdecentralizowanych finansów”, czyli DeFi. Tradycyjne finanse pozwalają ludziom pożyczać, inwestować i wymieniać pieniądze. Aby z tego skorzystać, musisz jednak zaufać wielu instytucjom (czyli pośrednikom). Pośrednicy dostają pieniądze za swoje usługi. Kiedy pośrednicy zawalają sprawę, cenę płacą ludzie, którzy im zaufali.

Większość funkcji finansowych można zautomatyzować dzięki smart kontraktom. W rezultacie możesz zarabiać więcej pieniędzy, jak również zapewnić większy wymiar zaufania. W jaki sposób? Nie polegasz już na bandzie żądnych pieniędzy pośredników. Polegasz na samo wykonywalnym kodzie.

Kod smart kontraktu w Ethereum nie może zostać zmieniony przez nikogo po jego wdrożeniu. Możesz mieć zatem pewność, że założenia kontraktu się nie zmienią.

Trzecia era Internetu

Ethereum jest czymś więcej niż tylko natywnym środowiskiem dla swoich aplikacji. Ethereum przyczynia się do rozwoju nowej ery internetu, ery web3.

Obecnie do większości działań w Internecie używamy scentralizowanych platform, np. Google, Apple, Facebook i Amazon. Wykorzystujemy je przede wszystkim do wyszukiwania informacji, do zakupów, do odbierania wiadomości. Bardzo im ufamy. W rezultacie firmy te mają DUŻO władzy.

Dzięki zdecentralizowanej formie platformy, zachęty mogą być szyte na miarę, by stworzyć Internet wspierany przez użytkowników, czyli web3. Ta epoka zasadniczo zmienia zasady, którymi kierują się aplikacje podczas interakcji z komputerami. Zmieni (i poprawi) sposób, w jaki zwykli ludzie korzystają z sieci. Gdzie jest haczyk?

Przy obecnej konstrukcji sieci, Ethereum może przetwarzać 15 transakcji na sekundę (TPS). Aby dać pewien kontekst, Bitcoin może obsłużyć około 7 TPS, a sieć VISA może obsłużyć około 1700 TPS. Obecne zapotrzebowanie na dokonywanie transakcji znacznie przewyższa możliwości sieci. W rezultacie powyższego koszty transakcji w Ethereum są absurdalnie wysokie.

Ethereum nie może stać na czele przyszłości sieci, dopóki nie zostaną wprowadzone określone ulepszenia. Nadchodzi Ethereum 2.0, które poprawi skalowalność, stopień zrównoważenia i bezpieczeństwo Ethereum poprzez szereg zmian.

Czekamy…

Źródła:

Przydatne linki:

Może Cię zainteresować:

Komentarze