--- Day changed Mon Jul 01 2019 00:17 -!- harding [~harding@c-73-196-98-36.hsd1.nj.comcast.net] has quit [Quit: leaving] 00:18 -!- harding [~harding@c-73-196-98-36.hsd1.nj.comcast.net] has joined #joinmarket 00:47 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 01:02 -!- Cory [Cory@unaffiliated/cory] has quit [Ping timeout: 248 seconds] 01:09 -!- Cory [Cory@unaffiliated/cory] has joined #joinmarket 02:36 < waxwing> well yeah there's that 02:49 < waxwing> https://mastodon.social/@waxwing/102365565100787505 03:13 -!- undeath [~undeath@hashcat/team/undeath] has quit [Ping timeout: 252 seconds] 05:07 -!- reallll [~belcher@unaffiliated/belcher] has joined #joinmarket 05:11 -!- belcher [~belcher@unaffiliated/belcher] has quit [Ping timeout: 245 seconds] 06:03 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 07:53 -!- AbuseOfNotation [~AbuseOfNo@217.151.98.168] has quit [Ping timeout: 246 seconds] 08:22 -!- reallll is now known as belcher 08:37 -!- Benjamin55Senger [~Benjamin5@ns334669.ip-5-196-64.eu] has joined #joinmarket 09:09 -!- AbuseOfNotation [~AbuseOfNo@217.151.98.168] has joined #joinmarket 09:50 -!- MaxSan [~four@45.162.228.171] has joined #joinmarket 09:58 -!- MaxSan [~four@45.162.228.171] has quit [Ping timeout: 246 seconds] 10:16 -!- MaxSan [~four@45.162.228.171] has joined #joinmarket 10:30 < technonerd> mint doesnt pull in all the deps it list them as recommended, yet 18.04 pulls it in just fine 10:30 < technonerd> Recommended packages: 10:30 < technonerd> libltdl-dev virtualenv python3-setuptools python3-wheel 10:39 -!- kristapsk [~KK@gateway/tor-sasl/kristapsk] has joined #joinmarket 11:28 -!- fishscallop [~fishguts@121-200-12-43.79c80c.syd.nbn.aussiebb.net] has joined #joinmarket 11:29 < fishscallop> Hi. I recently tumbled some coins using joinmarket. Installed it myself from the latest source. I seem to have lost a lot however! 11:30 < fishscallop> Looking at the documentation I expected the fees to be small, around five percent at most. But the amount I elected to be tumbled came out the other end 20% lighter. 11:30 -!- Benjamin55Senger [~Benjamin5@ns334669.ip-5-196-64.eu] has quit [Ping timeout: 268 seconds] 11:32 < fishscallop> Is this expected? If not, I am happy to provide any info that might help figure out what happened. Thanks. 11:32 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] could it be the miner fees ? They were sky-high the last week, and if the BTC amount you tumbled was less than say 0.5 BTC, they have a really big effect. The coinjoin fees are usually negligable, they should be well below 1% for a whole tumbling run 11:35 < fishscallop> I did the tumble within the last 12 hours. 11:35 < fishscallop> Yes it was less than 0.5 BTC. An order of magnitude less. 11:35 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] yeah, they currenlty are high as well. If you used the default of 3... thats 11:35 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] bitcoin-cli estimatesmartfee 3 11:35 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] { 11:35 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] "feerate": 0.00095732, 11:35 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] "blocks": 3 11:35 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] } 11:36 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] ~95000 sat/kbyte right now 11:36 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] a single coinjoin step in the tumbling run will probably be around 1.5-2 kbyte 11:37 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] so if you check your tumbling transaction on a blockexplorer, have a look at the bitcoin miner fees. I guess they explain 99% of the lost funds 11:38 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] there's a way to avoid this in the future, though. You can set the tx_fees parameter in your joinmarket.cfg file to a lowish value. On weekends, 2000-6000 sat/kbyte usually work well 11:38 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] the tumbling run might take longer then, but it will not cost you much to tumble. 11:39 < fishscallop> How do I get the tumbling transaction ID? There are multiple for each stage right? 11:39 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] i've written something related to this, in some more detail, here: https://old.reddit.com/r/joinmarket/comments/c6h1zy/builtinsvalueerror_calculated_transaction_fee_of/es8xtoh/ 11:40 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] you basically want the transaction ID of each tumbling step (each transaction) to look it up on a block explorer. I'm not sure how to get that, never used the tumbler myself yet - (ping belcher_ waxwing , maybe one of them is here. They should know) 11:42 < fishscallop> Oh I understand, check each transaction step individually. Okay I'll do that. Thanks. 11:45 < belcher> fishscallop you could get each tumbler step by using wallet-tool.py to get the wallet addresses and putting each of those into a blockchain explorer 11:45 < belcher> note that doing this with ruin your privacy 11:45 < belcher> another way to get the wallet history with wallet-tool.py's history method, then i think the flag --csv also prints out the txid of each transaction 11:47 < belcher> waxwing how does your python block parser work? 11:48 < belcher> you know theres that criterion by malte and the other guy saying joinmarket coinjoins connect to each other, it can really help reducing false positives according to them 11:49 < fishscallop> The miner fee is indeed high but is higher than I was charged. Is the fee split between the members of the coinjoin? 11:50 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] it's mostly paid by the Taker (e.g. the one running the tumbler). Some makers also chip in a few sats, but that is usually in the order of a few 100s maximum 11:53 < fishscallop> @belcher Thank you. 11:53 < fishscallop> @AgoraRelay Well it does roughly equal the fee I paid. 11:54 < fishscallop> I was intending to put the coins in a yield wallet (where they are now) and though I should tumble them first for privacy purposes (mine and others). 11:54 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] Yeah, sorry this happened to you. You can still tumble an order of magnitude cheaper, but it will require some patience and a change of your tx_fee settings in the joinmarket.cfg 11:54 < fishscallop> I have not made a bitcoin transaction in a while however and had no idea the fees could be so high. Last time I was shocked by the equivalent of five dollars in fees! This was an expensive mistake! 11:55 < fishscallop> Thanks AgoraRelay. I will do some more reading. Something I should have done before this experiment. 12:19 < waxwing> belcher, i'll sling it up on gist ... afair (wrote it a bit back) it should be the same algo as moser narayanan et al. 12:20 < waxwing> but i do agree it can be super sensitive to very tiny changes in algo. i'd guess there are a few false positives but i restrict to 3 party or more, so not too many. about false negatives i'm not sure, i don't think so. 12:25 < waxwing> belcher, https://gist.github.com/AdamISZ/639333568ad98f50354c933057ee32a4 12:26 < waxwing> belcher, oh i didn't read the rest of the sentence .. no certainly didn't use that 'connect to each other' part although i did not something else in the comments as you'll see. anyway it's very basic. 12:27 < waxwing> fishscallop, keep in mind that a coinjoin is like N transactions together. the Taker pays basically all of that, and unless you set bitcoin tx fees *very* low, that will be the vast majority of what you're paying; the coinjoin fees that you pay to other participants is generally significantly smaller. but yeah, rule of thumb, take whatever is a "normal" bitcoin tx fee today and multiply it by 6 or 7, that's likely what you'll pay for each coinjoi 12:28 < waxwing> lots of variables ofc, and most of them, you can control. 12:31 < waxwing> fishscallop, there was a pretty big warning about this here: https://github.com/JoinMarket-Org/joinmarket/wiki/Step-by-step-running-the-tumbler#before-going-further-a-few-words-on-fees 12:31 < waxwing> which you may have reached via here: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/tumblerguide.md#running-the-tumbler (or perhaps otherwise) 12:32 < waxwing> small amounts + tumbler + higher on-chain fee scenario = losing a lot percentage wise, we've had people experience tis before (principally in 2017, when a lot of people weren't paying attention to the fact that fees on-chain were rising dramatically trhough most of the year) 12:33 < fishscallop> Yes I did see that warning. I also knew that bitcoin miner fees can fluctuate. I just didn't think they could fluctuate up to $200! 12:33 < waxwing> AlexCato the txid of each tumbling step will be in logs/TUMBLE.log iirc, let me check 12:33 < fishscallop> To be clear I don't blame anyone here obviously. 12:33 < waxwing> fishscallop, $200 for one tx? or for tumbler as a whole? 12:33 < fishscallop> On the contrary I am very thankful this software is available. 12:33 < fishscallop> waxwing: As a whole 12:34 < waxwing> typically i can imagine it: 10 txs, $20 per tx with tx_fees in config set to `3` for example, and we are in a high-ish fee regime. 12:34 < waxwing> again the problem is you have to remember you're effectively paying for N txs at once. 12:35 < waxwing> various solutions include: using e.g. 5000 as the value of `tx_fees` would fix the sats/vbyte but may lead to long delays; set the `absurd_fee_per_kb` to something you're not willing to go above. 12:35 < waxwing> although iirc that second one is not a solution as it just quits the program, considers it an emergency condition. 12:37 < waxwing> AlexCato (and fishscallop if you're interested) yes it's logs/TUMBLE.log that records each tx that goes through, including the txid and some other basic info 12:38 < fishscallop> I'll set the tx_fees variable and do some more reading. Thanks. 12:40 < belcher> waxwing probably the main reason your script is so slow is because it uses the json-rpc getblock, which converts the block to json format and is very very slow, if you use zmq to get the raw block you can speed it up a lot 12:40 < waxwing> yeah on that point the basic idea is that any value > 144 is treated as sats/byte not confirmation target blocks. don't set it to less than about 1200 under any circumstances though, since it gets randomised by 20% to avoid watermarking. 12:40 < belcher> iv seen that advice mentioned a couple of times on #bitcoin, and just trying it myself getblock is sort of slow 12:41 < waxwing> belcher, thanks for the tip; i don't think so, i think it's the tx parsing code in jmbitcoin from the old days .. we're talking a long time here. i mean i just assume that, it's not like i have measured anything. 12:41 < waxwing> fishscallop, ... and to complete the thought, < 1000 is likely to not get propagated, so hence the above recommendation. 12:42 < fishscallop> My yield-generator-basic.py is saying "Failed to create offers, giving up." 12:42 < fishscallop> Is that okay? 12:43 < fishscallop> Surely not. I will look into if it can connect to Tor 12:43 < waxwing> usually means it can't find any coins to offer. 12:44 < waxwing> or, your settings are such that it can't make an offer range that makes sense. usually one of those. 12:44 < fishscallop> My settings are still the default. 12:44 < waxwing> wallet-tool is showing coins? 12:45 < waxwing> also, are they confirmed? 12:45 < fishscallop> minsize is over maxsize? 12:45 < fishscallop> Yes, with confirmed coins. 12:46 < waxwing> huh, not sure. anyone here use the *basic.py? 12:46 < waxwing> try yg-privacyenhanced.py ... just in case. settings at top of file again, there are comments. it's basically the same, just a bit smarter. 12:47 < waxwing> i mean obvs it shoudl work, so ... 12:49 < fishscallop> Ah, yg-privacyenhanced gives me some more info. "You do not have the minimum required amount of coins to be a maker: 1000000" 12:51 < waxwing> i think you could change that value at the top of the file 12:51 < waxwing> but it is kinda small, because note it'll get split up, too. 12:52 < fishscallop> Yeah. I'll have to move some more coins into the wallet. 12:52 < fishscallop> Another day though. Thanks for you help. 12:52 < fishscallop> Will likely check in. 13:10 -!- MaxSan [~four@45.162.228.171] has quit [Quit: Leaving.] 13:32 -!- belcher [~belcher@unaffiliated/belcher] has quit [Ping timeout: 245 seconds] 13:41 -!- belcher [~belcher@unaffiliated/belcher] has joined #joinmarket 13:59 -!- belcher [~belcher@unaffiliated/belcher] has quit [Ping timeout: 246 seconds] 14:03 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] Random idea to avoid tx_fee problems like this, or at least warn about them: from what I know about the tumbler, it creates its TX schedule before it even starts running. So it knows how many TXs are going to be there 14:03 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] we also can roughly estimate how much each TX is going to cost using the current joinmarket.cfg settings 14:03 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] so we could warn if the tx_fees are higher than some threshold % of the funds 14:06 -!- belcher [~belcher@unaffiliated/belcher] has joined #joinmarket 15:30 -!- MaxSan [~four@184.75.223.235] has joined #joinmarket 15:34 < waxwing> AlexCato thumbsup.jpg 15:36 < waxwing> it is very rough though, given the considerable variation in input numbers ... this relates to a point made a long time ago that we should really allow takers to decide based on that info. 16:06 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.5] 16:57 -!- MaxSan [~four@184.75.223.235] has quit [Ping timeout: 245 seconds] 17:14 -!- AgoraRelay [~jmrelayfn@p5DE4ACC0.dip0.t-ipconnect.de] has quit [Ping timeout: 245 seconds] 17:29 -!- AgoraRelay [~jmrelayfn@p5DE4ACE9.dip0.t-ipconnect.de] has joined #joinmarket 19:45 -!- kristapsk [~KK@gateway/tor-sasl/kristapsk] has quit [Remote host closed the connection] 19:46 -!- kristapsk [~KK@gateway/tor-sasl/kristapsk] has joined #joinmarket