Пакетные Bitcoin-транзакции: отправьте BTC двум или более получателям, адресам
Хотите знать, как отправить BTC на 2 или более адресов за одну транзакцию? То есть это будет отправка BTC на два разных адреса с двумя разными суммами в одной и той же транзакции. Конечно, вы можете это сделать.
Если вы посмотрите на большинство биткойн-транзакций, вы заметите, что у них есть два выхода:
- Один адрес является фактическим адресом получателя, а второй адрес предназначен для получения сдачи от той же транзакции.
- Вы также можете включить несколько других получателей в одну и ту же транзакцию, что называется множественной выходной транзакцией.
Отправка нескольких выходов в виде одной транзакции в сети экономит ваше время и деньги. Так как же отправить BTC на несколько адресов за одну транзакцию?
За одну транзакцию можно отправить BTC более чем на один адрес, и для этого вам необходимо объединить транзакции в одну. Объединив транзакцию, вы будете платить комиссию за транзакцию только при отправке BTC на несколько адресов одновременно.
Здесь, в этой статье мы рассмотрим пакетную транзакцию BTC, которая отправляет несколько сумм Биткойнов на несколько адресов за одну транзакцию.
Большинство биткойн-кошельков имеют эту опцию, называемую «отправить многим» или «платить многим», которая группирует транзакцию и отправляет BTC двум или более получателям за одну транзакцию. Кошелек создает транзакцию с несколькими выходными адресами.
В любом случае здесь мы не собираемся рассматривать все типы кошельков. Только покажем вам, как отправить BTC нескольким получателям одновременно, используя Биткойн- кошелек Electrum и Bitcoin core.
Теперь, прежде чем мы увидим, как отправлять Биткойны на несколько учетных записей за одну транзакцию, давайте посмотрим, что происходит в пакетном режиме.
Что такое Batching? Пакетная обработка биткойн-транзакций
Пакетная обработка (Batching) — объединение множества выходных данных в одну транзакцию. Пакетная обработка биткойн-транзакций — это просто объединение нескольких транзакций в одну, а не создание и отправка каждой транзакции по отдельности.
Этот метод включения нескольких платежей в одну и ту же транзакцию в сети значительно снижает стоимость транзакции и общую нагрузку на сеть Биткойн.
Отправка нескольких транзакций одним пакетом просто снижает среднюю стоимость платежа. Все транзакции, которые вы группируете и отправляете, будут оплачивать только одну комиссию за транзакцию. Это делает процесс менее дорогим для отправителя, а также занимает меньше места в блокчейне.
Таким образом, пакетная обработка транзакций выгодна как для пользователей, так и для сети Биткойн.
Если у вас есть две или более транзакций, которые вы хотите отправить, но хотели бы тратить меньше на комиссию, вы можете группировать транзакции.
Конечно, есть сеть Lightning, которую вы можете использовать для более быстрых и дешевых платежей. Но это не часто будет работать, особенно для более крупных объектов.
В то время, когда мемпул биткойнов был перегружен, сообщество искало способы более эффективного использования пространства блоков. Поскольку пакетная обработка упаковывает как можно больше транзакций в ограниченное пространство блока, объединение нескольких выходов в одну транзакцию стало практикой для активных пользователей.
Batching часто осуществляется крупными игроками, такими как биржи, майнинговые пулы и платежные системы. Основная причина, по которой компании совершают пакетные транзакции, заключается в том, чтобы платить меньше комиссий и лучше использовать сеть Биткойн.
Поскольку часто у объектов есть много транзакций для обработки, они объединяют несколько выходных данных в одну транзакцию, чтобы сэкономить место в блоке и комиссию. А это не только пространство и гонорары, но и время.
В любом случае, для повседневных целей обычные пользователи не будут предпринимать дополнительных усилий по пакетной обработке транзакций. Для большинства людей непакетная транзакция работает нормально.
Почему биржи используют пакетные транзакции?
Как часто вы выводили деньги с биржи? При поиске идентификатора транзакции в обозревателе блоков вы увидите, что ваша транзакция содержит 1 адрес (1 вход), имеющий несколько выходов или адресов.
Например, проверьте эту транзакцию с 1 отправителем и 51 получателем: https://blockchair.com/bitcoin/transaction/506c19f7748d8de0a8a34db84976bcae0f008ff242a0ca3c7cfe75e8f9fc7557 .
Если вы когда-нибудь заметите, что у вашей транзакции так много получателей при отправке денег с биржи, тогда это означает, что биржа объединила несколько биткойн-платежей в одну транзакцию и отправила деньги разным людям одновременно.
Один адрес отправителя с разными суммами, отправляемыми на множество других адресов получателей в дополнение к вашему адресу. Вы увидите все адреса, которые получили платеж в одной транзакции. Вы не знаете, кто получатели, но вы можете сказать, что они также получили BTC от биржи, как и вы.
Большинство популярных бирж, таких как Bybit, Binance, Kraken, FTX, Coinbase и даже Coinbase pro, осуществляют пакетные транзакции. Они выполняют несколько платежей за один раз, потому что их сервис достаточно большой, и многие пользователи часто запрашивают вывод средств одновременно.
Пакетная транзакция работает путем упаковки многих запросов клиентов на отправку в одну большую транзакцию, а не создание новой отдельной небольшой транзакции для каждого отдельного запроса.
Этот способ более эффективен в блочном пространстве и снижает нагрузку, которую биржа оказывает на блокчейн Биткойн. Это также позволяет сервису снизить стоимость за снятие средств.
Обмен пакетными транзакциями значительно экономит комиссию за транзакцию. Как и в традиционных платежных системах, транзакции в сети Биткойн также требуют комиссий. Это плата за обработку сети, которая идет майнерам. Майнеры обычно отдают предпочтение транзакциям с более высокими комиссиями.
Теперь подумайте об отправке сотен платежей по отдельности, а не об отправке их одной транзакцией. Пакетная обработка биткойн-транзакций помогает биржам значительно сократить комиссию за транзакцию, поскольку это значительно сокращает количество ежедневных транзакций.
Этот метод масштабирования пакетных платежей просто делает Биткойн более удобным в использовании. Сегодня большинство бирж используют пакетную обработку платежей.
Также многие кошельки имеют эту встроенную функцию, которая позволяет пользователям выполнять пакетные платежи.
Как это работает?
Надеемся, вы знаете, как работает создание транзакций и трансляция транзакций в сеть Биткойн и как майнеры проверяют каждую транзакцию? Также мы предполагаем, что вы знакомы с концепцией смены выхода/изменения адреса. Все это мы обсуждали ранее.
В любом случае, вот как работают биткойн-транзакции.
Отправка биткойн-транзакции
Отправить BTC так же просто, как выбрать сумму для отправки и указать адрес, по которому она будет отправлена. Вам нужен только биткойн-адрес получателя, чтобы отправить Bitcoin.
Просто скопируйте и вставьте адрес BTC получателя в свой биткойн-кошелек. Или, если вы используете мобильный кошелек, вы можете отсканировать QR-код адреса, на который хотите отправить BTC.
ВАЖНО: Транзакции в сети Биткойн необратимы. Если вы отправите BTC на неправильный адрес, то, скорее всего, вы больше никогда не увидите свои BTC.
Как и вы, многие транслируют свои транзакции в сеть Биткойн. Сеть обрабатывает все транзакции и упаковывает их в блок. Майнеры проверяют каждый блок транзакций и добавляют их в конец блокчейна.
Теперь каждый блок имеет только фиксированную емкость и создается в среднем каждые 10 минут. Это ограниченное пространство блока и повышенный спрос на транзакции (во время пикового сетевого трафика) часто приводят к высоким комиссиям.
За транзакции с биткойнами взимается небольшая комиссия, которая выплачивается майнерам, которые их проверяют и подтверждают. Каждая транзакция состоит из данных (измеряемых в байтах), а комиссия измеряется в сатоши /байт.
Транзакции с более высокими комиссиями часто выбираются майнерами в первую очередь. Они отдают приоритет комиссиям за транзакции, поэтому более высокая комиссия с большей вероятностью будет включена в следующий блок.
Если ваша транзакция более сложная, то есть если она включает в себя больше данных, она может стать дорогой. Дело не в том, что транзакция BTC с более высокой стоимостью потребляет больше данных, а в том, что количество входов и выходов имеет значение.
UTXO — выходы и входы транзакций
Биткойн использует модель UTXO. UTXO расшифровывается как Unspent Transaction Output, который является фундаментальным строительным блоком биткойн-транзакции.
В Биткойне нет такой вещи, как баланс. Баланс вашего биткойн-адреса или учетной записи отображается только в вашем кошельке. Но на самом деле у пользователей нет балансов, кроме UTXO.
UTXO — это неделимые куски биткойнов, которые привязаны к конкретным владельцам. UTXO записываются в блокчейн, и каждый UTXO распознается как денежная единица.
Думайте об этом как о купюрах в 1, 10, 50, 100 долларов. Если пользователь хочет перевести деньги, кошелек выбирает определенные UTXO в качестве входных данных, которые необходимы в качестве суммы для перевода. Он выбирает количество UTXO в качестве входных данных, эквивалентное сумме, которую пользователь должен передать. Выбранная сумма поступает получателю, который является выходом.
Если в транзакции есть изменение, то вывод изменения, представляющий собой сумму разницы, возвращается отправителю.
Почему некоторые биткойн-транзакции дороже других? Практически биткойн-транзакция может иметь неограниченные входы и выходы. Обычная непакетная транзакция будет иметь один вход, один транзакционный выход и один выход сдачи. Если транзакция более сложная и содержит больше входных и выходных данных, она может стать дорогостоящей. Поскольку больше входных и выходных данных включает больше данных, а большее количество данных означает, что транзакция будет потреблять больше байтов, занимая большую часть пространства блока, и поэтому транзакция будет более дорогой.
Варианты использования / преимущества / недостатки пакетной обработки транзакций
Преимущества Batching биткойн-транзакций:
- Пакетная обработка сокращает количество транзакций за счет объединения сотен отдельных переводов. Одна транзакция с несколькими выходами занимает меньше места в блоке, чем каждая из них обрабатывается по отдельности.
- Пакетная транзакция минимизирует комиссию за транзакцию потребителя. А также уменьшить максимальное количество неизрасходованных BTC в вашем кошельке.
Однако недостатком является снижение конфиденциальности. Пакетная обработка транзакций — эффективный способ снизить комиссию, но недостатком является отсутствие конфиденциальности.
Например, если вы производите расчет заработной платы пакетной транзакцией, то каждый сотрудник вашей компании узнает о зарплате других сотрудников. Поэтому, если вы думаете о пакетных платежах, убедитесь, что конфиденциальность не нарушена.
Кроме того, с пакетными транзакциями пользователи не смогут увеличить комиссию за свои пакетные платежи. Это делается для того, чтобы пользователи не тратили ресурсы узла впустую.
В любом случае помните, что не каждый платеж должен быть пакетным. Пакетная обработка платежей очень полезна только для высокочастотных отправителей, таких как майнинг-пул или биржа.
Частные лица, которые также совершают частые переводы, могут осуществлять пакетные платежи. Они могут включать практически неограниченное количество выходов для разных людей в одной и той же транзакции. Только тот, кто часто тратит деньги, может значительно сэкономить на комиссиях за транзакции.
Для тех, кто тратит меньше, группировка платежей не требуется. Однако редко вы можете захотеть сделать несколько транзакций одновременно. Например, продление домена и т. д. В этом случае вы можете отправить пакетную транзакцию.
Общая комиссия за пакетную транзакцию обычно выше, чем за обычную транзакцию с одним платежом. Потому что он потребляет больше байтов, чем обычный непакетный платеж. Однако вы по-прежнему экономите на комиссиях по сравнению с несколькими отдельными обычными разовыми платежами.
Как отправить BTC на несколько адресов за одну транзакцию?
Хотите отправить BTC на несколько адресов, заплатив единовременную комиссию. Неважно, есть ли у вас 10 адресов или 50+ адресов, на которые вам нужно произвести выплату.
Максимальное количество людей или адресов, которым вы можете отправить BTC за одну транзакцию, не ограничено. Существует только ограничение по размеру транзакции, и вы можете иметь столько выходов/получателей, сколько хотите, пока размер вашей транзакции остается ниже ограничения в 1 МБ.
Обратите внимание, что комиссия за транзакцию также пропорциональна размеру вашей транзакции. Таким образом, каждый выход, который вы добавляете, также увеличивает вашу комиссию, делая вашу транзакцию дорогой.
Итак, как я могу отправить BTC сразу на все разные адреса без необходимости платить комиссию за каждую транзакцию?
Большинство декстопных и мобильных кошельков поддерживают эту функцию, которая позволяет создавать пакетные транзакции. Пакетная обработка также работает с кошельками с несколькими подписями.
Даже некоторые кошельки Lightning, такие как Blue wallet, имеют функцию отправки многим или пакетной обработки транзакций.
Здесь давайте посмотрим, как выполнять пакетные платежи с использованием Bitcoin core и Electrum wallet.
Electrum – пакетная обработка платежей
Пакетные платежи в Electrum просты. Откройте Electrum и перейдите в «Инструменты» → «Плати многим». Откроется всплывающее окно, сообщающее вам, как отправить BTC на несколько адресов.
Вы должны «Ввести список выходов в поле «Оплатить». Один вывод на строку. Формат: адрес, сумма. Вы также можете загрузить файл CSV с помощью значка файла».
Или вы также можете просто использовать вкладку отправки, которую вы обычно используете для отправки платежей. Технически вы можете переключаться между режимом оплаты по одному адресу и режимом оплаты по многим адресам, не используя опцию «Инструменты» → «Оплатить многим».
Перейдите к отправке >> и в поле оплаты просто нажмите Enter, что сделает его текстовой областью. Теперь все, что вам нужно сделать, это вставить адреса и сумму один за другим в следующем формате:
- адрес1, сумма (нажмите Enter)
- адрес2, сумма (нажмите Enter)
- Адрес3, сумма
Вы можете вставить столько адресов с разными суммами, сколько хотите. Поле «Кому оплатить» должно выглядеть так:
Поле суммы будет автоматически заполнено, когда вы платите многим. Также, если вы хотите, вы можете изменить единицу измерения, отображаемую в вашем Electrum. По умолчанию это mBTC. Если вы хотите, вы можете переключиться на BTC или Sats, изменив это в настройках. Перейдите в Инструменты → Настройки → Общие → Базовый блок.
Кроме того, комиссия взимается за транзакцию, а не за адрес или вывод транзакции. С пакетной транзакцией вы платите только один раз, даже если отправляете деньги на несколько адресов. Вы можете просмотреть, а также настроить комиссию за пакетную транзакцию.
Настройка комиссии в Electrum: перед подписанием перейдите в «Инструменты» → «Настройки» → «Транзакции» и установите флажок «Динамическая комиссия». Также отметьте использование опции «Замена по плате» и «Расширенный предварительный просмотр». Вы можете просмотреть и изменить комиссию перед отправкой транзакции. Как только все выходные данные и суммы будут правильными, нажмите «Отправить», чтобы транслировать транзакцию.
Импорт CSV-файла. Используя собственное программное обеспечение, вы можете создать CSV-файл (значения, разделенные запятыми) со списком адресов и суммой для отправки. Затем вы можете импортировать CSV-файл, щелкнув значок каталога на вкладке отправки, который будет импортировать все адреса и суммы. Это проще, когда вы совершаете крупную транзакцию с большим количеством небольших сумм.
Bitcoin core — отправить на многие адреса
Используя основной клиент Bitcoin, вы можете создать транзакцию, отправляющую монеты на множество адресов в рамках одной транзакции. Откройте Bitcoin Core и перейдите на вкладку «Отправить». На вкладке «Отправить» внизу есть кнопка «Добавить получателя».
Нажмите «Добавить получателя» столько раз, сколько хотите, пока у вас не будет формы для каждого получателя (достаточно результатов для желаемой транзакции).
Затем начните вводить все адреса один за другим и введите все соответствующие суммы для отправки. Введите первый адрес и сумму для отправки. Нажмите кнопку «Добавить получателя» и введите второй адрес и сумму для 2-го вывода. Затем снова нажмите кнопку «Добавить получателя» и введите третий адрес и сумму для третьего вывода.
Наконец, отрегулируйте комиссию и нажмите «Отправить». Весь ваш запрос будет отправлен в одной транзакции. Однако на вкладке недавних транзакций будет отображаться несколько записей, но все они имеют одинаковый идентификатор транзакции.
RPC-консоль
Вы также можете отправить множественную транзакцию с помощью команды JSON-RPC, которая будет более полезна при автоматических выплатах на несколько адресов.
Откройте Bitcoin QT и перейдите к справке >> Окно отладки >> Консоль.
Теперь вы можете выполнять пакетные платежи с помощью команды sendmany RPC-JSON:
sendmany " '{ "address1" : 0.1, "address2" : 0.2, "address3" : 0.3 }'
Вставьте, например, следующую команду:
sendmany ‘’ ‘{“bc1qazcm763858nkj2dj986etajv6wquslv8uxwczt”: 0.12, “1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF ”: 0.22}’
По ошибке, если вы используете один и тот же адрес дважды или более в объекте JSON, вы получите следующую ошибку: «Ошибка при попытке отправить платеж с помощью RPC sendmany».
Будьте осторожны, чтобы не перепутать адрес и сумму при отправке пакетной транзакции (Batching). Вот и все!
Вот так вы создаете одну транзакцию со многими выходами, и это все, что вам нужно знать о транзакции с несколькими получателями.