Bitcoin Forum
April 20, 2024, 05:27:27 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 »  All
  Print  
Author Topic: [ANN] Joinmarket - Coinjoin that people will actually use  (Read 84867 times)
inaltoasinistra
Full Member
***
Offline Offline

Activity: 142
Merit: 104


View Profile
July 03, 2015, 06:24:39 AM
 #101

On other topics

  • The rates in the orderbook are really low now. Maybe this is where the market will end up but I also suspect some people are offering really low rates because they believe in Joinmarket and want to provide early-on liquidity. This is counterproductive though because it discourages investors from joining. When a prospective investor sees that there is 140 BTC at 0.03% there is no reason for them to offer 100 BTC at a higher (normal?) rate.


Bear in mind that the advertised rates are per transaction. If you average one transaction per day at 0.03%, that's a monthly return closer to 1%. It's not yet clear what frequency individual investors can expect, but we've started working on a tool for detecting likely Joinmarket activity in the blockchain, and guessing the earned fees.
After 2 days without transactions the makers lower the fees, thats it. A good integration to some client could increase the bid

"In a nutshell, the network works like a distributed timestamp server, stamping the first transaction to spend a coin. It takes advantage of the nature of information being easy to spread but hard to stifle." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
domob
Legendary
*
Offline Offline

Activity: 1135
Merit: 1161


View Profile WWW
July 07, 2015, 06:05:19 AM
 #102

Which license is the code actually under?  I assume it is a "free" one, but it seems to be not specified (unless I miss it).  I think it would be good to have it in the README or to have a COPYING file in the repository.  Also a short header notice for the source files.

Use your Namecoin identity as OpenID: https://nameid.org/
Donations: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS | GPG 0xA7330737
waxwing
Sr. Member
****
Offline Offline

Activity: 469
Merit: 253


View Profile
July 07, 2015, 06:21:32 AM
 #103

On other topics

  • The rates in the orderbook are really low now. Maybe this is where the market will end up but I also suspect some people are offering really low rates because they believe in Joinmarket and want to provide early-on liquidity. This is counterproductive though because it discourages investors from joining. When a prospective investor sees that there is 140 BTC at 0.03% there is no reason for them to offer 100 BTC at a higher (normal?) rate.


Bear in mind that the advertised rates are per transaction. If you average one transaction per day at 0.03%, that's a monthly return closer to 1%. It's not yet clear what frequency individual investors can expect, but we've started working on a tool for detecting likely Joinmarket activity in the blockchain, and guessing the earned fees.
After 2 days without transactions the makers lower the fees, thats it. A good integration to some client could increase the bid

I agree; after the first few weeks, it was clear that this was the dynamic. A significant steady flow of 'users' (liquidity takers) is almost certainly going to require some kind of wallet integration, and that's a big project. Meanwhile, tech savvy people try it out by setting up yieldgenerator bots and are surprised when there isn't a constant flow of free money Smiley And they reduce fees presumably out of impatience.

There are users, even today; but the number is small (and to be honest I may not have a realistic picture, since I am not constantly reducing my fees like it seems others are, so I am probably not seeing almost any of the activity. This is one of the curious things about thinking of JoinMarket as a "service" - it is difficult to see it happening (although with some effort you can get a good idea)).

What "should" the fees be? It has been discussed but I'm of the opinion it's impossible to come up with a model that isn't dominated by its assumptions, so it's probably not worth bothering with.


PGP fingerprint 2B6FC204D9BF332D062B 461A141001A1AF77F20B (use email to contact)
domob
Legendary
*
Offline Offline

Activity: 1135
Merit: 1161


View Profile WWW
July 07, 2015, 07:03:22 AM
 #104

On other topics

  • The rates in the orderbook are really low now. Maybe this is where the market will end up but I also suspect some people are offering really low rates because they believe in Joinmarket and want to provide early-on liquidity. This is counterproductive though because it discourages investors from joining. When a prospective investor sees that there is 140 BTC at 0.03% there is no reason for them to offer 100 BTC at a higher (normal?) rate.


