Discussion:
[bitcoin-dev] BIP147 minor error
Sergio Demian Lerner via bitcoin-dev
2016-03-21 02:50:55 UTC
Permalink
The BIP147 reads:

*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.

The new rule is total *sigop cost* ≀ 80,000.

But the code implements:
if (nSigOps + (nWitSigOps + 3) / 4 > MAX_BLOCK_SIGOPS)
... error....

Which is not the same.

For example:
nSigOps = 1
nWitSigOps =79999

Is not an error by BIP definition but it's an error by the implemented code.

Regards, Sergio.
jl2012--- via bitcoin-dev
2016-03-22 06:48:49 UTC
Permalink
Do you mean BIP141?



Your example is an error by BIP141:



1*4 + 79999*1 = 80003 > 80000



From: bitcoin-dev-***@lists.linuxfoundation.org [mailto:bitcoin-dev-***@lists.linuxfoundation.org] On Behalf Of Sergio Demian Lerner via bitcoin-dev
Sent: Monday, 21 March, 2016 10:51
To: bitcoin-dev <bitcoin-***@lists.linuxfoundation.org>
Subject: [bitcoin-dev] BIP147 minor error



The BIP147 reads:

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.

The new rule is total sigop cost ≀ 80,000.

But the code implements:

if (nSigOps + (nWitSigOps + 3) / 4 > MAX_BLOCK_SIGOPS)

... error....

Which is not the same.


For example:

nSigOps = 1
nWitSigOps =79999

Is not an error by BIP definition but it's an error by the implemented code.

Regards, Sergio.
Sergio Demian Lerner via bitcoin-dev
2016-03-22 10:39:51 UTC
Permalink
My mistake.
Post by jl2012--- via bitcoin-dev
Do you mean BIP141?
1*4 + 79999*1 = 80003 > 80000
Demian Lerner via bitcoin-dev
*Sent:* Monday, 21 March, 2016 10:51
*Subject:* [bitcoin-dev] BIP147 minor error
*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.
The new rule is total *sigop cost* ≀ 80,000.
if (nSigOps + (nWitSigOps + 3) / 4 > MAX_BLOCK_SIGOPS)
... error....
Which is not the same.
nSigOps = 1
nWitSigOps =79999
Is not an error by BIP definition but it's an error by the implemented code.
Regards, Sergio.
Loading...