Ucz się i praktykuj Hacking AWS:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Szkolenie AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Ucz się i praktykuj Hacking GCP: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Szkolenie GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
- **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.
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.
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ść.
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.
- **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.
- **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](https://en.bitcoin.it/wiki/Pooled_mining)
- **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](https://coinjoin.io/en). Dla podobnej usługi na Ethereum, sprawdź [Tornado Cash](https://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.
- **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.
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.