Autor oryginalny: Visa, Andrew Beams, Catherine Gu

Oryginalna kompilacja: PANews, Jordania

Wraz ze wzrostem wykorzystania technologii blockchain rośnie zapotrzebowanie na doskonałe doświadczenia użytkowników i produkty obsługujące rzeczywiste przypadki użycia. Visa zapewnia już klientom (zwłaszcza młodym klientom) wygodne automatyczne odliczenia i regularne automatyczne płatności, jednak nadal wydaje się trudne wdrożenie tej funkcji na blockchainie takim jak Ethereum. Ethereum to sieć blockchain o największym wolumenie płatności, a w przypadku niektórych typów portfeli cyfrowych on-chain regularne automatyczne pobieranie płatności z kont użytkowników jest nadal „dużym projektem”.

W tym kontekście Visa zaproponowała koncepcję abstrakcji konta (AccountAbstraction) i wykorzystała ją do zbadania, w jaki sposób można wykorzystać inteligentne kontrakty do wdrożenia zautomatyzowanych, programowalnych płatności, a także do zademonstrowania, jak pisać inteligentne kontrakty dla portfeli hostowanych samodzielnie, które obsługują automatyczne wypłaty środków .

Użyj scenariuszy przypadków

Rozważmy scenariusz: załóżmy, że dzisiaj jest 25 lutego i Alicja wyjeżdża na wakacje do Alp. Wraca 10 marca, ale musi spłacić kredyt hipoteczny, rachunki za telewizję kablową i media przed 5 dniem każdego miesiąca jest to, że nie ma dość pieniędzy, aby zapłacić przed udaniem się na urlop, ale będzie miała dość pieniędzy, gdy otrzyma wypłatę 1 marca. Teraz pojawia się pytanie, w jaki sposób Alicja może cieszyć się wakacjami, nie zalegając z płatnościami?

Tak, odpowiedź brzmi – automatyczne odliczenie. W rzeczywistości, jeśli Alicja ma konto bankowe, automatyczne odliczenie jest bardzo prostym procesem. Wystarczy, że powiąże swoje konto debetowe z kartą Visa. Jednak na blockchainie wykonanie takiej operacji nie jest takie proste. Jednak jako nowa technologia warto poznać rozwiązania typu blockchain smart kontrakt dla powyższych scenariuszy.

Zanim przejdziemy do sedna, najpierw zrozummy koncepcję konta Ethereum. Obecnie w sieci Ethereum istnieją dwa rodzaje kont:

1. Konta zewnętrzne, często nazywane „kontami użytkowników”

2. Konta kontraktowe (ContractAccounts), często nazywane „inteligentnymi kontraktami”

Konta użytkowników kontrolowane przez klucze prywatne mogą wysyłać transakcje, a inteligentne kontrakty wymagają do wykonania powiązanego kodu, ale inteligentne kontrakty nie mogą „sami inicjować transakcji”, ponieważ transakcje muszą zawsze pochodzić z konta użytkownika i być podpisane przez użytkownika. Transakcje te obejmują: Strefę Ethereum Prosty transfer tokenów pomiędzy kontami użytkowników w łańcuchu bloków może wywołać serię bardziej złożonych transakcji, które wykonują wiele różnych działań za pośrednictwem inteligentnych kontraktów.

Jak zatem wdrożyć automatyczne płatności na blockchainie Ethereum?

Przyjrzyjmy się sytuacji Alicji.

Załóżmy, że Alicja ma konto użytkownika w łańcuchu bloków Ethereum i wpłaca na nie swoją pensję, a następnie wykorzystuje ją do płacenia kredytu hipotecznego, rachunków za telewizję kablową i mediów. Dzisiaj, aby zapłacić jej rachunek, należy zainicjować transakcję w celu przeniesienia tokenów z jej „konta będącego własnością zewnętrzną” na konto użytkownika odbiorcy.

Mówiąc bardziej szczegółowo, „konto będące własnością zewnętrzną” Alicji zawiera klucz/klucz prywatny, który zna tylko ona i tylko ona może użyć tego klucza prywatnego do wygenerowania podpisu algorytmu podpisu cyfrowego krzywej eliptycznej (ECDSA), który jest ważny do tworzenia kluczowych transakcji. Jeśli jednak Alicja pojedzie na wakacje, kto wygeneruje ten podpis i utworzy transakcję uiszczenia opłaty?

Obecnie istnieje rozwiązanie umożliwiające Alicji korzystanie z portfela depozytowego, który umożliwia osobie trzeciej kontrolowanie klucza prywatnego Alicji. Innymi słowy, Alicja ufa stronie trzeciej w kwestii ochrony jej środków, a kiedy chce dokonać transakcji lub wysłać środki na wyznaczone konto, zaletą tego jest to, że Alicja może wykorzystać depozytariusza środków do wygenerowania podpisów wymaganych do utworzenia transakcji dla zaplanowanych automatycznych transakcji. płatności, ale wadą jest to, że musi całkowicie zaufać tej stronie trzeciej.

A co, jeśli Alicja nie chce korzystać z portfela opiekuńczego, ponieważ obawia się ryzyka, ale zamiast tego korzysta z portfela opiekuńczego i planuje płatności automatyczne? Następnie wprowadźmy kolejną koncepcję - Abstrakcję konta (AccountAbstraction).

Co to jest abstrakcja konta?

Abstrakcja kont to propozycja, która próbuje połączyć konta użytkowników i inteligentne kontrakty w nowy typ konta Ethereum, sprawiając, że konta użytkowników zachowują się jak inteligentne kontrakty. W przyszłości abstrakcja kont pozwoli nam zaprojektować proste rozwiązanie dla płatności automatycznych i będzie miała większą elastyczność w weryfikacji transakcji w łańcuchu, takich jak:

