* [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets @ 2015-04-08 7:05 Kefkius 2015-04-08 7:46 ` William Swanson 0 siblings, 1 reply; 10+ messages in thread From: Kefkius @ 2015-04-08 7:05 UTC (permalink / raw) To: bitcoin-development I have a potential BIP, "Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets." I'm requesting discussion on it, and possibly assignment of a BIP number. It's located in this github gist: https://gist.github.com/Kefkius/1aa02945e532f8739023 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets 2015-04-08 7:05 [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets Kefkius @ 2015-04-08 7:46 ` William Swanson 2015-04-08 16:28 ` 木ノ下じょな 0 siblings, 1 reply; 10+ messages in thread From: William Swanson @ 2015-04-08 7:46 UTC (permalink / raw) To: Kefkius; +Cc: Bitcoin Dev It's not really clear why this is better than BIP 44 as it already stands. You have the same fields, but they are just in a different order. Couldn't you just use the existing BIP 44 hierarchy, but add the convention that "wallet/account N" is the same wallet in each supported currency? For example, if I have a wallet called "business expenses", which happens to be wallet m / 44' / 0' / 5', for Bitcoin, then the same wallet would be m / 44' / 3' / 5' for Dogecoin, and m / 44' / 2' / 5' for Litecoin. I am trying to think of examples where your proposal is better than BIP 44, but I can't think of any. Even backup recovery works fine. I assume that your idea is to continue iterating over the different wallet indices as long as you are finding funds in *any* currency. Well, you can still do that with BIP 44. The fields are in a different order, but that doesn't affect the algorithm in any way. Maybe you have some deeper insight I'm not seeing, but if so, you need to clearly explain that in your motivation section. The current explanation, "This limits the possible implementations of multi-currency, multisignature wallets," is pretty vauge. Also, there is nothing in this spec that addresses the multisignature use-case. The BIP 45 spec does a lot of extra work to make multisignature work smoothly. I'm not trying to criticize your proposal. I'm just trying to understand what it's trying to accomplish. -William Swanson On Wed, Apr 8, 2015 at 12:05 AM, Kefkius <kefkius@maza.club> wrote: > I have a potential BIP, "Multi-Currency Hierarchy For Use In > Multisignature Deterministic Wallets." I'm requesting discussion on it, > and possibly assignment of a BIP number. > > It's located in this github gist: > https://gist.github.com/Kefkius/1aa02945e532f8739023 > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets 2015-04-08 7:46 ` William Swanson @ 2015-04-08 16:28 ` 木ノ下じょな 2015-04-08 16:41 ` William Swanson 0 siblings, 1 reply; 10+ messages in thread From: 木ノ下じょな @ 2015-04-08 16:28 UTC (permalink / raw) To: William Swanson; +Cc: Bitcoin Dev [-- Attachment #1: Type: text/plain, Size: 5948 bytes --] William, I believe the reasoning for this is stated in the Coin Type section. "Public derivation is used so that cosigners need only know one of each other's public keys, rather than needing to distribute public keys for each coin." BIP44 has a coin level, but it's a private derived level, so cosigners would not be able to generate multiple crypto currencies of each others' without giving each other n xpubs where n is the number of currencies shared. This new proposal basically sticks coin type on the public derivation side of things so that I could generate litecoin or darkcoin multisigs without your permission... Kefkius, This BIP seems like a good fit for multi-currency wallets based on multisig. So kudos for putting it in writing. However, I don't know if this is really a BIP thing. It's not improving Bitcoin (Bitcoin Improvement Proposal... remember?), in fact, by definition it is improving altcoin usability. For that reason alone I will say I disagree for a BIP for this. - Jona 2015-04-08 16:46 GMT+09:00 William Swanson <swansontec@gmail.com>: > > It's not really clear why this is better than BIP 44 as it already > stands. You have the same fields, but they are just in a different > order. Couldn't you just use the existing BIP 44 hierarchy, but add > the convention that "wallet/account N" is the same wallet in each > supported currency? > > For example, if I have a wallet called "business expenses", which > happens to be wallet m / 44' / 0' / 5', for Bitcoin, then the same > wallet would be m / 44' / 3' / 5' for Dogecoin, and m / 44' / 2' / 5' > for Litecoin. > > I am trying to think of examples where your proposal is better than > BIP 44, but I can't think of any. Even backup recovery works fine. I > assume that your idea is to continue iterating over the different > wallet indices as long as you are finding funds in *any* currency. > Well, you can still do that with BIP 44. The fields are in a different > order, but that doesn't affect the algorithm in any way. > > Maybe you have some deeper insight I'm not seeing, but if so, you need > to clearly explain that in your motivation section. The current > explanation, "This limits the possible implementations of > multi-currency, multisignature wallets," is pretty vauge. Also, there > is nothing in this spec that addresses the multisignature use-case. > The BIP 45 spec does a lot of extra work to make multisignature work > smoothly. > > I'm not trying to criticize your proposal. I'm just trying to > understand what it's trying to accomplish. > > -William Swanson > > > On Wed, Apr 8, 2015 at 12:05 AM, Kefkius <kefkius@maza.club> wrote: > > I have a potential BIP, "Multi-Currency Hierarchy For Use In > > Multisignature Deterministic Wallets." I'm requesting discussion on it, > > and possibly assignment of a BIP number. > > > > It's located in this github gist: > > https://gist.github.com/Kefkius/1aa02945e532f8739023 > > > > ------------------------------------------------------------------------------ > > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > > Develop your own process in accordance with the BPMN 2 standard > > Learn Process modeling best practices with Bonita BPM through live exercises > > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > > _______________________________________________ > > Bitcoin-development mailing list > > Bitcoin-development@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development -- -----BEGIN PGP PUBLIC KEY BLOCK----- Comment: http://openpgpjs.org xsBNBFTmJ8oBB/9rd+7XLxZG/x/KnhkVK2WBG8ySx91fs+qQfHIK1JrakSV3 x6x0cK3XLClASLLDomm7Od3Q/fMFzdwCEqj6z60T8wgKxsjWYSGL3mq8ucdv iBjC3wGauk5dQKtT7tkCFyQQbX/uMsBM4ccGBICoDmIJlwJIj7fAZVqGxGOM bO1RhYb4dbQA2qxYP7wSsHJ6/ZNAXyEphOj6blUzdqO0exAbCOZWWF+E/1SC EuKO4RmL7Imdep7uc2Qze1UpJCZx7ASHl2IZ4UD0G3Qr3pI6/jvNlaqCTa3U 3/YeJwEubFsd0AVy0zs809RcKKgX3W1q+hVDTeWinem9RiOG/vT+Eec/ABEB AAHNI2tpbm9zaGl0YSA8a2lub3NoaXRham9uYUBnbWFpbC5jb20+wsByBBAB CAAmBQJU5ifRBgsJCAcDAgkQRB9iZ30dlisEFQgCCgMWAgECGwMCHgEAAC6Z B/9otobf0ASHYdlUBeIPXdDopyjQhR2RiZGYaS0VZ5zzHYLDDMW6ZIYm5CjO Fc09ETLGKFxH2RcCOK2dzwz+KRU4xqOrt/l5gyd50cFE1nOhUN9+/XaPgrou WhyT9xLeGit7Xqhht93z2+VanTtJAG6lWbAZLIZAMGMuLX6sJDCO0GiO5zxa 02Q2D3kh5GL57A5+oVOna12JBRaIA5eBGKVCp3KToT/z48pxBe3WAmLo0zXr hEgTSzssfb2zTwtB3Ogoedj+cU2bHJvJ8upS/jMr3TcdguySmxJlGpocVC/e qxq12Njv+LiETOrD8atGmXCnA+nFNljBkz+l6ADl93jHzsBNBFTmJ9EBCACu Qq9ZnP+aLU/Rt6clAfiHfTFBsJvLKsdIKeE6qHzsU1E7A7bGQKTtLEnhCCQE W+OQP+sgbOWowIdH9PpwLJ3Op+NhvLlMxRvbT36LwCmBL0yD7bMqxxmmVj8n vlMMRSe4wDSIG19Oy7701imnHZPm/pnPlneg/Meu/UffpcDWYBbAFX8nrXPY vkVULcI/qTcCxW/+S9fwoXjQhWHaiJJ6y3cYOSitN31W9zgcMvLwLX3JgDxE flkwq/M+ZkfCYnS3GAPEt8GkVKy2eHtCJuNkGFlCAmKMX0yWzHRAkqOMN5KP LFbkKY2GQl13ztWp82QYJZpj5af6dmyUosurn6AZABEBAAHCwF8EGAEIABMF AlTmJ9QJEEQfYmd9HZYrAhsMAABKbgf/Ulu5JAk4fXgH0DtkMmdkFiKEFdkW 0Wkw7Vhd5eZ4NzeP9kOkD01OGweT9hqzwhfT2CNXCGxh4UnvEM1ZMFypIKdq 0XpLLJMrDOQO021UjAa56vHZPAVmAM01z5VzHJ7ekjgwrgMLmVkm0jWKEKaO n/MW7CyphG7QcZ6cJX2f6uJcekBlZRw9TNYRnojMjkutlOVhYJ3J78nc/k0p kcgV63GB6D7wHRF4TVe4xIBqKpbBhhN+ISwFN1z+gx3lfyRMSmiTSrGdKEQe XSIQKG8XZQZUDhLNkqPS+7EMV1g7+lOfT4GhLL68dUXDa1e9YxGH6zkpVECw Spe3vsHZr6CqFg== =/vUJ -----END PGP PUBLIC KEY BLOCK----- [-- Attachment #2: Type: text/html, Size: 7362 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets 2015-04-08 16:28 ` 木ノ下じょな @ 2015-04-08 16:41 ` William Swanson 2015-04-09 20:16 ` Kefkius 0 siblings, 1 reply; 10+ messages in thread From: William Swanson @ 2015-04-08 16:41 UTC (permalink / raw) To: Bitcoin Dev Oops, sorry I missed that. Since that's the reason this proposal exists, I would consider putting it right up top where people can see it. Also, since this proposal is specifically designed for multi-sig, I would look at what BIP45 is doing and maybe incorporate a "cosigner_index" branch. Otherwise, this idea seems like a reasonable way to organize a wallet. -William On Wed, Apr 8, 2015 at 9:28 AM, 木ノ下じょな <kinoshitajona@gmail.com> wrote: > William, > > I believe the reasoning for this is stated in the Coin Type section. > > "Public derivation is used so that cosigners need only know one of each > other's public keys, rather than needing to distribute public keys for each > coin." > > BIP44 has a coin level, but it's a private derived level, so cosigners would > not be able to generate multiple crypto currencies of each others' without > giving each other n xpubs where n is the number of currencies shared. This > new proposal basically sticks coin type on the public derivation side of > things so that I could generate litecoin or darkcoin multisigs without your > permission... > > Kefkius, > > This BIP seems like a good fit for multi-currency wallets based on multisig. > So kudos for putting it in writing. > > However, I don't know if this is really a BIP thing. It's not improving > Bitcoin (Bitcoin Improvement Proposal... remember?), in fact, by definition > it is improving altcoin usability. > > For that reason alone I will say I disagree for a BIP for this. > - Jona > > > 2015-04-08 16:46 GMT+09:00 William Swanson <swansontec@gmail.com>: >> >> It's not really clear why this is better than BIP 44 as it already >> stands. You have the same fields, but they are just in a different >> order. Couldn't you just use the existing BIP 44 hierarchy, but add >> the convention that "wallet/account N" is the same wallet in each >> supported currency? >> >> For example, if I have a wallet called "business expenses", which >> happens to be wallet m / 44' / 0' / 5', for Bitcoin, then the same >> wallet would be m / 44' / 3' / 5' for Dogecoin, and m / 44' / 2' / 5' >> for Litecoin. >> >> I am trying to think of examples where your proposal is better than >> BIP 44, but I can't think of any. Even backup recovery works fine. I >> assume that your idea is to continue iterating over the different >> wallet indices as long as you are finding funds in *any* currency. >> Well, you can still do that with BIP 44. The fields are in a different >> order, but that doesn't affect the algorithm in any way. >> >> Maybe you have some deeper insight I'm not seeing, but if so, you need >> to clearly explain that in your motivation section. The current >> explanation, "This limits the possible implementations of >> multi-currency, multisignature wallets," is pretty vauge. Also, there >> is nothing in this spec that addresses the multisignature use-case. >> The BIP 45 spec does a lot of extra work to make multisignature work >> smoothly. >> >> I'm not trying to criticize your proposal. I'm just trying to >> understand what it's trying to accomplish. >> >> -William Swanson >> >> >> On Wed, Apr 8, 2015 at 12:05 AM, Kefkius <kefkius@maza.club> wrote: >> > I have a potential BIP, "Multi-Currency Hierarchy For Use In >> > Multisignature Deterministic Wallets." I'm requesting discussion on it, >> > and possibly assignment of a BIP number. >> > >> > It's located in this github gist: >> > https://gist.github.com/Kefkius/1aa02945e532f8739023 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets 2015-04-08 16:41 ` William Swanson @ 2015-04-09 20:16 ` Kefkius 2015-04-09 22:24 ` William Swanson 2015-04-16 13:11 ` Vertoe Qhor 0 siblings, 2 replies; 10+ messages in thread From: Kefkius @ 2015-04-09 20:16 UTC (permalink / raw) To: bitcoin-development William, I've amended the proposal's "Motivation" section slightly for clarification. I'm not sure how a "cosigner_index" branch would benefit this proposal. Granted, I don't fully understand the benefits of the "cosigner_index" branch in BIP-0045. From what I understand, the "wallet" branch of my proposal seems to accomplish a similar goal. Jona, Your explanation is correct. As for this being appropriate as a BIP, I agree that it's an arguable point to say it improves Bitcoin. However, this proposal exists because of BIP-0044, which also describes a multi-currency hierarchy. For that reason, I think this is an appropriate proposal. Thank you both for your feedback. On 04/08/2015 12:41 PM, William Swanson wrote: > Oops, sorry I missed that. > > Since that's the reason this proposal exists, I would consider putting > it right up top where people can see it. Also, since this proposal is > specifically designed for multi-sig, I would look at what BIP45 is > doing and maybe incorporate a "cosigner_index" branch. Otherwise, this > idea seems like a reasonable way to organize a wallet. > > -William > > On Wed, Apr 8, 2015 at 9:28 AM, 木ノ下じょな <kinoshitajona@gmail.com> wrote: >> William, >> >> I believe the reasoning for this is stated in the Coin Type section. >> >> "Public derivation is used so that cosigners need only know one of each >> other's public keys, rather than needing to distribute public keys for each >> coin." >> >> BIP44 has a coin level, but it's a private derived level, so cosigners would >> not be able to generate multiple crypto currencies of each others' without >> giving each other n xpubs where n is the number of currencies shared. This >> new proposal basically sticks coin type on the public derivation side of >> things so that I could generate litecoin or darkcoin multisigs without your >> permission... >> >> Kefkius, >> >> This BIP seems like a good fit for multi-currency wallets based on multisig. >> So kudos for putting it in writing. >> >> However, I don't know if this is really a BIP thing. It's not improving >> Bitcoin (Bitcoin Improvement Proposal... remember?), in fact, by definition >> it is improving altcoin usability. >> >> For that reason alone I will say I disagree for a BIP for this. >> - Jona >> >> >> 2015-04-08 16:46 GMT+09:00 William Swanson <swansontec@gmail.com>: >>> It's not really clear why this is better than BIP 44 as it already >>> stands. You have the same fields, but they are just in a different >>> order. Couldn't you just use the existing BIP 44 hierarchy, but add >>> the convention that "wallet/account N" is the same wallet in each >>> supported currency? >>> >>> For example, if I have a wallet called "business expenses", which >>> happens to be wallet m / 44' / 0' / 5', for Bitcoin, then the same >>> wallet would be m / 44' / 3' / 5' for Dogecoin, and m / 44' / 2' / 5' >>> for Litecoin. >>> >>> I am trying to think of examples where your proposal is better than >>> BIP 44, but I can't think of any. Even backup recovery works fine. I >>> assume that your idea is to continue iterating over the different >>> wallet indices as long as you are finding funds in *any* currency. >>> Well, you can still do that with BIP 44. The fields are in a different >>> order, but that doesn't affect the algorithm in any way. >>> >>> Maybe you have some deeper insight I'm not seeing, but if so, you need >>> to clearly explain that in your motivation section. The current >>> explanation, "This limits the possible implementations of >>> multi-currency, multisignature wallets," is pretty vauge. Also, there >>> is nothing in this spec that addresses the multisignature use-case. >>> The BIP 45 spec does a lot of extra work to make multisignature work >>> smoothly. >>> >>> I'm not trying to criticize your proposal. I'm just trying to >>> understand what it's trying to accomplish. >>> >>> -William Swanson >>> >>> >>> On Wed, Apr 8, 2015 at 12:05 AM, Kefkius <kefkius@maza.club> wrote: >>>> I have a potential BIP, "Multi-Currency Hierarchy For Use In >>>> Multisignature Deterministic Wallets." I'm requesting discussion on it, >>>> and possibly assignment of a BIP number. >>>> >>>> It's located in this github gist: >>>> https://gist.github.com/Kefkius/1aa02945e532f8739023 > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets 2015-04-09 20:16 ` Kefkius @ 2015-04-09 22:24 ` William Swanson 2015-04-09 22:37 ` Alan Reiner 2015-04-16 13:11 ` Vertoe Qhor 1 sibling, 1 reply; 10+ messages in thread From: William Swanson @ 2015-04-09 22:24 UTC (permalink / raw) To: Kefkius; +Cc: Bitcoin Dev On Thu, Apr 9, 2015 at 1:16 PM, Kefkius <kefkius@maza.club> wrote: > I've amended the proposal's "Motivation" section slightly for > clarification. I'm not sure how a "cosigner_index" branch would benefit > this proposal. Granted, I don't fully understand the benefits of the > "cosigner_index" branch in BIP-0045. From what I understand, the > "wallet" branch of my proposal seems to accomplish a similar goal. Suppose Alice and Bob share a multi-sig wallet. Alice would like to accept payment from Mallory, and Bob would like to accept payment from Maude. So, they would each like to create a separate payment address. If Alice and Bob both generate the same address, the incoming funds would be mixed together (bad), and Mallory and Maude might learn about the relationship between Alice and Bob (also bad). Unfortunately, Alice and Bob are in a place where they can't communicate (maybe Bob has no cell service). There is no way for Bob to send a message like "I'm making a request on address_index N, Alice, please use a different index for your request." The cosigner_index solves this. When they set up the wallet, Alice and Bob agree to always use a different value for the cosigner_index. That way, addresses from Alice will never overlap with addresses from Bob, since they are on different branches. Doing it this way adds privacy and doesn't cost anything. With this added in, your path would be: m / purpose' / wallet' / coin_type / cosigner_index / change / address_index XPUB's generated from your wallet would then be compatible with XPUB's generated by other multi-sig wallets like CoPay, since the (cosigner_index / change / address_index) structure stays the same. -William Swanson ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets 2015-04-09 22:24 ` William Swanson @ 2015-04-09 22:37 ` Alan Reiner 2015-04-10 2:02 ` William Swanson 0 siblings, 1 reply; 10+ messages in thread From: Alan Reiner @ 2015-04-09 22:37 UTC (permalink / raw) To: bitcoin-development BTW, I had originally proposed a "no-collision" scheme for multi-signature wallets, which doesn't require modifying the key tree structure at all, except for adding new internal and external chains (2*N chains). All siblings watch all chains, but only generate receiving and change addresses on their two chains. The original document is here, which might be educational for the purposes of understand precisely the problem that needs a solution (and mine is a different solution than BIP45). https://www.dropbox.com/s/58poxi60d8nfj5w/MultisigWalletNoCollide.pdf I prefer not adding even more levels to the key tree, and (IMO) it makes more sense to add more chains to the wallet instead of adding a new tree level (as it allows for a simpler tree in the event that you don't need separate cosigners). But I suspect that there's a certain momentum behind the cosigner-index method already in BIP45? Just throwing it out there. -Alan On 04/09/2015 06:24 PM, William Swanson wrote: > On Thu, Apr 9, 2015 at 1:16 PM, Kefkius <kefkius@maza.club> wrote: >> I've amended the proposal's "Motivation" section slightly for >> clarification. I'm not sure how a "cosigner_index" branch would benefit >> this proposal. Granted, I don't fully understand the benefits of the >> "cosigner_index" branch in BIP-0045. From what I understand, the >> "wallet" branch of my proposal seems to accomplish a similar goal. > Suppose Alice and Bob share a multi-sig wallet. Alice would like to > accept payment from Mallory, and Bob would like to accept payment from > Maude. So, they would each like to create a separate payment address. > If Alice and Bob both generate the same address, the incoming funds > would be mixed together (bad), and Mallory and Maude might learn about > the relationship between Alice and Bob (also bad). > > Unfortunately, Alice and Bob are in a place where they can't > communicate (maybe Bob has no cell service). There is no way for Bob > to send a message like "I'm making a request on address_index N, > Alice, please use a different index for your request." > > The cosigner_index solves this. When they set up the wallet, Alice and > Bob agree to always use a different value for the cosigner_index. That > way, addresses from Alice will never overlap with addresses from Bob, > since they are on different branches. Doing it this way adds privacy > and doesn't cost anything. > > With this added in, your path would be: > > m / purpose' / wallet' / coin_type / cosigner_index / change / address_index > > XPUB's generated from your wallet would then be compatible with XPUB's > generated by other multi-sig wallets like CoPay, since the > (cosigner_index / change / address_index) structure stays the same. > > -William Swanson > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets 2015-04-09 22:37 ` Alan Reiner @ 2015-04-10 2:02 ` William Swanson 2015-04-10 2:26 ` Alan Reiner 0 siblings, 1 reply; 10+ messages in thread From: William Swanson @ 2015-04-10 2:02 UTC (permalink / raw) To: Alan Reiner; +Cc: Bitcoin Dev Hello Alan, Your scheme is basically the same as the BIP45 scheme, except that you have collapsed the "cosigner_index" and "change" fields into a single field with the formula: combined = 2*cosigner_index + change This removes one level from the hierarchy, but ultimately produces the same number and type of chains as BIP45 (just addressed differently). I kinda like the BIP45's approach of giving each field has its own dedicated purpose. What is the motivation behind flattening the hierarchy? I ask because the wallet I work on, Airbitz, will be adding multi-sig at some point in the future, and we need to figure out what kind of HD tree structure we will be using. Our ideal structure would basically be BIP 44 plus some "no-collision" logic: m / purpose' / coin_type' / wallet' / cosigner_index / change / address_index I feel like interoperability with Copay would be worth the extra HD branch. Assuming Kefkius adds similar no-collision logic, his proposal is pretty close to our ideal: m / purpose' / wallet' / coin_type / cosigner_index / change / address_index Of course, I am open to hearing your thoughts on this as well. -William On Thu, Apr 9, 2015 at 3:37 PM, Alan Reiner <etotheipi@gmail.com> wrote: > BTW, I had originally proposed a "no-collision" scheme for > multi-signature wallets, which doesn't require modifying the key tree > structure at all, except for adding new internal and external chains > (2*N chains). All siblings watch all chains, but only generate > receiving and change addresses on their two chains. > > The original document is here, which might be educational for the > purposes of understand precisely the problem that needs a solution (and > mine is a different solution than BIP45). > > https://www.dropbox.com/s/58poxi60d8nfj5w/MultisigWalletNoCollide.pdf > > I prefer not adding even more levels to the key tree, and (IMO) it makes > more sense to add more chains to the wallet instead of adding a new tree > level (as it allows for a simpler tree in the event that you don't need > separate cosigners). But I suspect that there's a certain momentum > behind the cosigner-index method already in BIP45? Just throwing it out > there. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets 2015-04-10 2:02 ` William Swanson @ 2015-04-10 2:26 ` Alan Reiner 0 siblings, 0 replies; 10+ messages in thread From: Alan Reiner @ 2015-04-10 2:26 UTC (permalink / raw) To: William Swanson; +Cc: Bitcoin Dev [-- Attachment #1: Type: text/plain, Size: 3619 bytes --] The motivation was that I came up with it before BIP 45 existed, but wasn't vocal enough about it because Armory didn't have BIP32 Multisig trees implemented yet, so I didn't have a strong mental focus or determination around it. If there's momentum behind BIP45, we should use it. I wanted to share the document because it was also created to be educational on the topic of "multisig address generation collisions" as being disucussed in this thread. Though we just put in BIP44 with my modification into our new wallet format (in the works), and if I was to adopt this I'd like to simply merge the two. M / purpose' / coin' / account' / *cosigner* / change*0or1* / address For reference my proposal (and the way I implemented it before BIP45 existed) is just BIP44 but with 2*N change branches instead of 2: M / purpose' / coin' / account' / change*2N* / address Our new code has the goal of being able to easily reconfigure your BIP32 tree for your specific application. But for the default free-public-download software, it would be nice to have a standard everyone agrees to. BIP44 vs original-BIP32 doesn't really matter since you only transfer the account branches, but this particular decision with how the consigners avoid "collisions" does affect it. -Alan On 04/09/2015 10:02 PM, William Swanson wrote: > Hello Alan, > Your scheme is basically the same as the BIP45 scheme, except that you > have collapsed the "cosigner_index" and "change" fields into a single > field with the formula: > > combined = 2*cosigner_index + change > > This removes one level from the hierarchy, but ultimately produces the > same number and type of chains as BIP45 (just addressed differently). > > I kinda like the BIP45's approach of giving each field has its own > dedicated purpose. What is the motivation behind flattening the > hierarchy? > > I ask because the wallet I work on, Airbitz, will be adding multi-sig > at some point in the future, and we need to figure out what kind of HD > tree structure we will be using. Our ideal structure would basically > be BIP 44 plus some "no-collision" logic: > > m / purpose' / coin_type' / wallet' / cosigner_index / change / > address_index > > I feel like interoperability with Copay would be worth the extra HD > branch. Assuming Kefkius adds similar no-collision logic, his proposal > is pretty close to our ideal: > > m / purpose' / wallet' / coin_type / cosigner_index / change / address_index > > Of course, I am open to hearing your thoughts on this as well. > > -William > > On Thu, Apr 9, 2015 at 3:37 PM, Alan Reiner <etotheipi@gmail.com> wrote: >> BTW, I had originally proposed a "no-collision" scheme for >> multi-signature wallets, which doesn't require modifying the key tree >> structure at all, except for adding new internal and external chains >> (2*N chains). All siblings watch all chains, but only generate >> receiving and change addresses on their two chains. >> >> The original document is here, which might be educational for the >> purposes of understand precisely the problem that needs a solution (and >> mine is a different solution than BIP45). >> >> https://www.dropbox.com/s/58poxi60d8nfj5w/MultisigWalletNoCollide.pdf >> >> I prefer not adding even more levels to the key tree, and (IMO) it makes >> more sense to add more chains to the wallet instead of adding a new tree >> level (as it allows for a simpler tree in the event that you don't need >> separate cosigners). But I suspect that there's a certain momentum >> behind the cosigner-index method already in BIP45? Just throwing it out >> there. [-- Attachment #2: Type: text/html, Size: 4375 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets 2015-04-09 20:16 ` Kefkius 2015-04-09 22:24 ` William Swanson @ 2015-04-16 13:11 ` Vertoe Qhor 1 sibling, 0 replies; 10+ messages in thread From: Vertoe Qhor @ 2015-04-16 13:11 UTC (permalink / raw) To: bitcoin-development I'm supporting this proposal and since I'm already using the Encompass wallet software I would like to highlight that this use case is not only practical but has already a working reference implementation. The only donwside I see is that it means we get yet another HD wallet definition. Is there anything else what would speak against assigning a BIP number to this proposal? This would allow kefkius and his team to use the standard in Encompass and share it with other software packages which might be interested in using deterministic cross-currency wallets. On 04/09/2015 10:16 PM, Kefkius wrote: > William, > > I've amended the proposal's "Motivation" section slightly for > clarification. I'm not sure how a "cosigner_index" branch would benefit > this proposal. Granted, I don't fully understand the benefits of the > "cosigner_index" branch in BIP-0045. From what I understand, the > "wallet" branch of my proposal seems to accomplish a similar goal. > > Jona, > > Your explanation is correct. As for this being appropriate as a BIP, I > agree that it's an arguable point to say it improves Bitcoin. However, > this proposal exists because of BIP-0044, which also describes a > multi-currency hierarchy. For that reason, I think this is an > appropriate proposal. > > Thank you both for your feedback. > > On 04/08/2015 12:41 PM, William Swanson wrote: >> Oops, sorry I missed that. >> >> Since that's the reason this proposal exists, I would consider putting >> it right up top where people can see it. Also, since this proposal is >> specifically designed for multi-sig, I would look at what BIP45 is >> doing and maybe incorporate a "cosigner_index" branch. Otherwise, this >> idea seems like a reasonable way to organize a wallet. >> >> -William >> >> On Wed, Apr 8, 2015 at 9:28 AM, 木ノ下じょな <kinoshitajona@gmail.com> wrote: >>> William, >>> >>> I believe the reasoning for this is stated in the Coin Type section. >>> >>> "Public derivation is used so that cosigners need only know one of each >>> other's public keys, rather than needing to distribute public keys for each >>> coin." >>> >>> BIP44 has a coin level, but it's a private derived level, so cosigners would >>> not be able to generate multiple crypto currencies of each others' without >>> giving each other n xpubs where n is the number of currencies shared. This >>> new proposal basically sticks coin type on the public derivation side of >>> things so that I could generate litecoin or darkcoin multisigs without your >>> permission... >>> >>> Kefkius, >>> >>> This BIP seems like a good fit for multi-currency wallets based on multisig. >>> So kudos for putting it in writing. >>> >>> However, I don't know if this is really a BIP thing. It's not improving >>> Bitcoin (Bitcoin Improvement Proposal... remember?), in fact, by definition >>> it is improving altcoin usability. >>> >>> For that reason alone I will say I disagree for a BIP for this. >>> - Jona >>> >>> >>> 2015-04-08 16:46 GMT+09:00 William Swanson <swansontec@gmail.com>: >>>> It's not really clear why this is better than BIP 44 as it already >>>> stands. You have the same fields, but they are just in a different >>>> order. Couldn't you just use the existing BIP 44 hierarchy, but add >>>> the convention that "wallet/account N" is the same wallet in each >>>> supported currency? >>>> >>>> For example, if I have a wallet called "business expenses", which >>>> happens to be wallet m / 44' / 0' / 5', for Bitcoin, then the same >>>> wallet would be m / 44' / 3' / 5' for Dogecoin, and m / 44' / 2' / 5' >>>> for Litecoin. >>>> >>>> I am trying to think of examples where your proposal is better than >>>> BIP 44, but I can't think of any. Even backup recovery works fine. I >>>> assume that your idea is to continue iterating over the different >>>> wallet indices as long as you are finding funds in *any* currency. >>>> Well, you can still do that with BIP 44. The fields are in a different >>>> order, but that doesn't affect the algorithm in any way. >>>> >>>> Maybe you have some deeper insight I'm not seeing, but if so, you need >>>> to clearly explain that in your motivation section. The current >>>> explanation, "This limits the possible implementations of >>>> multi-currency, multisignature wallets," is pretty vauge. Also, there >>>> is nothing in this spec that addresses the multisignature use-case. >>>> The BIP 45 spec does a lot of extra work to make multisignature work >>>> smoothly. >>>> >>>> I'm not trying to criticize your proposal. I'm just trying to >>>> understand what it's trying to accomplish. >>>> >>>> -William Swanson >>>> >>>> >>>> On Wed, Apr 8, 2015 at 12:05 AM, Kefkius <kefkius@maza.club> wrote: >>>>> I have a potential BIP, "Multi-Currency Hierarchy For Use In >>>>> Multisignature Deterministic Wallets." I'm requesting discussion on it, >>>>> and possibly assignment of a BIP number. >>>>> >>>>> It's located in this github gist: >>>>> https://gist.github.com/Kefkius/1aa02945e532f8739023 >> ------------------------------------------------------------------------------ >> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >> Develop your own process in accordance with the BPMN 2 standard >> Learn Process modeling best practices with Bonita BPM through live exercises >> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ >> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF >> _______________________________________________ >> Bitcoin-development mailing list >> Bitcoin-development@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-04-16 13:30 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-04-08 7:05 [Bitcoin-development] Request For Discussion / BIP number - Multi-Currency Hierarchy For Use In Multisignature Deterministic Wallets Kefkius 2015-04-08 7:46 ` William Swanson 2015-04-08 16:28 ` 木ノ下じょな 2015-04-08 16:41 ` William Swanson 2015-04-09 20:16 ` Kefkius 2015-04-09 22:24 ` William Swanson 2015-04-09 22:37 ` Alan Reiner 2015-04-10 2:02 ` William Swanson 2015-04-10 2:26 ` Alan Reiner 2015-04-16 13:11 ` Vertoe Qhor
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox