Chia: Agreguj podpisy, Taproot, Graftroot i standardowe transakcje


W Chia używamy podpisów BLS, aby umożliwić nieinteraktywną agregację podpisów. 
W tym artykule wyjaśnię, jak to pasuje do całego systemu, jakie praktyczne korzyści zapewnia i jak działa „standardowy” format transakcji.

Po pierwsze, musisz mieć ogólne zrozumienie tego, co się wydarzyło ( trochę podstawowej wiedzy o tym, jak działają transakcje w Bitcoin ). W Bitcoinie trwały stan nazywany jest zestawem UTXO, w Chia – zestawem monet. 

Inne konwencje nazewnictwa w Bitcoin są nieco ezoteryczne, więc w Chia wybraliśmy bardziej opisową nazwę. W Chia, „scriptpubkey” Bitcoina nazywa się „łamigłówką”. W Chia, „scriptsig” Bitcoina nazywane jest „rozwiązaniem”. Obie te koncepcje są silniejsze w Chia. Należy dostarczyć rozwiązanie dla łamigłówki, a następnie łamigłówka zwraca „stan”, który jest odpowiednikiem Chia do informacji zawartych w transakcji, ale są one generowane dynamicznie i nie zostaną zaszyfrowane w tożsamości przyszłych monet. Ze względu na rozwiązanie agregacji podpisów niektóre sprzeczne z intuicją rozwiązania nie uwzględniają podpisów. Zazwyczaj rozwiązanie zawiera listę warunków do zadeklarowania, a układanka dodaje do listy deklarację warunków do podpisania, które muszą być uwzględnione w podpisie zbiorczym. Podpis zbiorczy to wisząca informacja zawarta w transakcji przekazanej w puli pamięci i bloku transakcji. 

Podczas tworzenia bloku transakcji – ponieważ podpisy BLS nie mogą być agregowane interaktywnie – wszystkie zagregowane podpisy transakcji są ponownie agregowane w pojedynczą sygnaturę zbiorczą. 

Reklamy

Jedną z największych różnic w stosunku do Bitcoin jest to, że każda moneta ma swoje własne niezależne rozwiązanie, co rodzi pytanie, jak połączyć kilka różnych kosztów i kreacji monet. Ich bezpośrednie podejście polega na stwierdzeniu, że inne monety muszą być użyte jako część transakcji na ich warunkach. 

Bardziej elegancką i podstawową techniką jest uwolnienie tylko zbioru wszystkich jego sygnatur. 

BLS ma następujące cechy: Może reprezentować dowolną liczbę podpisów par (klucz, wartość) jako pojedynczy podpis zbiorczy. Niemożliwe jest wyodrębnienie pojedynczego podpisu z danego podpisu zbiorczego. Handel jest całkowicie normalny, jedno z wejść (być może najmniejsze) spowoduje wszystkie wyjścia, podczas gdy inne wejścia po prostu się spalą i nic nie zrobią. Tak długo, jak suma rozmiarów wyjściowych jest równa sumie rozmiarów wejściowych, działa. Dopóki wystawiany jest tylko podpis podsumowujący, nikt inny nie może spalić dużej sumy pieniędzy i samodzielnie zarabiać pieniędzy za pomocą samego rozwiązania monetarnego. Jeśli ktoś chce bezpiecznie wydać pojedyncze wejście w inny sposób, każde odstępstwo od tego, co pierwotnie podpisał, zapewni bezpieczeństwo. 

Wydawanie monet może również komunikować się ze sobą w sposób jawny i zależeć od siebie nawzajem, ale nie jest to wymagane. Korzystając z BLS, można agregować dowolną liczbę agregacji w sposób nieinteraktywny, dzięki czemu każdy blok transakcji Chia może zawierać dokładnie jedną sygnaturę agregacji, niezależnie od liczby transakcji wchodzących do puli pamięci. Dopóki wystawiany jest tylko podpis podsumowujący, nikt inny nie może spalić dużej sumy pieniędzy i samodzielnie zarabiać pieniędzy za pomocą samego rozwiązania monetarnego. Jeśli ktoś chce bezpiecznie wydać pojedyncze wejście w inny sposób, każde odchylenie od tego, co pierwotnie podpisał, zapewni bezpieczeństwo. 

