Why is `SIGHASH_ALL` allowed in taproot when `SIGHASH_DEFAULT` is more efficient?
The existence of SIGHASH_DEFAULT makes SIGHASH_ALL redundant for Taproot, since both produce the same behavior — except SIGHASH_DEFAULT saves a byte by being implicit.
Given Bitcoin’s usual focus on minimizing blockspace usage (e.g. x-only pubkeys, minimal ScriptSig rules), why isn’t there a consensus or policy rule to disallow or discourage SIGHASH_ALL in Taproot signatures?
I’m not suggesting it’s a bad design choice — I just want to understand the rationale behind allowing the redundant form.
from Recent Questions - Bitcoin Stack Exchange https://ift.tt/3HkUf0R
via IFTTT