Image
Транзакції

Як відбуваються біткоїн-транзакції?

Транзакції BTC складаються з трьох частин: суми транзакції, адреси, з якої були відправлені біткоїни (input) і біткоїн-адреси, також відомої як відкритий ключ, куди відправляються біткоїни (output).
24 липня 2022

Коли біткоїн-транзакції передаються в мережу, вони спочатку перевіряються доступними біткоїн-вузлами. Після завершення цієї перевірки транзакція потрапляє в зону очікування непідтверджених транзакцій вузла, яка називається «мемпулом».

Майнери беруть ці незавершені транзакції та об'єднують їх, щоб створити блок, перевіряючи який вони змагаються, беручи участь (у спрощеному сенсі) у перегонах і вирішуючи обчислювальну головоломку. Тобто майнери перевіряють, чи ключі відправника транзакції можуть отримати доступ до вхідних даних, необхідних для завершення транзакції (по суті, що відправник справді має біткоїни, які він чи вона намагаються надіслати). 

Щоб спонукати майнерів BTC перевіряти їх транзакції першочергово з усіх транзакцій у мемпулі, користувачі можуть додавати комісію за транзакцію — винагороду, яку майнери отримають на додаток до запрограмованої субсидії на майнінг, якщо вони успішно підтвердять транзакцію.

Біткоїн-транзакції призначені для публічного пошуку, програмного підтвердження майнерами та незмінності після внесення в блокчейн.

Які існують види біткоїн-адрес?

Як зазначалося раніше, біткоїн-адреса також відома як відкритий ключ і є частиною біткоїн-транзакції, яка вказує, куди відправляється біткоїн. Адреси BTC мають довжину від 26 до 35 символів і складаються з цифр та літер. На момент написання цієї статті використовувалися три різні формати біткоїн-адрес:

  1. Адреса P2PKH, яка починається з цифри 1.
  2. Адреса P2SH, яка починається з цифри 3.
  3. Адреса Bech32, яка починається з «bc1».

P2PKH, або адреса pay-to-pubkeyhash (на основі підпису і відкритого ключа), є основною і найпоширенішою формою адреси для транзакцій біткоїнів.

P2SH, або адреса з оплатою по хешу скрипта, була стандартизована в BIP 16, дозволяючи відправляти транзакції на хеш скрипта, а не на хеш відкритого ключа, додаючи деякі додаткові параметри безпеки.

Адреса Bech32 — це адреса SegWit, введена BIP 0173 для більш ефективного використання місця у блоці. На сьогодні вона підтримується багатьма біткоїн-гаманцями, і багато власників біткоїнів віддають перевагу цьому типу адреси.

Як відправити біткоїн

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

Щоб ініціювати транзакцію з біткоїнами, вам буде потрібен доступ як до відкритого, так і закритого ключа, пов'язаних з біткоїном, який ви хочете відправити. Відкриті ключі, також відомі як біткоїн-адреси, чимось схожі на адреси електронної пошти — ними безпечно ділитися, і, по суті, ними потрібно ділитися, щоб отримувати транзакції (хоча, як тільки що було сказано, вони також необхідні для відправлення біткоїнів). Але закриті ключі більше схожі на паролі: вони використовуються для транзакцій і не повинні розголошуватися, тому що їх можуть використовувати для відправлення ваших біткоїнів зовсім не туди, куди потрібно вам.

Коли ви надсилаєте BTC, ви використовуєте свій закритий ключ, щоб підписати повідомлення, яке описує транзакцію (у тому числі суму, інформацію про введення та виведення) для мережі Біткоїна.

Як отримати біткоїн

Як зазначалося вище, для отримання BTC вам знадобиться відкритий ключ або біткоїн-адреса. Біткоїн-адреси генеруються біткоїн-гаманцями, через онлайн-біржі або на Bitcoin Core. Більшість Біткоїн-програм і вебсайтів генерують нову біткоїн-адресу для користувачів кожен раз, коли вони роблять запит на біткоїн-платіж або створюють рахунок.

Це рекомендований спосіб для розрізнення транзакцій — якщо кілька платежів на однакову суму відправляються на одну і ту ж адресу, неможливо буде визначити, хто який платіж здійснив. А оскільки транзакції в блокчейні загальнодоступні, зловмисники можуть заявити, що вони відправили біткоїни на вашу адресу, яку насправді було відправлено кимось іншим, і встановити істину буде неможливо.