Tytuł oryginalny: „Technologia Bitlayer Core: DLC i kwestie optymalizacji”
Autor oryginału: mutourend lynnell, grupa badawcza Bitlayer
1. Wstęp
Discreet Log Contract (DLC) to platforma realizacji kontraktów oparta na Oracle, zaproponowana przez Tadge Dryja z MIT w 2018 roku. DLC umożliwia dwóm stronom dokonywanie płatności warunkowych na podstawie wcześniej określonych warunków. Obie strony z góry określają i wstępnie podpisują możliwe wyniki, a następnie wykorzystują te wstępne podpisy do realizacji płatności, gdy wyrocznia podpisze wyniki. Dlatego DLC umożliwia nowe zdecentralizowane aplikacje finansowe, zapewniając jednocześnie bezpieczeństwo depozytów Bitcoin.
W poprzednim artykule „Analiza zasad DLC i przemyślenia dotyczące optymalizacji” podsumowano zalety DLC pod względem ochrony prywatności, złożonych umów i niskiego ryzyka aktywów. Przeanalizowano w nim także istnienie kluczowych ryzyk, ryzyko zdecentralizowanego zaufania, ryzyko zmowy itp DLC i wprowadzić zdecentralizowane wyrocznie, podpisy progowe, mechanizmy optymistycznych wyzwań itp. do DLC, aby rozwiązać różne problemy, z którymi musi się zmierzyć. Ponieważ w DLC biorą udział trzy strony: Wyrocznia, Alicja i Bob, zmowa różnych stron w celu wyczerpującego ataku jest stosunkowo skomplikowana, co skutkuje stosunkowo złożoną strategią zapobiegania. Złożone strategie obronne nie są doskonałe, nie odpowiadają zasadzie prostoty i brakuje im piękna prostoty.
W Bitcoinie każde zachowanie dowolnego uczestnika musi zostać zaimplementowane poprzez UTXO. Dlatego użycie mechanizmu konsensusu w celu zapewnienia poprawności UTXO może oprzeć się arbitralnym atakom. Podobnie w DLC każde zachowanie dowolnego uczestnika musi zostać zaimplementowane poprzez CET (transakcję wykonania kontraktu). Dlatego użycie mechanizmu optymistycznego wyzwania w celu zapewnienia, że CET jest prawidłowy, może odeprzeć każdy atak. W szczególności, gdy wyrocznia zadeklaruje 2B TC, może podpisać CET. Dodaj optymistyczny mechanizm wyzwań do CET. Jeśli CET nie zostanie zakwestionowany lub pomyślnie odpowie na wyzwanie, wówczas CET jest prawidłowy i rozliczenie może zostać zakończone, a wyrocznia zdejmuje stawki i otrzymuje opłaty manipulacyjne; jeśli Wyrocznia spróbuje wyrządzić zło, każdy może skutecznie zakwestionować, CET nie zostanie rozliczony, a wyrocznia przegra. Depozyt zostanie zdeponowany i wyrocznia nie będzie mogła ponownie podpisać tego samego CET. W zgodzie z wielką prostotą ma w sobie piękno prostoty.
2.Zasada DLC
Alicja i Bob podpisują umowę dotyczącą zakładów: zakładają się, że wartość skrótu ξ-tego bloku jest liczbą nieparzystą lub parzystą. Jeśli jest to liczba nieparzysta, Alicja wygrywa grę i może wycofać aktywa; jeśli jest to liczba parzysta, Bob wygrywa grę i może wycofać aktywa. Korzystając z DLC, informacja z ξ-tego bloku jest przekazywana przez wyrocznię w celu skonstruowania podpisu warunkowego, dzięki czemu właściwy zwycięzca wygra wszystkie aktywa.
Generator krzywej eliptycznej to G, a rząd to q. Kluczowe pary wyroczni, Alicji i Boba to odpowiednio (z, Z), (x, X), (y, Y).
Transakcja finansowania (w łańcuchu): Alicja i Bob tworzą wspólnie transakcję finansowania, każdy blokuje 10 BTC w wyniku 2 z 2 z wieloma podpisami (jeden klucz publiczny X należy do Alicji, a jeden klucz publiczny Y należy do Boba) .
Konstruowanie CET (poza łańcuchem): Alicja i Bob tworzą CET 1 i CET 2 na potrzeby transakcji zastrzyków kapitałowych.
Wyrocznia oblicza zobowiązanie R = k · G, następnie oblicza S i S'
S := R - hash(Numer nieparzysty, R) · Z
S' := R - hash(EvenNumber, R) · Z
Następnie nowe klucze publiczne odpowiadające Alicji i Bobowi są następujące:
PK^{Alicja} := X + S
PK^{Bob} := Y + S'.
Rozliczenie (poza łańcuchem -> w łańcuchu): Po pomyślnym wygenerowaniu ξ-tego bloku wyrocznia podpisze odpowiedni CET 1 lub CET 2 w oparciu o wartość skrótu bloku.
Jeśli skrót jest nieparzysty, wyrocznia znakuje s w następujący sposób
s := k - hash(Numer nieparzysty, R) z
Transmisja CET 1.
Jeśli skrót jest parzysty, wyrocznia znakuje s'
s' := k - hash(EvenNumber, R) z
Transmisja CET 2.
Wypłacaj monety (on-chain): Jeśli wyrocznia rozgłosi CET 1, Alicja może obliczyć nowy klucz prywatny i wydać zablokowane 20 BTC
sk^{Alicja} = x + s
Jeśli wyrocznia rozgłosi CET 2, Bob może obliczyć nowy klucz prywatny i wydać zablokowane 20 BTC
sk^{Bob} = y + s'
Zespół badawczy Bitlayer odkrył, że w powyższym procesie każde zachowanie musi zostać zaimplementowane poprzez CET. Dlatego konieczne jest jedynie użycie mechanizmu optymistycznego wyzwania, aby upewnić się, że CET jest prawidłowy i może odeprzeć każdy atak. Błędne CET zostaną zakwestionowane i nie zostaną wykonane, natomiast prawidłowe CET zostaną wykonane. Ponadto wyrocznia musi zapłacić cenę za złośliwe zachowanie.
Program, który należy zakwestionować, to f(t), wówczas CET należy skonstruować w następujący sposób
s = k - hash(f(t), R) z.
Załóżmy, że rzeczywista sytuacja jest taka, że wartość skrótu ξ-tego bloku jest liczbą nieparzystą nieparzystą, to znaczy f(ξ) = OddNumber, a wyrocznia powinna podpisać CET 1
s := k - hash(Numer nieparzysty, R) z.
Jednak wyrocznia zrobiła coś złego i zmieniła wartość funkcji na Even, podpisując CET 2:
s' := k - hash(EvenNumber, R) z.
Dlatego każdy użytkownik może pokonać to złośliwe zachowanie zgodnie z f(ξ) ≠ OddNumber.
3.OP-DLC 2
OP-DLC zawiera 5 następujących postanowień:
Wyrocznia składa się z sojuszu. W sojuszu uczestniczy n, a każdy członek może podpisać CET. Tylko poprzez zastawienie 2B TC maszyna Oracle może wystawiać podpisy i zarabiać na opłatach manipulacyjnych. Jeżeli członek czyni zło, stawka przepada. Inni członkowie mogą nadal podpisywać umowę CET, aby zapewnić użytkownikom możliwość wypłaty środków. Alicja i Bob mogą również stać się wyroczniami, naprawdę ufając tylko sobie i minimalizując zaufanie.
Jeśli wyrocznia zrobi coś złego i zmodyfikuje wynik, nieuchronnie doprowadzi to do sytuacji, w której f 1(ξ) ≠ z 1, f 2(z 1) ≠ z 2. Dlatego każdy uczestnik może zainicjować wyzwanie, czyli przeprowadzić transakcję Disprove-CET 1.
Jeśli wyrocznia uczciwie podpisze CET, żadna ze stron nie będzie mogła zainicjować ważnej transakcji Disprove. Po 1 tygodniu CET można rozliczyć prawidłowo. Ponadto maszyna Oracle otrzymuje nagrodę w wysokości 0,05 BTC jako 1-tygodniowe zajęcie kapitału zadeklarowanego 2B TC oraz opłatę manipulacyjną za uczciwe podpisanie CET.
Każdy uczestnik może rzucić wyzwanie Oracle_sign:
Jeśli Oracle_sign jest uczciwy, transakcja Disprove-CET 1 nie może zostać zainicjowana, a rozliczenie CET zostanie zrealizowane po 1 tygodniu. Ponadto maszyna Oracle jest zobowiązana do odblokowania i otrzymania opłat manipulacyjnych;
Jeśli Oracle_sign jest nieuczciwy, to znaczy ktokolwiek pomyślnie zainicjuje transakcję Disprove-CET 1 i pomyślnie wyda dane wyjściowe łącznika A, podpis wyroczni będzie nieważny, a zadeklarowany TC 2B zostanie utracony, a wyrocznia nie będzie już mogła aby móc go używać w przyszłości, umowa DLC inicjuje podpis z tym samym skutkiem, ponieważ Settle-CET 1 bazujący na wyjściu złącza A będzie trwale nieważny.
Wyzwania w OP-DLC są bezpozwoleniowe, co oznacza, że każdy uczestnik może nadzorować poprawność wykonania kontraktu w OP-DLC. Dlatego zaufanie do wyroczni jest zminimalizowane. W porównaniu do Lightning Network Alicja i Bob mogą być również offline. Ponieważ wyrocznia rozliczy CET tylko na podstawie uczciwych podpisów, a złe wyrocznie zostaną przez każdego rzucone wyzwanie i ukarane.
korzyść:
Miej dużą kontrolę nad aktywami i ufaj tylko sobie: Alicja i Bob mogą zostać wyroczniami i podpisać CET. Mechanizm optymistycznego wyzwania pokona niewłaściwy CET, więc zła nie da się zrobić. Dlatego OP-DLC pozwala użytkownikom wierzyć tylko w siebie. W BitVM użytkownicy muszą działać jako Operatorzy i muszą uczestniczyć we wszystkich kolejnych depozytach, aby ufać tylko sobie. Jeśli użytkownik jako Operator uczestniczy tylko w jednej wpłacie UTXO w BitVM, a UTXO może zostać zgodnie z prawem zwrócony przez dowolnego innego Operatora (n-1), użytkownik nadal będzie musiał zaufać innym Operatorom, aby przekazać środki w przyszłości. Uprawnienia operatora BitVM do zwrotu kosztów są zablokowane dla każdego pojedynczego depozytu UTXO.
Wysokie wykorzystanie kapitału: Jeśli użytkownicy ufają tylko sobie, wymagana ilość środków jest inna. W OP-DLC użytkownicy polegają na własnych wypłatach i nie muszą wpłacać równej kwoty środków; w BitVM użytkownicy muszą wpłacać taką samą kwotę środków, a następnie otrzymać zwrot pieniędzy. To powoduje większą presję finansową.
Wyrocznię, która może podpisywać, należy określić podczas dokonywania depozytu w OP-DLC, ale użytkownik może również zostać wyrocznią i podpisać się sam.
niedociągnięcie:
Czas wypłaty wynosi 1 tydzień: Zasadniczo koszty kapitału i czasu OP-DLC i BitVM istnieją i są równe. Wypłaty OP-DLC muszą przejść okres wyzwania, zanim będzie można uzyskać środki; jeśli BitVM polega na tym, że użytkownicy sami sobie zaliczą, ta sama kwota zaawansowanych środków musi również przejść okres wyzwania, zanim będą mogły zostać pomyślnie zwrócone. Jeśli BitVM polega na innych Operatorach w celu szybkiego przekazania środków, oznacza to, że Operator musi zapłacić tę samą kwotę środków i koszty czasu, co opłaty manipulacyjne.
Liczba podpisów wymagających wstępnego podpisu szybko rośnie i jest liniowo powiązana z liczbą CET. Aby wyliczyć wszystkie wyniki wycofania, potrzeba jak największej liczby CET.
4. Wniosek
OP-DLC wprowadza mechanizm optymistycznego wyzwania do CET, aby zapewnić, że niewłaściwy CET nie zostanie rozliczony, a odpowiadająca mu złośliwa wyrocznia utraci swoje zobowiązanie, co zapewnia wykonanie prawidłowego CET, odblokowanie zastawu wyroczni i uzyskanie opłaty manipulacyjnej; Ta metoda jest w stanie oprzeć się każdemu atakowi i ma piękno prostoty.
Bibliografia
Specyfikacja kontraktów na dzienniki dyskretne
Dyskretne umowy dotyczące dziennika
Analiza zasad DLC i rozważania dotyczące optymalizacji
Optymistyczny rollup
BitVM 2: Bezpozwoleniowa weryfikacja Bitcoina