Bear in mind that the advertised rates are per transaction. If you average one transaction per day at 0.03%, that's a monthly return closer to 1%. It's not yet clear what frequency individual investors can expect, but we've started working on a tool for detecting likely Joinmarket activity in the blockchain, and guessing the earned fees.
After 2 days without transactions the makers lower the fees, thats it. A good integration to some client could increase the bid

I agree; after the first few weeks, it was clear that this was the dynamic. A significant steady flow of 'users' (liquidity takers) is almost certainly going to require some kind of wallet integration, and that's a big project. Meanwhile, tech savvy people try it out by setting up yieldgenerator bots and are surprised when there isn't a constant flow of free money Smiley And they reduce fees presumably out of impatience.

There are users, even today; but the number is small (and to be honest I may not have a realistic picture, since I am not constantly reducing my fees like it seems others are, so I am probably not seeing almost any of the activity. This is one of the curious things about thinking of JoinMarket as a "service" - it is difficult to see it happening (although with some effort you can get a good idea)).

What "should" the fees be? It has been discussed but I'm of the opinion it's impossible to come up with a model that isn't dominated by its assumptions, so it's probably not worth bothering with.



I think almost zero fees are unavoidable.  Since this project is, by definition, a market, there will be competition.  And since the cost involved for makers is not very high (a little risk for putting your coins on a server, but not too much since you don't have to trust anyone), I believe that the eventual fee you can earn as investor is tiny.  (Even an inflow of more takers when the project is more mature won't help here, since there will also be an inflow of makers.)  But I don't think this is a problem.  It will help make coinjoins more used in the ecosystem, which is a good thing.  And if too small fees turn out to be a problem (i. e., not enough makers willing to provide liquidity), the fees will increase themselves due to market pressure until an equilibrium is reached again.

Use your Namecoin identity as OpenID: https://nameid.org/
Donations: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS | GPG 0xA7330737
waxwing
Sr. Member
****
Offline Offline

Activity: 469
Merit: 253


View Profile
July 07, 2015, 11:01:37 AM
 #105

I believe that the eventual fee you can earn as investor is tiny.  (Even an inflow of more takers when the project is more mature won't help here, since there will also be an inflow of makers.) 

This is exactly what we hypothesized at the initiation of the project - tiny, close to zero fees. But in a way that dodges the question - how tiny is tiny? Smiley

It's a market, so it's not as if we're trying to "fix" the price. But we're all curious where it will settle. My statement above was that I don't think any economic modelling is worthwhile for now, the unknowns are too big.

PGP fingerprint 2B6FC204D9BF332D062B 461A141001A1AF77F20B (use email to contact)
LDA
Newbie
*
Offline Offline

Activity: 87
Merit: 0


View Profile
July 08, 2015, 04:48:55 PM
 #106

I found it by accident and it's super cool. I would be thankful if you could answer a few questions.

1) I saw a chart with name of wallets of investors and values. Where is it available?

2) Is there a way to see how many coins are happening per day or hour and average value?

3) The script generates a "HD wallet". However on the commands there is no output. What is the output? How many address it generate? For both send and receive or they should be exclusive?

4) Really idiot question, but I see the transactions are with internal wallet, what is the benefit? I mean, internal transactions are not public, right?

5) If we could recover the whole wallet and money with the key, it means that my coins are not with me, instead they are on a third-party server, right? What means if someone hack this system? I mean, what security do we have?

6) In practice, have someone tried to track the coins joined? How hard was it? Was possible?

Thanks.
belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 518


View Profile
July 10, 2015, 11:53:02 AM
 #107

I found it by accident and it's super cool. I would be thankful if you could answer a few questions.

1) I saw a chart with name of wallets of investors and values. Where is it available?

2) Is there a way to see how many coins are happening per day or hour and average value?

3) The script generates a "HD wallet". However on the commands there is no output. What is the output? How many address it generate? For both send and receive or they should be exclusive?

4) Really idiot question, but I see the transactions are with internal wallet, what is the benefit? I mean, internal transactions are not public, right?

5) If we could recover the whole wallet and money with the key, it means that my coins are not with me, instead they are on a third-party server, right? What means if someone hack this system? I mean, what security do we have?

