LearnBitcoin

Bitcoin Dev Archive 2016

BIP147 minor error

3 messages, 21 to 22 Mar 2016. Started by Sergio Demian Lerner.

Sergio Demian Lerner (2), Johnson Lau

Permalink Original thread on gnusha.org

Sergio Demian Lerner permalink original

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.

Johnson Lau in reply to Sergio Demian Lerner permalink original

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.

Sergio Demian Lerner in reply to Johnson Lau permalink original

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