Як відбувається процес транзакції в мережі Біткоїн

07.11.2022
16 хв
2355
1
Як відбувається процес транзакції в мережі Біткоїн. Головний колаж статті.

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

Відкритий ключ — це набір букв і цифр, якими користувач має поділитися, щоб отримати кошти.

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

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

Ось як це відбувається:

  1. Для відправки користувач підписує повідомлення з деталями транзакції, використовуючи свій закритий ключ. Повідомлення містить вхідні дані (адреса, на якій містяться біткоїни для відправки), виведення (відкритий ключ одержувача, адреса) і суму;
  2. Потім транзакція передається решті частини мережі, де ноди перевіряють відповідність закритого ключа відкритому, якими володіє відправник;
  3. Щойно транзакція передається “сусіднім” вузлам, вони передають її далі мережею, поки вона не досягне вузла-майнера;
  4. Потім майнери та ноди виконують свою частину з обробки транзакції.

Більшість вважають транзакцію підтвердженою, якщо поверх блоку, в якому вона знаходиться, було додано ще 6 блоків. Проте, під час здійснення не найбільших транзакцій, багатьом достатньо й одного підтвердження, оскільки, щоб скасувати транзакцію, необхідно витратити сотні тисяч доларів. На цьому сайті можна подивитися вартість атаки на мережу.

Стоимость атаки на сеть.
Вартість атаки на мережу. Джерело: dollarcostbitcoin.com

Як працюють комісії?

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

Комісії за транзакцію в USD. Джерело: blockchain.com

Як винагороду майнери отримують не тільки біткоїни, а й комісію за підтвердження транзакцій у блоці. У майбутньому, коли майнери перестануть отримувати винагороди за блоки, комісії за транзакції стануть єдиним доходом, а отже, і стимулом продовжувати обробляти транзакції та блоки. Під час великої завантаженості мережі транзакції з найвищими комісіями будуть включені в наступний блок.

Розмір комісії залежить від кількості вільного місця в блоці, а не від кількості переведених біткоїнів. Якщо ви надсилаєте транзакцію за допомогою некастодіального Біткоїн-гаманця, у гаманці зазвичай показується можливість вибору ставки комісії. Ставка вимірюється в сатоші на байт (8 біт), тобто в сатоші за обсяг даних, які ваша транзакція споживатиме в блоці.

UTXO-модель

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

Якщо UTXO, визначає, що у вас є 10 монет, і ви хочете купити щось, що коштує 2 монети, ви зробите транзакцію, яка витратить увесь Ваш баланс UTXO, надіславши 2 монети іншій людині і 8 монет назад собі. Щойно цю транзакцію буде завершено, UTXO буде створено як для відправника, так і для одержувача. У загальному випадку UTXO визначає, скільки користувач отримав назад, і скільки користувач може витратити. Сума, яку користувач отримає назад, буде додана до його балансу рахунку.

Уявімо, що Андрій хоче відправити Вані 1 BTC. У нього є 2 UTXO вартістю 0,5 BTC і 0,7 BTC. Андрій може використовувати обидва UTXO як вхідні дані і відправити Вані виведення вартістю 1 BTC. Андрій відправляє Вані 1 BTC і відправляє собі виведення здачі. Щоб отримати решту вартості як здачу, Андрій створює ще один вивід вартістю 0,199 BTC, який він відправляє собі. Він не може відправити 0,2 BTC собі, тому що повинен заплатити комісію за транзакцію.

У такого підходу є низка переваг

  • Модель UTXO дає змогу всім біткоїн-нодам узгоджувати, які саме біткоїни можуть бути витрачені в певний момент часу.
  • Вона також допомагає розв’язати проблему подвійних витрат, оскільки коли нода отримує транзакцію, вона може перевірити, чи є витрачені UTXO дійсними та невитраченими.
  • Модель UTXO пропонує користувачам переваги конфіденційності. Користувачі можуть обробляти кожен UTXO окремо, зберігаючи їх за унікальною адресою. Використовуючи унікальну адресу для отримання кожного UTXO, користувачі можуть приховати зв’язок між своїми UTXO від громадськості. Попередню адресу UTXO можна обчислити, за ідентифікатором txid та індексом виведення транзакції в рамках цієї попередньої транзакції.

Як Біткоїн може масштабуватися?

Пропускної здатності основного шару Біткоїна недостатньо, щоб він міг стати глобальною платіжною системою. Основним стримувальним фактором є обмеження на розмір блоку, і більшість зусиль з масштабування зосереджено на скороченні обсягу даних, необхідних для передачі транзакцій у біткоїнах. Оновлення SegWit і Taproot забезпечують більш ефективні транзакції, які в безлічі випадків займають менше місця в блоці біткоїнів.

Загалом вважається, що масштабування Біткоїна може бути досягнуто двома способами:

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

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

Ончейн та оффчейн транзакції

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

Також існують оффчейн-транзакції — транзакції поза мережею. Вони з’явилися разом з автономними протоколами, які пропонують дешевші та швидші транзакції порівняно з транзакціями всередині мережі.

А тепер поговоримо про такий спосіб масштабування Біткоїна, як мережа Lightning Network:

Как работает Lightning Network.
avatar Andrew Makarov
суперпост

Буде цікаво

Як вам стаття?

1
0

статті на цю ж тему

Топ-5 безкоштовних способів...
avatar Denis Solomyanyuk
15.04.2024
Рішення другого рівня для біткоїна —...
avatar Nikita Tipikin-Holovko
20.03.2024
Халвінг біткоїну у 2024 році: коли...
avatar Andrew Makarov
06.03.2024