tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Основні Концепції
- Смарт-контракти визначаються як програми, які виконуються на блокчейні, коли виконуються певні умови, автоматизуючи виконання угод без посередників.
- Децентралізовані додатки (dApps) базуються на смарт-контрактах, маючи зручний інтерфейс для користувачів та прозорий, підзвітний бекенд.
- Токени та Монети відрізняються тим, що монети слугують цифровими грошима, тоді як токени представляють цінність або власність у певних контекстах.
- Утиліті токени надають доступ до послуг, а Секюріті токени позначають власність на активи.
- DeFi означає децентралізовані фінанси, пропонуючи фінансові послуги без центральних органів.
- DEX та DAO відносяться до децентралізованих платформ обміну та децентралізованих автономних організацій відповідно.
Механізми Консенсусу
Механізми консенсусу забезпечують безпечну та узгоджену валідацію транзакцій на блокчейні:
- Proof of Work (PoW) покладається на обчислювальну потужність для верифікації транзакцій.
- Proof of Stake (PoS) вимагає, щоб валідатори тримали певну кількість токенів, зменшуючи споживання енергії в порівнянні з PoW.
Основи Bitcoin
Транзакції
Транзакції Bitcoin включають передачу коштів між адресами. Транзакції верифікуються за допомогою цифрових підписів, що забезпечує, що лише власник приватного ключа може ініціювати перекази.
Ключові Компоненти:
- Мультипідписні транзакції вимагають кілька підписів для авторизації транзакції.
- Транзакції складаються з входів (джерело коштів), виходів (призначення), комісій (сплачених майнерам) та скриптів (правил транзакції).
Lightning Network
Спрямована на покращення масштабованості Bitcoin, дозволяючи кілька транзакцій в межах каналу, лише транслюючи фінальний стан на блокчейн.
Проблеми Приватності Bitcoin
Атаки на приватність, такі як Припущення спільної власності на входи та Виявлення адреси зміни UTXO, експлуатують шаблони транзакцій. Стратегії, такі як Міксери та CoinJoin, покращують анонімність, приховуючи зв'язки транзакцій між користувачами.
Отримання Bitcoin анонімно
Методи включають готівкові угоди, майнінг та використання міксерів. CoinJoin змішує кілька транзакцій, ускладнюючи трасування, тоді як PayJoin маскує CoinJoins як звичайні транзакції для підвищення приватності.
Атаки на Приватність Bitcoin
Резюме Атак на Приватність Bitcoin
У світі Bitcoin приватність транзакцій та анонімність користувачів часто викликають занепокоєння. Ось спрощений огляд кількох поширених методів, за допомогою яких зловмисники можуть скомпрометувати приватність Bitcoin.
Припущення спільної власності на входи
Зазвичай рідко, щоб входи від різних користувачів об'єднувалися в одній транзакції через пов'язані складнощі. Таким чином, дві адреси входів в одній транзакції часто вважаються належними одному власнику.
Виявлення адреси зміни UTXO
UTXO, або Невитрачений вихід транзакції, повинен бути повністю витрачений у транзакції. Якщо лише частина з нього надсилається на іншу адресу, решта йде на нову адресу зміни. Спостерігачі можуть припустити, що ця нова адреса належить відправнику, що компрометує приватність.
Приклад
Щоб зменшити це, міксингові сервіси або використання кількох адрес можуть допомогти приховати власність.
Витік через Соціальні Мережі та Форуми
Користувачі іноді діляться своїми адресами Bitcoin в Інтернеті, що робить легким зв'язок адреси з її власником.
Аналіз Графа Транзакцій
Транзакції можна візуалізувати як графи, що виявляють потенційні зв'язки між користувачами на основі потоку коштів.
Гіпотеза Непотрібного Входу (Оптимальна Гіпотеза Зміни)
Ця гіпотеза базується на аналізі транзакцій з кількома входами та виходами, щоб вгадати, який вихід є зміною, що повертається до відправника.
Приклад
2 btc --> 4 btc
3 btc 1 btc
Якщо додавання більше вхідних даних робить вихідні дані більшими, ніж будь-який окремий вхід, це може заплутати евристичний аналіз.
Примусове повторне використання адреси
Зловмисники можуть надсилати невеликі суми на раніше використані адреси, сподіваючись, що отримувач об'єднає їх з іншими вхідними даними в майбутніх транзакціях, таким чином пов'язуючи адреси разом.
Правильна поведінка гаманця
Гаманці повинні уникати використання монет, отриманих на вже використаних, порожніх адресах, щоб запобігти цьому витоку конфіденційності.
Інші техніки аналізу блокчейну
- Точні суми платежів: Транзакції без здачі, ймовірно, між двома адресами, що належать одному користувачу.
- Круглі числа: Кругле число в транзакції вказує на те, що це платіж, а не круглий вихід, ймовірно, є здачею.
- Фінгертепінг гаманців: Різні гаманці мають унікальні шаблони створення транзакцій, що дозволяє аналітикам ідентифікувати використовуване програмне забезпечення та потенційно адресу здачі.
- Кореляції суми та часу: Розкриття часу або сум транзакцій може зробити транзакції відстежуваними.
Аналіз трафіку
Моніторинг мережевого трафіку може дозволити зловмисникам потенційно пов'язати транзакції або блоки з IP-адресами, що компрометує конфіденційність користувачів. Це особливо вірно, якщо суб'єкт управляє багатьма вузлами Bitcoin, що підвищує їх здатність моніторити транзакції.
Більше
Для отримання всебічного списку атак на конфіденційність і захистів від них відвідайте Bitcoin Privacy on Bitcoin Wiki.
Анонімні транзакції Bitcoin
Способи отримати Bitcoin анонімно
- Готівкові транзакції: Отримання біткойнів через готівку.
- Альтернативи готівці: Придбання подарункових карток і обмін їх онлайн на біткойни.
- Майнінг: Найбільш приватний спосіб заробити біткойни - це майнінг, особливо коли його виконують наодинці, оскільки майнінг-пули можуть знати IP-адресу майнера. Mining Pools Information
- Крадіжка: Теоретично, крадіжка біткойнів може бути ще одним способом отримати їх анонімно, хоча це незаконно і не рекомендується.
Сервіси змішування
Використовуючи сервіс змішування, користувач може надіслати біткойни і отримати інші біткойни в обмін, що ускладнює відстеження оригінального власника. Проте це вимагає довіри до сервісу, щоб він не зберігав журнали і дійсно повертав біткойни. Альтернативні варіанти змішування включають казино Bitcoin.
CoinJoin
CoinJoin об'єднує кілька транзакцій від різних користувачів в одну, ускладнюючи процес для будь-кого, хто намагається зіставити вхідні дані з вихідними. Незважаючи на свою ефективність, транзакції з унікальними розмірами вхідних і вихідних даних все ще можуть бути відстежені.
Прикладом транзакцій, які могли використовувати CoinJoin, є 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a
та 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238
.
Для отримання додаткової інформації відвідайте CoinJoin. Для подібного сервісу на Ethereum ознайомтеся з Tornado Cash, який анонімізує транзакції з коштів від майнерів.
PayJoin
Варіант CoinJoin, PayJoin (або P2EP), маскує транзакцію між двома сторонами (наприклад, клієнтом і торговцем) як звичайну транзакцію, без характерних рівних виходів, притаманних CoinJoin. Це робить її надзвичайно важкою для виявлення і може знецінити евристичний аналіз спільної власності вхідних даних, що використовується організаціями, які здійснюють моніторинг транзакцій.
2 btc --> 3 btc
5 btc 4 btc
Транзакції, подібні до наведених вище, можуть бути PayJoin, що підвищує конфіденційність, залишаючись невідрізняними від стандартних біткойн-транзакцій.
Використання PayJoin може суттєво порушити традиційні методи спостереження, що робить його багатообіцяючим розвитком у прагненні до транзакційної конфіденційності.
Найкращі практики для конфіденційності в криптовалютах
Техніки синхронізації гаманців
Для підтримки конфіденційності та безпеки важливо синхронізувати гаманці з блокчейном. Виділяються два методи:
- Повний вузол: Завантажуючи весь блокчейн, повний вузол забезпечує максимальну конфіденційність. Усі транзакції, коли-небудь здійснені, зберігаються локально, що унеможливлює для супротивників визначити, які транзакції або адреси цікавлять користувача.
- Фільтрація блоків на стороні клієнта: Цей метод передбачає створення фільтрів для кожного блоку в блокчейні, що дозволяє гаманцям ідентифікувати відповідні транзакції, не розкриваючи конкретні інтереси спостерігачам мережі. Легкі гаманці завантажують ці фільтри, отримуючи повні блоки лише тоді, коли знаходять збіг з адресами користувача.
Використання Tor для анонімності
Оскільки Bitcoin працює в мережі рівноправних учасників, рекомендується використовувати Tor для маскування вашої IP-адреси, що підвищує конфіденційність під час взаємодії з мережею.
Запобігання повторному використанню адрес
Для захисту конфіденційності важливо використовувати нову адресу для кожної транзакції. Повторне використання адрес може скомпрометувати конфіденційність, пов'язуючи транзакції з однією і тією ж особою. Сучасні гаманці заохочують уникнення повторного використання адрес через свій дизайн.
Стратегії для конфіденційності транзакцій
- Кілька транзакцій: Розподіл платежу на кілька транзакцій може затемнити суму транзакції, ускладнюючи атаки на конфіденційність.
- Уникнення здачі: Вибір транзакцій, які не потребують здачі, підвищує конфіденційність, порушуючи методи виявлення здачі.
- Кілька виходів здачі: Якщо уникнути здачі неможливо, створення кількох виходів здачі все ще може покращити конфіденційність.
Monero: маяк анонімності
Monero відповідає потребі в абсолютній анонімності в цифрових транзакціях, встановлюючи високий стандарт для конфіденційності.
Ethereum: газ і транзакції
Розуміння газу
Газ вимірює обчислювальні зусилля, необхідні для виконання операцій в Ethereum, ціна в gwei. Наприклад, транзакція, що коштує 2,310,000 gwei (або 0.00231 ETH), передбачає ліміт газу та базовий збір, з чаєм для стимулювання майнерів. Користувачі можуть встановити максимальний збір, щоб не переплачувати, з надлишком, що повертається.
Виконання транзакцій
Транзакції в Ethereum передбачають відправника та отримувача, якими можуть бути адреси користувача або смарт-контракту. Вони вимагають збору та повинні бути видобуті. Основна інформація в транзакції включає отримувача, підпис відправника, значення, необов'язкові дані, ліміт газу та збори. Важливо, що адреса відправника виводиться з підпису, що усуває необхідність її вказування в даних транзакції.
Ці практики та механізми є основоположними для будь-кого, хто прагне взаємодіяти з криптовалютами, при цьому пріоритетуючи конфіденційність і безпеку.
Посилання
- https://en.wikipedia.org/wiki/Proof_of_stake
- https://www.mycryptopedia.com/public-key-private-key-explained/
- https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions
- https://ethereum.org/en/developers/docs/transactions/
- https://ethereum.org/en/developers/docs/gas/
- https://en.bitcoin.it/wiki/Privacy
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.