* [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
* Re: [Bitcoin-development] BIP - Selector Script 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:02 ` Tier Nolan 0 siblings, 2 replies; 9+ messages in thread From: Luke-Jr @ 2014-04-25 19:17 UTC (permalink / raw) To: bitcoin-development I believe you meant to link here instead? https://github.com/TierNolan/bips/blob/bip4x/bip-0046.mediawiki This looks reasonable from a brief skim over, but does not define any use cases (it mentions "necessary for atomic cross chain transfers", but does not explain how it is useful for that - perhaps that belongs in another BIP you haven't written yet, though). IMO, it should also require P2SH. Luke On Friday, April 25, 2014 6:49:35 PM Tier Nolan wrote: > 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. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bitcoin-development] BIP - Selector Script 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 1 sibling, 1 reply; 9+ messages in thread From: Peter Todd @ 2014-04-25 19:58 UTC (permalink / raw) To: Luke-Jr; +Cc: bitcoin-development [-- Attachment #1: Type: text/plain, Size: 760 bytes --] On Fri, Apr 25, 2014 at 07:17:48PM +0000, Luke-Jr wrote: > I believe you meant to link here instead? > https://github.com/TierNolan/bips/blob/bip4x/bip-0046.mediawiki > > This looks reasonable from a brief skim over, but does not define any use > cases (it mentions "necessary for atomic cross chain transfers", but does not > explain how it is useful for that - perhaps that belongs in another BIP you > haven't written yet, though). IMO, it should also require P2SH. Keep in mind that P2SH redeemScripts are limited to just 520 bytes; there's going to be many cases where more complex transactions just can't be encoded in P2SH at all. -- 'peter'[:-1]@petertodd.org 00000000000000006407c80d5d4506a4253b4b426e0c7702963f8bf91e7971aa [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 685 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bitcoin-development] BIP - Selector Script 2014-04-25 19:58 ` Peter Todd @ 2014-04-25 20:05 ` Tier Nolan 0 siblings, 0 replies; 9+ messages in thread From: Tier Nolan @ 2014-04-25 20:05 UTC (permalink / raw) To: Bitcoin Dev [-- Attachment #1: Type: text/plain, Size: 1079 bytes --] On Fri, Apr 25, 2014 at 8:58 PM, Peter Todd <pete@petertodd.org> wrote: > Keep in mind that P2SH redeemScripts are limited to just 520 bytes; > there's going to be many cases where more complex transactions just > can't be encoded in P2SH at all. > True. Having said that, this is just a change to isStandard(), rather than a protocol change. These transactions can already be mined into blocks. > -- > 'peter'[:-1]@petertodd.org > 00000000000000006407c80d5d4506a4253b4b426e0c7702963f8bf91e7971aa > > > ------------------------------------------------------------------------------ > Start Your Social Network Today - Download eXo Platform > Build your Enterprise Intranet with eXo Platform Software > Java Based Open Source Intranet - Social, Extensible, Cloud Ready > Get Started Now And Turn Your Intranet Into A Collaboration Platform > http://p.sf.net/sfu/ExoPlatform > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > [-- Attachment #2: Type: text/html, Size: 1965 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bitcoin-development] BIP - Selector Script 2014-04-25 19:17 ` Luke-Jr 2014-04-25 19:58 ` Peter Todd @ 2014-04-25 20:02 ` Tier Nolan 2014-04-25 20:13 ` Gregory Maxwell 2014-04-25 20:26 ` Luke-Jr 1 sibling, 2 replies; 9+ messages in thread From: Tier Nolan @ 2014-04-25 20:02 UTC (permalink / raw) To: Bitcoin Dev [-- Attachment #1: Type: text/plain, Size: 3828 bytes --] On Fri, Apr 25, 2014 at 8:17 PM, Luke-Jr <luke@dashjr.org> wrote: > I believe you meant to link here instead? > https://github.com/TierNolan/bips/blob/bip4x/bip-0046.mediawiki > > Yeah, sorry. > This looks reasonable from a brief skim over, but does not define any use > cases (it mentions "necessary for atomic cross chain transfers", but does > not > explain how it is useful for that - perhaps that belongs in another BIP you > haven't written yet, though). One use case should be enough. The atomic cross chain proposal has been discussed for a while. It feels like bitcoin works on an "ask permission first" basis. It always stalls at the fact that non-standard transactions are hard to get confirmed on other coins. It is hard to find pools on other coins which have weaker isStandard() checks. The timeouts have to be set so that they are long enough to guarantee that transactions are accepted before they expire. A testnet to testnet transfer is the best that would be possible at the moment. I don't think the cross chain system needs a BIP (except to justify this one). If cross chain transfer become popular, then it would be useful to ensure that clients are interoperable, but first things first. If the transactions aren't accepted in any chains, then everything stalls. Secure transfers require that the malleability issue is fixed, but that is a separate issue. I am assuming that will be fixed at some point in the future, since micro-payment channels also requires that it is fixed. > IMO, it should also require P2SH. > It could be restricted to only P2SH, I don't think there would be a loss in doing that. Personally, I would make it so that P2SH is mandatory after a certain time. It makes distributed verification of the block chain easier. Everything needed to verify a script is present in the transaction (except that the output actually exists). A soft fork that expands P2SH functionality would be even better, but I would rather not let the best be the enemy of the good. > > > Luke > > > On Friday, April 25, 2014 6:49:35 PM Tier Nolan wrote: > > 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. > > > ------------------------------------------------------------------------------ > Start Your Social Network Today - Download eXo Platform > Build your Enterprise Intranet with eXo Platform Software > Java Based Open Source Intranet - Social, Extensible, Cloud Ready > Get Started Now And Turn Your Intranet Into A Collaboration Platform > http://p.sf.net/sfu/ExoPlatform > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > [-- Attachment #2: Type: text/html, Size: 5592 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bitcoin-development] BIP - Selector Script 2014-04-25 20:02 ` Tier Nolan @ 2014-04-25 20:13 ` Gregory Maxwell 2014-04-25 20:26 ` Luke-Jr 1 sibling, 0 replies; 9+ messages in thread From: Gregory Maxwell @ 2014-04-25 20:13 UTC (permalink / raw) To: Tier Nolan; +Cc: Bitcoin Dev On Fri, Apr 25, 2014 at 1:02 PM, Tier Nolan <tier.nolan@gmail.com> wrote: >> This looks reasonable from a brief skim over, but does not define any use >> cases (it mentions "necessary for atomic cross chain transfers", but does >> not >> explain how it is useful for that - perhaps that belongs in another BIP >> you >> haven't written yet, though). > One use case should be enough. The atomic cross chain proposal has been > discussed for a while. It feels like bitcoin works on an "ask permission > first" basis. You're reading that response the wrong way. It isn't in any way opposed to the specification, it's pointing out that the specification is _unclear_ about the applications, it mentions one but doesn't explain it and it wouldn't be apparent to all readers. Thats all. It could be clarified by saying something like "allows spending to be controlled by the publication of information, for example in another transaction so that they can only be completed atomically [citation to a revision of the contracts page]". ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bitcoin-development] BIP - Selector Script 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 1 sibling, 1 reply; 9+ messages in thread From: Luke-Jr @ 2014-04-25 20:26 UTC (permalink / raw) To: bitcoin-development On Friday, April 25, 2014 8:02:41 PM Tier Nolan wrote: > I don't think the cross chain system needs a BIP (except to justify this > one). > > If cross chain transfer become popular, then it would be useful to ensure > that clients are interoperable, but first things first. If the > transactions aren't accepted in any chains, then everything stalls. I think you may be misunderstanding what BIPs are. They do not force nodes to take on any given relay/mining policy (thus, BIPs should never talk about IsStandard at all). They define standard for interoperability between software. So, if you want nodes to relay these transactions, you need to convince them, not merely write a BIP for the transaction format. Defining a BIP for cross-chain trading would be one way to do that. > Secure transfers require that the malleability issue is fixed, but that is > a separate issue. I am assuming that will be fixed at some point in the > future, since micro-payment channels also requires that it is fixed. The malleability "issue" has been known for years. I wouldn't expect any special effort made to fix it... > A soft fork that expands P2SH functionality would be even better, but I > would rather not let the best be the enemy of the good. There is some ongoing discussion of a softfork to basically redo the Script language entirely, but it will take quite a bit of time and development before we'll see it in the wild. Luke P.S. Did the BIP editor assign these numbers? If not, best to keep them numberless until assigned, to avoid confusion when people Google the real BIP 44 and 45... ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bitcoin-development] BIP - Selector Script 2014-04-25 20:26 ` Luke-Jr @ 2014-04-25 20:48 ` Tier Nolan 2014-04-26 17:00 ` Mark Friedenbach 0 siblings, 1 reply; 9+ messages in thread From: Tier Nolan @ 2014-04-25 20:48 UTC (permalink / raw) To: Luke-Jr; +Cc: Bitcoin Dev [-- Attachment #1: Type: text/plain, Size: 2446 bytes --] On Fri, Apr 25, 2014 at 9:26 PM, Luke-Jr <luke@dashjr.org> wrote: > They define standard for interoperability between > software. So, if you want nodes to relay these transactions, you need to > convince them, not merely write a BIP for the transaction format. I agree with you in theory, each miner could decide their inclusion rules for themselves. In practice, if the reference client is updated, then most miners will accept those transactions. In addition, it would eventually propagate to alt-coins (or at least the supported ones). I could simply submit the changes as a pull request for the reference client, but I was hoping that by doing it this way, it would increase the odds of it being accepted. > Defining a BIP for cross-chain trading would be one way to do that. > I don't think it quite requires the same coordination in the short term. I could write up the sequence as an info BIP. The malleability "issue" has been known for years. > I wouldn't expect any special effort made to fix it... > It is possible to tweak the protocol so that it still works. However, it means that 3rd parties are required (that could go in the BIP too). > There is some ongoing discussion of a softfork to basically redo the Script > language entirely, but it will take quite a bit of time and development > before > we'll see it in the wild. > Implementing multi-P2SH gets a lot of the benefits of MAST, in terms of efficiency. > > Luke > > P.S. Did the BIP editor assign these numbers? If not, best to keep them > numberless until assigned, to avoid confusion when people Google the real > BIP > 44 and 45... > Not yet, but that is just my personal repo. I did email gmaxwell, but he said that they can't be assigned until some discussion has happened. I take your point that the name appears in the link though, so could cause issues with searching. > > ------------------------------------------------------------------------------ > Start Your Social Network Today - Download eXo Platform > Build your Enterprise Intranet with eXo Platform Software > Java Based Open Source Intranet - Social, Extensible, Cloud Ready > Get Started Now And Turn Your Intranet Into A Collaboration Platform > http://p.sf.net/sfu/ExoPlatform > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > [-- Attachment #2: Type: text/html, Size: 3983 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Bitcoin-development] BIP - Selector Script 2014-04-25 20:48 ` Tier Nolan @ 2014-04-26 17:00 ` Mark Friedenbach 0 siblings, 0 replies; 9+ messages in thread From: Mark Friedenbach @ 2014-04-26 17:00 UTC (permalink / raw) To: bitcoin-development I think you're misunderstanding the point. The way you get IsStandard changed is that you make an application-oriented BIP detailing the use of some new standard transaction type (say, generalized hash-locked transactions for atomic swaps). We then discuss that proposal for its technical merits and reach consensus about the best way to do, for example, cross-chain atomic swaps. It is then implemented. So please, focus on some BIP(s) detailing applications of hash-locked transactions, and we will engage more constructively -- I promise that I will as cross-chain atomic swaps scratch my itch as well. On 04/25/2014 01:48 PM, Tier Nolan wrote: > On Fri, Apr 25, 2014 at 9:26 PM, Luke-Jr <luke@dashjr.org > <mailto:luke@dashjr.org>> wrote: > > They define standard for interoperability between > software. So, if you want nodes to relay these transactions, you need to > convince them, not merely write a BIP for the transaction format. > > > I agree with you in theory, each miner could decide their inclusion > rules for themselves. > > In practice, if the reference client is updated, then most miners will > accept those transactions. In addition, it would eventually propagate > to alt-coins (or at least the supported ones). > > I could simply submit the changes as a pull request for the reference > client, but I was hoping that by doing it this way, it would increase > the odds of it being accepted. > > > Defining a BIP for cross-chain trading would be one way to do that. > > > I don't think it quite requires the same coordination in the short > term. I could write up the sequence as an info BIP. > > The malleability "issue" has been known for years. > I wouldn't expect any special effort made to fix it... > > > It is possible to tweak the protocol so that it still works. However, > it means that 3rd parties are required (that could go in the BIP too). > > > There is some ongoing discussion of a softfork to basically redo the > Script > language entirely, but it will take quite a bit of time and > development before > we'll see it in the wild. > > > Implementing multi-P2SH gets a lot of the benefits of MAST, in terms of > efficiency. > > > > Luke > > P.S. Did the BIP editor assign these numbers? If not, best to keep them > numberless until assigned, to avoid confusion when people Google the > real BIP > 44 and 45... > > > Not yet, but that is just my personal repo. I did email gmaxwell, but > he said that they can't be assigned until some discussion has happened. > > I take your point that the name appears in the link though, so could > cause issues with searching. > > > ------------------------------------------------------------------------------ > Start Your Social Network Today - Download eXo Platform > Build your Enterprise Intranet with eXo Platform Software > Java Based Open Source Intranet - Social, Extensible, Cloud Ready > Get Started Now And Turn Your Intranet Into A Collaboration Platform > http://p.sf.net/sfu/ExoPlatform > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > <mailto:Bitcoin-development@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > > > > ------------------------------------------------------------------------------ > Start Your Social Network Today - Download eXo Platform > Build your Enterprise Intranet with eXo Platform Software > Java Based Open Source Intranet - Social, Extensible, Cloud Ready > Get Started Now And Turn Your Intranet Into A Collaboration Platform > http://p.sf.net/sfu/ExoPlatform > > > > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > ^ 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