1
0
mirror of https://github.com/bitcoin/bips.git synced 2025-05-12 12:03:29 +00:00

BIP 141 & 145: Clarify sigop interaction

This commit is contained in:
Luke Dashjr 2016-03-30 21:43:36 +00:00
parent ba16f16742
commit a5447e0c4b
2 changed files with 8 additions and 4 deletions

View File

@ -114,9 +114,11 @@ The new rule is total ''block cost'' ≤ 4,000,000.
Sigops per block is currently limited to 20,000. We change this restriction as follows:
''Sigop cost'' is defined. The cost of a sigop in traditional script is 4, while the cost of a sigop in witness program is 1.
Sigops in the current pubkey script, signature script, and P2SH check script are counted at 4 times their previous value.
The sigop limit is likewise quadrupled to ≤ 80,000.
The new rule is total ''sigop cost'' ≤ 80,000.
In addition, opcodes within the witness program are counted identical to as previously within the P2SH check script.
That is, CHECKSIG is counted as only 1 sigop in a witness program, despite P2SH check script's CHECKSIG becoming 4 sigops with the forementioned change.
== Examples ==

View File

@ -24,8 +24,6 @@ The template Object is revised to include these keys:
|-
| costlimit || {{No}} || Number || total cost allowed in blocks
|-
| sigoplimit || {{No}} || Number || total sigop cost allowed in blocks divided by 4
|-
| version || {{Yes}} || Number || block version; clients MUST understand the implications of the version they use (eg, comply with [[bip-0141.mediawiki|BIP 141]] for version 5)
|}
@ -47,6 +45,10 @@ The Objects listed in the response's "transactions" key is revised to include th
Transactions with witness data may only be included if the template's block version is at least 5.
===Sigops===
For version 5 blocks, the "sigoplimit" and "sigops" keys must use the new values as calculated in [[bip-0141.mediawiki#Sigops|BIP 141]].
===Block Assembly with Witness Transactions===
When block assembly is done without witness transactions, no changes are made by this BIP, and it should be assembled as previously.