BIP147 minor error
3 messages, 21 to 22 Mar 2016. Started by Sergio Demian Lerner.
Sergio Demian Lerner (2), Johnson Lau
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.
Do you mean BIP141?
Your example is an error by BIP141:
1*4 + 79999*1 = 80003 > 80000
From: bitcoin-dev-bounces@lists•linuxfoundation•org [mailto:bitcoin-dev-bounces@lists.linuxfoundation.org] On Behalf Of Sergio Demian Lerner via bitcoin-dev Sent: Monday, 21 March, 2016 10:51 To: bitcoin-dev <bitcoin-dev@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.
My mistake. El mar 22, 2016 3:49 AM, <jl2012@xbt•hk> escribió:
Quoted text (47 lines)
> Do you mean BIP141? > > > > Your example is an error by BIP141: > > > > 1*4 + 79999*1 = 80003 > 80000 > > > > *From:* bitcoin-dev-bounces@lists•linuxfoundation•org [mailto: > bitcoin-dev-bounces@lists•linuxfoundation•org] *On Behalf Of *Sergio > Demian Lerner via bitcoin-dev > *Sent:* Monday, 21 March, 2016 10:51 > *To:* bitcoin-dev <bitcoin-dev@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. >