Subject: [Bitcoin-development] BIP - Hash Locked Transaction

From: Tier Nolan <[email-masked]>
Date: Fri, 25 Apr 2014 19:49:37 +0100

As part of the atomic cross chain system, outputs need to be hash locked.

https://github.com/TierNolan/bips/blob/bip4x/bip-0045.mediawiki

https://bitcointalk.org/index.php?topic=193281.msg2224949#msg2224949

A user needs to provide x corresponding to hash(x) in order to spend an
output.

Under the protocol, one of the participants is required to provide the
secret number in order to spend an output.  Once they do that, the other
participant can use the secret number to spend an output on the other
chain.  This provides a mechanism to link the 2 chains together (in
addition to lock times).  Once the first output is spent, that commits the
transfer.

This is half of the scripting operations required to implement the protocol.

The proposal is to make this an adder on to the other standard
transactions.  It does a check that the hash matches, and then runs the
standard transaction as normal.

Adding the prefix to a P2SH transactions wouldn't work, since the template
wouldn't match.

A script of this form could be embedded into a P2SH output.

I think that is ok, since embedding the "password" in the hashed script
gets all the benefits.

If there is agreement, I can code up the reference implementation as a PR.