Как происходит процесс транзакции в сети Биткоин

05.08.2022
16 мин
2355
0
Как происходит процесс транзакции в сети Биткоин. Заглавный коллаж статьи.

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

Открытый ключ — это набор букв и цифр, которыми пользователь должен поделиться, чтобы получить средства.

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

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

Вот как это происходит:

  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
суперпост

Будет интересно

Как вам статья?

0
0

статьи на эту же тему

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