Published on: 2012-09-22T18:24:45+00:00
On September 22, 2012, a discussion between Mike Hearn and Jeff Garzik took place regarding the signing of input scripts in Bitcoin transactions. Hearn pointed out that signing input scripts would render it impossible to construct a transaction because signatures cannot sign themselves. He further explained that including scriptSigs in the signed data would result in the newly calculated signature for one input breaking the signatures for all others. Garzik acknowledged that he was missing the crucial piece, SIGHASH_ALL, and updated his post with a concrete example to recreate it. In an email conversation on the same day, Jorge Timón expressed interest in transitive/multi-hop transactions using Ripple and colored coins. He wondered why this was not possible. Garzik responded, stating that the missing piece for achieving such transactions was SIGHASH_ALL. He then updated his post with a detailed example and instructions for programmers to recreate it. Garzik, the founder of exMULTI, Inc., is actively involved in addressing these issues.The context explains why signing input scripts in Bitcoin transactions is not feasible. Signatures cannot sign themselves, and including scriptSigs in the signed data would disrupt the signatures for other inputs. Therefore, signing input scripts along with the rest of the transaction data is not possible.In the email conversation, Timón expresses interest in transitive/multi-hop transactions with colored coins and questions the inability to sign input scripts. Garzik responds by highlighting the need for a new SIGHASH_* type to achieve their goals. He also presents a problem he is working on involving the atomic transfer of coins between two parties with approval from both parties. Garzik wonders if this can be done within the current bitcoin system and suggests that a new SIGHASH_* type may be necessary.Garzik mentions colored coins and their potential use in distributed bonds in a forum post on Bitcointalk. He discusses a specific problem involving the transfer of a 1-satoshi colored coin from Alice to Bob, followed by a transfer of 100 BTC from Bob to Alice. These steps must occur as an atomic unit, requiring both parties to approve the transfer through appropriate signatures. Garzik questions the possibility of achieving this within the current bitcoin system and proposes the need for a new SIGHASH_* type. He provides links to further information on colored coins and distributed bonds and mentions his pursuit of pybond to address this issue.
Updated on: 2023-08-01T03:55:16.159184+00:00