Zrozumienie algorytmów wydobywczych
Algorytmy górnicze stanowią podstawę sieci opartych na technologii blockchain, takich jak Bitcoin i inne protokoły.
W technologii blockchain algorytmy górnicze są niezbędne do weryfikacji transakcji i bezpieczeństwa sieci. Algorytm górniczy instruuje komputery górników, aby postępowały zgodnie z zestawem reguł w celu wygenerowania prawidłowego bloku.
Proof-of-work (PoW) to dobrze znany algorytm konsensusu używany przez Bitcoin i inne kryptowaluty. W PoW górnicy konkurują, wykorzystując moc obliczeniową, aby znaleźć określoną wartość hash, która da im nowy blok. Układy scalone ASIC (Application-Specific Integrated Circuit) to specjalistyczny sprzęt niezbędny górnikom do konkurowania w tak energochłonnym procesie, ale przed ASIC-ami użytkownicy w domu korzystali z urządzeń do kopania CPU i GPU o mniejszej skali.
W kopaniu danych w układach ASIC wykorzystywana jest przede wszystkim funkcja skrótu SHA-256, opracowana przez Agencję Bezpieczeństwa Narodowego Stanów Zjednoczonych (NSA) i opublikowana w 2001 roku jako standard integralności danych. Bitcoin korzysta z algorytmu SHA-256, aby zapewnić maksymalne bezpieczeństwo i integralność, ponieważ najmniejsza zmiana algorytmu zmieniłaby wynik funkcji skrótu.
Aby nadążyć za operacjami wydobywczymi na skalę przemysłową, wielu górników dołącza do pul wydobywczych, aby połączyć swoją moc obliczeniową, zwiększając w ten sposób szanse na udane wydobycie bloku. Nagrody za bloki są dzielone proporcjonalnie, w zależności od wkładu każdego członka.
Wybór algorytmu wydobywczego jest kluczową decyzją dla projektu kryptowalutowego, ponieważ określa zasady i wymagania niezbędne do stworzenia i zabezpieczenia sieci blockchain, poza sposobem nagradzania uczestników nowo wybitymi monetami. Przykładami innych popularnych algorytmów wydobywczych są Ethash, używany przez blockchain Ethereum, oraz CryptoNight, używany przez sieć Monero.
Czym jest algorytm CryptoNight?
CryptoNight to jeden z najszybszych algorytmów wydobywczych i część protokołu konsensusu CryptoNote.
CryptoNight to algorytm PoW do kopania kryptowalut na procesorach CPU i GPU, zaprojektowany z myślą o odporności na układy ASIC, aby zapobiec centralizacji mocy obliczeniowej. Ma on pomóc użytkownikom w wydajniejszym kopaniu kryptowalut, wykorzystując kombinację funkcji haszujących, w tym CryptoNight i Keccak.
Jego kryptograficzna funkcja skrótu działa w oparciu o Advanced Encryption Standard (AES), algorytm wojskowy zapewniający ekstremalne bezpieczeństwo, co czyni CryptoNight algorytmem wydobywczym o wysokim poziomie bezpieczeństwa. Odkąd Monero zaczęło używać go jako algorytmu skrótu dla konsensusu blockchain, reputacja CryptoNight jako algorytmu bezpieczeństwa umocniła się w świecie kryptowalut.
Stworzenie algorytmu CryptoNight jest fascynujące i nawiązuje do początków Bitcoina. Jego twórca – występujący pod fikcyjnym nazwiskiem Nicolas van Saberhagen – zniknął, podobnie jak słynny Satoshi Nakamoto.
Biorąc pod uwagę podobieństwo, wielu uważa, że obaj twórcy to ta sama osoba, a tajemniczość potęguje jeszcze bardziej niepokojąca data premiery CryptoNote, 12 grudnia 2012 roku (12.12.2012). CryptoNote był protokołem bezpieczeństwa i narzędziem ochrony prywatności, które promowało poufne transakcje, transakcje niepowiązane i podpisy pierścieniowe.
Jak działa algorytm wydobywczy CryptoNight?
CryptoNight wykorzystuje protokół konsensusu CryptoNote w celu wzmocnienia prywatności, dzięki czemu nikt nie może stwierdzić, który uczestnik transakcji płaci i kto otrzymuje pieniądze.
CryptoNight jest przyjazny dla GPU, ale jego cechy sprawiają, że idealnie nadaje się do kopania na CPU. Dzięki zestawowi 64-bitowych szybkich mnożników dla maksymalnej szybkości, architektura CPU jest bardzo wydajna; co więcej, intensywne wykorzystanie pamięci podręcznej CPU gwarantuje najwyższą wydajność.
Proces ten składa się z trzech głównych etapów:
Tworzenie „notatki”
Podczas funkcji haszującej przechowywana jest duża pamięć z wartościami pośrednimi. Pierwsze dane wejściowe są haszowane za pomocą funkcji haszującej Keccak-1600, co daje 200 bajtów losowo generowanych danych.
Transformacja szyfrowania
Następnie bierze pierwsze 31 bajtów skrótu Keccak-1600 i przekształca je w klucz szyfrujący dla algorytmu AES-256, który jest najwyższą wartością w rodzinie AES.
Końcowe haszowanie
CryptoNight pobiera cały zestaw danych utworzony w poprzednim kroku przez funkcje AES-256 i Keccak i przepuszcza go przez pozostałe funkcje skrótu. Ostatecznie, w wyniku proof-of-work CryptoNight, powstaje skrót o długości 256 bitów, czyli 64 znaków.
Dlaczego CryptoNight jest ważny?
CryptoNight został zaprojektowany, aby dać procesorom CPU i GPU równe szanse w wydobywaniu bloków i zniechęcić do korzystania z układów ASIC.
CryptoNight jest ważny z trzech kluczowych powodów: zapewnia większą prywatność dzięki niemożliwym do wyśledzenia transakcjom, odporność na układy ASIC oraz skalowalność. Większość kryptowalut, w tym Bitcoin (BTC), jest praktycznie prywatna, ponieważ transakcje i saldo danej osoby można łatwo śledzić w otwartym blockchainie za pośrednictwem adresu publicznego.
Z drugiej strony, CryptoNight został zaprojektowany z myślą o użytkownikach dbających o prywatność, którzy chcą przeprowadzać prywatne transakcje w blockchainie. Jego twórcy zintegrowali w algorytmie dwa kluczowe narzędzia ochrony prywatności, aby osiągnąć maksymalne bezpieczeństwo i anonimowość: podpisy pierścieniowe i adresy stealth, oba opracowane przez zespół Monero.
Jednym z kluczowych powodów rozwoju CryptoNight było złagodzenie rosnących obaw związanych z centralizacją kryptowalut, wynikających z zastosowania układów ASIC w koparkach kryptowalut. Twórcy projektu skupili się na zakwestionowaniu dominacji układów ASIC i opracowali system, w którym procesory graficzne (GPU) i CPU mogły zachować przewagę konkurencyjną w kopaniu kryptowalut.
Skalowalność i wysoka wydajność to również fundamenty CryptoNight, którego moc obliczeniowa wzrosła wykładniczo, co gwarantuje większą skalowalność dzięki szybszym transakcjom.
Które kryptowaluty wykorzystują algorytm kopania CryptoNight?
Bytecoin był pierwszą kryptowalutą, która zastosowała protokół CryptoNote w swoim blockchainie, ale jego zastosowanie w Monero pomogło projektowi zdobyć większą renomę i popularność.
Algorytm CryptoNight został zintegrowany już przez wiele kryptowalut. Pierwszym przykładem jest CryptoNoteCoin, co wyraźnie nawiązuje do projektu CryptoNight.
Bytecoin
Chociaż początkowo projekt stawiał opór dominacji układów ASIC, pierwsza kryptowaluta CryptoNight, która wsparła rozwój projektu, ogłosiła w 2018 r., że zintegruje kopanie kryptowalut za pomocą układów ASIC, zachowując jednocześnie algorytm w celu zapobiegania problemom z bezpieczeństwem i anonimowością.
Monero
Mimo że Monero nie korzysta już z CryptoNight, był jednym z jego najzagorzalszych zwolenników, sprzeciwiając się nadmiernej mocy układów ASIC. Monero odziedziczyło CryptoNight jako dowód pracy w 2014 roku i od tego czasu nieznacznie rozwinęło algorytm, tworząc CryptoNight-R, aby celowo złamać kompatybilność z istniejącymi układami ASIC.
Jednak w 2017 roku Bitmain opracował wydajny CryptoNight, kompatybilny z układami ASIC, a do 2018 roku układy ASIC ponownie dołączyły do sieci Monero. W 2019 roku Monero zmieniło swój algorytm kopania na RandomX, który koncentrował się na kopaniu przy użyciu procesora.
Electroneum (ETN)
Electroneum wykorzystuje algorytm wydobywczy CryptoNight, który w wersji mobilnej wprowadza znaczącą innowację. Dzięki temu użytkownicy mogą wydobywać kryptowalutę nie tylko tradycyjną metodą, ale także przy użyciu smartfonów za pośrednictwem mobilnego koparki.
Inne mniej znane projekty implementujące algorytm CryptoNight to Boolberry, Dashcoin, DigitalNote, DarkNetCoin i Pebblecoin. Jednak w 2017 roku projekty te padły ofiarą złośliwych ataków, co wzbudziło obawy dotyczące bezpieczeństwa ich sieci i niezawodności algorytmu CryptoNight.
Stworzono różne warianty algorytmu CryptoNight, a CryptoNight Heavy to jedna z wersji algorytmu haszującego. Jest on implementowany w różnych projektach kryptowalutowych, w tym Ryo Currency, Sumokoin i Loki.
Ponieważ jednak CryptoNight Heavy opiera się na sieci peer-to-peer, która nie wymaga zaufania, może to prowadzić do poważnych luk w zabezpieczeniach. Ponieważ węzły muszą sprawdzać PoW każdego nowego bloku i poświęcać znaczną ilość czasu na analizę każdego hasha, mogą stać się bardziej podatne na ataki typu DDoS (Distributed Denial of Service), czyli skoordynowane działania botnetów, które przeciążają sieć fałszywym ruchem.
Co czeka algorytm CryptoNight?
Od momentu powstania w 2012 r. algorytm CryptoNight przechodził znaczące zmiany, ulepszenia i drobne modyfikacje, aby dostosować się do różnych projektów kryptowalutowych, aż do momentu wprowadzenia ostatecznej wersji stworzonej przez Monero, CryptoNight-R.
Czy CryptoNight jest nadal ważnym algorytmem wydobywczym, czy też nie spełnił swojej misji stania się egalitarnym narzędziem? Wszystkie wersje miały jeden wspólny cel: odporność na układy ASIC i zapobieganie ich dalszej dominacji w wydobyciu kryptowalut.
Wielu uważa, że tak się nie stało, a projekt nie zrealizował swojego pierwotnego założenia. Zespół Monero stwierdził, że niepowodzenie wynikało z powodów bezpieczeństwa. Ponieważ hash CryptoNight jest dość drogi i czasochłonny w weryfikacji, może on stanowić ryzyko DoS dla węzłów, co zostało wcześniej podkreślone w przypadku niektórych kryptowalut opartych na CryptoNight.
Inni uważają, że zrobił wszystko, co w jego mocy, aby zapobiec dalszej ekspansji władzy korporacyjnej ASIC. Powstał jako egalitarny algorytm, który mógł zagwarantować ludziom równe prawa do kopania, nie tylko w świecie korporacji.
Nadal działa jako narzędzie do kopania kryptowalut, dostępne dla każdego, mimo że odporność na układy ASIC nie jest już możliwa, ponieważ układy ASIC były w stanie zaadaptować się do skutecznego kopania kryptowalut z wykorzystaniem tego algorytmu. Niemniej jednak, nadal może być dobrym punktem wyjścia do rozwoju przyszłych projektów kryptowalutowych, szczególnie dla użytkowników ceniących prywatność i uczciwe kopanie.

