Будут ли когда-нибудь разрешены общие нестандартные транзакции?

Насколько мне известно, в настоящее время клиентские ретрансляторы «Сатоши» и большинство пулов принимают только стандартные транзакции (передача или генерация) . Кроме того, сообщество работает над типом транзакции M-of-N . Добавление нестандартной транзакции в блокчейн в настоящее время довольно проблематично.

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

возможно, ответил здесь: bitcoin.stackexchange.com/questions/4486/…
@kirian Не могли бы вы опубликовать точную цитату? Я не могу найти ничего о планах обработки нестандартных транзакций в будущем, а также о том IsStandard, считается ли проверка " " в клиенте "по умолчанию" временной или постоянной.
Извините, вы правы. Я не знаю, какие планы на нестандартные транзакции в клиенте Satoshi.

Ответы (3)

Текущее направление разработки (январь 2013 г.) — еще больше усилить проверки IsStandard(). Например, мы хотели бы, чтобы все подписи соответствовали очень строгой канонической кодировке, чтобы усложнить жизнь потенциальным злоумышленникам.

Разрешение рассматривать больше кодов операций или шаблонов кодов операций (или всех кодов операций/шаблонов) IsStandard(), безусловно, возможно; прежде чем сделать это, я хотел бы увидеть тщательный анализ возможности вредоносного использования текущего набора кодов операций и большого количества прототипов в тестовой сети (где проверка IsStandard() уже разрешает все включенные коды операций).

Каковы риски, связанные с разрешением распространения нестандартных типов транзакций?

С isStandard()2014 года проверка была ослаблена. Теперь вы можете включать в транзакции самые разные скрипты.

Подробнее читайте здесь: Что подразумевается под «смягченными стандартами» для сценариев выкупа P2SH в Bitcoin Core 0.10.0?

Чтобы протокол Биткойн служил своей цели, каждый Клиент должен обрабатывать Транзакции по одному и тому же вопросу. Чтобы новый тип Транзакции был представлен и мог быть потрачен, он должен либо соответствовать текущим правилам (например, иметь возможность выполняться с помощью Скрипта ), либо быть принятым каждым Клиентом (в идеале). Если бы кто-то внедрил новый вид Транзакции без людей, соответствующих ему, в лучшем случае Транзакция стала бы неиспользуемой, в худшем - она ​​не была бы обработана Клиентами.

Чтобы ввести возможность создания «любых видов транзакций», необходимо создать какую-то новую версию скрипта или что-то подобное. Более того, этот Скрипт должен быть по-прежнему устойчив к вредоносным атакам (например, без циклов или подобных способов заставить множество Клиентов потерять много вычислительных ресурсов при проверке достоверности Транзакции).

В общем, возможно было бы создать какой-то широкий спектр транзакций с некоторыми изменениями в протоколе, но эти изменения должны быть приняты всеми. Крайне маловероятно, что кто-то когда-либо сможет создать новый вид Транзакции по своей прихоти.

Спасибо за Ваш ответ. Меня, однако, больше интересовало не расширение существующего протокола, а снятие ограничений, которые позволяют клиенту по умолчанию распространять только транзакции со сценарием, соответствующим определенному шаблону, а не любые технически корректные транзакции. Например, добавление OP_DUP OP_DROPв начало скрипта не делает транзакцию недействительной, но в настоящее время большинство клиентов не транслируют ее, и большинство пулов не добавляют ее в добытый блок.
ThePiachu: Что произойдет, если я майнер и модифицирую программное обеспечение, которое запускаю, для приема нестандартных транзакций, а затем успешно добываю блок, включающий транзакции, с помощью моего нестандартного скрипта?
@Loourr - вы создадите хардфорк, который, как правило, будет отклонен всеми остальными, кто не принимает эти нестандартные транзакции.