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: 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 == == Examples ==

View File

@ -24,8 +24,6 @@ The template Object is revised to include these keys:
|- |-
| costlimit || {{No}} || Number || total cost allowed in blocks | 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) | 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. 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=== ===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. When block assembly is done without witness transactions, no changes are made by this BIP, and it should be assembled as previously.