6) In practice, have someone tried to track the coins joined? How hard was it? Was possible?

Thanks.

1) It can be seen by ob-watcher.py script, the same thing can be seen on pages run by volunteers. e.g. http://joinmarket.io/

2) Not right now, this will probably be written in the future. See https://github.com/chris-belcher/joinmarket/issues/19

3) Read this https://github.com/chris-belcher/joinmarket/wiki/Using-the-JoinMarket-internal-wallet

4)
I think you're talking about tumbler.py
Those are coinjoin transactions back to your internal wallet. They increase the anonymity set.

5) No they are not on a third party server. Your security is your ability to keep your seed secret and computer free from malware.

6) The CoinJoin transactions used by JoinMarket would make that difficult.

7) Is there a way to sign message with JoinMarket?

No, that's not what its for.

8) What about the spv mining fork?

If you use JoinMarket with Bitcoin Core you are not vulnerable, because it only works with 0.10 or above which will follow the correct fork if it happens.
If you don't use Bitcoin Core then JoinMarket will use blockr.io and you'll have to ask them if they run 0.10 nodes or above as recommended.

1HZBd22eQLgbwxjwbCtSjhoPFWxQg8rBd9
JoinMarket - CoinJoin that people will actually use.
PGP fingerprint: 0A8B 038F 5E10 CC27 89BF CFFF EF73 4EA6 77F3 1129
LDA
Newbie
*
Offline Offline

Activity: 87
Merit: 0


View Profile
July 11, 2015, 07:21:46 AM
 #108

Hi belcher,

Thanks for answer and congrats for nice project. Smiley

1) Weird, my ob-watcher.py crash under python. Is the reason that my wallet is without any BTC? Smiley

Very cool this site, good to have an idea, I would love to see more people adopting it.

2) If someone is allowed to search blockchain and find tx id of transactions with JoinMarket he/she could follow all transactions and break the anonymity, not?

3) As you see I'm new on this. I looked at your example:

Quote
$ python wallet-tool.py wallet.json
Enter wallet decryption passphrase:
[2015/04/23 02:04:13] downloading wallet history
[2015/04/23 02:04:26] blockr sync_unspent took 2.70895719528sec
mixing depth 0 m/0/0/
 receive addresses m/0/0/0/
  m/0/0/0/000 1JPFmg1RSa2gtzcsow9fBjwdvWPsxcP3eX  new 0.00000000 btc
  m/0/0/0/001 1AaCpeMit59ExfSvP3M3bTnMkhXgecSPeY  new 0.00000000 btc
  m/0/0/0/002 1NmDrVbtk6kfAYbBVo7Miv8eCYHHefZkjs  new 0.00000000 btc
  m/0/0/0/003 1NKitLXm7FdgbHuENvFXRCxVH32N5XXMQ5  new 0.00000000 btc
  m/0/0/0/004 1EwkvF8SrHLh17LKCNQ9w4u4HY2akuzhx3  new 0.00000000 btc
  m/0/0/0/005 1HkHyB8DbZBNvZYwyAutgedaBSsrNUDt7G  new 0.00000000 btc
 change addresses m/0/0/1/
for mixdepth=0 balance=0.00000000btc
mixing depth 1 m/0/1/
 receive addresses m/0/1/0/
  m/0/1/0/000 1LQw8K7V2KQePFVscLKiiH1NU2v6KzwdhW  new 0.00000000 btc
  m/0/1/0/001 1EcZ7w1EEb1UK1qWYT6FMLsbRoizFCfAZ7  new 0.00000000 btc
  m/0/1/0/002 1CV7L2b23sEYNhnu35MP9gbzPAD3j3ofgc  new 0.00000000 btc
  m/0/1/0/003 1DMYRugQNJZRQPcAPAYBcE1p9u15VFTkD9  new 0.00000000 btc
  m/0/1/0/004 1CCnPgGhecXmFz8DrB3Wew9kHT1En53Lq   new 0.00000000 btc
  m/0/1/0/005 1LuwwyEv86BV4miaKVScsFxE4rrKngVt8F  new 0.00000000 btc
 change addresses m/0/1/1/
