Как работают биткойн-транзакции

Как работают биткойн-транзакции

Сегодня многие люди используют криптовалюты для различных целей. Согласно данным Coinmarketrate.com, Bitcoin произвел откат, и торгуется на отметке в 57 000 долларов, что дало возможность покупки провала. Это повлекло увеличение транзакций ВТС.

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

Как избежать долгого ожидания подтверждения

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

Большинство кошельков автоматически рассчитывают необходимую комиссию в зависимости от того, как долго вы готовы ждать подтверждения. Однако высокая комиссия не гарантирует быстрого подтверждения вашей транзакции, поэтому мы рекомендуем пользователям, которые спешат или не хотят ждать, использовать ETH, DEL или некоторые другие криптовалюты, в которых транзакции обычно проходят быстро.

Биткойн и его клоны просто не созданы для того, чтобы быть быстрыми. Скорость потеряла приоритет из-за более важных функций, таких как безопасность и децентрализация. Когда скорость имеет первостепенное значение, Биткойн — не совсем удачный выбор. Ниже мы объясним, как работает обработка биткойн-транзакций от начала до конца.

Блокчейн

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

Каждый блок содержит определенное количество транзакций из-за своего ограниченного размера. Блоки биткойнов имеют ограничение около 1 МБ или около 2 МБ с обновлением Segwit.

Учитывая все еще относительно низкую популярность обновления Segwit, размер большинства блоков Биткойнов составляет около 1,2 МБ. Теперь, когда мы знаем размер блоков, мы можем рассчитать, сколько транзакций умещается в одном блоке, сравнить с количеством неподтвержденных транзакций и узнать текущее состояние сети.

Но все не так просто, потому что транзакции ВТС не имеют фиксированного размера. Также существует несколько различных типов биткойн-транзакций. Чтобы понять, как формируется размер конкретной транзакции, мы должны сначала понять, как работают биткойн-кошельки или биткойн-реестры.

Формат UTXO

Вывод неизрасходованных транзакций (UTXO) — это модель баланса счета, изобретенная Сатоши Накамото, и реализованная в Биткойнах. Интересно, что эта модель не упоминается в техническом документе Биткойн.

Этот способ организации транзакций значительно отличается от стандартного, к которому мы привыкли использовать традиционные банковские счета, используемые Ethereum (ETH).

У стандартных счетов есть баланс счета, который изменяется после каждой транзакции и не разбивается на меньшие суммы. Ее можно рассматривать как одну большую банкноту переменной суммы. С другой стороны, модель UTXO проще всего представить как кошелек, в котором у нас есть несколько разных банкнот. Каждый UTXO идентичен одной банкноте.

Возьмем, к примеру, что мы хотим купить что-либо стоимостью 500 рублей, а в нашем кошельке есть три банкноты по 200 рублей. Мы передадим все три купюры продавцу, а он вернет остальные, то есть купюру 100 рублей. Точно так же работают транзакции BTC.\

Ваш биткойн-кошелек показывает общую стоимость, то есть количество BTC, которым вы владеете, но на самом деле эта сумма делится на несколько различных UTXO (банкнот) в зависимости от динамики ваших транзакций. Другими словами, кошельки показывают совокупную стоимость всех ваших UTXO. В зависимости от расписания и количества отдельных UTXO, вам нужно будет использовать один или несколько UTXO для успешной транзакции.

Теперь, когда мы знаем, как работают биткойн-кошельки, мы можем рассчитать размер отдельной биткойн-транзакции, а также средний размер. Таким образом, размер биткойн-транзакции не зависит от количества Биткойнов, которые вы отправляете, а от количества UTXO, которые необходимо обработать для отправки произвольного количества ВТС.

Каждый UTXO, который у вас есть в вашем кошельке, увеличивает размер транзакции, а с увеличением размера увеличивается цена транзакции. Статистика показывает, что средняя биткойн-транзакция весит около 450 байтов и что, учитывая переменный размер биткойн-блоков, каждый блок может содержать в среднем около 1800 транзакций.

Следующий вопрос: сколько мы должны заплатить за то, чтобы наша транзакция была вставлена в первый следующий блок, и окупается ли она для нас с учетом размера транзакции?

Биткойн-узлы

Глобальное распределение биткойн-узлов. Источник: Bitnodes

Узлы Биткойн — это компьютеры, на которых работает программное обеспечение. Они формируют сетевой консенсус и участвуют в обработке транзакций. Вы можете увидеть текущее количество и распределение узлов на изображении выше.

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

Обычно в мемполе содержится около 10 000 транзакций в любой момент времени. Транзакции обрабатываются согласно комиссии. Операции с адекватной комиссией имеют приоритет.

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

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

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

Разумнее заплатить меньшую комиссию и подождать несколько часов до первого подтверждения. Но когда вы что-то покупаете или пользуетесь услугами обменного пункта, единственный разумный вариант — оплатить срочную комиссию, чтобы избежать долгого ожидания платежа.

Новые блоки формируются в среднем каждые 10 минут. Но это только среднее время, которое на практике имеет значительные отклонения. Часто бывает, что несколько блоков формируются один за другим, поэтому нам приходится ждать до часа.

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

Пока транзакция не подтверждена, она может подвергаться манипуляциям, и получатель не имеет доступа к монетам. Чтобы убедиться, что транзакция не будет отменена, необходимо дождаться количества подтверждений, пропорционального сумме транзакции. Для небольших сумм достаточно одного, а для более крупных рекомендуется дождаться 3 или более подтверждений.

Помните, что неподтвержденные транзакции не являются окончательными и их относительно легко отменить.

Биткойн-майнеры

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

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

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

Круговая диаграмма показывает долю майнеров, необходимых для добычи Bitcoin. Источник: Buy Bitcoin Worldwide

Учитывая экспоненциальный рост числа майнеров, отдельные устройства для майнинга или даже фермы устройств недостаточно мощны, чтобы найти решение, которое разблокирует следующий блок Биткойнов. Поэтому майнеры объединяют усилия. Набор майнеров называется майнинг-пулом.

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

Но на практике все работает безупречно, и заметных инцидентов не было, так как соблюдение правил сети отвечает интересам всех участников.