Блокчейн та криптовалюти
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Основні поняття
- Smart Contracts визначаються як програми, що виконуються на блокчейні при виконанні певних умов, автоматизуючи укладення угод без посередників.
- Decentralized Applications (dApps) базуються на smart contracts і мають зручний фронтенд та прозорий, піддаваний аудиту бекенд.
- Tokens & Coins розрізняються тим, що coins слугують цифровими грошима, тоді як tokens представляють вартість або право власності в певному контексті.
- Utility Tokens дають доступ до сервісів, а Security Tokens означають право власності на активи.
- DeFi — Decentralized Finance, що надає фінансові послуги без центральних органів.
- DEX та DAOs позначають Decentralized Exchange Platforms та Decentralized Autonomous Organizations відповідно.
Механізми консенсусу
Механізми консенсусу забезпечують безпечну та погоджену валідацію транзакцій у блокчейні:
- Proof of Work (PoW) покладається на обчислювальну потужність для верифікації транзакцій.
- Proof of Stake (PoS) вимагає від валідаторів утримання певної кількості токенів, зменшуючи енергоспоживання порівняно з PoW.
Основи Bitcoin
Транзакції
Транзакції Bitcoin передбачають передачу коштів між адресами. Транзакції верифікуються цифровими підписами, гарантуючи, що лише власник приватного ключа може ініціювати передачу.
Ключові компоненти:
- Multisignature Transactions вимагають кількох підписів для авторизації транзакції.
- Транзакції складаються з inputs (джерело коштів), outputs (призначення), fees (сплачуються майнерам) та scripts (правила транзакції).
Lightning Network
Має на меті підвищити масштабованість Bitcoin, дозволяючи виконувати кілька транзакцій у межах каналу, при цьому в блокчейн транслюється лише кінцевий стан.
Проблеми приватності в Bitcoin
Атаки на приватність, такі як Common Input Ownership та UTXO Change Address Detection, експлуатують закономірності в транзакціях. Стратегії на кшталт Mixers і CoinJoin покращують анонімність, ускладнюючи зв’язки між транзакціями та користувачами.
Анонімне придбання Bitcoin
Методи включають обмін за готівку, майнінг та використання mixers. CoinJoin змішує кілька транзакцій, щоб ускладнити трасування, тоді як PayJoin замасковує CoinJoin під виглядом звичайних транзакцій для підвищення приватності.
Атаки на приватність Bitcoin
Підсумок атак на приватність Bitcoin
У світі Bitcoin приватність транзакцій і анонімність користувачів часто викликають занепокоєння. Ось спрощений огляд кількох поширених методів, якими нападники можуть компрометувати приватність у Bitcoin.
Припущення про спільне володіння входами (Common Input Ownership)
Зазвичай рідко кілька входів від різних користувачів комбінуються в одній транзакції через складність. Тому два вхідні адреси в одній транзакції часто припускають належність одному власнику.
Виявлення адреси зміни UTXO (UTXO Change Address Detection)
UTXO, або Unspent Transaction Output, має бути витрачений повністю в транзакції. Якщо лише частина відправляється на іншу адресу, решта йде на нову адресу для зміни (change address). Спостерігачі можуть припустити, що ця нова адреса належить відправнику, що компрометує приватність.
Приклад
Щоб зменшити це, сервіси змішування або використання кількох адрес можуть допомогти ускладнити ідентифікацію власника.
Витік через соціальні мережі та форуми
Користувачі іноді діляться своїми Bitcoin-адресами онлайн, що робить легким зв’язати адресу з її власником.
Аналіз графа транзакцій
Транзакції можна візуалізувати як графи, що виявляє потенційні зв’язки між користувачами на основі потоку коштів.
Евристика непотрібного входу (Optimal Change Heuristic)
Ця евристика базується на аналізі транзакцій з кількома входами та виходами, щоб оцінити, який вихід є зміною, що повертається відправнику.
Приклад
2 btc --> 4 btc
3 btc 1 btc
Якщо додавання більшої кількості входів робить вихід здачі (change output) більшим за будь-який окремий вхід, це може ввести евристику в оману.
Forced Address Reuse
Зловмисники можуть надсилати невеликі суми на раніше використані адреси в надії, що отримувач у майбутніх транзакціях поєднає ці входи з іншими, тим самим пов’язуючи адреси між собою.
Correct Wallet Behavior
Гаманці повинні уникати використання монет, отриманих на вже використаних порожніх адресах, щоб запобігти цьому privacy leak.
Other Blockchain Analysis Techniques
- Exact Payment Amounts: Транзакції без здачі (change) ймовірно відбуваються між двома адресами, що належать одному користувачу.
- Round Numbers: Кругла сума в транзакції свідчить про те, що це платіж, а некруглий вихід імовірно є здачею.
- Wallet Fingerprinting: Різні гаманці мають унікальні шаблони створення транзакцій, що дозволяє аналітикам ідентифікувати використовуване ПЗ і потенційно адресу здачі.
- Amount & Timing Correlations: Розкриття часу або сум транзакцій може зробити їх відстежуваними.
Traffic Analysis
Шляхом моніторингу мережевого трафіку зловмисники потенційно можуть зв’язати транзакції або блоки з IP-адресами, підриваючи приватність користувачів. Це особливо вірогідно, якщо організація оперує великою кількістю Bitcoin-нод, що посилює її здатність спостерігати за транзакціями.
More
Для повного списку атак на приватність та засобів захисту відвідайте Bitcoin Privacy on Bitcoin Wiki.
Anonymous Bitcoin Transactions
Ways to Get Bitcoins Anonymously
- Cash Transactions: Придбання bitcoin за готівку.
- Cash Alternatives: Купівля подарункових карток і обмін їх онлайн на bitcoin.
- Mining: Найбільш приватний метод заробітку bitcoin — майнінг, особливо при сольному майнінгу, оскільки майнінгові пули можуть знати IP-адресу майнера. Mining Pools Information
- Theft: Теоретично, викрадення bitcoin могло б бути ще одним способом отримати його анонімно, хоча це незаконно і не рекомендовано.
Mixing Services
Використовуючи сервіс змішування, користувач може відправити bitcoins і отримати інші bitcoins натомість, що ускладнює відстеження первісного власника. Проте це вимагає довіри до сервісу, що він не зберігає логи і справді поверне bitcoin. Альтернативи змішуванню включають Bitcoin-казино.
CoinJoin
CoinJoin об’єднує кілька транзакцій від різних користувачів в одну, ускладнюючи завдання зіставлення входів з виходами. Незважаючи на свою ефективність, транзакції з унікальними розмірами входів і виходів все ще можуть бути потенційно відстежені.
Приклади транзакцій, які могли використовувати CoinJoin, включають 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a та 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238.
Для додаткової інформації відвідайте CoinJoin. Для схожого сервісу на Ethereum дивіться Tornado Cash, який анонімізує транзакції коштами майнерів.
PayJoin
Варіант CoinJoin, PayJoin (або P2EP), маскує транзакцію між двома сторонами (наприклад, клієнтом і продавцем) під звичайну транзакцію, без характерних для CoinJoin рівних виходів. Це робить її надзвичайно важкою для виявлення і може скомпрометувати common-input-ownership heuristic, яку використовують служби моніторингу транзакцій.
2 btc --> 3 btc
5 btc 4 btc
Транзакції, подібні до наведених вище, можуть бути PayJoin, що підвищує приватність, одночасно залишаючись не відрізненими від стандартних bitcoin-транзакцій.
Використання PayJoin може суттєво підірвати традиційні методи спостереження, що робить цей підхід перспективним у прагненні забезпечити приватність транзакцій.
Найкращі практики конфіденційності в криптовалютах
Техніки синхронізації гаманців
Щоб підтримувати приватність і безпеку, синхронізація гаманців із блокчейном є критичною. Виділяються два методи:
- Повний вузол: Завантажуючи весь блокчейн, повний вузол забезпечує максимальну приватність. Усі коли-небудь здійснені транзакції зберігаються локально, що ускладнює для супротивників ідентифікацію того, які саме транзакції чи адреси цікавлять користувача.
- Фільтрація блоків на боці клієнта: Цей метод передбачає створення фільтрів для кожного блоку в блокчейні, дозволяючи гаманцям виявляти релевантні транзакції без розкриття конкретних інтересів спостерігачам мережі. Легкі гаманці завантажують ці фільтри й запитують повні блоки лише коли знаходять співпадіння з адресами користувача.
Використання Tor для анонімності
Оскільки Bitcoin працює в мережі peer-to-peer, рекомендовано використовувати Tor для приховування вашої IP-адреси, що підвищує приватність під час взаємодії з мережею.
Запобігання повторному використанню адрес
Щоб захистити приватність, важливо використовувати нову адресу для кожної транзакції. Повторне використання адрес може скомпрометувати приватність, пов’язавши транзакції з однією й тією ж сутністю. Сучасні гаманці зазвичай не заохочують повторне використання адрес через свій дизайн.
Стратегії приватності транзакцій
- Multiple transactions: Розділення платежу на кілька транзакцій може приховати суму транзакції, ускладнюючи атаки на приватність.
- Change avoidance: Вибір транзакцій без виходів для решти підвищує приватність, ускладнюючи застосування методів виявлення change.
- Multiple change outputs: Якщо уникнути change неможливо, створення кількох виходів для решти все одно може покращити приватність.
Monero: A Beacon of Anonymity
Monero відповідає потребі в абсолютній анонімності цифрових транзакцій, встановлюючи високий стандарт приватності.
Ethereum: Gas and Transactions
Understanding Gas
Gas вимірює обчислювальні витрати, необхідні для виконання операцій в Ethereum, ціною у gwei. Наприклад, транзакція вартістю 2,310,000 gwei (або 0.00231 ETH) включає gas limit і base fee, а також tip для стимулювання майнерів. Користувачі можуть встановити max fee, щоб не переплатити; надлишок повертається.
Executing Transactions
Транзакції в Ethereum включають відправника та отримувача, які можуть бути як користувацькими, так і адресами смарт-контрактів. Вони вимагають оплату комісії і повинні бути замайнені. Важливі поля транзакції включають отримувача, підпис відправника, суму, опціональні дані, gas limit та комісії. Зауважте, що адреса відправника виводиться з підпису, тому її не потрібно включати до даних транзакції.
Ці практики та механізми є основою для всіх, хто прагне взаємодіяти з криптовалютами, віддаючи пріоритет приватності та безпеці.
Value-Centric Web3 Red Teaming
- Перерахуйте компоненти, що містять цінність (signers, oracles, bridges, automation), щоб зрозуміти, хто і як може переміщувати кошти.
- Зіставте кожен компонент з відповідними тактиками MITRE AADAPT, щоб виявити шляхи ескалації привілеїв.
- Репетируйте ланцюжки атак flash-loan/oracle/credential/cross-chain, щоб оцінити вплив і задокументувати передумови, що допускають експлуатацію.
Value Centric Web3 Red Teaming
Web3 Signing Workflow Compromise
- Supply-chain tampering of wallet UIs може змінювати EIP-712 payloads прямо перед підписом, збираючи дійсні підписи для delegatecall-based proxy takeovers (наприклад, перезапис slot-0 Safe masterCopy).
Web3 Signing Workflow Compromise Safe Delegatecall Proxy Takeover
Smart Contract Security
- Mutation testing для виявлення сліпих зон у тестових наборах:
Посилання
- 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
Експлуатація DeFi/AMM
Якщо ви досліджуєте практичну експлуатацію DEXes і AMM (Uniswap v4 hooks, rounding/precision abuse, flash‑loan amplified threshold‑crossing swaps), перегляньте:
Для мульти-активних зважених пулів, які кешують віртуальні баланси і можуть бути отруєні, коли supply == 0, вивчіть:
Defi Amm Virtual Balance Cache Exploitation
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