for mixdepth=1 balance=0.00000000btc
$

My output is a bit different, I have mixing depth 1 to 4 and each has 5 address if I remember well. Is mine wrong?

My understanding is that I should use each of these addresses for both send and receive BTC, right? So, why so many addresses? Use as random as possible increase my anonymity?

Recover a wallet from a bitcoin is a feature that exist on all BTC wallet programs? I'm asking because it's strange to me, if BTC is not centralized and there is no server, suppose that I delete my wallet.json, how can I recover everything again from the 12 words seed? And how do they know that my password mismatch (it should not be stored just locally on my computer)?

4) You are correct. Sorry for dumb question, but what is difference of a internal and real wallet? A wallet is composed of several addresses, right? And an internal wallet? Exist transactions for internal wallets?

5) Got it, thanks. This is the point that I don't understand, to be hones it's the reason of my question of how anyone could recover my wallet with 12 seed words since all is decentralized.

6) Please, don't take me wrong, but difficult is relative. For example, you master the process and understand a lot of BTC. If you are determined, are you able to track someone transactions?

7) I understand. So can I (or should I) use JoinMarket with an wallet software such as Electrum? On my mind it was supposed to be a wallet too. If I need to use both, how do I know when use each?

When I send money to someone via JoinMarket does it display the TX id on the command output?

8 ) Understood. I assume that Bitcoin core is the default, correct? However, if I remember well there is a part of the software that says that use one of them affect privacy / anonymity, right?

On the worst case, suppose that someone was using blockr.io and they are not running 0.10, what happens? Can this person loose his money? Or it will just take more time?

Again, thanks so much and sorry for too much big and dumb questions. I hope they could help other users.
belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 518


View Profile
July 11, 2015, 12:43:34 PM
 #109

Hi belcher,

Thanks for answer and congrats for nice project. Smiley

1) Weird, my ob-watcher.py crash under python. Is the reason that my wallet is without any BTC? Smiley

Very cool this site, good to have an idea, I would love to see more people adopting it.

2) If someone is allowed to search blockchain and find tx id of transactions with JoinMarket he/she could follow all transactions and break the anonymity, not?

3) As you see I'm new on this. I looked at your example:

Quote
$ python wallet-tool.py wallet.json
Enter wallet decryption passphrase:
[2015/04/23 02:04:13] downloading wallet history
[2015/04/23 02:04:26] blockr sync_unspent took 2.70895719528sec
mixing depth 0 m/0/0/
 receive addresses m/0/0/0/
  m/0/0/0/000 1JPFmg1RSa2gtzcsow9fBjwdvWPsxcP3eX  new 0.00000000 btc
  m/0/0/0/001 1AaCpeMit59ExfSvP3M3bTnMkhXgecSPeY  new 0.00000000 btc
  m/0/0/0/002 1NmDrVbtk6kfAYbBVo7Miv8eCYHHefZkjs  new 0.00000000 btc
  m/0/0/0/003 1NKitLXm7FdgbHuENvFXRCxVH32N5XXMQ5  new 0.00000000 btc
  m/0/0/0/004 1EwkvF8SrHLh17LKCNQ9w4u4HY2akuzhx3  new 0.00000000 btc
  m/0/0/0/005 1HkHyB8DbZBNvZYwyAutgedaBSsrNUDt7G  new 0.00000000 btc
 change addresses m/0/0/1/
for mixdepth=0 balance=0.00000000btc
mixing depth 1 m/0/1/
 receive addresses m/0/1/0/
  m/0/1/0/000 1LQw8K7V2KQePFVscLKiiH1NU2v6KzwdhW  new 0.00000000 btc
  m/0/1/0/001 1EcZ7w1EEb1UK1qWYT6FMLsbRoizFCfAZ7  new 0.00000000 btc
  m/0/1/0/002 1CV7L2b23sEYNhnu35MP9gbzPAD3j3ofgc  new 0.00000000 btc
  m/0/1/0/003 1DMYRugQNJZRQPcAPAYBcE1p9u15VFTkD9  new 0.00000000 btc
  m/0/1/0/004 1CCnPgGhecXmFz8DrB3Wew9kHT1En53Lq   new 0.00000000 btc
  m/0/1/0/005 1LuwwyEv86BV4miaKVScsFxE4rrKngVt8F  new 0.00000000 btc
 change addresses m/0/1/1/