1. Konta wielu właścicieli można włączyć poprzez weryfikację wielu podpisów.

2. Zezwól na używanie podpisów postkwantowych do weryfikacji transakcji.

3. Zezwól na tzw. konto publiczne, na którym każdy może dokonywać transakcji, eliminując całkowicie weryfikację podpisu.

Zasadniczo abstrakcja konta umożliwia programowalną ważność w celu weryfikacji i potwierdzenia dowolnej transakcji typu blockchain. Transakcje oparte na protokole Ethereum nie muszą w całości opierać się na zakodowanych na stałe warunkach ważności, ale niektóre warunki można zapisać w „niestandardowy” sposób. do inteligentnego kontraktu na koncie.

Co więcej, abstrakcja konta obsługuje płatności automatyczne, ponieważ możliwe jest skonfigurowanie reguł walidacji, które nie obejmują już weryfikacji podpisu. Zobaczmy, jak to zrobić.

Konta delegowalne – wykorzystanie abstrakcji kont do wdrożenia funkcji automatycznych płatności w sieci Ethereum

Rozwiązanie do automatycznych płatności Visa Ethereum polega na wykorzystaniu abstrakcji konta i stworzeniu nowego rodzaju umowy dotyczącej konta – konta delegowanego. Główną ideą jest rozszerzenie programowalnych zasad ważności transakcji o wstępnie zatwierdzone listy dozwolonych. Mówiąc najprościej, abstrakcja konta może delegować automatyczne operacje płatnicze inicjowane przez konta użytkowników do wstępnie zatwierdzonych inteligentnych kontraktów dotyczących płatności automatycznych.

Po pierwsze, sprzedawcy muszą wdrożyć inteligentne umowy dotyczące płatności automatycznych. Gdy użytkownik z delegowanym kontem odwiedzi witrynę sprzedawcy, zobaczy prośbę o zatwierdzenie płatności automatycznej – podobnie jak w przypadku faktur Visa. W tym momencie użytkownik może zobaczyć, że umowa automatycznej płatności będzie wykonywała operacje w imieniu użytkownika, a parametry można ustawić zgodnie z potrzebami użytkownika, np. użytkownik może zostać obciążony tylko raz w miesiącu, a opłata nie może przekroczyć ustawioną kwotę maksymalną itp. A co najważniejsze, ponieważ jest to inteligentna umowa, użytkownicy mogą mieć pewność, że umowa o płatności automatyczne nie zostanie wykonana w inny sposób.

Jeżeli użytkownik wyrazi zgodę na zatwierdzenie płatności automatycznych, portfel doda adres umowy płatności automatycznych do listy dozwolonych umów dla konta delegowanego użytkownika.

Następnie sprzedawca inicjuje płatność, wywołując funkcję ładowania umowy płatności automatycznej. Umowa o płatność automatyczną spowoduje, że konto użytkownika zainicjuje transakcję płatności typu push. Transakcja ta będzie transakcją ważną, ponieważ została wcześniej dodana do listy dozwolonych.

Oprócz płatności cyklicznych rozwiązanie może spełniać także różne zastosowania w świecie rzeczywistym. Rozwiązanie konta powierzonego Visa można w przyszłości rozszerzyć nawet o usługi takie jak odzyskiwanie kont osób trzecich.

Implementacja abstrakcji kont w StarkNet

Ponieważ Ethereum nie obsługuje jeszcze wyodrębniania kont, Visa wdrożyła rozwiązanie dotyczące delegowanych kont w StarkNet, łańcuchu bloków warstwy 2 zbudowanym na blockchainie Ethereum w celu zwiększenia przepustowości transakcji, a także inne funkcje poprawiające podstawowe możliwości warstwy rozliczeniowej Blockchain, opracowane przez startup kryptowalutowy StarkWare. Model konta StarkNet to to, co Visa nazywa obecnie abstrakcją konta. Konto abstrakcyjne sprawdza, czy transakcja pochodzi z podanego adresu.

W przypadku konkretnych kont, jeśli ktoś wyśle ​​token na konto użytkownika, następuje interakcja z umową tokenową, a umowa tokenowa sprawdza, czy tożsamość (klucz) użyta do podpisania transakcji dla tego przelewu jest zarejestrowana jako aktualny właściciel tokena. W przypadku kont abstrakcyjnych, jeśli ktoś wyśle ​​token na Twoje konto, wejdziesz także w interakcję z umową o token, która sprawdzi, czy tożsamość (umowa) użyta do wykonania tego przelewu jest zarejestrowana jako aktualny właściciel tokena By. W przypadku rachunków abstrakcyjnych liczy się to, kto (adres) realizuje transakcję, a nie sposób (podpis) transakcji.

Dzięki modelowi konta StarkNet Visa może wdrożyć rozwiązanie dotyczące delegowanych kont, które umożliwia automatyczne płatności za portfele hostowane samodzielnie.

podsumowując

Jako jedna z największych sieci płatniczych na świecie, Visa aktywnie poszukuje innowacyjnych rozwiązań w zakresie inteligentnych kontraktów, aby promować programowalną walutę i płatności.

Automatyczne płatności to jedna z podstawowych funkcji, których brakuje istniejącej infrastrukturze blockchain, ale wykorzystanie koncepcji abstrakcji kont może zapewnić portfelom hostowanym na własny rachunek możliwości zautomatyzowanych płatności cyklicznych, a tym samym wprowadzić do łańcucha blockchain inne aplikacje ze świata rzeczywistego wykraczające poza automatyczne płatności tworzenie lepszego doświadczenia użytkownika dla tradycyjnych kanałów płatności i nowych kanałów płatności.