Bitcoin Forum
November 08, 2024, 02:44:39 PM *
News: Latest Bitcoin Core release: 28.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 84996 times)
giszmo
Legendary
*
Offline Offline

Activity: 1862
Merit: 1114


WalletScrutiny.com


View Profile WWW
April 10, 2016, 11:42:58 PM
 #241

3% per year? I could just invest in a S&P mutual fund tracker if I wanted to make that much.

I wonder how you can track bitcoin and S&P at the same time though. For me, selling bitcoins to put them into whatever other economic opportunity feels stupid for me, as I'm so bullish on Bitcoin. Earning 3% on bitcoin savings though sounds great.

ɃɃWalletScrutiny.comIs your wallet secure?(Methodology)
WalletScrutiny checks if wallet builds are reproducible, a precondition for code audits to be of value.
ɃɃ
Mythoughts
Member
**
Offline Offline

Activity: 63
Merit: 14


View Profile
April 17, 2016, 09:01:52 AM
Last edit: April 17, 2016, 11:44:45 AM by Mythoughts
 #242

My patientsendpayments seems to crash every time someone actually tries to initiate a transaction.
First I assumed there might have been some communication problem, but now this has happend two times in a row making that reason unlikely.

Running Debian Jessy, Joinmarket with bitcoind, both over TOR. Start command:
python patientsendpayment.py -f 5000 -w 48 -c 5000 wallet.json 1000000 <targetaddress>

There's >0.1btc in mixing level 0 of the wallet, the payment to be sent was 0.01 btc.

Debug log:

Code:
2016-04-17 10:45:42,171 [MainThread  ] [DEBUG]  new cjorder nick=TakerNickName oid=0 amount=279749
2016-04-17 10:45:42,171 [MainThread  ] [DEBUG]  get_utxos_by_mixdepth =
{0: {u'<removed_for_privacy>:1': {'address': u'<removed_for_privacy>',
                                                                             'value': 12000000}}}
2016-04-17 10:45:42,171 [MainThread  ] [DEBUG]  for mixdepth=0 amount=279749 selected:
2016-04-17 10:45:42,171 [MainThread  ] [DEBUG]  [{'utxo': u'<removed_for_privacy>:1',
  'value': 15000000}]
2016-04-17 10:45:42,196 [MainThread  ] [DEBUG]  maker utxos = {u'<removed_for_privacy>:1': {'address': u'<removed_for_privacy>',
                                                                         'value': 12000000}}
2016-04-17 10:45:42,362 [MainThread  ] [DEBUG]  >>privmsg nick=TakerNickName cmd=pubkey msg=<removed_for_privacy>
2016-04-17 10:45:45,301 [MainThread  ] [DEBUG]  <<privmsg nick=TakerNickName message=!auth 03bc3d29583d621e16a56c13992d52fe1635e09e51bd525feac71c5c00344eb740 GztJJT/Hvp5qHqN2uEgrIgP5vsa1JR6THbN/uN94V8Zh/r7DzETP0kgVA5QXGwlIoejTzvgzegT5JT1AEhQ9+XI=
2016-04-17 10:45:45,317 [MainThread  ] [DEBUG]  CRASHING, DUMPING EVERYTHING
2016-04-17 10:45:45,317 [MainThread  ] [DEBUG]  Class debug dump, name:Wallet
2016-04-17 10:45:45,317 [MainThread  ] [DEBUG]  key=unspent
2016-04-17 10:45:45,317 [MainThread  ] [DEBUG]  {u'<removed_for_privacy>:1': {'address': u'<removed_for_privacy>',
                                                                         'value': 12000000}}
