Может ли биткойн-транзакция иметь один и тот же адрес для ввода и вывода?

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

Ответы (4)

На уровне протокола не существует такого понятия, как «баланс адреса». Есть отдельные неизрасходованные выходы (например, монеты в кошельке), которые нужно тратить индивидуально. Частично потратить выход нельзя, но можно разделить/объединить.

Так, например, у вас есть вывод 70 BTC, назначенный адресу, и вывод 80 BTC, назначенный тому же адресу. Некоторое программное обеспечение покажет это как 150 BTC баланса этого адреса, но вам все равно нужно знать отдельные выходы, чтобы их потратить. Если вы хотите отправить кому-то 100 BTC, вы должны использовать эти два вывода в транзакции и создать два новых вывода, используя их: 100 BTC (получателю) и 50 BTC (обратно себе).

Используете ли вы новый адрес для вывода «сдачи» в 50 BTC, для протокола не имеет значения. Вы можете повторно использовать старый, но он сделает очевидным для всех в мире, кто был отправителем и кто был получателем в транзакции. Использование нового адреса улучшает конфиденциальность.

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

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

Вы даже можете иметь транзакцию только с 1 входом и 1 выходом, оба имеют один и тот же адрес.