Blockchain & Crypto Currencies
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Смарт-контракти визначаються як програми, які виконуються на блокчейні, коли виконуються певні умови, автоматизуючи виконання угод без посередників.
Децентралізовані додатки (dApps) будуються на основі смарт-контрактів, маючи зручний інтерфейс для користувачів та прозорий, підлягаючий аудиту бекенд.
Токени та монети відрізняються, де монети слугують цифровими грошима, тоді як токени представляють цінність або власність у певних контекстах.
Утилітарні токени надають доступ до послуг, а цінні токени позначають власність на активи.
DeFi означає децентралізовані фінанси, пропонуючи фінансові послуги без центральних органів.
DEX та DAO відносяться до децентралізованих біржових платформ та децентралізованих автономних організацій відповідно.
Механізми консенсусу забезпечують безпечну та узгоджену валідацію транзакцій на блокчейні:
Proof of Work (PoW) покладається на обчислювальну потужність для валідації транзакцій.
Proof of Stake (PoS) вимагає, щоб валідатори тримали певну кількість токенів, зменшуючи споживання енергії в порівнянні з PoW.
Транзакції Bitcoin передбачають передачу коштів між адресами. Транзакції валідуються за допомогою цифрових підписів, що забезпечує, що лише власник приватного ключа може ініціювати передачі.
Ключові Компоненти:
Мультипідписні транзакції вимагають кілька підписів для авторизації транзакції.
Транзакції складаються з входів (джерело коштів), виходів (призначення), комісій (сплачених майнерам) та скриптів (правил транзакції).
Спрямована на покращення масштабованості Bitcoin, дозволяючи кілька транзакцій в межах каналу, лише транслюючи фінальний стан на блокчейн.
Атаки на приватність, такі як Припущення спільної власності на входи та Виявлення адреси зміни UTXO, експлуатують шаблони транзакцій. Стратегії, такі як Міксери та CoinJoin, покращують анонімність, приховуючи зв'язки транзакцій між користувачами.
Методи включають готівкові угоди, майнінг та використання міксерів. CoinJoin змішує кілька транзакцій, ускладнюючи відстеження, тоді як PayJoin маскує CoinJoins як звичайні транзакції для підвищення приватності.
У світі Bitcoin приватність транзакцій та анонімність користувачів часто викликають занепокоєння. Ось спрощений огляд кількох поширених методів, за допомогою яких зловмисники можуть скомпрометувати приватність Bitcoin.
Зазвичай рідко, щоб входи від різних користувачів об'єднувалися в одній транзакції через пов'язані складнощі. Таким чином, дві адреси входів в одній транзакції часто вважаються такими, що належать одному власнику.
UTXO, або незатверджений вихід транзакції, повинен бути повністю витрачений у транзакції. Якщо лише частина з нього надсилається на іншу адресу, решта йде на нову адресу зміни. Спостерігачі можуть припустити, що ця нова адреса належить відправнику, що компрометує приватність.
Щоб пом'якшити це, міксингові сервіси або використання кількох адрес можуть допомогти приховати власність.
Користувачі іноді діляться своїми адресами Bitcoin в Інтернеті, що робить легким зв'язування адреси з її власником.
Транзакції можна візуалізувати як графи, виявляючи потенційні зв'язки між користувачами на основі потоку коштів.
Ця гіпотеза базується на аналізі транзакцій з кількома входами та виходами, щоб здогадатися, який вихід є зміною, що повертається до відправника.
Якщо додавання більше вхідних даних робить вихідні дані більшими, ніж будь-який окремий вхід, це може заплутати евристичний аналіз.
Зловмисники можуть надсилати невеликі суми на раніше використані адреси, сподіваючись, що отримувач об'єднає їх з іншими вхідними даними в майбутніх транзакціях, тим самим пов'язуючи адреси разом.
Гаманці повинні уникати використання монет, отриманих на вже використаних, порожніх адресах, щоб запобігти цьому витоку конфіденційності.
Точні суми платежів: Транзакції без здачі, ймовірно, між двома адресами, що належать одному користувачу.
Круглі числа: Кругле число в транзакції вказує на те, що це платіж, при цьому не круглий вихід, ймовірно, є здачею.
Фінгертепінг гаманців: Різні гаманці мають унікальні шаблони створення транзакцій, що дозволяє аналітикам ідентифікувати використовуване програмне забезпечення та потенційно адресу здачі.
Кореляції суми та часу: Розкриття часу або сум транзакцій може зробити транзакції відстежуваними.
Моніторинг мережевого трафіку може дозволити зловмисникам пов'язати транзакції або блоки з IP-адресами, що компрометує конфіденційність користувачів. Це особливо вірно, якщо суб'єкт управляє багатьма вузлами Bitcoin, що підвищує їх здатність моніторити транзакції.
Для отримання всебічного списку атак на конфіденційність та захистів від них відвідайте Bitcoin Privacy on 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 передбачають відправника та отримувача, якими можуть бути адреси користувача або смарт-контракту. Вони вимагають збору та повинні бути видобуті. Основна інформація в транзакції включає отримувача, підпис відправника, значення, необов'язкові дані, ліміт газу та збори. Важливо, що адреса відправника виводиться з підпису, що усуває необхідність її вказування в даних транзакції.
Ці практики та механізми є основоположними для будь-кого, хто прагне взаємодіяти з криптовалютами, приорітетизуючи конфіденційність та безпеку.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)