Subject: [bitcoindev] [Proposal] 64-bit arithmetic in Script

From: Chris Stewart <[email-masked]>
Date: Mon, 12 May 2025 11:15:10 -0500

This soft fork proposal extends the range of numeric operands in Script
from -2^31+1 to 2^31-1, to -2^63+1 to 2^63-1. It further expands the result
range for arithmetic operations from -2^63 to 2^63-1, to -2^127 to 2^127-
1.

All existing opcodes[1
<https://github.com/Christewart/bips/blob/2025-03-17-64bit-pt2/bip-XXXX.mediawiki#cite_note-1>
] that interpret stack elements as numbers are upgraded to support 64-bit
parameters.

The existing number encoding format[2
<https://github.com/Christewart/bips/blob/2025-03-17-64bit-pt2/bip-XXXX.mediawiki#cite_note-2>
] and arithmetic semantics[3
<https://github.com/Christewart/bips/blob/2025-03-17-64bit-pt2/bip-XXXX.mediawiki#cite_note-3>
] from the original Bitcoin implementation are preserved, while enhancing
the supported precision.

https://github.com/Christewart/bips/blob/2025-03-17-64bit-pt2/bip-XXXX.mediawiki

The purpose for this BIP is to lay the groundwork for introducing amounts
into Script. This document takes no opinion on how this is done.

I've prototyped a few different proposals now introducing amount locks into
Script[0][1] and feel like this proposal is stable enough for serious
review.

-Chris

[0] - https://delvingbitcoin.org/t/op-inout-amount/549/4?u=chris_stewart_5

[1] - https://delvingbitcoin.org/t/op-inout-amount/549/5?u=chris_stewart_5

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email-masked].
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/CAGL6%2BmH%2B9iq5_SR-Fa5zVZRoTpHasX7xoprYeJZRd5D80J1GqA%40mail.gmail.com.