maaku
Legendary
Offline
Activity: 905
Merit: 1012
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 04, 2014, 05:45:30 AM |
|
Have any Bitcoin core developers said anything about adding CoinJoin into the protocol?
Bump for this thread because it is important for Bitcoin
You don't need to add it to the protocol, CoinJoin operates just fine at a strictly higher level. But I suppose you mean adding support to the reference wallet for CoinJoin transactions? I would not be surprised to see that happen, but someone needs to write the code first.
|
I'm an independent developer working on bitcoin-core, making my living off community donations. If you like my work, please consider donating yourself: 13snZ4ZyCzaL7358SmgvHGC9AxskqumNxP
|
|
|
gmaxwell (OP)
Moderator
Legendary
Offline
Activity: 4228
Merit: 8619
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 04, 2014, 05:50:37 AM |
|
Have any Bitcoin core developers said anything about adding CoinJoin into the protocol? Bump for this thread because it is important for Bitcoin
It doesn't need to be added to the protocol, thats part of the point. If instead you mean the integrated Bitcoin-qt wallet, Wumpus and I have both commented that we'd like to see it there. I'd like to see more external implementation done first. Inside the wallet is good for getting users, but it's not good for protocol R&D.
|
|
|
|
BurtW
Legendary
Offline
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 04, 2014, 08:33:59 AM |
|
Bitcoin has been very good to me over these last few years. I would hate to see it killed by these various validation proposals. As of this posting the bounty pool at: https://blockchain.info/address/3M8XGFBKwkf7miBzpkU3x2DoWwAVrD1mhk contains a bit over 31 BTC. In order to stand behind my signature below and support this effort I offer the following matching donation (inspired by Theymos): I will donate 5 BTC as soon as the total in the fund goes over 36 BTC. Done.
|
Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
|
|
|
solex
Legendary
Offline
Activity: 1078
Merit: 1004
100 satoshis -> ISO code
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 04, 2014, 07:42:57 PM |
|
Fantastic BurtW!
|
|
|
|
BurtW
Legendary
Offline
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 04, 2014, 08:16:45 PM |
|
$34K should get this done (I hope).
|
Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
|
|
|
Voodah
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 05, 2014, 12:46:28 AM |
|
Is Blockchain.info's Shared Send part of their closed source stuff?
Is it implemented along these guidelines?
|
|
|
|
ShadowOfHarbringer
Legendary
Offline
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 05, 2014, 11:07:50 AM |
|
Is Blockchain.info's Shared Send part of their closed source stuff?
Is it implemented along these guidelines?
I join the question.
|
|
|
|
BurtW
Legendary
Offline
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 05, 2014, 03:43:23 PM Last edit: January 05, 2014, 03:53:56 PM by BurtW |
|
As far as I can tell from the posts up thread the blockchain.info Shared Send system is a basic implementation of the centralized version of the proposal. You can use it without a blockchain.info wallet, and read all about it here: https://blockchain.info/wallet/send-sharedFrom the FAQ on that page: How does it work? Coins send with shared send will be matched up with another user. When a match is found your coins will be swapped breaking the transaction chain from your own wallet. Coins will be swapped with multiple users making the chain even harder to follow. I found this very interesting (also from the same FAQ): How can you guarantee that the transaction chain will be broken? There is no guess work involved, each shared transaction analyzes up to 50,000 outputs or 250 levels deep in the blockchain to ensure the coins sent to the destination address are 100% untainted with the original coins.
The source code for taint analysis calculations can be found on the Blockchain Github Project
|
Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
|
|
|
Rassah
Legendary
Offline
Activity: 1680
Merit: 1035
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 06, 2014, 12:51:46 AM |
|
As far as I can tell from the posts up thread the blockchain.info Shared Send system is a basic implementation of the centralized version of the proposal.
It's actually a plain mixing service that was implemented a long time ago, way before CoinJoin was proposed. They have a separate CoinJoin style transaction option that does use CoinJoin, but as far as I know, requires you to use a blockchain.info wallet, since CoinJoin has special nonstandard transactions. Fees are different, too, with 0.5% for Send-Shared, and a standard 0.0001BTC transaction fee for CoinJoin (with multiple mixes suggested, each one costing an extra 0.0001BTC)
|
|
|
|
BurtW
Legendary
Offline
Activity: 2646
Merit: 1137
All paid signature campaigns should be banned.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 06, 2014, 12:54:11 AM |
|
As far as I can tell from the posts up thread the blockchain.info Shared Send system is a basic implementation of the centralized version of the proposal.
It's actually a plain mixing service that was implemented a long time ago, way before CoinJoin was proposed. They have a separate CoinJoin style transaction option that does use CoinJoin, but as far as I know, requires you to use a blockchain.info wallet, since CoinJoin has special nonstandard transactions. Fees are different, too, with 0.5% for Send-Shared, and a standard 0.0001BTC transaction fee for CoinJoin (with multiple mixes suggested, each one costing an extra 0.0001BTC) Thanks for the info. I did not realize the two were different.
|
Our family was terrorized by Homeland Security. Read all about it here: http://www.jmwagner.com/ and http://www.burtw.com/ Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
|
|
|
andytoshi
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 179
Merit: 151
-
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 07, 2014, 12:33:14 AM |
|
since CoinJoin has special nonstandard transactions. Coinjoin does not need nonstandard transactions, nor should it use them -- it is NP-hard to determine whether an ordinary bitcoin transaction might be a coinjoin.
|
|
|
|
Voodah
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 07, 2014, 07:19:58 AM |
|
As far as I can tell from the posts up thread the blockchain.info Shared Send system is a basic implementation of the centralized version of the proposal.
It's actually a plain mixing service that was implemented a long time ago, way before CoinJoin was proposed. They have a separate CoinJoin style transaction option that does use CoinJoin, but as far as I know, requires you to use a blockchain.info wallet, since CoinJoin has special nonstandard transactions. Fees are different, too, with 0.5% for Send-Shared, and a standard 0.0001BTC transaction fee for CoinJoin (with multiple mixes suggested, each one costing an extra 0.0001BTC) Interesting, and yes, fees. Their Shared Coin has a per repetition fee as well.
|
|
|
|
Rassah
Legendary
Offline
Activity: 1680
Merit: 1035
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 07, 2014, 03:33:44 PM |
|
Their Shared Coin has a per repetition fee as well.
The 0.5% fee is the fee they charge for the service. The Shared Coin fee is a transaction fee that goes to the miners.
|
|
|
|
prezbo
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 18, 2014, 08:07:38 AM Last edit: January 18, 2014, 08:37:03 AM by prezbo |
|
When there are two outputs to the same address with the same value (for example, two people want to donate 1 btc each to wikileaks), what prevents the service owner from swapping one of them with their own address?
|
|
|
|
maaku
Legendary
Offline
Activity: 905
Merit: 1012
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 18, 2014, 09:31:28 AM |
|
You would never sign it.
|
I'm an independent developer working on bitcoin-core, making my living off community donations. If you like my work, please consider donating yourself: 13snZ4ZyCzaL7358SmgvHGC9AxskqumNxP
|
|
|
Qoheleth
Legendary
Offline
Activity: 960
Merit: 1028
Spurn wild goose chases. Seek that which endures.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 18, 2014, 09:44:04 AM |
|
You would never sign it.
But how would you know? If only one Wikileaks donation makes it into the final txn, wouldn't each participant just assume it was their donation? How could they tell otherwise?
|
If there is something that will make Bitcoin succeed, it is growth of utility - greater quantity and variety of goods and services offered for BTC. If there is something that will make Bitcoin fail, it is the prevalence of users convinced that BTC is a magic box that will turn them into millionaires, and of the con-artists who have followed them here to devour them.
|
|
|
Cryddit
Legendary
Offline
Activity: 924
Merit: 1130
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 18, 2014, 10:07:35 AM |
|
You would never sign it.
But how would you know? If only one Wikileaks donation makes it into the final txn, wouldn't each participant just assume it was their donation? How could they tell otherwise? It's the way the protocol works. You don't just have your balance lowed and some other balance somewhere raised; inbetween there is something called a 'transaction' specifying very specific things which must be digitally signed. If you and someone else both send money to Wikileaks, you both sign your transactions. The transactions, even for identical amounts, are not identical. For one thing they will name different unspent txouts to spend; for another they'll have different timestamps. For a third thing they will specify different addresses for "change" to come back to. All of these things will be combined in a hash function to give your transaction a transaction ID which is unique. If someone violates the protocol and sends some other guy's transaction to you to sign, your bitcoin client will look at it and say, "hey, I don't even own this particular txout that this transaction is trying to spend, and this isn't my transaction ID, and the timestamp is wrong, and the change address isn't any I've ever given out. Heck, the change address is not even one I have a key to spend. WTF?" Meanwhile, if someone tries to use a transaction that you have signed, but with a changed payee, it won't match the signature you put on it because the changed payee would make it have a different transaction ID. It would be a transaction that doesn't match its signature, and he couldn't put it on the blockchain because every other client would reject it.
|
|
|
|
themgp
Jr. Member
Offline
Activity: 56
Merit: 1
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 18, 2014, 10:09:01 AM |
|
You would never sign it.
But how would you know? If only one Wikileaks donation makes it into the final txn, wouldn't each participant just assume it was their donation? How could they tell otherwise? A possible solution: Each participant must have all the information from all participants to create the transaction for themselves (i.e. know all inputs and outputs). If both Participant A and Participant B create unique identifiers for their outputs (both for 1BTC, both to address 1HB5XMLmzFVj8ALj6mfBsbifRoD4miY36v, but each with a unique identifier, X and Y, respectively), then when the Controller C specifies the full inputs and outputs to create the Transaction, it will also need to indicate the unique output identifiers. When Participant A and Participant B create the Transaction from the information from Controller C, they will only create and sign a transaction where Controller C indicates the correct output amount, address, and identifier. Participant A will only sign a transaction that has an output with identifier X and Participant B will only sign a transaction with identifier Y. Participant A and B then send the correct signatures to the Controller who recreates the same transaction from the inputs and outputs, but now with the signatures of Participant A and B.
|
|
|
|
themgp
Jr. Member
Offline
Activity: 56
Merit: 1
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 18, 2014, 10:12:19 AM |
|
If you and someone else both send money to Wikileaks, you both sign your transactions. The transactions, even for identical amounts, are not identical. For one thing they will name different unspent txouts to spend; for another they'll have different timestamps. For a third thing they will specify different addresses for "change" to come back to. All of these things will be combined in a hash function to give your transaction a transaction ID which is unique.
There is no way in a transaction to determine what is "my output" and "your output". That is what makes coin join work, but also brings up the problem originally posed.
|
|
|
|
Cryddit
Legendary
Offline
Activity: 924
Merit: 1130
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 18, 2014, 10:28:06 AM |
|
If you and someone else both send money to Wikileaks, you both sign your transactions. The transactions, even for identical amounts, are not identical. For one thing they will name different unspent txouts to spend; for another they'll have different timestamps. For a third thing they will specify different addresses for "change" to come back to. All of these things will be combined in a hash function to give your transaction a transaction ID which is unique.
There is no way in a transaction to determine what is "my output" and "your output". That is what makes coin join work, but also brings up the problem originally posed. Your output is the one that you have the key to spend. What's hard about that? There may be no way for anyone *else* to tell whose output is whose, but you are the guy who created that key pair, you still have the private key, and you know damn well whether a given output has the corresponding public key. In a coinjoin everyone can identify their own outputs. But they can't distinguish anyone else's, and no third-party observer can distinguish them at all.
|
|
|
|
|