Что такое пакетные транзакции Bitcoin
И так, транзакция Bitcoin, возможно, сложнее, чем думают многие. Тем не менее, это ни в коем случае не колдовство, потому что любой, кто понял основы сети Биткойн и обработки транзакций, может легко следовать отдельным шагам.
В прошлый раз мы рассмотрели транзакции на блокчейне Bitcoin и вне его, а сегодня мы поговорим об пакетных транзакциях.
Преимущество пакетных транзакций увеличивается с ростом масштаба. Для биржи выполнить одну операцию по выводу средств для каждого клиента — это не одно и то же, что для биржи выполнить одну операцию, которая платит всем. Экономия на комиссии при последнем варианте более чем значительна.
Например, Coinbase заявила, что эта система помогла ее клиентам сэкономить 75,2% комиссионных за транзакции, а также сократить количество транзакций в день на 95%.
Эта возможность есть во многих биржах, а также кошельках, которые помогают своим пользователям значительно сократить расходы. Давайте подробно рассмотрим этот интересный вариант, а также преимущества и некоторые подводные камни.
Как работают транзакции Bitcoin
Понимание того, как работают транзакции Bitcoin, помогает нам понять, как работают пакетные транзакции.
В отличие от других криптовалют, где используется система бухгалтерского учета или баланса, в Биткойне применяется так называемая модель оттока неизрасходованных транзакций (UTXO).
Пользователи не имеют баланса как такового, но вместо этого они контролируют неизрасходованные результаты операций, которые могут быть использованы в качестве исходных данных для других операций.
Когда мы создаем транзакцию Bitcoin, сумма BTC, которую нам нужно перевести, должна быть эквивалентна сумме UTXO, выбранной в качестве входных данных. Один вывод будет для лица, получающего средства, другой — для комиссий майнера и последний — для адреса обмена, который возвращается к нам.
Конечно, это простой пример, но транзакция может иметь несколько входов и несколько выходов. Именно этим и пользуются пакетные транзакции в интересах пользователя.
Размер блока Биткойна фиксирован, и это определяет количество транзакций, которые могут быть объединены в нем. Поэтому, если сеть перенасыщена, майнеры будут выбирать для добавления в блок те транзакции, которые платят наибольшую плату.
В действительности, важнее, чем комиссия, которую они платят за транзакцию, является комиссия за размер транзакции, поскольку они стараются получить наибольшую комиссию за один добытый блок. Другими словами, они стремятся к эффективности доходов.
Транзакция объемом 100 байт и стоимостью 1 доллар — это не то же самое, что транзакция объемом 150 байт и стоимостью 2 доллара. В первом случае за байт платят 1 цент, а во втором — 0,013 доллара. В этом случае шахтер считает последний вариант более выгодным.
Для пользователя это означает, что он может воспользоваться двумя способами экономии места и комиссионных:
- Консолидировать UTXO: мы можем использовать как можно меньше входов, что позволит сэкономить место и сгенерировать много выходов (известных как Bitcoin dust). Затем, когда комиссии становятся дешевле, мы берем все эти оттоки и объединяем их в более крупный.
- Пакетные транзакции: если нам необходимо проводить частые транзакции, мы можем включить большое количество оттоков в адрес разных людей в одну транзакцию.
Последнее является очень распространенной практикой среди майнинговых групп и бирж, которым необходимо сэкономить как можно больше комиссионных и нужно платить многим людям.
Нередко в такого рода сделках встречаются десятки и сотни выходов из бизнеса.
Пример пакетных транзакций
Например, допустим, нам нужно заплатить 5 друзьям в общей сложности 1 BTC. С помощью этой альтернативы мы можем создать одну транзакцию с 5 выходами, которые выплачивают каждому другу требуемые суммы.
Другим вариантом было бы создание 5 различных транзакций, но это было бы дороже.
Причина этого заключается в том, что каждая создаваемая нами транзакция имеет фиксированный и переменный размер. Первый будет общим для всех транзакций, а второй будет зависеть от количества входов и выходов, которые она имеет.
Хотя создание транзакции с большим количеством выходов увеличит ее размер, она не будет больше, чем все транзакции, созданные для нашего примера.
Преимущества данного вида сделок
Хотя есть как преимущества, так и недостатки, первые более многочисленны и важны, чем вторые. Давайте посмотрим, что это такое.
- Объединение нескольких операций в одну
Транзакции, о которых мы говорили до сих пор, идеально подходят для объединения нескольких транзакций в одну со всеми вытекающими отсюда преимуществами.
В прошлом пользователи Bitcoin создавали по одной транзакции для каждого представления, что было неэффективным использованием денежных и физических ресурсов сети.
- Уменьшение максимального количества транзакций, без расходования кошелька
Когда мы генерируем транзакции, мы накапливаем неизрасходованные транзакционные оттоки с небольшими суммами, известными как пыль. Однако у нас есть два варианта решения этой проблемы. Можно было бы собрать все эти операции в одну транзакцию, транзакцию с несколькими входами и выходом.
Второй вариант — больше использовать пакетные транзакции, чтобы вместо сотен транзакций с их остатками у нас был только один выход.
- Минимизирование комиссионных
Комиссионные — еще одно большое преимущество таких сделок. Как мы уже видели, они помогают значительно снизить комиссию, когда вам приходится делать несколько платежей.
Некоторые службы начали использовать их не просто так, и экономия может быть очень значительной, особенно для компании, которая привыкла постоянно платить.
- Уменьшение количества транзакций, генерируемых в сети
Это преимущество не только для кого-то конкретного, но и для сети в целом. Использование большего количества механизмов такого типа помогает генерировать меньшее количество транзакций в сети.
С одной стороны, это экономит время и усилия компаний или частных лиц, которым необходимо совершать большое количество платежей, но также снижает перегрузку сети и делает ее работу более эффективной.
- Сокращение времени работы обменников
Биржа может генерировать платеж сейчас, а затем использовать остаток этой транзакции для создания новой. Проблема заключается в том, что он должен дождаться подтверждения блоков, чтобы новая транзакция стала действительной.
Сокращая количество транзакций, которые необходимо отправить, биржа сокращает время ожидания и может тратить больше времени на остальные операции, что в конечном итоге приносит больший доход.
Недостатки такого вида сделок
Хотя все, о чем мы говорили до сих пор, очень интересно, есть и некоторые отрицательные стороны транзакций с использованием Биткойна.
- Снижение уровня конфиденциальности
Первым недостатком является снижение конфиденциальности и усиление централизации. Кто-то, проводя анализ цепочки, легко определит, что мы использовали эту транзакцию для оплаты другим людям.
Этого можно в некоторой степени избежать, если использовать систему CoinJoin для данного типа транзакций.
- Задержки
Многие биржи производят выплаты пользователям, когда те запрашивают вывод средств. Но если это делается в пакетной сделке, вам придется ждать, пока на бирже соберется несколько пользователей, чтобы воспользоваться этими преимуществами.
Возможно, это не проблема для всех, но для тех, кто хочет получить свои деньги как можно быстрее, это может стать проблемой. Тем более, если к этому уравнению добавить время подтверждения.