20 KiB
{% hint style="success" %}
Вивчайте та практикуйте взлом AWS:Навчання HackTricks AWS Red Team Expert (ARTE)
Вивчайте та практикуйте взлом GCP: Навчання HackTricks GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами на Twitter 🐦 @hacktricks_live.
- Поширюйте хакерські трюки, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Основні концепції
- Смарт-контракти визначаються як програми, які виконуються на блокчейні при виконанні певних умов, автоматизуючи виконання угод без посередників.
- Децентралізовані додатки (dApps) базуються на смарт-контрактах, маючи зручний для користувача фронтенд та прозорий, перевіряємий бекенд.
- Токени та монети різняться тим, що монети служать як цифрові гроші, тоді як токени представляють вартість або власність у конкретних контекстах.
- Утилітарні токени надають доступ до послуг, а Токени безпеки позначають власність активів.
- DeFi означає Децентралізовану Фінансову систему, що пропонує фінансові послуги без центральних органів.
- DEX та DAOs посилаються на Децентралізовані платформи обміну та Децентралізовані автономні організації відповідно.
Механізми консенсусу
Механізми консенсусу забезпечують безпечні та погоджені перевірки транзакцій на блокчейні:
- Доказ роботи (PoW) ґрунтується на обчислювальній потужності для перевірки транзакцій.
- Доказ власності (PoS) вимагає від валідаторів утримувати певну кількість токенів, зменшуючи споживання енергії порівняно з PoW.
Основи Bitcoin
Транзакції
Транзакції Bitcoin включають переказ коштів між адресами. Транзакції перевіряються за допомогою цифрових підписів, забезпечуючи, що лише власник приватного ключа може ініціювати перекази.
Ключові компоненти:
- Транзакції з багатьма підписами вимагають декількох підписів для авторизації транзакції.
- Транзакції складаються з входів (джерело коштів), виходів (призначення), комісії (сплачено гірникам) та скриптів (правила транзакції).
Мережа Lightning
Мета полягає в покращенні масштабованості Bitcoin, дозволяючи кілька транзакцій у межах каналу, тільки транслюючи остаточний стан на блокчейн.
Проблеми приватності Bitcoin
Атаки на приватність, такі як Спільна власність входу та Виявлення адреси зміни UTXO, використовують шаблони транзакцій. Стратегії, такі як Міксери та CoinJoin, покращують анонімність, приховуючи зв'язки транзакцій між користувачами.
Анонімне отримання Bitcoin
Методи включають готівкові угоди, майнінг та використання міксерів. CoinJoin змішує декілька транзакцій для ускладнення відстежуваності, тоді як PayJoin маскує CoinJoin як звичайні транзакції для підвищення приватності.
Атаки на приватність Bitcoin
Огляд атак на приватність Bitcoin
У світі Bitcoin приватність транзакцій та анонімність користувачів часто є предметом обурення. Ось спрощений огляд кількох загальних методів, за допомогою яких атакувальники можуть порушити приватність Bitcoin.
Припущення про спільну власність входу
Зазвичай рідко відбувається комбінування входів від різних користувачів в одній транзакції через складність процесу. Таким чином, два вхідні адреси в одній транзакції часто вважаються належними одному власнику.
Виявлення адреси зміни UTXO
UTXO, або Невитрачений вихід транзакції, повинен бути повністю витрачений у транзакції. Якщо лише частина нього відправляється на іншу адресу, залишок йде на нову адресу зміни. Спостерігачі можуть припустити, що ця нова адреса належить відправнику, порушуючи приватність.
Приклад
Для пом'якшення цього, служби змішування або використання декількох адрес можуть допомогти приховати власність.
Викладення в соціальних мережах та форумах
Користувачі іноді публікують свої адреси Bitcoin в Інтернеті, що робить його легким для посилання адреси на її власника.
Аналіз графіка транзакцій
Транзакції можуть бути візуалізовані у вигляді графіків, розкриваючи потенційні зв'язки між користувачами на основі потоку коштів.
Евристика зайвого входу (Оптимальна евристика зміни)
Ця евристика базується на аналізі транзакцій з декількома входами та виходами для вгадування, який вихід є зміною, що повертається відправнику.
Приклад
2 btc --> 4 btc
3 btc 1 btc
Примусове Повторне Використання Адрес
Атакувальники можуть надсилати невеликі суми на раніше використані адреси, сподіваючись, що отримувач поєднає їх з іншими входами у майбутніх транзакціях, тим самим пов'язуючи адреси між собою.
Правильна Поведінка Гаманця
Гаманці повинні уникати використання монет, отриманих на вже використаних, порожніх адресах, щоб уникнути цієї витоку приватності.
Інші Техніки Аналізу Блокчейну
- Точні Суми Платежів: Транзакції без здачі ймовірно здійснюються між двома адресами, що належать одному користувачеві.
- Круглі Числа: Кругле число в транзакції вказує на платіж, а некруглий вихід ймовірно є здачею.
- Відбиток Гаманця: Різні гаманці мають унікальні шаблони створення транзакцій, що дозволяє аналітикам ідентифікувати використане програмне забезпечення та, можливо, адресу здачі.
- Кореляція Суми та Часу: Розголошення часу або сум може зробити транзакції відстежуваними.
Аналіз Трафіку
Моніторинг мережевого трафіку дозволяє атакувальникам потенційно пов'язувати транзакції або блоки з IP-адресами, порушуючи приватність користувача. Це особливо справджується, якщо суб'єкт працює з багатьма вузлами Bitcoin, підвищуючи їх здатність моніторити транзакції.
Додатково
Для повного списку атак на приватність та захисту відвідайте Про Приватність Bitcoin на Bitcoin Wiki.
Анонімні Транзакції Bitcoin
Способи Отримання Біткоїнів Анонімно
- Готівкові Транзакції: Отримання біткоїнів за допомогою готівки.
- Альтернативи Готівки: Придбання подарункових карток та їх обмін онлайн на біткоїни.
- Майнінг: Найбільш приватний спосіб заробляти біткоїни - це майнінг, особливо коли робиться самостійно, оскільки пули для майнінгу можуть знати IP-адресу майнера. Інформація про Пули для Майнінгу
- Крадіжка: Теоретично, крадіжка біткоїнів може бути ще одним способом отримання їх анонімно, хоча це незаконно та не рекомендується.
Сервіси Змішування
Використовуючи сервіс змішування, користувач може надсилати біткоїни та отримувати інші біткоїни в обмін, що ускладнює відстеження оригінального власника. Однак це потребує довіри до сервісу не зберігати журнали та фактично повертати біткоїни. Альтернативні варіанти змішування включають 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 включають відправника та отримувача, які можуть бути адресами користувачів або смарт-контрактів. Вони потребують комісію та повинні бути добиті. Основна інформація в транзакції включає отримувача, підпис відправника, значення, необов'язкові дані, ліміт газу та комісії. Зокрема, адреса відправника виводиться з підпису, що усуває необхідність у ньому в даних транзакції.
Ці практики та механізми є основою для всіх, хто бажає працювати з криптовалютами, надаючи перевагу конфіденційності та безпеці.