<div dir="ltr"><div><div><div><div>This is a BIP to allow the spender to choose one of multiple standard scripts to use for spending the output.<br><br><a href="https://github.com/TierNolan/bips/blob/bip4x/bip-0045.mediawiki">https://github.com/TierNolan/bips/blob/bip4x/bip-0045.mediawiki</a><br>
<br></div>This is required as part of the atomic cross chain transfer protocol.  It is required so that outputs can be retrieved, if the process ends before being committed.<br><br><a href="https://bitcointalk.org/index.php?topic=193281.msg2224949#msg2224949">https://bitcointalk.org/index.php?topic=193281.msg2224949#msg2224949</a><br>
<br></div>The script allows multiple standard scripts to be included in the scriptPubKey.<br><br>When redeeming the script the spender indicates which of the standard scripts to use.<br><br></div>Only one standard script is actually executed, so the only cost is the extra storage required.<br>
<br></div><div>A more ambitious change would be a soft fork like P2SH, except the spender is allowed to select from multiple hashes.  Effectively, it would be &quot;Multi-P2SH&quot;.<br><br></div><div>This gets much of the benefits of MAST, but it requires a formal soft fork to implement.<br>
<br>If there is agreement, I can code up the reference implementation as a PR.  The multi-P2SH might actually be easier.<br></div></div>