Chociaż funkcje takie jak taproot i graftroot nie mogą być bezpośrednio wbudowane w Chia, są tam haki potrzebne do ich implementacji i używamy „standardowego” formatu transakcji. Zalecamy trzymanie się go przy dużych transakcjach. Okazuje się, że wiele magii kryptograficznej w głównym katalogu głównym i zaszczepionych korzeniach jest związanych z próbami użycia metod kompresji, które stanowią tymczasową agregację sygnatur. Gdy agregacja zostanie wbudowana w system i będzie używana przez cały czas, podstawowa logika tych funkcji stanie się prostsza.

Najprostszą opisaną funkcją inteligentną jest MAST. Podstawowym językiem środowiska programowania łańcucha chia jest CLVM (maszyna wirtualna Chia Lisp lub bardziej ogólna maszyna wirtualna języka wspólnego), ale takie jest znaczenie MAST, który bardziej przypomina pseudokod w Pythonie:

def my_mast_puzzle(solution):
metapuzzle, metasolution = solution
assert hash(metapuzzle) in [‘hashA’, ‘hashB’]
return metapuzzle(metasolution)

Oprócz tego, że jest bardzo prosta i schludna, ta rekurencyjna metoda scalania ma również zaletę dotyczącą prywatności, to znaczy nie implikuje głębokości drzewa ani głębokości liści po drodze.

Możesz zauważyć, że zwykłe wywołanie fragmentu danych przekazanych jako kod bardzo źle wykorzystuje eval. W tym szczególnym przypadku hash jest wstępnie sprawdzany, więc można zagwarantować bezpieczeństwo, nawet jeśli używane są niezabezpieczone języki, ale ten rodzaj programu clv jest bardzo powszechny w programach clvm, nawet w przypadku niezaufanego kodu, i ścisłej zgodności CLVM, nie skutki uboczne i brak danych globalnych, więc każde połączenie jest ściśle określone w piaskownicy.

Reklamy

Zarówno korzeń zaczepowy, jak i korzeń przeszczepu mają nadzieję na zwarcie logiki ekspertów-doradców. W większości przypadków wszyscy zaangażowani w transakcję zbiorową współpracują lub przynajmniej przyznają, że będą zmuszeni do współpracy, więc można użyć klucza N-z-N na tym widocznym na monecie i wszystkich N stron w transakcji w a clean ‚Podpisz pudełk’o i ‚przykryj brudne pudełko klapą’.

Rdzeniem Graftroot jest prosta delegacja. Najłatwiejszym sposobem podpisania transakcji jest potraktowanie przychodzącego rozwiązania jako listy warunków i wymaganie, aby lista była podpisana kluczem w podpisie podsumowania, a następnie zwrócenie.