2016-04-17 10:45:45,317 [MainThread  ] [DEBUG]  key=gaplimit
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  6
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  key=index
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  [[2, 1]]
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  key=index_cache
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  [[2, 1]]
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  key=spent_utxos
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  []
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  key=utxo_selector
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  <function select at 0x7f88a56b0b18>
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  key=path
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  string: len:19
2016-04-17 10:45:45,318 [MainThread  ] [DEBUG]  wallets/wallet.json
2016-04-17 10:45:45,319 [MainThread  ] [DEBUG]  key=storepassword
2016-04-17 10:45:45,319 [MainThread  ] [DEBUG]  False
2016-04-17 10:45:45,319 [MainThread  ] [DEBUG]  key=max_mix_depth
2016-04-17 10:45:45,319 [MainThread  ] [DEBUG]  1
2016-04-17 10:45:45,319 [MainThread  ] [DEBUG]  key=imported_privkeys
2016-04-17 10:45:45,319 [MainThread  ] [DEBUG]  {}
Traceback (most recent call last):
  File "patientsendpayment.py", line 241, in main
    irc.run()
  File "/home/username/joinmarket-develop/joinmarket/irc.py", line 657, in run
    self.__handle_line(line)
  File "/home/username/joinmarket-develop/joinmarket/irc.py", line 540, in __handle_line
    self.__handle_privmsg(_chunks[0], _chunks[2], get_irc_text(line))
  File "/home/username/joinmarket-develop/joinmarket/irc.py", line 491, in __handle_privmsg
    self.__on_privmsg(nick, parsed)
  File "/home/username/joinmarket-develop/joinmarket/irc.py", line 377, in __on_privmsg
    self.on_seen_auth(nick, i_utxo_pubkey, btc_sig)
  File "/home/username/joinmarket-develop/joinmarket/maker.py", line 253, in on_seen_auth
    self.active_orders[nick].auth_counterparty(nick, pubkey, sig)
  File "/home/username/joinmarket-develop/joinmarket/maker.py", line 96, in auth_counterparty
    btc_pub = btc.privtopub(btc_key)
  File "/home/username/joinmarket-develop/bitcoin/main.py", line 280, in privkey_to_pubkey
    f = get_privkey_format(privkey)
  File "/home/username/joinmarket-develop/bitcoin/main.py", line 191, in get_privkey_format
    elif len(priv) == 32: return 'bin'
TypeError: object of type 'NoneType' has no len()
done


