(Ten artykuł zawiera materiał pierwotnie opublikowany w 2019 roku w czasopiśmie Blog IOV Labs RSK)
Bezpieczeństwo Bitcoina opiera się na zachętach ekonomicznych dla górników, aby przedłużyli „najcięższy łańcuch”, czyli łańcuch o największej trudności (zwykle najdłuższy). Obecnie zachętami tymi jest nagroda blokowa, na którą składa się dotacja blokowa oraz opłaty transakcyjne. Jednak dotacja (obecnie 6.25 BTC) jest znacznie wyższa niż średnia opłat transakcyjnych za blok (obecnie 0.25 BTC). Dotacja do Bitcoina zmniejsza się o połowę co 4 lata i bez odwrotnie proporcjonalnego wzrostu ceny BTC główna zachęta do wydobycia przesunie się z dotacji blokowych na opłaty za transakcje blokowe. Aby utrzymać obecny budżet bezpieczeństwa, koszt transakcji musiałby wzrosnąć 25-krotnie. Jest zbyt wcześnie, aby powiedzieć, czy kiedykolwiek stanie się to problemem dla Bitcoina. Możliwe, że Bitcoin będzie musiał przejść soft fork lub hard fork, aby dostosować się do nowej ery niskich dotacji. W 2014 roku pokazałem, jak Bitcoin może stać się niestabilny, przedstawiając (głównie teoretyczne) Atak FRONTOWY. Carlsten i in. (2016) analizowane dogłębnie zbadali ten problem, ale nie mogli znaleźć zadowalającego rozwiązania. To nie tylko problem Bitcoina, ale każdej kryptowaluty, której emisja pieniądza z czasem maleje.
Ale na razie nie musimy się martwić o Bitcoin. Być może społeczność bitcoinów będzie musiała rozwiązać ten problem za 10 lub 20 lat, a może nigdy. Co jakiś czas pojawia się taki problem ponownie zbadane, z analizami obu podświetlanie i minimalizowanie problem. Ale kiedy analizujemy łańcuchy boczne Bitcoina, takie jak RSK, problem jest całkiem realny.
W 2019 roku wspomniał o tym dyrektor generalny Blockstream Adam Back wygładzanie omawiając długoterminowy budżet bezpieczeństwa Bitcoina: „Inne długoterminowe pomysły z ery niskich dotacji obejmują uśrednianie opłat w odstępach blokowych w celu wygładzenia przychodów z opłat”.
https://twitter.com/adam3us/status/1097031151921713152
RSK realizuje dokładnie ten pomysł, czyli wygładzanie przychodów z opłat, od 2016 roku. Zanim jednak wyjaśnimy, jak RSK radzi sobie z transakcjami z wysokimi opłatami, pokażemy bardziej szczegółowo trzy główne ataki polegające na odwracaniu bloków, które mogą być wywołane opłatami transakcyjnymi: , transakcje wielorybnicze i atomizacja górnictwa.
Jeśli dotacja do bloku jest niska, a opłaty transakcyjne w ostatnim wydobytym bloku są znacznie wyższe niż opłaty, które można pobrać z transakcji w mempool, krótkoterminowe racjonalne górniki są zachęcane do przechwytywania transakcji z ostatniego wydobytego bloku i wydobywania konkurencyjnego blokować, zamiast je rozszerzać. Jest to odchylenie od Konsensusu Nakamoto i nazywa się to Opłata za snajperstwo. Z definicji takie odstępstwo jest atakiem na protokół, a górnik jest uważany za stronę złośliwą. Aby spieniężyć pobrane opłaty transakcyjne, złośliwy górnik musi także wydobyć jeden dodatkowy blok potwierdzenia szybciej niż uczciwy łańcuch, tak aby reszta górników przełączyła się na jego łańcuch. Dlatego też pobieranie opłat nie zawsze jest opłacalne, ponieważ złośliwy górnik ryzykuje marnowaniem swojego hashrateu, jeśli jego samolubny widelec nie wyprzedzi uczciwego łańcucha. Rzadkie pobieranie opłat może nie stanowić problemu, ale jeśli górnicy zmienią swój kod konsensusowy, aby skorzystać z potencjalnych możliwości pobierania opłat we wszystkich istniejących forkach, wówczas sieć może być narażona na bardziej niebezpieczne ataki.
Gdy węzły górnicze wykonają automatyczne pobieranie opłat, osoba atakująca może wykorzystać tę sytuację do przeprowadzenia ataku polegającego na podwójnym wydatkowaniu. Złośliwy górnik może wydawać monety w uczciwym łańcuchu i otrzymać w zamian inny zasób zewnętrzny, a później rozwidlić uczciwy łańcuch w bloku przed pierwszym. W złośliwym forku atakujący podwójnie wydaje monety, ale także wprowadza charakterystyczną cechę (tj. unikalny UTXO), która nie może istnieć w uczciwym forku. Zaraz potem napastnik transmituje komunikat transakcja „wielorybna”. który korzysta z tej funkcji (tj. zużywa ten UTXO) i oferuje niezwykle wysoką opłatę transakcyjną jako przynętę (lub łapówkę) dla górników korzystających z kodu snajperskiego. O ile termin „transakcja wielorybna” może być rozumiany jako transakcja przekazująca dużą wartość, o tyle w tym przypadku posługujemy się definicją z cytowanego artykułu, jako transakcją wiążącą się z wysokimi opłatami, niezależnie od kwoty przekazywanej wartości. W przypadku Bitcoina transakcja wielorybów i złośliwe bloki forków musiałyby zostać wysłane bezpośrednio do węzłów górników, ponieważ nie najlepsze forki nie są przekazywane przez pełne węzły w sieci peer to peer. Jednak na wielu platformach inteligentnych kontraktów atak jest znacznie łatwiejszy, ponieważ emitują one nie najlepsze forki. Również na platformach inteligentnych kontraktów utworzenie transakcji wielorybnej jest prostsze: osoba atakująca może ponownie wykorzystać wartość jednorazową już wykorzystaną w uczciwym łańcuchu, uniemożliwiając w ten sposób włączenie transakcji wielorybniczej do uczciwego łańcucha. Alternatywnie, transakcja wielorybowa może wykonać kontrakt, który sprawdza, czy skrót poprzedniego bloku pasuje do skrótu bloku, który istnieje tylko w samolubnym forku (tj. przy użyciu kodu operacyjnego BLOCKHASH) i płaci łapówkę tylko za samolubny fork.
Gdy górnicy wykryją transakcję wielorybniczą, mogą rozważyć przedłużenie złośliwego forka, nawet jeśli pozostają w tyle, jeśli łapówka jest wystarczająco wysoka, zakładając, że wyprzedzi dłuższy uczciwy łańcuch. Bez inteligentnych kontraktów najlepszą strategią ataku jest jednoczesne rozgłaszanie serii transakcji wielorybniczych, w ramach których przekupywane są kolejni górnicy, aby w dalszym ciągu rozszerzali złośliwe rozwidlenie. W Bitcoinie transakcje można łączyć łańcuchowo SPRAWDŹBLOKADĘSPRAWDŹ or SPRAWDŹ KOLEJNOŚĆSPRAWDŹ. Na platformach inteligentnych kontraktów można tego dokonać albo poprzez ponowne użycie wartości jednorazowych, albo poprzez wywołanie kontraktu. Nawet jeśli nie jest to zautomatyzowane, osoba atakująca może w dalszym ciągu generować transakcje typu wieloryb na złośliwym forku, dopóki nie przejmie on uczciwego łańcucha.
W ataku Whale Transaction uznaliśmy, że górnicy muszą dynamicznie przełączać się na złożoną strategię wydobywczą, aby przyjmować łapówki w oparciu o prawdopodobieństwo wygranej na forku. Możemy bardziej realistycznie przyjąć, że górnicy stosują prostszą strategię, która nie uwzględnia przyszłych łapówek, a jedynie samolubne pobieranie opłat. Jeśli taką strategię przyjmie większość górników, możliwy jest nowy atak. Atak Miner Atomization to obejmujący całą sieć atak typu „odmowa usługi”, który ma na celu nakłonienie wszystkich górników do jednoczesnej pracy nad samolubnymi widełkami, zmniejszając w ten sposób szybkość i zbieżność uczciwego łańcucha. Atak rozpoczyna się od upublicznienia transakcji z bardzo wysokimi opłatami, podobnie jak atak polegający na wycinaniu opłat lub ataku na transakcję wielorybniczą. Transakcja ta nie ma na celu pomóc w podwójnych wydatkach, ale jest przynętą mającą na celu atomizację sieci wydobywczej. Pokażemy atak na przykładzie. Załóżmy, że transakcja T w bloku na wysokości N wiąże się z opłatami w wysokości 100 monet, ale średnia nagroda za blok wynosi zaledwie 10 monet. Zakładamy, że wszystkie węzły górnicze są zaprogramowane tak, aby podążały za tą racjonalną strategią:
- Jeśli T znajduje się w którymkolwiek z ostatnich K bloków uczciwego łańcucha, przechwyć transakcję T i spróbuj wydobyć konkurencyjny blok na wysokości N, a następnie kontynuuj wydobywanie bloków potomnych tego samolubnego rozwidlenia, aż przekroczy uczciwy łańcuch.
- Jeśli uczciwy łańcuch przewyższa samolubny rozwidlenie o więcej niż K bloków, poddaj się.
Złośliwa transakcja o wysokiej opłacie atomizuje wydobycie na korzyść większej puli wydobywczej, która ma największe szanse na wydobycie transakcji T plus wystarczająca liczba dodatkowych samolubnych bloków potwierdzających, aby pozostali górnicy się poddali. Co ciekawe, im bardziej zdecentralizowana jest sieć wydobywcza, tym większe są zakłócenia spowodowane transakcją T. Na przykład w przypadku łańcucha bloków o średnim interwale bloków wynoszącym 10 minut, gdyby było 100 górników, z których każdy miałby 1% całkowitego hashrate, sieć doświadczyłaby 100-krotnego spowolnienia przez kilka bloków, aż w końcu osiągnęłaby zbieżność. Sieć będzie bezużyteczna przez 2 dni!
RSK jest czysty łańcuch boczny Bitcoina, więc musiała stawić czoła wyzwaniu zabezpieczenia blockchaina budżetem bezpieczeństwa, który od początku jego istnienia składa się wyłącznie z opłat transakcyjnych. Dlatego RSK musiało być przygotowane na rażąco wysokie lub niskie opłaty. RSK był pierwszym łańcuchem bocznym gotowym do produkcji i wykorzystuje eksplorację scaloną w celu uzyskania konsensusu. Obecnie ponad 40% górników Bitcoin łączenie kopalni RSK.
Górnicy RSK oczekują rekompensaty ekonomicznej za prowadzenie pełnych węzłów RSK. Większość blockchainów emituje nowe monety w ramach tej rekompensaty. Niektóre inne rozproszone księgi rachunkowe, takie jak Ripple, nie emitują monet, aby zapłacić producentom bloków, ale producenci bloków mogą otrzymywać dotacje zewnętrzne. Ripple Labs, które wstępnie wydobywało XRP, ma ich tak wiele, że może zapewnić rekompensatę w XRP osobom trzecim, jeśli staną się producentami bloków. Z drugiej strony RSK stoi przed najcięższymi warunkami: nie prowadzi emisji monet (jak Bitcoin) ani nie ma premii za monety (jak XRP). RSK stanowi udany przykład sidechaina Bitcoina, spojrzenie na przyszłość konsensusu w deflacyjnych blockchainach oraz to, jak blockchain bez dotacji może być zrównoważony. Brak dotacji oznacza jednak, że łańcuch boczny musi zostać starannie zaprojektowany pod kątem przedstawionych tutaj ataków. RSK wdraża kilka unikalnych funkcji, aby zapewnić większe bezpieczeństwo przed reorganizacją blockchain w oparciu o transakcje o wysokich opłatach:
- Blokuj wygładzanie nagród (zwane także wygładzaniem opłat).
- Blokuj udostępnianie nagród
- Wydobywanie scalone z uwzględnieniem wideł
W poniższych sekcjach pokrótce przedstawiamy każdą technikę.
Wyrównanie opłat to zasada konsensusu, która rozdziela opłaty transakcyjne pomiędzy górnikami w bardziej egalitarny sposób. Płaci każdemu górnikowi funkcję nagród za poprzednie bloki. Funkcja może być liniowa lub nieliniowa, oparta na małej liczbie wcześniejszych nagród blokowych lub oparta na stanie zależnym od wszystkich poprzednich bloków. Najprostszy projekt polega na zastosowaniu pewnego rodzaju filtra dolnoprzepustowego na skumulowanych opłatach. RSK wykorzystuje bardzo prostą funkcję wygładzania, tj IIR w α = 0.1. Jeśli górnik RSK ułoży blok na wysokości N, górnik otrzyma rekompensatę w wysokości 10% opłat transakcyjnych za blok N i 10% wszystkich niezapłaconych wcześniej opłat górniczych. Inaczej mówiąc, istnieje „wspólne” konto górników, gdzie przy każdym bloku zwycięski górnik wpłaca opłaty transakcyjne i pobiera dla siebie 10%.
Wygładzanie nagród zwiększa zachętę do rozszerzenia łańcucha bloków w porównaniu z zachętą do ponownego wydobycia poprzedniego bloku w celu pobrania uiszczonych opłat, ponieważ górnik może pobrać tylko 10% opłat transakcyjnych z wielorybów. Przywołamy poprzedni przykład. Zakładamy, że średnia nagroda za blok wynosi 10 monet, a blok zawiera 100 monet łapówki na wysokości N. W RSK blok na wysokości N zapłaci nagrodę w wysokości 19 monet, podczas gdy następny blok zapłaci 18.1 monet. Samolubny górnik potrzebuje teraz 10 razy więcej mocy mieszającej niż jakikolwiek inny górnik, aby atak był opłacalny.
Teraz pokażemy inne uzupełniające środki ochronne.
RSK wdraża protokół konsensusu dotyczący podziału nagród o nazwie DECOR. DECOR dzieli nagrody za bloki równomiernie pomiędzy bloki rodzeństwa, o ile nagłówki tych bloków odwołują się do uczciwego łańcucha. DECOR zmniejsza motywację do ataku atomizacyjnego, ponieważ zwycięzca transakcji z wysoką opłatą musi podzielić się nagrodą z aż 10 kolejnymi górnikami, którzy wyprodukowali bloki rodzeństwa. Dzieje się tak dlatego, że blok blockchain może mieć do 10 odniesień do rodzeństwa bloku, a protokół DECOR dzieli nagrodę za blok pomiędzy nimi wszystkimi. Aby uniknąć dzielenia się, górnik musiałby wydobyć kolejnych 10 samolubnych bloków, co uniemożliwiłoby odniesienia do wujków i znacznie zmniejszyłoby jego szanse na sukces. Biorąc pod uwagę dzielenie się nagrodami w połączeniu z wyrównaniem opłat, aby próba zakłócenia sieci RSK zakończyła się sukcesem, łapówka musi być co najmniej 110 razy wyższa niż średnia nagroda za blok.
Połączone wydobycie uwzględniające widełki to wariant scalonego eksploracji, który pozwala użytkownikom monitorować sieć mainchain (np. Bitcoin) pod kątem złośliwych forków w sieci sidechain (np. RSK). Aby skorzystać z ataku polegającego na transakcji wielorybniczej, atakujący musi znaleźć ofiarę i dokonać podwójnego wydatku. Ofiarą prawdopodobnie byłaby internetowa giełda kryptowalut. Giełdy kryptowalut czekają na kilkaset potwierdzeń bloków przed przyjęciem depozytu, co jest wystarczającym czasem dla System RSK Armadillo aby wcześniej wykryć złośliwe rozwidlenie i powiadomić giełdę. W przypadku ataków typu „fee sniping” i „miner atomization” szkodliwe forki są krótkie, dlatego Armadillo może służyć jedynie jako narzędzie do diagnozowania sytuacji i identyfikowania pul odbiegających od uczciwego protokołu, ale nie może zapobiec atakowi.
Kolejnym uzupełniającym środkiem ochronnym, którego obecnie RSK nie realizuje, jest ograniczenie ceny transakcyjnej gazu do wielokrotności ceny minimalnej gazu (tj. 10-krotnego spreadu). Zaproponowałem porównywalną miarę dla Bitcoina w 2013. RSK mogłoby to łatwo wdrożyć, ponieważ każdy blok ogłasza minimalną akceptowaną cenę gazu transakcyjnego. Ustalenie maksymalnej ceny gazu nie rozwiązuje jednak całkowicie problemu, jeśli sieć znajduje się w stanie, w którym bloki nie zużywają całego limitu gazu dostępnego w bloku. Wysoka opłata transakcyjna w T może wynikać z większej ilości zużytego gazu, a nie z wyższej ceny gazu (uiszczana opłata jest iloczynem tych dwóch kwot).
Wygładzanie nagród nie jest najlepszym rozwiązaniem, ponieważ napastnicy mogą do tego wykorzystać platformę inteligentnych kontraktów przekupić górnicy do robienia czegokolwiek. Teoretyczny „Wieczny wybór dla ataku Ciemnej Strony” (lub ECDSA :) ) przedstawiłem w 2014, aby pokazać, w jaki sposób górnicy mogą zostać przekupieni, aby odstąpili od uczciwego zachowania. McCorry i w. (2018) przedstawił szeroką gamę teoretycznych ataków przekupstwa. Jednakże poziom zrozumienia i przygotowania wymagany do przyjmowania łapówek w formie inteligentnych kontraktów jest znaczny. To sprawia, że ataki przekupstwa oparte na inteligentnych kontraktach są znacznie trudniejsze do przeprowadzenia. Górnik musi być świadomy umowy przekupstwa i wiedzieć, jak z nią współdziałać. Jednak tego typu atak jest nieunikniony: jeśli platforma może dokonać płatności na rzecz aktualnego górnika blokowego, może również wykonać inteligentny kontrakt, który płaci temu samemu górnikowi. Dzieje się tak dlatego, że oba języki programowania opisujące konsensus protokołu i ten używany w inteligentnych kontraktach są „kompletne w technologii Turinga”. Jest to ciekawy problem teoretyczny.
Można wymyślić sprytne sztuczki utrudniające wręczanie łapówek, takie jak wymuszanie, aby adresy górnika były specjalne (tj. tylko jednorazowe), tak aby górnik nie mógł zapłacić łapówkarstwem. Jednakże kompletna platforma inteligentnych kontraktów Turinga nie może uniemożliwić płatności od strony, która jest skłonna zapłacić, innej stronie, która chce otrzymać zapłatę. Zawsze konstruujemy skuteczny inteligentny kontrakt przekupstwa, który pozwala uniknąć obrony. Na przykład złośliwy górnik może stworzyć dowód wiedzy zerowej potwierdzający kontrolę nad konkretnym adresem koparki w kontrakcie, bez ujawniania klucza prywatnego. Górnik prześle ten dowód do umowy łapówkarskiej wraz z alternatywnym adresem odbioru, na który ma otrzymać łapówkę.
Nie wystarczy ograniczyć możliwości języka inteligentnych kontraktów w łańcuchu bloków, którego górnicy mają zostać przekupieni, ponieważ do płacenia łapówek górnikom można używać dowolnej innej platformy inteligentnych kontraktów kompletnej pod kątem Turinga. Platforma musi jedynie uruchomić przekaźnik nagłówka bloku (np. btcrelay). Na przykład RSK i Ethereum można wykorzystać do płacenia łapówek górnikom Bitcoin. Jednak koordynacja ataku na mostkowany łańcuch bloków jest trudniejsza.
Jedną z potencjalnych obrony przed atakami przekupstwa jest zastosowanie wariantu protokołu konsensusu PoS, który wymaga, aby większość producentów bloków podpisała bloki, a także wymaga od nich posiadania depozytu zabezpieczającego (stawki) monet przez okres miesięcy. Stawka górników, którzy wychodzą dwuznacznie (produkują dwa sprzeczne bloki lub rozszerzenia sprzecznych forków) zostanie skonfiskowana przez hard fork uruchomiony przez społeczność. Chociaż ta ochrona nie eliminuje luki, może zwiększyć koszt ataku, ponieważ łapówka musi być wyższa niż stracona stawka. Obecnie włączenie stakowania górników nie jest możliwe na Bitcoinie. Chociaż RSK mogłoby przyjąć konsensus w sprawie PoS, nie ma propozycji przejścia na PoS ani mieszania PoW z PoS w RSK.
Zaprezentowaliśmy kilka znanych ataków na rzecz konsensusu Nakamoto, opartych na złośliwych transakcjach powodujących wyjątkowo wysokie opłaty. Niektóre ataki umożliwiają podwójne wydatki, a inne powodują niestabilność sieci. Ataki te są szczególnie istotne w przypadku wszystkich łańcuchów bocznych Bitcoin, w tym RSK. RSK wdraża wygładzanie nagród za blokowanie, dzielenie się nagrodami za blokowanie i połączone wydobycie z uwzględnieniem widełek jako środki odstraszające. Chociaż wygładzanie nagród działa w przypadku wyraźnych opłat, nie można uniknąć ogólnego przypadku łapówek płaconych za pomocą inteligentnych kontraktów. Obrona przed tymi atakami wymaga aktywnego monitorowania sieci. Wreszcie konieczne są dalsze badania nad potencjalnymi rozwiązaniami tych ataków.
- 100
- 2016
- 2019
- Konto
- aktywny
- Adam Back
- Dodatkowy
- Korzyść
- Wszystkie kategorie
- artykuł
- kapitał
- zautomatyzowane
- BEST
- Zakłady
- do
- Bitcoin
- blockchain
- BTC
- cena btc
- Gotówka
- Spowodować
- powodowany
- ceo
- wyzwanie
- duża szansa,
- zmiana
- Wykrywanie urządzeń szpiegujących
- dziecko
- kod
- Moneta
- Monety
- społeczność
- Odszkodowanie
- Zgoda
- konsumować
- kontynuować
- umowa
- umowy
- Tworzenie
- Crypto
- wymiana krypto
- Giełdy Kryptowalutowe
- kryptowaluta
- Aktualny
- Zdecentralizowane
- Obrona
- Denial of Service
- Wnętrze
- detal
- Zakłócać
- Zakłócenie
- księgi rozproszone
- Wcześnie
- Gospodarczy
- ethereum
- wymiana
- Wymiana
- rozszerzenia
- Twarz
- twarze
- Cecha
- Korzyści
- Opłaty
- W końcu
- i terminów, a
- obserwuj
- widelec
- pełny
- funkcjonować
- przyszłość
- GAS
- ge
- Ogólne
- GM
- GP
- chwycić
- GV
- twardy widelec
- haszysz
- mieszanie
- Hashrate
- tutaj
- Wysoki
- W jaki sposób
- How To
- HTTPS
- pomysł
- zidentyfikować
- Włącznie z
- Zwiększać
- IP
- IT
- Klawisz
- wiedza
- Labs
- język
- poziom
- długo
- poważny
- Większość
- zmierzyć
- średni
- Mempool
- Górniczy
- Górnictwo
- pieniądze
- monitorowanie
- miesięcy
- sieć
- węzły
- Oferty
- Online
- Inne
- Papier
- Zapłacić
- płatność
- płatności
- peer to peer
- Platforma
- Platformy
- basen
- Baseny
- PoS
- PoW
- power
- teraźniejszość
- zapobieganie
- Cena
- prywatny
- Klucz prywatny
- Wytworzony
- Producenci
- Produkt
- Zysk
- Programowanie
- dowód
- wniosek
- ochrona
- Ochronny
- Badania naukowe
- REST
- dochód
- Nagrody
- Marszczyć
- marszczyć laboratoria
- run
- bieganie
- bezpieczeństwo
- Serie
- ustawienie
- Share
- Akcje
- przesunięcie
- Short
- łańcuch boczny
- Prosty
- mały
- mądry
- inteligentna umowa
- Inteligentne kontrakty
- So
- Rozwiązania
- ROZWIĄZANIA
- wydać
- rozpiętość
- stawka
- Staking
- Stan
- Strategia
- subsydium
- sukces
- udany
- zrównoważone
- Przełącznik
- osoby trzecie
- czas
- transakcja
- transakcje
- Turinga
- Użytkownicy
- wartość
- wrażliwość
- czekać
- Wikipedia
- słowa
- Praca
- działa
- Xrp
- lat
- zero