for mixdepth=1 balance=0.00000000btc
$

My output is a bit different, I have mixing depth 1 to 4 and each has 5 address if I remember well. Is mine wrong?

My understanding is that I should use each of these addresses for both send and receive BTC, right? So, why so many addresses? Use as random as possible increase my anonymity?

Recover a wallet from a bitcoin is a feature that exist on all BTC wallet programs? I'm asking because it's strange to me, if BTC is not centralized and there is no server, suppose that I delete my wallet.json, how can I recover everything again from the 12 words seed? And how do they know that my password mismatch (it should not be stored just locally on my computer)?

4) You are correct. Sorry for dumb question, but what is difference of a internal and real wallet? A wallet is composed of several addresses, right? And an internal wallet? Exist transactions for internal wallets?

5) Got it, thanks. This is the point that I don't understand, to be hones it's the reason of my question of how anyone could recover my wallet with 12 seed words since all is decentralized.

6) Please, don't take me wrong, but difficult is relative. For example, you master the process and understand a lot of BTC. If you are determined, are you able to track someone transactions?

7) I understand. So can I (or should I) use JoinMarket with an wallet software such as Electrum? On my mind it was supposed to be a wallet too. If I need to use both, how do I know when use each?

When I send money to someone via JoinMarket does it display the TX id on the command output?

8 ) Understood. I assume that Bitcoin core is the default, correct? However, if I remember well there is a part of the software that says that use one of them affect privacy / anonymity, right?

On the worst case, suppose that someone was using blockr.io and they are not running 0.10, what happens? Can this person loose his money? Or it will just take more time?

Again, thanks so much and sorry for too much big and dumb questions. I hope they could help other users.

1) No, ob-watcher.py does not require you to have btc in your wallet. In fact it doesnt even require a wallet at all.

2) No, CoinJoins discard unnecessary information which is what improves the privacy. Read this: https://en.bitcoin.it/wiki/CoinJoin

3)

Quote
My output is a bit different, I have mixing depth 1 to 4 and each has 5 address if I remember well. Is mine wrong?

No, thats right.

Quote
My understanding is that I should use each of these addresses for both send and receive BTC, right? So, why so many addresses? Use as random as possible increase my anonymity?

Read this to understand why there are different so-called "mixing levels" https://github.com/chris-belcher/joinmarket/wiki/Using-the-JoinMarket-internal-wallet#structure

By default the script outputs 5 addresses, although it can output more. It means you could receive 5 different payments at once. Alternatively you could give several addresses to a single person so that your payment cant be tracked by correlating amounts.

Quote
Recover a wallet from a bitcoin is a feature that exist on all BTC wallet programs? I'm asking because it's strange to me, if BTC is not centralized and there is no server, suppose that I delete my wallet.json, how can I recover everything again from the 12 words seed? And how do they know that my password mismatch (it should not be stored just locally on my computer)?

Yes, recovery from mnemonic seed exists in most wallets.
In practice you recover it with the instructions here https://github.com/chris-belcher/joinmarket/wiki/Using-the-JoinMarket-internal-wallet#recover
The password is only used for encrypting the wallet file on your hard disk. You don't need it to recover (this also implies somebody with only your seed can steal your coins)

4) A JoinMarket internal wallet is a kind of real wallet. There is no such thing as fake wallets.

5) It does not rely on a central server, the conversion from mnemonic seed to addresses is a mathematical algorithm. To massively simplify, each word is converted into a number and all the numbers are put together to give a master seed. From that you can generated an unlimited number of private key/address pairs that are always the same if you used the same master seed.

6) Mastery and understanding of bitcoin is not enough to deanonymize JoinMarket transactions. Privacy in bitcoin is a complex topic which I won't go into here, try reading this article to understand more why CoinJoin transactions used by JoinMarket improve privacy https://en.bitcoin.it/wiki/CoinJoin

