Budowanie transparentnych doświadczeń Blockchain: abstrakcja konta a SKALE
Co to jest abstrakcja konta?
Abstrakcja konta to propozycja ulepszenia Ethereum (EIP), której głównym celem jest poprawa interakcji użytkowników z łańcuchem bloków. Propozycja skupiała się na wyeliminowaniu konieczności działania wyłącznie za pośrednictwem konta posiadanego przez podmiot zewnętrzny (EOA). Jako programista budujący w blockchain, jednym z kluczowych obszarów jest user experience (UX). UX staje się coraz ważniejszy, ponieważ branża stara się przyciągnąć uwagę użytkowników spoza Web3.
Podczas gdy abstrakcja kont zwróciła myśli programistów w kierunku, w jaki sposób można ulepszyć powyższe obszary, wdrożenie abstrakcji kont jest łatwym zadaniem; a większość wdrożeń nadal wymaga pewnego rodzaju EOA do zarządzania portfelami opartymi na inteligentnych umowach. Na szczęście możemy przyjrzeć się alternatywnemu rozwiązaniu abstrakcji kont, które pomaga osiągnąć cel, jakim jest poprawa doświadczenia użytkownika, a jednocześnie upraszcza pracę programisty.
Rozwiązanie alternatywne w SKALE
Jedną z najważniejszych decyzji, jakie podejmują dziś programiści, decydując się na przejście do przestrzeni blockchain, jest to, na jakiej sieci będą budować. Dzisiejsze opcje są w setkach, a sieci koncentrują się na różnych skalowalnych rozwiązaniach, aplikacjach i społecznościach. Decyzja o tym, gdzie budować, ma bezpośredni wpływ nie tylko na doświadczenia użytkowników aplikacji, które programiści chcą zbudować, ale także na doświadczenie programistów, jakie mają w okresie kompilacji, a także doświadczenie, jakie mają, gdy ich platforma rośnie i skaluje się do, miejmy nadzieję, tysięcy i miliony użytkowników.
SKALE Network to wielołańcuchowe rozwiązanie skalujące Ethereum, w którym każdy łańcuch SKALE w sieci działa z zerowymi opłatami za gaz, średnio 400 transakcji na sekundę z szczytami do 700 i dużymi limitami bloków gazowych wynoszącymi 268 milionów, co umożliwia więcej obliczeń na -łańcuch.
SKALE pozwala dziś programistom skupić się na tworzeniu niesamowitych aplikacji, gier i nie tylko, nie martwiąc się o skalowalność w przyszłości ani przeskakiwanie przez obręcze, aby zadowolić bardziej tradycyjną publiczność.
4 kategorie do rozważenia
Patrząc na abstrakcję kont w porównaniu do SKALE, jest kilka kluczowych obszarów, na których należy się skupić, aby pokazać, dlaczego SKALE jest rozwiązaniem dla Twojej dApp. Obszary te obejmują doświadczenie programistów, elastyczność, rozgrywkę i wdrażanie użytkowników.
1) Doświadczenie programisty
Tworzenie w web3 jest często szokiem dla nowych programistów. Istnieje pewna zmiana paradygmatu, w której programiści muszą nauczyć się umieszczać rzeczy w łańcuchu zamiast własnej bazy danych, oprócz radzenia sobie z takimi rzeczami, jak opłaty za gaz, potwierdzenia bloków i portfele dla swoich użytkowników.
Gdy programiści pracują nad rozwiązaniem tych problemów, złożoność ich kodu zaczyna rosnąć i często polegają na dodatkowych narzędziach i usługach innych firm, aby rozwiązać te problemy.
2) Elastyczność
Decyzje dotyczące architektury podejmowane podczas tworzenia nowego oprogramowania lub dodawania nowych funkcji mogą wprowadzać ograniczenia dotyczące pakietów, z których można korzystać, lub usług, do których można uzyskać dostęp, podczas gdy wymagania biznesowe mogą ograniczać koszty zewnętrzne lub czas potrzebny na poznanie nowej technologii podczas aktywnego rozwoju.
3) Rozgrywka/użyteczność
Rzeczywista rozgrywka lub użyteczność aplikacji jest prawdopodobnie najważniejszą rzeczą do rozważenia. Kiedy użytkownik po raz pierwszy siada, aby zagrać w grę lub skorzystać z aplikacji, chce, aby po prostu działała. Użytkownicy, zwłaszcza gracze, na ogół nie chcą zajmować się dwukrotnym kliknięciem, aby wykonać akcję, ani martwić się o pamiętanie o wysłaniu wszystkich swoich działań do usługi (blockchain lub w inny sposób) w celu faktycznego zapisania ich stanu.
4) Wdrażanie użytkownika
Wdrażanie użytkowników do korzystania z dApp jest trudną sprzedażą, gdy są oni zobowiązani do pobrania [nowego] portfela i/lub zdobycia tokenów gazu w określonej sieci blockchain. Dodaje to domyślnego tarcia, którego przeciętny użytkownik nie jest w stanie ominąć i często powoduje, że rezygnują z korzystania z aplikacji.
Podział abstrakcji konta a SKALE
Przykładowa gra, BranchRPG, zostanie użyta jako porównanie dla każdej z poniższych kategorii.
Wersja abstrakcji konta jest wdrażana w Mumbai Testnet firmy Polygon, a wersja SKALE jest wdrażana w sieci Chaos Testnet firmy SKALE. Wszystkie bezpośrednie porównania będą zawierały SKALE po lewej stronie i abstrakcję konta po prawej.
Wyświetl abstrakcję konta GitHub
Abstrakcja konta
Doświadczenie programisty
Wydaje się, że abstrakcja kont ma negatywny wpływ na doświadczenie programistów ze względu na zwiększoną złożoność kodu, możliwe dodanie usług stron trzecich oprócz rzeczywistego łańcucha bloków oraz konieczność przepracowania przez programistów złożonej propozycji abstrakcji kont, aby zrozumieć kompromisy, jakie są robiąc idąc tą trasą. Na pierwszy rzut oka w BranchRPG istnieje szereg różnych typów i obiektów, które różnią się od tradycyjnej transakcji. Ponadto nie ma bezpośredniego wysyłania transakcji, co wymaga od programistów zastanowienia się, jak prawidłowo obsługiwać logikę, która jest wykonywana poza kolejnością.
Elastyczność
BranchRPG była grą stworzoną w celu pokazania potęgi abstrakcji konta. Po wstępnym zapoznaniu się z kodem stało się oczywiste, że usunięcie abstrakcji konta będzie wymagało wprowadzenia kilku dużych zmian w grze, aby pozostała częściowo funkcjonalna. Wymagania obejmowałyby dodanie pewnego rodzaju obsługi portfela i dodanie wskazówek dla użytkownika, aby uzyskać tokeny gazu lub usługę zarządzania dystrybucją lub płatnościami za transakcje.
Rozgrywka
Rozgrywka oryginalnej wersji BranchRPG z abstrakcją konta nie jest zbyt przyjemna. Podczas gdy podstawowe kliknięcia przycisków są takie same; nic się nie dzieje, dopóki nie przestaniesz grać i ręcznie nie klikniesz wykonaj. Podczas pierwszej rozgrywki może się wydawać, że gra jest zepsuta lub tak naprawdę nic nie robi z powodu braku aktywności podczas uzupełniania wody lub podlewania ogrodu. Jedynym pozytywem, z którym radzi sobie gra, jest zmniejszone podpisywanie, które jest dostarczane z wieloma aplikacjami blockchain.
Włączanie użytkowników
W BranchRPG rozwiązanie do abstrakcji kont korzysta z biblioteki o nazwie userop.js firmy Stackup .
To rozwiązanie ułatwia użytkownikom połączenie się z grą i rozpoczęcie gry bez klikania jakichkolwiek przycisków lub pobierania jakichkolwiek dodatkowych plików. Jednak kompromisem są tutaj koszty zmienne. Decydując się na subsydiowanie transakcji użytkownika, dApp będzie musiał je zapłacić. Oznacza to, że im więcej masz użytkowników i im większa jest aktywność na blockchainie, tym więcej zapłacisz za każdą interakcję.
SKALE
Doświadczenie programisty
SKALE zapewnia znacznie inne doświadczenie programistyczne niż abstrakcja konta. Bez dodatkowych bibliotek lub kodu potrzebnego do podstawowych interakcji; budowanie na SKALE jest dużo prostsze. Deweloperzy mają możliwość korzystania z innych bibliotek do abstrakcji logiki lub korzystania z obsługiwanych usług stron trzecich, jeśli tak zdecydują, ale nie muszą zajmować się niestandardowym złożonym kodem lub zarządzaniem transakcjami, jak widać w wersji BranchRPG do abstrakcji kont.
Dodatkowo, jednym z problemów związanych z pierwotną wersją jest to, że transakcje występujące poza kolejnością będą mogły zostać przechwycone tylko podczas wykonywania wszystkich transakcji ze względu na mechanikę łączenia kont. SKALE usuwa tę złożoność i ułatwia programistom ukończenie podstawowej logiki.
Elastyczność
Elastyczność, jaką mają programiści podczas migracji aplikacji do SKALE, jest pokazana w tym przykładzie BranchRPG. Migracja z abstrakcji konta do SKALE dla tej aplikacji zajęła około 30 minut na wstępną reorganizację. Liczne opcje dostępne na etapie planowania obejmowały szereg różnych bibliotek, takich jak web3.js, ethers.js i viem; natomiast po konkretnej stronie SKALE decyzja o wykorzystaniu Proof of Work dla sFUEL Distribution lub kierowaniu użytkowników do Stacji sFUEL. Dodatkowo, po usunięciu abstrakcji konta, złożoność kodu została znacznie zmniejszona, co zostało omówione w sekcji DX.
Rozgrywka
Jak stwierdzono w przeglądzie, gdy gracze i użytkownicy rzeczywiście dostaną się do aplikacji; najważniejszym aspektem jest ich doświadczenie w interakcji z aplikacją. Po udanej migracji bazy kodu do SKALE, UX tej gry znacznie się poprawił. Dwie największe korzyści z tej migracji to obszary, które udało się uczynić niewidocznymi.
Pierwsza zmiana polega na tym, że bez płatnika transakcje nie muszą już być ustawiane w kolejce. Gdy tylko woda zostanie zebrana lub ogród zostanie podlany; transakcja jest natychmiast przekazywana do łańcucha w tle. W oryginalnej grze, gdy transakcje były umieszczane w kolejce, stan nie był zapisywany, dopóki użytkownik ręcznie nie wybrał wykonania wszystkich transakcji w kolejce. W wersji SKALE użytkownik stale aktualizuje i zapisuje swój stan, gdy tylko ułatwi on działanie w grze. Wzmocnienie UX dzięki tej zmianie polega na zmniejszeniu liczby działań użytkownika wymaganych na akcję. Wysyłając transakcje automatycznie, co można zrobić za pomocą SKALE, użytkownik po prostu gra w grę lub wchodzi w interakcję z aplikacją i nie musi martwić się o komponenty blockchain.
Druga zmiana związana z migracją do SKALE to szybkość aktualizacji danych na kliencie (czyli frontendzie). Wiele aplikacji opartych na łańcuchu bloków, w tym wersja gry BranchRPG do pobierania kont, ma dość długi czas aktualizacji. W przypadku abstrakcji konta klient nie zaktualizuje się, dopóki wszystkie transakcje nie zostaną wykonane i potwierdzone w łańcuchu. Oznacza to, że gracz może grać przez 5 minut, a jego wynik nie zmieni się, dopóki transakcje nie zostaną wykonane, kiedy to wynik/dane zostaną zbiorczo zaktualizowane o wszystkie wykonane akcje. Dzięki SKALE, gdy tylko każda akcja zostanie zainicjowana, klient zaktualizuje się po potwierdzeniu transakcji w łańcuchu. Zobacz poniższe filmy, aby porównać ostateczność transakcji między SKALE i Polygon.
Włączanie użytkowników
W wersji SKALE, ponieważ opłaty za gaz nie będą uiszczane przez pakietera; portfel powiązany z użytkownikiem musi otrzymać sFUEL (token gazu) w momencie rozpoczęcia gry, aby użytkownik mógł płacić za transakcje. Proof-of-Work (POW) to funkcja dostępna poprzez Łańcuch SKALE, która umożliwia wysłanie transakcji bez sFUEL. POW jest używany, gdy aplikacja otwiera się po raz pierwszy, aby pobierać środki z kranu na łańcuchu. Nie wymaga to żadnych podpisanych transakcji i odbywa się w niewidoczny sposób, dzięki czemu wdrożenie jest niezwykle płynne.
Dodatkowo ze SKALE nie ponosisz żadnych dodatkowych kosztów dzięki zerowej opłacie za gaz. Oznacza to, że nie ma znaczenia, ilu użytkowników dodasz do swojej gry, nie musisz martwić się o żadne opłaty transakcyjne.
Wyniki
Wniosek
Po przeniesieniu BranchRPG z abstrakcji konta do blockchaina SKALE i porównaniu side-by-side naprawdę nie trzeba się zastanawiać, że wersja SKALE okazała się lepszym produktem końcowym. Podczas gdy abstrakcja konta umożliwia programistom usunięcie złożoności, wydaje się bardziej jak bandaże na problem niż lekarstwo na jego całkowite rozwiązanie. Z mniejszą bazą kodu, zmniejszoną złożonością i znacznie większym doświadczeniem użytkownika, wersja SKALE BranchRPG pokazuje, co gry zbudowane na blockchainie mogą naprawdę zaoferować swoim użytkownikom.
Więcej info o SKALE https://skale.space
Programiści Dappsów zainteresowani wykorzystaniem SKALE w projekcie, mogą zgłaszać się do programu SKALE Innovator https://skale.network/innovators-signup
Dołącz do Discord P🇵🇱L: https://discord.gg/2xeJ7x7AXD
Dołącz do Twitter P🇵🇱L https://twitter.com/skalepoland
Dołącz do Telegram P🇵🇱L https://t.me/SKALE_PL
Dokumentację dotyczącą wdrażania Dapps na SKALE można znaleźć na Portalu dla programistów https://skale.network/docs/
***********************************************************************
O SKALE
SKALE to wielołańcuchowa sieć (multichain network) pozwalająca budować niezależne, bezpieczne, zdecentralizowane i wydajne blockchainy (Skale Chains), zgodnych z Ethereum. Takie podejście zostało opracowane, aby udostępnić środowisko do budowania Web3 gotowe przyjąć wielu użytkowników na całym świecie. Model kryptografii i bezpieczeństwa “pooled security” stosowany w SKALE jest szybki, bezpieczny i zdecentralizowany, umożliwiając programistom tworzenie ciekawych rozwiązań dla użytkowników końcowych, bez opłat za gaz i bez opóźnień. Modułowa i rozszerzalna platforma SKALE obejmuje funkcjonalność EVM, przechowywanie danych, komunikację międzyłańcuchową i możliwości uczenia maszynowego, ale jednocześnie jest otwarta i zaprojektowana tak, aby umożliwić programistom łatwe korzystanie z innych rozwiązań, w razie potrzeby. Architektura ta dodatkowo umożliwia aplikacjom działanie wyłącznie w oparciu o łańcuchy SKALE, bez scentralizowanych zależności.
SKALE Network to projekt open source z wieloma współpracownikami, w tym SKALE Labs. z siedzibą w San Francisco w Kalifornii. SKALE jest obsługiwana przez wielu czołowych walidatorów na świecie, którzy dostarczają te usługi w profesjonalny sposób. SKALE Network korzysta z tokena $SKL, który jest notowany na wielu giełdach CEX i DEX na całym świecie. Skale to platforma, która służy do budowy wielu rozwiązań aplikacyjnych pod potrzeby Web3.