def my_simple_puzzle(solution):
return [(‘aggregate signature’, ‘my_public_key’, hash(solution)] + solution

Rozwiązanie Graftroot składa się z dwóch problemów, meta-łamigłówki i meta-rozwiązania, co nieco komplikuje ten problem. Nazywa się to meta-dylematem i jest przekazywane do meta-rozwiązania w celu uzyskania listy warunków jako odpowiedzi. Następnie przygotowuje potwierdzenie, że meta-łamigłówka podpisana kluczem monety znajduje się w zestawie, a następnie zwraca ją.

def my_graftroot_puzzle(solution):
metapuzzle, metasolution = solution
Return [(‘aggregate signature’, ‘my_public_key’, hash(metapuzzle)] +
metapuzzle(metasolution)

Jeśli kilku uczestników chce wziąć udział w inteligentnej transakcji, wszyscy mogą wspólnie podpisać meta-łamigłówkę, która zostanie wykorzystana w ‚brudnym rozwiązaniu’, a następnie rozpocząć biznes, jeśli wszystko pójdzie dobrze, podpisz meta-łamigłówkę, to zwróć tylko warunki, które wszyscy osiągnęli, i zignoruj ​​meta-rozwiązanie.

Istnieje niewielka różnica między korzeniem palowym a korzeniem szczepionym. Jego największą zaletą jest to, że warunki zapadni można ustawić z wyprzedzeniem, bez konieczności koordynowania z innymi uczestnikami inteligentnej transakcji w celu uzyskania ich podpisów z wyprzedzeniem. Wymaga kilku dodatkowych haków wbudowanych w język, aby go obsługiwać, ale dodaliśmy te haki, a obsługa drzwi zapadniowych stała się częścią naszego standardowego formatu puzzli.

W zwykłych ścieżkach taproot wydaje się używać zwykłych kluczy publicznych w zwykły sposób. W przypadku zapadni ujawnia kolejną zagadkę ukrytą w kluczu publicznym, a następnie zapewnia rozwiązanie tej zagadki. 

Sposób na ukrycie łamigłówki w kluczu publicznym polega na tym, że oryginalny klucz publiczny składa się z klucza prywatnego, który nigdy nie zostanie upubliczniony, a następnie klucz publiczny i łamigłówka są mieszane razem w celu wygenerowania nowego klucza prywatnego. Oblicz klucz publiczny odpowiadający kluczowi prywatnemu i użyj jego sumy oraz oryginalnego klucza publicznego jako otwartego klucza publicznego układanki. 

W normalnych okolicznościach podpisujący używa oryginalnego klucza do podpisania, a następnie agreguje podpis z jednym z pozostałych kluczy pochodnych, aby wyglądał jak normalny podpis. W przypadku zapadni sygnatariusz ujawnił swój oryginalny klucz publiczny i zagadkę z zapadnią oraz podał rozwiązanie łamigłówki. Nie wystarczy wyprowadzić klucza publicznego z układanki z zapadnią bez klucza przedniego, ponieważ nie pozwoli to na zestawienie klucza, a jeśli zostanie użyta zapadka, pozwoli innym na zapobiegawcze użycie klucza. Użyj wyświetlonego klucza prywatnego, który nie jest zapadnią dla transakcji.

Oczywiście można je zagnieżdżać: ukryta łamigłówka może być również w standardowym formacie, a także obsługuje korzenie zaczepowe i korzenie szczepione. Podobne techniki są używane, aby cały zestaw możliwych łamigłówek był bardziej użyteczny. Podstawowa łamigłówka stwierdza, że ​​należy podać łamigłówkę, aby ujawnić, że jej hash jest jedną z dwóch wartości i meta-rozwiązaniem. Następnie weryfikuje hash ujawniony przez łamigłówkę, przekazuje go do meta-rozwiązania, a następnie zwraca. Można je zagnieżdżać, co daje logarytmiczną głębokość dla dowolnej liczby możliwych do wymiany liści, a najtańsze informacje można wyświetlić, gdy moneta zostanie zużyta.


źródło: https://www.chiaxch.net/1932.html


Opinie i artykuły na tej stronie reprezentują jedynie autorów poszczególnych publikacji do których znajdują się odnośniki (źródło) pod każdym z artykułów. Nie oznacza, to że chia.com.pl zgadza się z tymi poglądami.
Strona chia.com.pl powstała jedynie z potrzeby informowania lub edukowania osób zainteresowanych tą technologią oraz dostarczania wiadomości z dziedziny blockchain i jego wpływu na środowisko, nie znajdują się na niej artykuły dotyczących predykcji cenowych kryptowaluty XCH (Chia).
Informacje tutaj prezentowane, nie mogą być wykorzystywane jako porada inwestycyjna i finansowa. Wszelkie decyzje, np. inwestycyjne podejmowane przez Użytkowników strony są zawsze podejmowane indywidualnie i niezależnie, na ich własne ryzyko i na ich własną odpowiedzialność.

Artykuły na stronie:
– nie stanowią rekomendacji inwestycyjnej lub czynności doradztwa inwestycyjnego w rozumieniu §3 Rozporządzenia Ministra Finansów z dnia 19 października 2005r. w sprawie informacji stanowiących rekomendacje dotyczące instrumentów finansowych, ich emitentów lub wystawców (Dz.U. 2005 nr 206 poz. 1715);
–  nie stanowią rekomendacji inwestycyjnej lub czynności doradztwa inwestycyjnego w rozumieniu (art.42 ust. 1 i art.76) Ustawy z dnia 29 lipca 2005r. o doradztwie inwestycyjnym (Dz.U. 2005 nr 183 poz. 1538 z późn.zm.
)

Więcej w dziale contact.