Edit:
New entries in the bitcoind-debug.log as well. This I've also not seen before I I started using Joinmarkt... google didnt help with that error message:
Code:
2016-04-17 11:41:45 AddToWallet <removed_for_privacy>  update
2016-04-17 11:41:45 runCommand error: system(curl -sI --connect-timeout 1 http://localhost:62602/walletnotify?<removed_for_privacy>) returned 1792
domob
Legendary
*
Offline Offline

Activity: 1135
Merit: 1170


View Profile WWW
April 17, 2016, 12:30:54 PM
 #243

My patientsendpayments seems to crash every time someone actually tries to initiate a transaction.
First I assumed there might have been some communication problem, but now this has happend two times in a row making that reason unlikely.

I had the same issue some time ago - the short answer is that the JoinMarket protocol requires you to have the target address of a join in your wallet.  I. e., patientsendpayment only works if you send to yourself, and then only if you import the target address into your JoinMarket wallet.  I think there is some incentive to change the protocol to make it work as originally envisioned, but I don't think that actual work is already done on that.

In my case, this was not much of an issue, since I wanted to use that for internal wallet restructuring and sent to myself.  Importing the target address' private key into JoinMarket made it work.  Not sure if that is an option for you, though.

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

Activity: 63
Merit: 14


View Profile
April 18, 2016, 07:28:52 PM
 #244


I had the same issue some time ago - the short answer is that the JoinMarket protocol requires you to have the target address of a join in your wallet.  I. e., patientsendpayment only works if you send to yourself, and then only if you import the target address into your JoinMarket wallet.  I think there is some incentive to change the protocol to make it work as originally envisioned, but I don't think that actual work is already done on that.

Thanks, that's good to know.

I've also talked to belcher about this error from bitcoind's debug.log:

Quote
2016-04-17 11:41:45 AddToWallet <removed_for_privacy>  update
2016-04-17 11:41:45 runCommand error: system(curl -sI --connect-timeout 1 http://localhost:62602/walletnotify?<removed_for_privacy>) returned 1792

This occurs when a new transaction is detected, which was sent externally (e.g. not part of a joinmarket-transaction) to the joinmarket-wallet. This error can safely be ignored. If a yield-generator is running, he won't see the funds though until restarted.
belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 523


View Profile
April 27, 2016, 11:22:53 AM
 #245

Please complete this questionnaire on how you use JoinMarket. (Should take only 60 seconds)

http://surveynuts.com/surveys/take?id=57841&c=716997053JRPF

The results are here:

https://surveynuts.com/surveys/admin?id=57841&stoken=8933114612517&section=results

Thanks to everyone who answered!

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

Activity: 261
Merit: 523


View Profile
May 04, 2016, 01:24:35 AM
Last edit: May 04, 2016, 01:39:09 AM by belcher
 #246

JoinMarket v0.1.4 released!

https://github.com/JoinMarket-Org/joinmarket/blob/master/doc/release-notes-0.1.4.md


We will be signing our git commits.

You can check them like this link

Import my GPG public key (do the same for other developers like waxwing)

Clone the repository and verify

Code:
    $ git clone https://github.com/JoinMarket-Org/joinmarket.git my-joinmarket-folder
    $ cd my-joinmarket-folder
    $ git log --show-signature

It should show

Code:
    commit f169351c1dc8e9b485f4b00366fc8f94b1773e0a
    gpg: Signature made Wed 04 May 2016 01:50:53 BST using RSA key ID 77F31129
    gpg: Good signature from "Chris Belcher <false@email.com>"
    Merge: d1092f5 809b654
    Author: chris-belcher <chris-belcher@users.noreply.github.com>
    Date:   Wed May 4 01:50:45 2016 +0100

git commits are a chain of hashes, so one signed commit at the top is enough to verify all the ones below it.

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

Activity: 2156
Merit: 1131



View Profile
May 04, 2016, 06:51:45 PM
 #247

 
Congrats for the new version.
2c0de
Full Member
***
Offline Offline

Activity: 138
Merit: 102


View Profile
May 04, 2016, 08:22:43 PM
 #248

Maker broadcast, Bitcoin crypto, will surely join some join.

DHjxvnHB9RirtPbvkovSotn1fY2poNffoi
LWeT4wwDVdJ9x49UcXPyS6CznRpbQFM6nx
0x96273C2FD825f0A2745d917bbbfabD6032dC1aDD
waxwing
Sr. Member
****
Offline Offline

Activity: 469
Merit: 253


View Profile
May 05, 2016, 06:45:09 PM
 #249

Joinmarket-Qt update to the new version: https://github.com/JoinMarket-Org/JMBinary/releases

, plus some bits and pieces mentioned in the reddit comment here:

https://www.reddit.com/r/joinmarket/comments/4hsaz9/joinmarket_v014_released/d2u4xv8

PGP fingerprint 2B6FC204D9BF332D062B 461A141001A1AF77F20B (use email to contact)
belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 523


View Profile
May 20, 2016, 08:24:39 PM
 #250

JoinMarket v0.1.4 has a new feature that calculates your effective interest rate from running a yield generator, as though it was a bank account.

https://github.com/JoinMarket-Org/joinmarket/blob/master/doc/release-notes-0.1.4.md#wallet-history

To use, configure JoinMarket to use a Bitcoin node as a method of accessing the blockchain and run:

Code:
python wallet-tool.py wallet.json history

It takes into account all your deposits and withdrawals, so it should calculate the rate even if you were adding to your wallet or spending from it.

For my own yield generator wallet the figure is 0.67% per annum. I've been running it since the very start including when very few people used JoinMarket, so you can expect my yield to be on the low end.

grubles tried this and got 3.2% as an effective interest rate. I assume he's been running it for less time.

Whats your yield ?



https://www.reddit.com/r/joinmarket/comments/4hwwa0/calculate_your_yield_generators_perannum_return/

I'm aiming to get more people running yield generators.

Riding the pump-and-dump rollercoaster of Eth/TheDAO and similar is ultra high risk/reward, JoinMarket is more aiming for the slow and steady winning the race.

Earning about 1% per annum in a deflationary currency with basically zero risk where you can withdraw your money at any time must be unique in the cryptocurrency space.

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

Activity: 203
Merit: 168


View Profile WWW
May 28, 2016, 12:19:14 AM
 #251

Hi, I found the output of wallet-tool.py hard to read so I made a patch that formats the output into text tables with borders.

Here's a very basic example:

Code:
+-----------+---------------+
| Mix Depth | Balance       |
+-----------+---------------+
|         0 | 0.34898343btc |
|         1 | 0.23468934btc |
|         2 | 0.23123434btc |
|         3 | 0.82397493btc |
|         4 | 0.22356223btc |
+-----------+---------------+
| total:    | 1.84839232btc |
+-----------+---------------+

Wallet addrs and history are also in tables.

Pull request is here:  
https://github.com/JoinMarket-Org/joinmarket/pull/539

If anyone wishes to try it before the pull request is approved, you could clone from my repo at:
https://github.com/dan-da/joinmarket

mybitprices.info - wallet auditing   |  hd-wallet-derive - derive keys locally |  hd-wallet-addrs - find used addrs
lightning-nodes - list of LN nodes  |  coinparams - params for 300+ alts  |  jsonrpc-cli - cli jsonrpc client
subaddress-derive-xmr - monero offline wallet tool
belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 523


View Profile
May 29, 2016, 02:33:56 PM
 #252

The JoinMarket IRC channel so far was hosted on freenode, which is very unfriendly to tor users.

So I've set up an IRC relaying bot between the freenode channel and a channel on cyberguerrilla which is far more friendly to tor.

Tor Details:

Code:
channel = #joinmarket
host = 6dvj6v5imhny3anf.onion
port = 6697
ssl enabled

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

Activity: 19
Merit: 0


View Profile
June 06, 2016, 03:14:28 AM
 #253

Looks like  alot of the bumps are getting smoothed out along with more volume. Steep learning curve but im catching on.
danda
Full Member
***
Offline Offline

Activity: 203
Merit: 168


View Profile WWW
June 07, 2016, 05:12:39 PM
 #254

In the spirit of "Coinjoin that people will actually use", I'm wondering if any of the regular bitcoin wallets have integrated joinmarket, or have announced any plans to do so?

Along these lines...

Is there a joinmarket API that would make it straightforward for a wallet to integrate?

Has any effort been made to approach wallet makers?

If not, perhaps we should open issues requesting joinmarket support on their respective github pages.


mybitprices.info - wallet auditing   |  hd-wallet-derive - derive keys locally |  hd-wallet-addrs - find used addrs
lightning-nodes - list of LN nodes  |  coinparams - params for 300+ alts  |  jsonrpc-cli - cli jsonrpc client
subaddress-derive-xmr - monero offline wallet tool
belcher (OP)
Sr. Member
****
Offline Offline

Activity: 261
Merit: 523


View Profile
June 09, 2016, 10:44:58 PM
 #255

In the spirit of "Coinjoin that people will actually use", I'm wondering if any of the regular bitcoin wallets have integrated joinmarket, or have announced any plans to do so?

Along these lines...

Is there a joinmarket API that would make it straightforward for a wallet to integrate?

Has any effort been made to approach wallet makers?

If not, perhaps we should open issues requesting joinmarket support on their respective github pages.



IMO joinmarket is at too early of a stage for this, there are still a few problems that would be nice to fix before anything happens.
Right now it seems most of the adoption comes from people using the tumbler script.

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

Activity: 469
Merit: 253


View Profile
June 10, 2016, 07:25:12 AM
Last edit: June 10, 2016, 07:47:31 AM by waxwing
 #256

The JoinMarket IRC channel so far was hosted on freenode, which is very unfriendly to tor users.

So I've set up an IRC relaying bot between the freenode channel and a channel on cyberguerrilla which is far more friendly to tor.

Tor Details:

Code:
channel = #joinmarket
host = 6dvj6v5imhny3anf.onion
port = 6697
ssl enabled

Just for clarification: this is referring to the IRC channel we use to *chat*, not the IRC channel(s) we use for joinmarket orders/joining activity (what we call the "pit" like trading pit).

PGP fingerprint 2B6FC204D9BF332D062B 461A141001A1AF77F20B (use email to contact)
waxwing
Sr. Member
****
Offline Offline

Activity: 469
Merit: 253


View Profile
June 10, 2016, 07:47:10 AM
 #257

In the spirit of "Coinjoin that people will actually use", I'm wondering if any of the regular bitcoin wallets have integrated joinmarket, or have announced any plans to do so?

Along these lines...

Is there a joinmarket API that would make it straightforward for a wallet to integrate?

Has any effort been made to approach wallet makers?

If not, perhaps we should open issues requesting joinmarket support on their respective github pages.



IMO joinmarket is at too early of a stage for this, there are still a few problems that would be nice to fix before anything happens.
Right now it seems most of the adoption comes from people using the tumbler script.

First, for danda, it's worth noting that this has been very extensively investigated/discussed for more than a year. Also worth noting is that, to the surprise of no one, when Joinmarket was first widely announced in public, the most common response was "please make this appear in my wallet, or at least in some wallet". Again, I emphasize: to the surprise of no one, we know that that's what people prefer.

Second, w.r.t belcher's "too early a stage": it's difficult to make a general statement. It's true that there are aspects of how joinmarket works that can make it awkward to integrate it into a wallet; things like, HD structure (mixdepths, see below), approach to E2E encryption of messages, code language, packaging etc. But I don't think there's some fundamental problem making it impossible, especially if you restrict the scope, and especially if the wallet code has its own model for integration.

Which brings me to:

For those reading who are interested in such things (wallet integrations), let me point you at: https://www.reddit.com/r/joinmarket/comments/4m1b7r/requesting_linux_testers_for_an_experimental/ which links to an Electrum plugin for testing. Install is multi-step (but not complex) for reasons described in the post, but if anyone here's willing to give it a test would appreciate it. It allows the creation of coinjoins (sendpayments) directly from your Electrum wallet (only "Standard" type).

I've gotten only 1 person so far after more than a week who even installed it, which is disappointing after *so* many requests in the early days to do an Electrum plugin.

Electrum accounts within a standard BIP32 HD wallet are exactly like Joinmarket mixdepths, so a natural extension to that plugin (which for now just does sendpayment) is to implement that, and eventually I'd hope, something like tumbler could be programmed (mixdepths->accounts). Obviating the need for any separate wallet management for *users* of Joinmarket (takers). Providers, i.e. makers, should be using Core and joinmarket's own wallet and script set up probably (although there is the dream of passively acting as maker from your own wallet, maybe that's possible too).

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

Activity: 1974
Merit: 1029



View Profile
June 15, 2016, 03:50:20 PM
 #258

For those reading who are interested in such things (wallet integrations), let me point you at: https://www.reddit.com/r/joinmarket/comments/4m1b7r/requesting_linux_testers_for_an_experimental/ which links to an Electrum plugin for testing. Install is multi-step (but not complex) for reasons described in the post, but if anyone here's willing to give it a test would appreciate it. It allows the creation of coinjoins (sendpayments) directly from your Electrum wallet (only "Standard" type).

I've gotten only 1 person so far after more than a week who even installed it, which is disappointing after *so* many requests in the early days to do an Electrum plugin.

I keep a tab in my browser for this thread and refresh it from time to time. I just read this.

The installation is easy. I applied the patch with vim instead of patch Smiley, there was some offset (line 1194 instead of 1212). Now I guess I should fund any of the addresses that was written to stdout upon electrum startup and then, just make any payment? (I'll play with it nevertheless later today but I thought I could post anything to show interest, and then I thought I could put a dumb question at the end Smiley).
dserrano5
Legendary
*
Offline Offline

Activity: 1974
Merit: 1029



View Profile
June 15, 2016, 08:05:58 PM
 #259

and then, just make any payment?

Hmm, there must be something else. In the preferences I ticked "View transaction before signing" and it's a regular tx, no CJ apparently involved. I can't tell whether the plugin was loaded or not.
waxwing
Sr. Member
****
Offline Offline

Activity: 469
Merit: 253


View Profile
June 16, 2016, 01:46:53 AM
 #260

and then, just make any payment?

Hmm, there must be something else. In the preferences I ticked "View transaction before signing" and it's a regular tx, no CJ apparently involved. I can't tell whether the plugin was loaded or not.

Go to Tools->Plugins, if Joinmarket isn't there it hasn't installed properly, if it is, check the checkbox and it should create a Joinmarket tab.

Thanks for taking a look!

PGP fingerprint 2B6FC204D9BF332D062B 461A141001A1AF77F20B (use email to contact)
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!