Как получатель узнает, что он может выполнить сценарий транзакции, чтобы потратить свои биткойны?

На вики-странице скрипта транзакции написано:

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

Как получатель узнает, что он может потратить полученные биткойны? Может ли злоумышленник создать скрипт, который получатель не сможет использовать для траты биткойнов, не зная об этом? (Возможно, из-за ограничения пользовательского интерфейса клиента?)

Ситуация, которую я описываю, вероятно, была бы необычной, поскольку отправитель преднамеренно жертвует (и уничтожает в процессе) биткойны исключительно назло другой стороне. Тем не менее, возможно ли это, и какие меры (могут) защитить от него?

Ответы (1)

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

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

Ваше последнее предложение («Нестандартные транзакции игнорируются») отвечает на мой вопрос. Я понимаю, что ситуация очень гипотетическая, но я не мог найти объяснения в другом месте. (Оглядываясь назад, можно сказать, что более полезным способом сформулировать то же самое — и применить «Бритву Хэнлона» — было бы «Что произойдет, если вам отправят биткойны в транзакции с искаженным скриптом?»)
Как бы клиент ни развивался, он почти всегда будет игнорировать транзакцию, которую он не полностью понимает (кроме того, чтобы убедиться, что он не создает биткойны!). Предположение, что он сможет заявить о транзакции в будущем только потому, что кажется, что он может заявить об этом сейчас, представляет собой угрозу безопасности. Может быть, это то, что вы пытались получить