Posted by AntoineP
Apr 16, 2025/14:21 UTC
The correspondence delves into the intricacies of Bitcoin's script execution, particularly focusing on the utilization of CHECKSIG
operations within both scriptSig
and scriptPubKey
. The writer raises an important technical observation regarding the reuse of signatures across these scripts. It is highlighted that the signature employed by the CHECKSIG
in the scriptSig
fundamentally differs from that in the scriptPubKey
due to the distinct messages being signed in each instance. This distinction arises because the execution environment, or eval script, processes the scriptSig
and scriptPubKey
separately, applying different segments of code for their verification. Specifically, the EvalScript
function treats these scripts with unique handling, as evidenced by the referenced Bitcoin source code links (EvalScript call and the scriptCode in CHECKSIG
evaluation).
Moreover, the communication suggests a potential oversight in the proposed script, indicating that the intended use of CHECKSIG
within the scriptSig
might have been more aptly replaced with CHECKSIGVERIFY
to ensure proper execution. This suggestion implies a fundamental misunderstanding or misapplication of the script commands, which could invariably lead to execution failure due to one of the CHECKSIG
operations not fulfilling its requisite conditions.
The writer also speculates on a creative workaround involving the use of a CODESEPARATOR
hack. This method would theoretically allow for the duplication of the signature to be circumvented by ensuring that the scriptCode
remains constant for both the scriptSig
and scriptPubKey
, thus facilitating a successful execution without directly addressing the identified problem with CHECKSIG
usage. This part of the discussion underlines a nuanced understanding of Bitcoin script functionalities and presents an innovative albeit untested solution to the problem at hand.
TLDR
We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project?
Give Feedback