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.
Thread Summary (21 replies)
Apr 10 - Jun 25, 2025
22 messages
TLDR
We’ll email you summaries of the latest discussions from high signal bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project.
Give Feedback