10 czerwca autor protokołu RGB++ i założyciel CELL Studio Cipher, współzałożyciel DotSwap Lin, współzałożyciel Shell Finance Timxie i CMO TBC (Turingbitchain) NIGO byli gośćmi na Twitterze UTXO Stack, aby omówić, czy można zastosować model UTXO. narodziny nowego modelu ekologii Bitcoina.
UTXO Stack to modułowa platforma wydawania łańcuchów BTC L2 za pomocą jednego kliknięcia, która może pomóc twórcom projektów w wydawaniu Bitcoin L2 w oparciu o architekturę UTXO za pomocą jednego kliknięcia i natywnie integruje protokół RGB++. Jeśli chodzi o bezpieczeństwo, UTXO Stack zapewnia bezpieczeństwo L2, zastawiając aktywa Bitcoin, CKB i Bitcoin L1. Mówiąc prościej, możemy myśleć o UTXO Stack jako o stosie OP + warstwie EigenLayer ekosystemu Bitcoin.
UTXO Stack zakończyło zalążkową rundę finansowania, pod przewodnictwem ABCDE i SNZ Capital, z udziałem znanych instytucji, takich jak OKX Ventures, Waterdrip Capital, Matrixport, y2z Ventures, DRK Lab i UTXO Management, ramię venture capital firmy Spółka dominująca magazynu Bitcoin, BTC Inc.
Poniżej znajduje się kluczowa treść uporządkowana według dźwięku:
1. Jakie są zasadnicze różnice i zalety pomiędzy modelem UTXO a modelem konta pod względem filozofii projektowania, bezpieczeństwa, wydajności itp.?
Szyfr: Myślę, że główna różnica polega na tym, że istnieją pewne różnice między filozofią projektowania a wydajnością. Bezpieczeństwo może bardziej zależeć od mechanizmu konsensusu i ma niewiele wspólnego z modelem konta.
Jeśli chodzi o filozofię projektowania, UTXO w rzeczywistości bardziej koncentruje się na weryfikacji niż obliczeniach. Znamy model konta Ethereum Pisząc program lub wysyłając transakcję, nie znasz wyniku transakcji. Wysyłasz tylko akcję lub wywołanie funkcji transakcja to Nie poznasz wyniku, dopóki nie zostanie on spakowany w bloki.
Typowym przykładem jest to, czy zakładając, że masz na koncie tylko 0,1 ETH, możesz wysłać transakcję w celu przelewu 0,2 ETH? Tak, możesz go wysłać, ale po tym jak transakcja trafi do puli transakcyjnej, może zostać spakowana i zostanie zwrócony błąd, ponieważ nie masz aż tak dużo pieniędzy, ale opłata za gaz i tak zostanie potrącona. Jeśli jednak zdarzy się, że ktoś przeleje kwotę na Twoje konto w tym samym czasie, gdy ją wysyłasz, przez co saldo Twojego konta przekroczy 0,2 ETH, wówczas Twoja transakcja zostanie pomyślnie zrealizowana i oczywiście opłata za gaz zostanie odjęta.
Jednak w przypadku modelu UTXO transakcja nie może zostać wysłana, ponieważ na koncie nie ma wystarczającej ilości środków i nie można wygenerować wystarczającej ilości danych wejściowych. Dlatego w modelu UTXO nie ma takiego stanu jak niepowodzenie transakcji. Ma ona tylko dwa stany: powodzenie transakcji lub niepowodzenie wysłania, czyli tzw. niepowodzenie transakcji oznacza, że weryfikacja się nie powiedzie, a opłata manipulacyjna nie będzie odliczony. UTXO uważa, że blockchain jest maszyną weryfikacyjną, a nie maszyną obliczeniową, która wykorzystuje model konta, kiedyś nazywana komputerem świata. Jest to maszyna do obliczeń, co stanowi zupełnie inną filozofię projektowania.
Istnieje również bardzo duża różnica między nimi pod względem wydajności. UTXO wyraźnie wskazuje, który stan był wcześniej używany, następnie niszczy go i aktualizuje do nowego stanu. Kiedy Ethereum wywołuje funkcję, nie wie, do których stanów uzyska dostęp przed wywołaniem, więc może poradzić sobie tylko z najgorszym scenariuszem, to znaczy bez wstępnego przetwarzania wszystkich stanów. Dlatego każda transakcja w Ethereum może być realizowana wyłącznie seryjnie. Zwykły komputer stacjonarny ma procesor z co najmniej sześcioma rdzeniami i 12 wątkami, ale w przypadku standardowego EVM nadal jest on wykonywany w jednym wątku. UTXO jest inne. UTXO jest naturalnie równoległe. Wszystkie transakcje mogą automatycznie rozróżniać transakcje powodujące konflikt. Nawet transakcje sprzeczne nie zostaną przesłane do puli transakcji. Dlatego też wydajność łańcucha bloków UTXO jest znacznie wyższa niż w przypadku modelu konta. . Oczywiście istnieje teraz narracja zwana równoległym EVM, która chce w jakiejś formie rozwiązać ten problem, ale z obecnego opisu każdy może również zdać sobie sprawę, że zasadniczo nie da się tego rozwiązać.
Tim Xie: Zgadzam się bardzo z tym, co właśnie powiedział Cipher: „Model UTXO Bitcoina jest bardziej skoncentrowany na weryfikacji, a model konta Ethereum bardziej koncentruje się na obliczeniach”. Podczas DeFi Summer dokonamy kilku zamian, a opłata za gaz w Ethereum będzie bardzo wysoka. Chociaż Ethereum ma większą prędkość generowania bloków, większe bloki i lepszą wydajność niż Bitcoin, Ethereum ma w rzeczywistości większe zapotrzebowanie na ekspansję. Bitcoina. Dlaczego? Powodem jest to, że Ethereum jest modelem obliczeniowym. Kiedy gramy w DeFi, 98% płaconych przez nas opłat za gaz może zostać wydane na obliczenia. Koszt weryfikacji, propagowania i przechowywania stanu konta jest w rzeczywistości bardzo niewielki. Bitcoin to sieć weryfikacyjna, która nie wykonuje obliczeń, więc udzielamy pożyczek lub zamieniamy się na drugiej warstwie Bitcoin. W tym samym scenariuszu opłata manipulacyjna jest w rzeczywistości tańsza niż w przypadku Ethereum.
Drugim jest współbieżność. Dlaczego szyfr EVM właśnie to bardzo jasno wyjaśnił? Jaką różnicę przyniesie to w biznesie? Udzielając pożyczek w Ethereum, musisz zdeponować depozyt, zanim będziesz mógł pożyczyć, ponieważ logika biznesowa jest taka, że musisz mieć zabezpieczenie i musisz poczekać, aż transakcja hipoteczna zostanie potwierdzona i status zostanie ustalony, zanim będzie można obliczyć wartość netto Twojego zabezpieczenia i progów likwidacji, pozwalających pożyczyć pieniądze, to wszystko jest seryjne. UTXO może wykonywać współbieżność i możemy maksymalnie skompresować wszystkie transakcje, co oznacza, że transakcje depozytowe i transakcje pożyczkowe użytkowników mogą być łączone w celu poprawy wydajności.
Z naszej perspektywy, używając modelu UTXO dla DeFi na Bitcoinie, końcowe wrażenia użytkownika nie są tak złe, jak ludzie sobie wyobrażają. Chociaż doświadczenie nie jest tak płynne, jak w przypadku aplikacji na Ethereum lub Arbitrum, nadal nie jest tak źle, nadal można z niego korzystać.
Lin: Pozwólcie, że zrobię uzupełnienie. Istniejąca technologia stale się rozwija. Myślę, że UTXO nie wykonuje obliczeń, może je również wykonywać. Na przykład ostatnio omawiany kod operacji Bitcoin OP_CAT, jeśli jest włączony, może zachować stan w UTXO Bitcoina. Jeśli usuniemy wszystkie natywne ograniczenia Bitcoina, możemy symulować niezliczone Ethereum w UTXO Bitcoina. Każde UTXO może znajdować się w stanie Ethereum, a następnie przechowywać dane i wykonywać w tym stanie, aby ten stan mógł być wywnioskować w dół, chociaż niekoniecznie zapewnia to pełną kompatybilność z EVM.
Myślę więc, że Bitcoin może również wykonywać obliczenia, a logika Bitcoin jest taka, że możesz otworzyć nowy wątek w dowolnym momencie i możesz w dowolnym momencie podzielić nowe UTXO. Nowe UTXO jest całkowicie oddzielone od oryginalnego UTXO Bitcoin Charakterystyka UTXO w informatyce.
Po dodaniu OP_CAT przyniesie kilka bardzo sprytnych scenariuszy aplikacji. Na przykład tokeny Ethereum ERC-20 będą utrzymywać listę, aby wiedzieć, które konta mają ile pieniędzy. Po dodaniu OP_CAT możemy robić podobne rzeczy na Bitcoinie, a może nawet lepiej niż Ethereum.
Wśród UTXO udostępnianie danych jest w rzeczywistości dużą nieznaną przestrzenią. Na przykład zbudowanie Porozumień (ograniczeń) wymaga jeszcze trochę czasu. Kiedy ta sprawa posunie się do przodu, może nastąpić przełom.
NIGO: Zawsze myślałem, że Ethereum zmieniło model UTXO Bitcoina w model konta, co w rzeczywistości jest typowym, zbędnym krokiem i zamienia system, który pierwotnie był zdolny do współbieżności, w system szeregowy. Ethereum przez wiele osób nazywane jest komputerem świata. Dlaczego górnicy na całym świecie mieliby obliczać zadanie obliczeniowe zwykłego człowieka? Proces ten pochłania dużo energii i jest bardzo kosztowny, ale nie przynosi żadnych wymiernych korzyści, a jedynie go opóźnia. ogólna wydajność. Po przejściu Ethereum na PoS górnicy (węzły) całej sieci stracili dynamikę ewolucyjną. Model UTXO zaprojektowany przez Satoshi Nakamoto jest naturalnie odpowiedni do wysokiej współbieżności i wysokiej wydajności. Wierzę, że więcej użytkowników Web3 dostrzeże potencjał modelu UTXO.
2. Czy to model UTXO powoduje, że Bitcoin nie ma możliwości inteligentnych kontraktów? Jeśli chcemy wdrożyć możliwości inteligentnych kontraktów w oparciu o model UTXO, jaki mechanizm jest powszechnie używany, aby to osiągnąć?
Szyfr: Z pewnością istnieje wiele sposobów wdrożenia możliwości inteligentnych kontraktów w oparciu o model UTXO. Pozwólcie, że przedstawię, jak CKB, które znam najlepiej, implementuje to.
CKB wprowadziło skrypt blokujący, który jest zgodny ze skryptem blokującym Bitcoina. Po wydaniu tego UTXO skrypt blokujący zostanie automatycznie wykonany. Zostanie on użyty jako dane wejściowe na podstawie danych w monitorze, a także bieżąca transakcja jako dane wejściowe do wykonania. Różnica między nim a skryptem blokującym Bitcoin polega na tym, że obsługuje on kompletną maszynę wirtualną zbudowaną w technologii Turing, zamiast bardzo ograniczonego środowiska skryptowego Bitcoin, więc na tym etapie odblokowywania jest kompletny w technologii Turing.
Jednocześnie CKB wprowadziło pole typu skryptu, które zostanie wykonane niezależnie od tego, czy jest to wejście, czy wyjście. Jest ono wykonywane raczej jako kategoria zasobu, czy też ten sam typ reprezentuje ten sam typ zasobu. Przykładowo, łączna liczba tokenów zamiennych pozostaje niezmieniona przed i po transakcji, a ilość i zawartość tokenów niezamiennych pozostaje niezmieniona przed i po transakcji, lub można to wykorzystać do ustalenia, kto ma prawo wystawić nowy majątek itp. Jest to również sama maszyna wirtualna z kompletną architekturą Turinga.
Maszyna wirtualna CKB opiera się na zestawie instrukcji sprzętowych RISC-V. Wszelkie regulacje wymagają ponownego użycia krzemu, dzięki czemu konstrukcja zestawu instrukcji RISC-V jest bardzo usprawniona, wydajna i wszechstronna.
Podsumowując, CKB korzysta z maszyny wirtualnej RISC-V, która jest kompletna w technologii Turing, i ma również dwa miejsca: skrypt blokujący i skrypt typu do przechowywania skryptów inteligentnych kontraktów, a także jest tam również pole zwane danymi do przechowywania skryptów inteligentnych kontraktów stanu kontraktu, a więc jest to kompletne środowisko realizacji kontraktu.
Tim Xie: W całym procesie tworzenia produktu w naszym Shell Finance, ponieważ musimy sporządzić protokół kredytowy i likwidację, potrzebujemy zaawansowanych funkcji kontraktowych, ostatecznie wybraliśmy DLC (Discreet Log Contracts). Obydwa DLC i Lightning Network to technologie ekspansji na tym samym poziomie i obie działają w trybie offchain. Różnica polega na tym, że Lightning Network służy głównie do płatności, podczas gdy DLC służy głównie do wyroczni. Właściwie nie jesteśmy jeszcze ukończeni w Turingu i nadal istnieje wiele ograniczeń, ale nawet przy wielu ograniczeniach możemy już udzielać pożyczek poprzez DLC.
Bitcoin faktycznie ma wiele kodów OP. Jeśli uda nam się włączyć lub odblokować OP_CAT wspomniany wcześniej przez Lin z DotSwap, lub inne kody operacyjne, wtedy będziemy mogli kontynuować tworzenie kolejnych kodów na wzór Lightning Network i DLC. Istnieje wiele możliwości inteligentne kontrakty z pewnością mogą to zrobić. Kluczową kwestią jest to, czy istnieje popyt, czy istnieją użytkownicy, czy istnieje rynek i czy więcej ludzi zainwestuje czas i energię, aby je stworzyć, wykorzystać i zaspokoić potrzeby użytkowników. Dopóki ludzie z niego korzystają i istnieje rynek, nowe pomysły i koncepcje będą naturalnie pojawiać się.
Jestem teraz pewien, że kształt ekosystemu Bitcoin będzie zupełnie inny niż EVM. Być może na poziomie biznesowym użytkownicy mogą mieć podobne odczucia. Obydwoje zajmują się zamianą i pożyczaniem, a także mają wyrocznie, ale stojące za nimi systemy i narzędzia, których można ostatecznie użyć, są w rzeczywistości bardzo różne. Jeśli będzie to w głównej sieci Bitcoina, różnica będzie jeszcze większa, więc właściwie nie mogę się doczekać L2 z lepszą strukturą UTXO, bo może w większym stopniu uwolnić potencjał ekosystemu Bitcoina.
Lin: Myślę, że nie jest trudno zaprojektować coś, co będzie kompletne w Turingu, ale bardzo trudno jest stworzyć coś niekompletnego w Turingu, zaprojektowanie skryptu, który nie będzie kompletny w Turingu, jest w rzeczywistości bardzo zaawansowanym zadaniem technicznym.
Oryginalny skrypt Bitcoina może być kompletny w technologii Turinga, ale teraz wiele możliwości Bitcoina zostało zapieczętowanych. Na przykład OP_CAT, o którym wspomniałem wcześniej, jest bardzo ważną funkcją, ale operator wyłącza tę możliwość, zamiast twierdzić, że Bitcoin nie miał tych operatorów w momencie ich pierwotnego projektowania. Na początku Bitcoin angażował wielu operatorów, ale ze względu na tak zwane bezpieczeństwo lub tak zwane ukryte niebezpieczeństwa związane z tym bezpieczeństwem lub dlatego, że nie było jasnego zrozumienia, co to jest, jak z niego korzystać itp. niektórzy operatorzy byli nieaktywni. Niektórzy operatorzy są wyłączeni. Co więcej, wiele funkcji, które można było wykorzystać w inteligentnych kontraktach, zostało przefiltrowanych przez tzw. transakcje standardowe. Wszyscy mówimy, że Bitcoin jest systemem zdecentralizowanym, ale w tym zdecentralizowanym systemie istnieje coś, co nazywa się standardową transakcją, która jest ustalana przez określone organizacje. W przypadku górników nie istnieją standardowe transakcje, ponieważ górnicy mogą pakować dowolną transakcję prawną. Jest to kwestia polityczna po stronie użytkownika.
Ogólnie rzecz biorąc, myślę, że możliwości oryginalnego Bitcoina są bardzo potężne, ale teraz Bitcoin został przejęty. Jeśli jesteś zainteresowany, możesz przeczytać książkę Rogera Vera „Hijacking Bitcoin: The Hidden History of BTC”. Ponieważ pierwotne możliwości Bitcoina zostały zapieczętowane, jesteśmy zmuszeni szukać sposobów wyjścia w różnych miejscach. To jest obecna sytuacja, przed którą stoimy, ale przyszłość Bitcoina jest zdecydowanie lepsza.
Mówiłem, że wiele z tak zwanych Bitcoin L2 to w rzeczywistości protokoły pasożytnicze, które nie wnoszą własnej wartości do Bitcoina i nie ma możliwości, aby górnicy mieli wyższe dochody, ale tak naprawdę nie ma takiej możliwości, ponieważ. Bitcoin ma wiele ograniczeń. Podam analogię. Protokół HTTP to właściwie L2 zbudowany na protokole TCP/IP, a nasz protokół HTML jest zbudowany na protokole HTTP. Myślę, że jest to koncepcja warstwa po warstwie, a nie całkowite oddzielenie danych transakcyjnych od protokołu TCP/IP, oddzielenie od protokołu wyższej warstwy, przesłanie ich w inne miejsce, a następnie odwrócenie się i powiedzenie innym, że to jest warstwa 2 protokół. Prawdziwy protokół warstwy 2 jest w rzeczywistości układany warstwowo, więc zbudowany przez nas L2 powinien być również akceptowany jako transakcje prawne w wyższej warstwie. Jest to bardzo ważny powód, dla którego obecnie badamy jedną warstwę wymiany. Uważamy, że w większości przypadków tak naprawdę musimy zadowolić się jedną warstwą i musimy przeprowadzić wiele weryfikacji i konsensusu w odniesieniu do pierwszej warstwy, zamiast mówić, że zbuduję tzw. pomost aktywów, a następnie przeniosę wszystkich aktywa do innego. Miejsce, w którym może to nie być szczególnie dobre.
NIGO: Czy model UTXO może obsługiwać złożone funkcje inteligentnych kontraktów? Oczywiście, że jest to możliwe. Przechowuje logikę i dane kontraktu w UTXO, następnie wykorzystuje wywołanie i parametry kontraktu jako dane wejściowe, aby spróbować odblokować kontrakt, realizuje logikę kontraktu poprzez BVM (Blockchain Virtual Machine) i ostatecznie uzyskuje kontrolę poprzez zwrócenie prawda czy fałsz z funkcji odblokowania Cel statusu kontraktu. Model ten może być nieznany twórcom inteligentnych kontraktów Ethereum, ale w rzeczywistości, jeśli połączysz funkcjonalne pomysły programistyczne i przekonwertujesz niektóre koncepcje, inteligentne kontrakty UTXO mogą wdrożyć bardzo złożoną logikę.
Ponieważ model UTXO nie ma stanu globalnego, musi przechowywać stan i logikę kontraktu w UTXO, a następnie przesyłać i konwertować stan poprzez transmisję łańcucha wywołań transakcji UTXO, tak aby każda transakcja UTXO zużywała poprzednią UTXO. I wygeneruj nowy UTXO, w ten sposób można zrealizować transfer stanu łańcucha kontraktu. Zatem to, czy UTXO da się odblokować, odpowiada wynikowi realizacji kontraktu i czy pozwala na transfer stanu. Jeżeli kontrakt określi, że status nie może być modyfikowany, np. niedozwolone są transfery, modyfikacja danych itp., zwróci wartość false, wówczas UTXO nie zostanie odblokowane i realizacja kontraktu zakończy się niepowodzeniem.
Kontrakty traktujemy jako maszyny stanowe, które przesyłają stany danych, więc tutaj możemy zobaczyć różnicę między kontraktami UTXO a kontraktami typu konta. EVM kontraktu rachunku ma na celu utrzymanie stanu globalnego. Transakcja może spowodować, że EVM wykona wiele transferów stanu i często modyfikuje dane stanu do czasu realizacji kontraktu lub zużycia gazu. Jeśli chodzi o transakcję kontraktu UTXO, jest to kontrakt wejściowy, wywołanie spowoduje jedynie transfer stanu i niezależnie od tego, jak złożona jest logika kontraktu lub ile razy stan jest przesyłany, BVM zarejestruje jedynie ostateczny transfer stanu. wynik w łańcuchu. Dlatego kontrakt UTXO nie ma stanu globalnego, a jedynie funkcje oczekujące na wykonanie.
UTXO to wiele wejść i wiele wyjść. To, co chce zrobić Ethereum, w tym równoległy EVM, który chce również zrobić Monad, można w rzeczywistości zrealizować za pomocą UTXO. Jeśli chcesz przenieść stan, musisz najpierw znaleźć funkcję, w której znajduje się ten stan zlokalizować i zmodyfikować stan poprzez wywołania funkcji oraz wygenerować nowe funkcje. Model ten sprawia, że transfer stanu kontraktów UTXO jest bardziej przejrzysty.
Kontrakty UTXO nie opierają się na stanach zewnętrznych. Dlatego niezależnie od tego, ile razy kontrakt zostanie wywołany, jego wynik musi być pewny. Dlatego zapewnia to dużą wygodę w analizie kontraktu, debugowaniu i testowaniu jednostkowym. Kontrakt EVM opiera się na stanie globalnym, więc na wynik realizacji kontraktu prawdopodobnie będzie miało wpływ środowisko zewnętrzne, powodując, że wynik realizacji kontraktu będzie niepewny. Na przykład, jeśli saldo będzie wystarczające, będzie jeden wynik , a jeśli saldo jest niewystarczające, inny wynik. Jest to zatem również istotna kwestia z punktu widzenia bezpieczeństwa i przewidywalności kontraktów EVM.
Oczywiście przekazanie stanu za każdym razem nie jest pozbawione kosztów. W niektórych scenariuszach, w których wymagana jest identyfikowalność, status może wzrosnąć wraz ze wzrostem łańcucha transferu UTXO, ponieważ wymagana jest weryfikacja identyfikowalności, a danych jest coraz więcej samo będzie się rozszerzać w nieskończoność. Nasz TBC rozwiązał poważny problem ekspansji stanu za pomocą innych technologii i środków kryptograficznych, takich jak haszowanie i ekstrakcja danych. Dlatego ważną cechą odróżniającą inteligentne kontrakty TBC od innych łańcuchów UTXO jest to, że model UTXO jest podstawą nieograniczonej ekspansji TBC. Bardzo proste jest wykorzystanie modelu UTXO do realizacji standardowych transakcji transferowych.
Podsumowując, TBC w pełni uwzględnia zalety i wady modelu UTXO i w oparciu o wchłonięcie istoty Ethereum i innych łańcuchów publicznych UTXO wprowadza koncepcję BVM i innych technologii w celu wdrożenia realnej warstwy inteligentnych kontraktów UTXO, a następnie Wraz z niektórymi bardziej przyjaznymi narzędziami do tworzenia inteligentnych kontraktów, próg pisania i wdrażania inteligentnych kontraktów BVM jest obniżony.
(Ciąg dalszy)