7) JoinMarket is not really meant to be a bitcoin wallet used for receiving and spending like Electrum, Bitcoin Core or Armory. It can be used that way and many people do but it's not optimized for easy usage. In the future there should be an Electrum plugin and Bitcoin Core script which allows you to create private JoinMarket transactions from the GUI of those wallets.

Quote
When I send money to someone via JoinMarket does it display the TX id on the command output?

Yes it does.

8) If someone uses blockr.io then that website will know their IP address as well as which addresses belong to them. Obviously this is harmful to privacy, especially as blockr.io is owned by the coinbase.com company which is legally required to collect financial information.

1HZBd22eQLgbwxjwbCtSjhoPFWxQg8rBd9
JoinMarket - CoinJoin that people will actually use.
PGP fingerprint: 0A8B 038F 5E10 CC27 89BF CFFF EF73 4EA6 77F3 1129
Cryptoman
Hero Member
*****
Offline Offline

Activity: 726
Merit: 500



View Profile
July 13, 2015, 07:17:21 PM
Last edit: July 13, 2015, 08:26:47 PM by Cryptoman
 #110

I'm having a little trouble getting joinmarket working with bitcoind (to be honest, I haven't tried it yet with blockr.io).  Here's a dump of what happens:

Code:
$ python wallet-tool.py wallet.json
Enter wallet decryption passphrase:
[2015/07/13 13:35:20] requesting wallet history
[2015/07/13 13:35:34] rpc: ['~/bitcoin-cli', '-datadir=~/.bitcoin', 'getaddressesbyaccount', 'joinmarket-wallet-85993a']
Traceback (most recent call last):
  File "wallet-tool.py", line 54, in <module>
    common.bc_interface.sync_wallet(wallet)
  File "/home/cryptoman/joinmarket/lib/blockchaininterface.py", line 31, in sync_wallet
    self.sync_addresses(wallet)
  File "/home/cryptoman/joinmarket/lib/blockchaininterface.py", line 388, in sync_addresses
    imported_addr_list = json.loads(self.rpc(['getaddressesbyaccount', wallet_name]))
  File "/home/cryptoman/joinmarket/lib/blockchaininterface.py", line 365, in rpc
    res = subprocess.check_output(self.command_params + args)
  File "/usr/lib/python2.7/subprocess.py", line 566, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
$

What file is it looking for?  It's obviously finding and decrypting the wallet file OK.  I tried creating an account with the name "joinmarket-wallet-85993a" in bitcoind, but that didn't help.  RPC is set up properly as far as I can tell.

Thanks.

EDIT: Found the problem.  It didn't like the "~/" path.  Used the full path "/home/cryptoman/" and it worked fine.

"A small body of determined spirits fired by an unquenchable faith in their mission can alter the course of history." --Gandhi
Cryptoman
Hero Member
*****
Offline Offline

Activity: 726
Merit: 500



View Profile
July 15, 2015, 10:03:39 PM
 #111

How long should it take to send a payment? I tried sending a payment of about 1 BTC, and it just sat there for an hour.  Nothing changed in the wallet; all amounts at m/0/0/0/ are unchanged. I did get one interesting message shortly after initiating the payment: nonrespondants = [u'SiegeOfJa'].  Did it hang because one of the participants dropped out?

"A small body of determined spirits fired by an unquenchable faith in their mission can alter the course of history." --Gandhi
CohibAA
Full Member
***
Offline Offline

Activity: 223
Merit: 130



View Profile WWW
July 15, 2015, 10:27:20 PM
 #112

Did it hang because one of the participants dropped out?

Exactly.  Their bot may have hung, or their bitcoind hung if they are using rpc, but it means the transaction won't be happening.  You can use the -P option with sendpayment.py to pick your maker, allowing you to avoid non-responding makers.

windpath
Legendary
*
Offline Offline

Activity: 1258
Merit: 1027


View Profile WWW
July 18, 2015, 06:49:11 PM
Last edit: July 19, 2015, 06:07:15 PM by windpath
 #113

Great project!

Got JoinMarket up and running last night using bitcoin 0.11.0 on ubuntu 14.04, couple snags with dependencies (libsodium needs to be manually installed) but other then that it went smoothly.

