Skip to content

Commit

Permalink
Document 520-byte serialized script limit
Browse files Browse the repository at this point in the history
  • Loading branch information
petertodd committed Mar 1, 2014
1 parent e077915 commit e5d0289
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions bip-0016.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,11 @@ On February 1, 2012, the block-chain will be examined to determine the number of

If a majority of hashing power does not support the new validation rules, then rollout will be postponed (or rejected if it becomes clear that a majority will never be achieved).

===520-byte limitation on serialized script size===

As a consequence of the requirement for backwards compatiblity the serialized script is itself subject to the same rules as any other PUSHDATA operation, including the rule that no data greater than 520 bytes may be pushed to the stack. Thus is it not possible to spend a P2SH output if the redemption script it refers to is >520 bytes in length. For instance while the OP_CHECKMULTISIG opcode can itself accept up to 20 pubkeys, with 33-byte compressed pubkeys it is only possible to spend a P2SH output requiring a maximum of 15 pubkeys to redeem: 3 bytes + 15 pubkeys * 34 bytes/pubkey = 513 bytes.


==Reference Implementation==

https://gist.github.com/gavinandresen/3966071
Expand Down

0 comments on commit e5d0289

Please sign in to comment.