neo-project / proposals

NEO Enhancement Proposals

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Explicit NEP on Tx Witness

igormcoelho opened this issue · comments

We should be able to mark witness VerificationScript by some "standard script" identifier.

Examples:
PUSH signature / Check signature - Standard Verification 1
PUSH signatures / Check multisig - Standard Verification 2
etc

Some time ago (months), we discussed on a similar situation, with @shargon, and he wisely commented that it wouldn't be interesting to have a NEP to inform things that could not be true... I mean, tx submitter may "lie" about which verification format is. In this case, I propose that nodes verify the format, and reject tx if a specific format is declared, but not followed.

Example:
declare multisig, but perform single sig

Positive points: this allows us to do some optimizations, specially for blockchain explorers, as they will better know witnesses intentions, and clearly indicate that (single sig / multi sig / etc).
This is important for this NEP: #102

Negative points: this is an extra byte (if we limit to 255) on all cosigners, unless we manage to keep it optional somehow.

Seems like everyone is just parsing scripts to detect this and (three years down the road!) we still have just two main possibilities, probably it's OK as it is.