hacktricks/blockchain/blockchain-and-crypto-currencies
2024-03-29 19:49:46 +01:00
..
README.md Translated to Ukranian 2024-03-29 19:49:46 +01:00

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Основні концепції

  • Смарт-контракти визначаються як програми, які виконуються на блокчейні при виконанні певних умов, автоматизуючи виконання угод без посередників.
  • Децентралізовані додатки (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 включають відправника та отримувача, які можуть бути адресами користувача або смарт-контрактами. Вони потребують комісії та повинні бути добиті. Основна інформація в транзакції включає отримувача, підпис відправника, значення, необов'язкові дані, обмеження газу та комісії. Зокрема, адреса відправника виводиться з підпису, що усуває необхідність у ньому в даних транзакції.

Ці практики та механізми є основою для кожного, хто бажає працювати з криптовалютами, надаючи перевагу конфіденційності та безпеці.