Ran the Tumbler with defaults, total fees ended up at BTC0.00196169 or ~$0.54 to tumble 1BTC, not to shabby.

Ran a taint analysis on the final addresses I provided, 1 was totally severed from the original sending address, 2 had some minor taint, but nothing that jumped out.

There was still a connection to the innitial JoinMarket wallet deposit address on all of them.

I ran with the defaults:
Code:
python tumbler.py wallet.json [btc_address]

Id like to run another test and try to sever both the original sending address, and the JoinMarket wallet deposit address completely, found this in the source:

Code:
	#a couple of modes
#im-running-from-the-nsa, takes about 80 hours, costs a lot
#python tumbler.py -a 10 -N 10 5 -c 10 5 -l 50 -M 10 seed 1xxx
#
#quick and cheap, takes about 90 minutes
#python tumbler.py -N 2 1 -c 3 0.001 -l 10 -M 3 -a 1 seed 1xxx
#
#default, good enough for most, takes about 5 hours
#python tumbler.py seed 1xxx
#
#for quick testing
#python tumbler.py -N 2 1 -c 3 0.001 -l 0.1 -M 3 -a 0 seed 1xxx 1yyy

What is "seed"?

I was thinking of trying:
Code:
python tumbler.py -a 4 -N 5 3 -C 5 -M 5 wallet.json [btc_address]

Thoughts?

Also would be awesome to be able to provide all the addresses on the command line at once. Edit: looks like you can, I just provided to many on first run.

Again great and important project, excited to follow and contribute if I can...
Adlai
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile WWW
July 18, 2015, 11:39:22 PM
 #114

What is "seed"?

Judging by your previous snippet, you'll want to put wallet.json as the "seed". The name is a leftover from the testnet days when you could directly give a wallet seed on the command line, which doesn't work on mainnet anymore.
belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 518


View Profile
July 18, 2015, 11:51:04 PM
Last edit: July 19, 2015, 08:01:50 PM by belcher
 #115

Great project!

Got JoinMarket up and running last night using bitcoin 0.11.0 on ubuntu 14.04, couple snags with dependencies (libsodium needs to be manually installed) but other then that it went smoothly.

Ran the Tumbler with defaults, total fees ended up at BTC0.00196169 or ~$0.54 to tumble 1BTC, not to shabby.

Ran a taint analysis on the final addresses I provided, 1 was totally severed from the original sending address, 2 had some minor taint, but nothing that jumped out.

There was still a connection to the innitial JoinMarket wallet deposit address on all of them.

I ran with the defaults:
Code:
python tumbler.py wallet.json [btc_address]

Sounds good. Glad it worked.

Id like to run another test and try to sever both the original sending address, and the JoinMarket wallet deposit address completely, found this in the source:

Code:
	#a couple of modes
#im-running-from-the-nsa, takes about 80 hours, costs a lot
#python tumbler.py -a 10 -N 10 5 -c 10 5 -l 50 -M 10 seed 1xxx
#
#quick and cheap, takes about 90 minutes
#python tumbler.py -N 2 1 -c 3 0.001 -l 10 -M 3 -a 1 seed 1xxx
#
#default, good enough for most, takes about 5 hours
#python tumbler.py seed 1xxx
#
#for quick testing
#python tumbler.py -N 2 1 -c 3 0.001 -l 0.1 -M 3 -a 0 seed 1xxx 1yyy

