Partially Signed Bitcoin Transactions (частично подписанные биткойн-транзакции), или PSBT, — это стандарт Биткойна, облегчающий передачу между пользователями неподписанных биткойн-транзакций, что позволяет нескольким сторонам легко подписывать одну и ту же транзакцию.
Стандарт PSBT определяет точный формат для передачи биткойн-транзакций. Этот формат может содержать метаданные о транзакции, чтобы упростить для подписывающих сторон ее проверку и подписание. Стандарт определяет также процесс сборки и финализации транзакций, так что несколько сторон могут параллельно подписывать одну транзакцию, а затем объединить свои PSBT для формирования полностью подписанной биткойн-транзакции.
Для чего используются частично подписанные биткойн-транзакции?
Частично подписанные биткойн-транзакции дают биткойн-комьюнити несколько важных преимуществ, а также делают прежде запутанные протоколы транзакций более простыми и удобными для проверки.
Как работают частично подписанные биткойн-транзакции?
PSBT полезны в самых разных случаях. Например, чтобы собрать CoinJoin-транзакцию с пятью участниками, все пять участников отправляют координатору сообщение с UTXO, которые они хотели бы объединить в CoinJoin-транзакции. Каждый участник также предоставляет адреса, на которые CoinJoin-транзакция должна вернуть его биткойны.
Координатор соберет транзакцию со всеми этими UTXO в качестве входов и создаст соответствующие выходы для распределения каждому участнику того же количества биткойнов.
Затем координатор конвертирует эту транзакцию в PSBT и отправляет PSBT каждому из пяти участников. Каждый участник по отдельности добавляет свои подписи в PSBT и возвращает ее координатору, который затем объединяет пять PSBT в окончательную транзакцию и финализирует ее. Результатом будет полностью подписанная биткойн-транзакция, включающая в себя входы и выходы от каждого из участников.
Весь описанный процесс не требует доверия ни на одном из этапов: хотя все участники полагаются на координатора в создании и финализации PSBT, ни координатор, ни какой-либо из участников не может присвоить средства остальных участников транзакции.
Внедрение частично подписанных биткойн-транзакций
Стандарт PSBT был определен в BIP 174 и широко, хоть и не повсеместно, поддержан производителями аппаратных, программных кошельков и поставщиками ПО для биткойн-нод, включая Bitcoin Core.
Однако стандарт PSBT имеет несколько недостатков, поэтому в настоящее время ведется работа по разработке стандарта PSBT v2. В частности, построение транзакции путем итеративного добавления входов неэффективно и файлы PSBT могут иметь сравнительно большой вес, особенно для аппаратных кошельков, которые обычно снабжаются минимальным объемом памяти.
Однако на сегодняшний день PSBT значительно повышает возможности взаимодействия между программным и аппаратным обеспечением вокруг Биткойна, облегчая создание CoinJoin- и иных типов совместных транзакций и упрощая использование мультиподписи.
Источник: bitnovosti.com