Skip to content

Validiating Block Versions and Hash_Types #317

@roconnor

Description

@roconnor

It is my understanding that bitcoin does not verify the version number in block or transactions. If versions are meant as an extension mechanism, then presumably the client ought to enforce that all the version numbers are equal to 1 until such time as alternative block and transaction versions are added. Right now anyone can start spamming version numbers with any value they want I think.

Similarly the client only checks to see if the low bits of the HashType are SIGHASH_NONE or SIGHASH_SINGLE and all other combinations are treated as SIGHASH_ALL. Again, if this mechanism was intended to be extensible, then you need to check that the SIGHASH_ALL is correct and reject all other invalid HashTypes. Since there are only 5 bits available, spammers could easily exhaust all the HashTypes. Already at least transaction c99c49... is using an invalid HashType of 0 as if it were a SIGHASH_ALL.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions