Blockchain & Crypto Currencies
Last updated
Last updated
Вивчайте та практикуйте взлом AWS:Навчання HackTricks AWS Red Team Expert (ARTE) Вивчайте та практикуйте взлом GCP: Навчання HackTricks GCP Red Team Expert (GRTE)
Смарт-контракти визначаються як програми, які виконуються на блокчейні при виконанні певних умов, автоматизуючи виконання угод без посередників.
Децентралізовані додатки (dApps) базуються на смарт-контрактах, маючи зручний для користувача фронтенд та прозорий, перевіряємий бекенд.
Токени та монети різняться тим, що монети служать як цифрові гроші, тоді як токени представляють вартість або власність у конкретних контекстах.
Утилітарні токени надають доступ до послуг, а Токени безпеки позначають власність активів.
DeFi означає Децентралізовану Фінансову систему, що пропонує фінансові послуги без центральних органів.
DEX та DAOs посилаються на Децентралізовані платформи обміну та Децентралізовані автономні організації відповідно.
Механізми консенсусу забезпечують безпечні та погоджені перевірки транзакцій на блокчейні:
Доказ роботи (PoW) ґрунтується на обчислювальній потужності для перевірки транзакцій.
Доказ власності (PoS) вимагає від валідаторів утримувати певну кількість токенів, зменшуючи споживання енергії порівняно з PoW.
Транзакції Bitcoin включають переказ коштів між адресами. Транзакції перевіряються за допомогою цифрових підписів, забезпечуючи, що лише власник приватного ключа може ініціювати перекази.
Ключові компоненти:
Транзакції з багатьма підписами вимагають декількох підписів для авторизації транзакції.
Транзакції складаються з входів (джерело коштів), виходів (призначення), комісії (сплачено гірникам) та скриптів (правила транзакції).
Мета полягає в покращенні масштабованості Bitcoin, дозволяючи кілька транзакцій у межах каналу, тільки транслюючи остаточний стан на блокчейн.
Атаки на приватність, такі як Спільна власність входу та Виявлення адреси зміни UTXO, використовують шаблони транзакцій. Стратегії, такі як Міксери та CoinJoin, покращують анонімність, приховуючи зв'язки транзакцій між користувачами.
Методи включають готівкові угоди, майнінг та використання міксерів. CoinJoin змішує декілька транзакцій для ускладнення відстежуваності, тоді як PayJoin маскує CoinJoin як звичайні транзакції для підвищення приватності.
У світі Bitcoin приватність транзакцій та анонімність користувачів часто є предметом обурення. Ось спрощений огляд кількох загальних методів, за допомогою яких атакувальники можуть порушити приватність Bitcoin.
Зазвичай рідко відбувається комбінування входів від різних користувачів в одній транзакції через складність процесу. Таким чином, два вхідні адреси в одній транзакції часто вважаються належними одному власнику.
UTXO, або Невитрачений вихід транзакції, повинен бути повністю витрачений у транзакції. Якщо лише частина нього відправляється на іншу адресу, залишок йде на нову адресу зміни. Спостерігачі можуть припустити, що ця нова адреса належить відправнику, порушуючи приватність.
Для пом'якшення цього, служби змішування або використання декількох адрес можуть допомогти приховати власність.
Користувачі іноді публікують свої адреси Bitcoin в Інтернеті, що робить його легким для посилання адреси на її власника.
Транзакції можуть бути візуалізовані у вигляді графіків, розкриваючи потенційні зв'язки між користувачами на основі потоку коштів.
Ця евристика базується на аналізі транзакцій з декількома входами та виходами для вгадування, який вихід є зміною, що повертається відправнику.
Атакувальники можуть надсилати невеликі суми на раніше використані адреси, сподіваючись, що отримувач поєднає їх з іншими входами у майбутніх транзакціях, тим самим пов'язуючи адреси між собою.
Гаманці повинні уникати використання монет, отриманих на вже використаних, порожніх адресах, щоб уникнути цієї витоку приватності.
Точні Суми Платежів: Транзакції без здачі ймовірно здійснюються між двома адресами, що належать одному користувачеві.
Круглі Числа: Кругле число в транзакції вказує на платіж, а некруглий вихід ймовірно є здачею.
Відбиток Гаманця: Різні гаманці мають унікальні шаблони створення транзакцій, що дозволяє аналітикам ідентифікувати використане програмне забезпечення та, можливо, адресу здачі.
Кореляція Суми та Часу: Розголошення часу або сум може зробити транзакції відстежуваними.
Моніторинг мережевого трафіку дозволяє атакувальникам потенційно пов'язувати транзакції або блоки з IP-адресами, порушуючи приватність користувача. Це особливо справджується, якщо суб'єкт працює з багатьма вузлами Bitcoin, підвищуючи їх здатність моніторити транзакції.
Для повного списку атак на приватність та захисту відвідайте Про Приватність Bitcoin на Bitcoin Wiki.
Готівкові Транзакції: Отримання біткоїнів за допомогою готівки.
Альтернативи Готівки: Придбання подарункових карток та їх обмін онлайн на біткоїни.
Майнінг: Найбільш приватний спосіб заробляти біткоїни - це майнінг, особливо коли робиться самостійно, оскільки пули для майнінгу можуть знати IP-адресу майнера. Інформація про Пули для Майнінгу
Крадіжка: Теоретично, крадіжка біткоїнів може бути ще одним способом отримання їх анонімно, хоча це незаконно та не рекомендується.
Використовуючи сервіс змішування, користувач може надсилати біткоїни та отримувати інші біткоїни в обмін, що ускладнює відстеження оригінального власника. Однак це потребує довіри до сервісу не зберігати журнали та фактично повертати біткоїни. Альтернативні варіанти змішування включають Bitcoin казино.
CoinJoin об'єднує кілька транзакцій від різних користувачів в одну, ускладнюючи процес для тих, хто намагається відповідати входи з виходами. Незважаючи на його ефективність, транзакції з унікальними розмірами входів та виходів все ще можуть бути відстежені.
Приклади транзакцій, які можуть бути використані за допомогою CoinJoin, включають 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a
та 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238
.
Для отримання додаткової інформації відвідайте CoinJoin. Для схожого сервісу на Ethereum, перегляньте Tornado Cash, який анонімізує транзакції з коштів майнерів.
Варіант CoinJoin, PayJoin (або P2EP), маскує транзакцію між двома сторонами (наприклад, клієнтом та продавцем) як звичайну транзакцію, без характерних рівних виходів, що є характерним для CoinJoin. Це робить важко виявити та може скасувати евристичний метод власності спільного входу, який використовують сутності спостереження за транзакціями.
Транзакції, подібні до вищезазначених, можуть бути PayJoin, підвищуючи конфіденційність, залишаючись нерозрізненними від стандартних транзакцій біткоїну.
Використання PayJoin може значно нарушити традиційні методи спостереження, що робить його перспективним розвитком у зусиллях забезпечення конфіденційності транзакцій.
Для збереження конфіденційності та безпеки синхронізація гаманців з блокчейном є важливою. Виділяються два методи:
Повний вузол: Завантажуючи весь блокчейн, повний вузол гарантує максимальну конфіденційність. Усі здійснені коли-небудь транзакції зберігаються локально, що робить неможливим для противників визначення, які транзакції або адреси цікавлять користувача.
Фільтрація блоків на клієнтському боці: Цей метод передбачає створення фільтрів для кожного блоку в блокчейні, що дозволяє гаманцям ідентифікувати відповідні транзакції, не розкриваючи конкретних інтересів мережевим спостерігачам. Легкі гаманці завантажують ці фільтри, отримуючи повні блоки лише тоді, коли виявляється відповідність з адресами користувача.
Оскільки Bitcoin працює в мережі пір-у-пір, рекомендується використовувати Tor для маскування вашої IP-адреси, підвищуючи конфіденційність при взаємодії з мережею.
Для забезпечення конфіденційності важливо використовувати нову адресу для кожної транзакції. Повторне використання адрес може піддавати конфіденційність ризику, пов'язуючи транзакції з тією самою сутністю. Сучасні гаманці відгороджують від повторного використання адрес через їх дизайн.
Декілька транзакцій: Розбиття платежу на кілька транзакцій може затемнити суму транзакції, ускладнюючи атаки на конфіденційність.
Уникання здачі: Вибір транзакцій, які не потребують видачі здачі, підвищує конфіденційність, заважаючи методам виявлення здачі.
Декілька виходів здачі: Якщо уникнути здачі неможливо, генерація декількох виходів здачі все ще може покращити конфіденційність.
Monero відповідає потребі в абсолютній анонімності в цифрових транзакціях, встановлюючи високі стандарти конфіденційності.
Газ вимірює обчислювальні зусилля, необхідні для виконання операцій в Ethereum, вимірюється в gwei. Наприклад, транзакція, вартістю 2,310,000 gwei (або 0.00231 ETH), включає ліміт газу та базову комісію, з чайовим для стимулювання майнерів. Користувачі можуть встановити максимальну комісію, щоб уникнути переплати, зайве буде повернуто.
Транзакції в Ethereum включають відправника та отримувача, які можуть бути адресами користувачів або смарт-контрактів. Вони потребують комісію та повинні бути добиті. Основна інформація в транзакції включає отримувача, підпис відправника, значення, необов'язкові дані, ліміт газу та комісії. Зокрема, адреса відправника виводиться з підпису, що усуває необхідність у ньому в даних транзакції.
Ці практики та механізми є основою для всіх, хто бажає працювати з криптовалютами, надаючи перевагу конфіденційності та безпеці.