fbpx

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

05.08.2022 28.09.2022
11 мин
502
4
Как работают транзакции Биткоин.

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

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

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

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

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

  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. Могут быть созданы дополнительные сети, называемые слоями, позволяющие передавать биткоин без прямого использования блокчейна.

Слой — это протокол, построенный поверх основной сети, который расширяет некоторые функциональные возможности базового блокчейна. Такой слой (или уровень) обрабатывает основную массу транзакций вне цепочки, а затем передаёт завершенные транзакции скопом (пакетом). Эта дополнительная функциональность экономит на комиссиях и обеспечивает более быстрые расчёты. Благодаря применению слоев, открывается возможность поддерживать миллиарды ежедневных транзакций, от крошечных микроплатежей до международных расчетов.

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

Ончейн транзакции (или транзакции на цепочке) — это все Биткоин-транзакции, записанные в блокчейне. Чтобы выполнить ончейн-транзакцию, нужно владеть биткоином на основном слое. Полученные ончейн-биткоины будут заблокированы по адресу, и, используя закрытый ключ, соответствующий этому адресу, вы сможете подписать транзакцию, отправляющую этот биткоин на новый адрес. Совершая ончейн-транзакции, вы используете все преимущества сети Биткоина, однако есть и свои недостатки в виде растущих комиссий и низкой (в сравнении с большинством альткоинов) скорости подтверждения транзакции.

Также существуют оффчейн-транзакции (транзакции вне сети). Они появились вместе с автономными протоколами, которые предлагают более дешёвые и быстрые транзакции по сравнению с транзакциями внутри сети.

А теперь поговорим о таком способе масштабирования Биткоина, как сеть Lightning Network:

Как работает Lightning Network.
avatar Андрей Макаров
суперпост

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

4
0

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

Впервые хотите купить биткоин? Мы...
avatar Андрей Макаров
21.09.2022
Кто создал биткоин и зачем?
avatar Андрей Макаров
09.08.2022
Что лежит в основе Биткоина?
avatar Андрей Макаров
08.08.2022