Могу ли я использовать коды операций, традиционно используемые для проверки ключей, для проверки размеров платежей?

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

Похоже, что такие коды операций, как OP_EQUALVERIFY и OP_NUMEQUALVERIFY , используются для проверки подписей или ключей, а не количества биткойнов.

Пример:

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

Клиент оплачивал бы свой счет на адрес P2SH, но любые дальнейшие расходы по этому счету должны были бы идти на моего брата и меня в равной степени.

Условия:

Я хочу заблокировать выходы для данного ввода, чтобы:

  1. Биткойн-вход можно потратить только на два конкретных выхода*: адрес моего брата и мой.
  2. Суммы, выплачиваемые за эти конкретные результаты, должны быть равны друг другу.

*кроме изменения адреса

В приведенном выше примере могу ли я использовать OP_NUMEQUALVERIFY или даже небинарный оператор OP_GREATERTHANOREQUAL, чтобы обеспечить выплату любого дохода клиента мне в равной или большей сумме, чем моему брату?

Ответы (1)

Это невозможно.

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

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

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