What is "seed"?[

Those comments are possibly out of date.

Seed is a kind of brainwallet that was used before wallet files were made. They don't work anymore for mainnet.

I was thinking of trying:
Code:
python tumbler.py -a 4 -N 5 3 -C 5 -M 5 [btc_address]

Thoughts?

Also would be awesome to be able to provide all the addresses on the command line at once. Edit: looks like you can, I just provided to many on first run.

Again great and important project, excited to follow and contribute if I can...

It will probably work. It's likely that tumbling with coinjoin works but nobody really knows.
I assume you've run
Code:
python tumbler.py --help
so you know what the options mean

For contributions, this page has some useful small projects
https://github.com/chris-belcher/joinmarket/wiki/What-can-I-do-for-JoinMarket%3F

There is also a donation address found on the readme of the github
https://github.com/chris-belcher/joinmarket

1HZBd22eQLgbwxjwbCtSjhoPFWxQg8rBd9
JoinMarket - CoinJoin that people will actually use.
PGP fingerprint: 0A8B 038F 5E10 CC27 89BF CFFF EF73 4EA6 77F3 1129
mktx
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
July 19, 2015, 10:11:44 PM
 #116

I think this project is amazing as well, and I really enjoy using it as my preferred method for coinjoin txs. However I do have one complaint. The other day I was using the sendpayment.py script. The command was exactly:

Code:
python sendpayment.py -C -N 4 <wallet> 0 <address>

The script put the transaction together, and presented me with the options and a "y/n" prompt. I pressed "y" without paying too much attention and ended up paying some asshole 2.8 BTC to send a little over 5. Which is more than half of the bitcoin controlled by my privkeys. Sad

A couple suggestions:

1. Kick those people from the IRC with 50%+ fees.

2. Present the cjfee in something other than satoshis or have an alert that says you're about to pay an insane amount.
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
July 19, 2015, 11:29:22 PM
 #117

I think this project is amazing as well, and I really enjoy using it as my preferred method for coinjoin txs. However I do have one complaint. The other day I was using the sendpayment.py script. The command was exactly:

Code:
python sendpayment.py -C -N 4 <wallet> 0 <address>

The script put the transaction together, and presented me with the options and a "y/n" prompt. I pressed "y" without paying too much attention and ended up paying some asshole 2.8 BTC to send a little over 5. Which is more than half of the bitcoin controlled by my privkeys. Sad

A couple suggestions:

1. Kick those people from the IRC with 50%+ fees.

2. Present the cjfee in something other than satoshis or have an alert that says you're about to pay an insane amount.

Ouch, that sounds like you got the rawhide treatment.

belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 518


View Profile
July 20, 2015, 01:57:49 AM
Last edit: July 20, 2015, 10:38:53 AM by belcher
 #118

I think this project is amazing as well, and I really enjoy using it as my preferred method for coinjoin txs. However I do have one complaint. The other day I was using the sendpayment.py script. The command was exactly:

Code:
python sendpayment.py -C -N 4 <wallet> 0 <address>

The script put the transaction together, and presented me with the options and a "y/n" prompt. I pressed "y" without paying too much attention and ended up paying some asshole 2.8 BTC to send a little over 5. Which is more than half of the bitcoin controlled by my privkeys. Sad

A couple suggestions:

1. Kick those people from the IRC with 50%+ fees.

2. Present the cjfee in something other than satoshis or have an alert that says you're about to pay an insane amount.

Thanks for the feedback. Sorry for you loss.

I made this commit https://github.com/chris-belcher/joinmarket/commit/be8b63fa332d18a4ba71d68e3894d29d4c9db7c8
It displays the coinjoin fee as a percentage and prints out a huge warning banner if its above 2%

Code:
[2015/07/20 02:45:10] total coinjoin fee = 2.1%
============================================================
============================================================
============================================================
WARNING   WARNING   WARNING   WARNING   WARNING   WARNING  
============================================================
OFFERED FEE IS INSANELY LARGE.OFFERED FEE IS INSANELY LARGE.
============================================================
WARNING   WARNING   WARNING   WARNING   WARNING   WARNING  
============================================================
============================================================
============================================================
send with these orders? (y/n):

1HZBd22eQLgbwxjwbCtSjhoPFWxQg8rBd9
JoinMarket - CoinJoin that people will actually use.
PGP fingerprint: 0A8B 038F 5E10 CC27 89BF CFFF EF73 4EA6 77F3 1129
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
July 21, 2015, 01:59:28 PM
 #119

2% is not "insane"...

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
ThePiGuy
Newbie
*
Offline Offline

Activity: 25
Merit: 0


View Profile WWW
July 21, 2015, 02:39:10 PM
 #120

2% is not "insane"...

In the current system, it kind of is.  The average is significantly lower, and as such is pretty crazy compared to best options.
Pages: « 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!