public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* [Bitcoin-development] BIP - Selector Script
@ 2014-04-25 18:49 Tier Nolan
  2014-04-25 19:17 ` Luke-Jr
  0 siblings, 1 reply; 9+ messages in thread
From: Tier Nolan @ 2014-04-25 18:49 UTC (permalink / raw)
  To: Bitcoin Development

[-- Attachment #1: Type: text/plain, Size: 1040 bytes --]

This is a BIP to allow the spender to choose one of multiple standard
scripts to use for spending the output.

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

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.

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

The script allows multiple standard scripts to be included in the
scriptPubKey.

When redeeming the script the spender indicates which of the standard
scripts to use.

Only one standard script is actually executed, so the only cost is the
extra storage required.

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
"Multi-P2SH".

This gets much of the benefits of MAST, but it requires a formal soft fork
to implement.

If there is agreement, I can code up the reference implementation as a PR.
The multi-P2SH might actually be easier.

[-- Attachment #2: Type: text/html, Size: 1369 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-04-26 17:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-25 18:49 [Bitcoin-development] BIP - Selector Script Tier Nolan
2014-04-25 19:17 ` Luke-Jr
2014-04-25 19:58   ` Peter Todd
2014-04-25 20:05     ` Tier Nolan
2014-04-25 20:02   ` Tier Nolan
2014-04-25 20:13     ` Gregory Maxwell
2014-04-25 20:26     ` Luke-Jr
2014-04-25 20:48       ` Tier Nolan
2014-04-26 17:00         ` Mark Friedenbach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox