Еще вопрос: почему это может провернуть только владелец пула?
Транзакция с таким scriptSig будет инвалидна по умолчанию в BCH?
Сегодня будет инвалидна. Потому что вступили в силу новые правила консенсуса в обоих новых форках.
До 15 ноября была валидна, но нестандартна - то есть в блоке она валидна, а просто так по
сети не распространяется и клиентом без патчей в блок не включается. Мы же уже с тобой
проходили разницу между транзакциями? Ты опять всё забыл?
Или они дружно поменяли протокол в части воскрешения денег спаленных на сегвит
адресах? Я честно не слежу за развитием событий в кэше, больше эфиром интересуюсь.
Да, они оба поменяли это для новых блоков. Старые блоки, разумеется, считаются верными.
// The CLEANSTACK check is only performed after potential P2SH evaluation,
// as the non-P2SH evaluation of a P2SH script will obviously not result in
// a clean stack (the P2SH inputs remain). The same holds for witness
// evaluation.
if ((flags & SCRIPT_VERIFY_CLEANSTACK) != 0) {
// Disallow CLEANSTACK without P2SH, as otherwise a switch
// CLEANSTACK->P2SH+CLEANSTACK would be possible, which is not a
// softfork (and P2SH should be one).
assert((flags & SCRIPT_VERIFY_P2SH) != 0);
if (stack.size() != 1) {
return set_error(serror, SCRIPT_ERR_CLEANSTACK);
}
}
А ну жопа тогда. Хорошая тема была. Жаль что я не наткнулся на нее раньше. Я такие штуки люблю.
Есть еще идеи? Вообще по моему солидити и смарт контракты неплохая тема - там есть поле где развернуться. И говнокодеров в этой теме много - дырявые контракты тут и там.