Blockchain & Crypto Currencies
Last updated
Last updated
Ucz się i praktykuj Hacking AWS:HackTricks Szkolenie AWS Red Team Expert (ARTE) Ucz się i praktykuj Hacking GCP: HackTricks Szkolenie GCP Red Team Expert (GRTE)
Smart Contracts są programami działającymi na blockchainie, które wykonują się, gdy spełnione są określone warunki, automatyzując wykonanie umów bez pośredników.
Zdecentralizowane Aplikacje (dApps) opierają się na smart contractach, posiadając przyjazny interfejs użytkownika oraz transparentne, audytowalne zaplecze.
Tokeny i Monety różnią się tym, że monety służą jako cyfrowe pieniądze, podczas gdy tokeny reprezentują wartość lub własność w określonych kontekstach.
Tokeny Użytkowe umożliwiają dostęp do usług, a Tokeny Bezpieczeństwa oznaczają posiadanie aktywów.
DeFi oznacza Dezentralizowaną Finansów, oferując usługi finansowe bez centralnych władz.
DEX i DAOs odnoszą się odpowiednio do Platform Wymiany Zdecentralizowanej i Zdecentralizowanych Organizacji Autonomicznych.
Mechanizmy konsensusu zapewniają bezpieczne i uzgodnione walidacje transakcji na blockchainie:
Proof of Work (PoW) polega na mocy obliczeniowej do weryfikacji transakcji.
Proof of Stake (PoS) wymaga, aby walidatorzy posiadalii określoną ilość tokenów, zmniejszając zużycie energii w porównaniu do PoW.
Transakcje Bitcoina polegają na przesyłaniu środków między adresami. Transakcje są walidowane za pomocą podpisów cyfrowych, zapewniając, że tylko właściciel klucza prywatnego może inicjować transfery.
Główne Składniki:
Transakcje Multisygnaturowe wymagają wielu podpisów do autoryzacji transakcji.
Transakcje składają się z wejść (źródła środków), wyjść (celu), opłat (płaconych górnikom) oraz skryptów (reguł transakcji).
Ma na celu zwiększenie skalowalności Bitcoina, pozwalając na wiele transakcji w kanale, a następnie nadając tylko ostateczny stan na blockchainie.
Ataki na prywatność, takie jak Wspólne Posiadanie Wejścia i Wykrywanie Adresu Zmiany UTXO, wykorzystują wzorce transakcji. Strategie takie jak Miksery i CoinJoin poprawiają anonimowość, zacieniając połączenia transakcyjne między użytkownikami.
Metody obejmują handel gotówką, kopanie oraz korzystanie z miksów. CoinJoin miesza wiele transakcji, komplikując śledzenie, podczas gdy PayJoin maskuje CoinJoiny jako zwykłe transakcje dla zwiększonej prywatności.
W świecie Bitcoina prywatność transakcji i anonimowość użytkowników często budzą obawy. Oto uproszczony przegląd kilku powszechnych metod, za pomocą których atakujący mogą naruszyć prywatność Bitcoina.
Zazwyczaj rzadko zdarza się, że wejścia od różnych użytkowników są łączone w jednej transakcji ze względu na złożoność. Dlatego dwa adresy wejściowe w tej samej transakcji są często uważane za należące do tego samego właściciela.
UTXO, czyli Niewykorzystany Wynik Transakcji, musi być całkowicie wydany w transakcji. Jeśli tylko część z niego jest wysyłana na inny adres, reszta trafia na nowy adres zmiany. Obserwatorzy mogą założyć, że ten nowy adres należy do nadawcy, naruszając prywatność.
Aby temu zapobiec, usługi miksowania lub korzystanie z wielu adresów może pomóc zaciemnić właściciela.
Użytkownicy czasami udostępniają swoje adresy Bitcoin online, co sprawia, że jest łatwo powiązać adres z jego właścicielem.
Transakcje można wizualizować jako grafy, ujawniając potencjalne połączenia między użytkownikami na podstawie przepływu środków.
Ta heurystyka opiera się na analizie transakcji z wieloma wejściami i wyjściami, aby zgadywać, które wyjście to zmiana wracająca do nadawcy.
Atakujący mogą wysyłać niewielkie kwoty na wcześniej używane adresy, mając nadzieję, że odbiorca połączy je z innymi wejściami w przyszłych transakcjach, co pozwoli na powiązanie adresów.
Portfele powinny unikać używania monet otrzymanych na już używanych, pustych adresach, aby zapobiec wyciekowi prywatności.
Dokładne Kwoty Płatności: Transakcje bez reszty są prawdopodobnie między dwoma adresami należącymi do tego samego użytkownika.
Kwoty Zaokrąglone: Kwota zaokrąglona w transakcji sugeruje, że jest to płatność, a niezaokrąglony wynik prawdopodobnie jest resztą.
Identyfikacja Portfela: Różne portfele mają unikalne wzorce tworzenia transakcji, pozwalając analitykom zidentyfikować użyte oprogramowanie i potencjalnie adres reszty.
Korelacje Kwot i Czasu: Ujawnienie czasów lub kwot transakcji może uczynić je śledzalnymi.
Poprzez monitorowanie ruchu sieciowego, atakujący mogą potencjalnie powiązać transakcje lub bloki z adresami IP, naruszając prywatność użytkowników. Szczególnie dotyczy to sytuacji, gdy podmiot obsługuje wiele węzłów Bitcoin, zwiększając zdolność monitorowania transakcji.
Aby uzyskać kompletną listę ataków i obrony prywatności, odwiedź Prywatność Bitcoin na Wiki Bitcoin.
Transakcje Gotówkowe: Pozyskiwanie bitcoinów za gotówkę.
Alternatywy Gotówkowe: Zakup kart podarunkowych i wymiana ich online na bitcoiny.
Kopanie: Najbardziej prywatny sposób zdobycia bitcoinów to kopanie, zwłaszcza gdy jest wykonywane samodzielnie, ponieważ pule wydobywcze mogą znać adres IP kopacza. Informacje o Pulach Wydobywczych
Kradzież: Teoretycznie kradzież bitcoinów mógłby być kolejnym sposobem na ich anonimowe pozyskanie, chociaż jest to nielegalne i niezalecane.
Poprzez korzystanie z usługi mieszania, użytkownik może wysłać bitcoiny i otrzymać inne bitcoiny w zamian, co utrudnia śledzenie pierwotnego właściciela. Jednak wymaga to zaufania do usługi, aby nie przechowywała logów i faktycznie zwróciła bitcoiny. Alternatywne opcje mieszania obejmują kasyna Bitcoin.
CoinJoin łączy wiele transakcji od różnych użytkowników w jedną, komplikując proces dla osób próbujących dopasować wejścia do wyjść. Pomimo swojej skuteczności, transakcje z unikalnymi rozmiarami wejść i wyjść wciąż mogą potencjalnie być śledzone.
Przykładowe transakcje, które mogły zostać wykonane za pomocą CoinJoin, to 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a
i 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238
.
Aby uzyskać więcej informacji, odwiedź CoinJoin. Dla podobnej usługi na Ethereum, sprawdź Tornado Cash, która anonimizuje transakcje z funduszy od górników.
Wariant CoinJoin, PayJoin (lub P2EP), maskuje transakcję między dwiema stronami (np. klientem i handlowcem) jako zwykłą transakcję, bez charakterystycznych równych wyjść charakterystycznych dla CoinJoin. Sprawia to, że jest to bardzo trudne do wykrycia i może unieważnić heurystykę wspólnego posiadania wejścia używaną przez podmioty monitorujące transakcje.
Transakcje jak powyższa mogą być PayJoin, zwiększając prywatność, pozostając jednocześnie nie do odróżnienia od standardowych transakcji bitcoinowych.
Wykorzystanie PayJoin może znacząco zakłócić tradycyjne metody nadzoru, co czyni go obiecującym rozwojem w dążeniu do prywatności transakcyjnej.
Aby zachować prywatność i bezpieczeństwo, synchronizacja portfeli z blockchainem jest kluczowa. Wyróżniają się dwie metody:
Pełny węzeł: Pobierając cały blockchain, pełny węzeł zapewnia maksymalną prywatność. Wszystkie dokonane transakcje są przechowywane lokalnie, co uniemożliwia przeciwnikom zidentyfikowanie, które transakcje lub adresy użytkownik interesują.
Filtrowanie bloków po stronie klienta: Ta metoda polega na tworzeniu filtrów dla każdego bloku w blockchainie, pozwalając portfelom identyfikować istotne transakcje bez ujawniania konkretnych zainteresowań obserwatorom sieci. Lekkie portfele pobierają te filtry, pobierając pełne bloki tylko wtedy, gdy zostanie znalezione dopasowanie do adresów użytkownika.
Ponieważ Bitcoin działa w sieci peer-to-peer, zaleca się korzystanie z Tor, aby zasłonić swój adres IP, zwiększając prywatność podczas interakcji z siecią.
Aby chronić prywatność, ważne jest używanie nowego adresu dla każdej transakcji. Ponowne użycie adresów może naruszyć prywatność, łącząc transakcje z tą samą jednostką. Nowoczesne portfele zniechęcają do ponownego używania adresów poprzez swoje projekty.
Wiele transakcji: Podzielenie płatności na kilka transakcji może zaciemnić kwotę transakcji, udaremniając ataki na prywatność.
Unikanie reszty: Wybieranie transakcji, które nie wymagają reszty, zwiększa prywatność poprzez zakłócenie metod wykrywania reszty.
Wiele reszt: Jeśli unikanie reszty nie jest możliwe, generowanie wielu reszt nadal może poprawić prywatność.
Monero odpowiada na potrzebę absolutnej anonimowości w transakcjach cyfrowych, ustanawiając wysoki standard prywatności.
Gas mierzy wysiłek obliczeniowy potrzebny do wykonania operacji na Ethereum, wyceniany w gwei. Na przykład transakcja kosztująca 2 310 000 gwei (lub 0,00231 ETH) obejmuje limit gazu, opłatę podstawową oraz napiwek dla zachęty dla górników. Użytkownicy mogą ustawić maksymalną opłatę, aby upewnić się, że nie przepłacają, a nadwyżka zostanie zwrócona.
Transakcje w Ethereum obejmują nadawcę i odbiorcę, którzy mogą być adresami użytkownika lub inteligentnych kontraktów. Wymagają one opłaty i muszą być wydobywane. Istotne informacje w transakcji obejmują odbiorcę, podpis nadawcy, wartość, opcjonalne dane, limit gazu i opłaty. Warto zauważyć, że adres nadawcy jest wydedukowany z podpisu, eliminując potrzebę jego zawarcia w danych transakcji.
Te praktyki i mechanizmy stanowią fundament dla każdego, kto chce zaangażować się w kryptowaluty, priorytetyzując prywatność i bezpieczeństwo.