Изменения были чека isStandard (). Дополнительная защита помогает только если шахтеры не включают в себя нестандартные сделки.
Включается ли Элигий правила пластичность, даже если она не включает в себя общие isStandard () проверяет?
Глядя на код изменений, единственное, что я мог найти, что sigScripts аттестованы быть "канонический", Это означает, что при нажатии, наименьший опкод должен использоваться.
Это предотвращает ковкость путем кодирования идентичного массива байт по-другому.
От СИПА документ, Есть несколько способов изменить сделки.
1) Неотъемлемой подпись податливость ECDSA
- не зафиксировано (0,9 производит только канонические подписи)
2) Не DER закодированные сигнатуры ECDSA
- уже зафиксировано в 0,8
3) Операции Избыточное scriptSig
- не зафиксировано
4) Non-нажимные операции в scriptSig
- уже зафиксировано
5) Нажмите операции в scriptSig нестандартного типа размера
- фиксировали в 0,9
6) нулём толкает
- не зафиксировано (Влияет только на multisig)
7) Входы игнорируются скрипты
- не должны быть исправлены
8) Sighash флаги на основе маскирования
- не должны быть исправлены
9) Новые подписи отправителя
- не должны быть исправлены
1) может быть обработано с помощью (отключено) OP_XOR опкод, чтобы проверить, если подпись была даже.
3) может быть обработано с помощью (активный) OP_DEPTH опкод, чтобы убедиться, что стек пуст. Это предполагает, что sigScript только отталкивает.
Он утверждает, что на вики, что OP_ADD и т.д. все используют 32-битные числа, но script.cpp кажется, отливать сценарии BigNums.
Если scriptPubKey не обрабатывает входные сигналы в виде чисел, то 6) не кажется большим делом.
Опкоды как OP_IF необходимо будет предшествовать проверка того что в верхней части стека один байт массив 0 или 1.
Это говорит о том, что для выпуска податливости ECDSA подписи за исключением, сделка податливость защищена для блоков, добываемых бассейнами, которые используют isStandard ().
[редактировать]
Добавлены правки, основанные на пост gmaxwell в