--- Day changed Mon Oct 24 2016 00:00 -!- mkarrer [~mkarrer@7.red-83-47-85.dynamicip.rima-tde.net] has joined #joinmarket 00:16 -!- buckowski [buckowski@gateway/shell/elitebnc/x-tqgiqniwwaahsdvu] has joined #joinmarket 00:17 -!- mkarrer_ [~mkarrer@7.red-83-47-85.dynamicip.rima-tde.net] has joined #joinmarket 00:20 < waxwing> this morning it occurred to me: why not just complete (non-sweep) txs after timeout of non-responders, with those that did respond? (assuming at least 2 did). optionally of course, but this has two positives: 00:20 -!- mkarrer [~mkarrer@7.red-83-47-85.dynamicip.rima-tde.net] has quit [Ping timeout: 244 seconds] 00:20 < waxwing> one, simpler/less code impact two, will be far more robust in relatively low liquidity environment 00:21 < waxwing> of course it doesn't mean that the "intelligent maker choice" approach of getting as many as possible and evaluating them isn't good, i'm just looking for the most robust soln as of now 00:22 < waxwing> if you complete with whoever answered when some didn't respond in the fill-ioauth sequence, all that happens is your change output gets bigger since you didn't pay the fees to the nonresponders. 00:31 -!- gielbier [~michiel@unaffiliated/gielbier] has quit [Ping timeout: 245 seconds] 01:13 -!- Numin0us [~Numin0us@unaffiliated/numin0us] has joined #joinmarket 01:18 -!- Numin0us [~Numin0us@unaffiliated/numin0us] has quit [Ping timeout: 276 seconds] 03:14 -!- Numin0us [~Numin0us@unaffiliated/numin0us] has joined #joinmarket 03:19 -!- Numin0us [~Numin0us@unaffiliated/numin0us] has quit [Ping timeout: 276 seconds] 04:06 -!- Numin0us [~Numin0us@cpe-74-64-92-78.hvc.res.rr.com] has joined #joinmarket 04:06 -!- Numin0us [~Numin0us@cpe-74-64-92-78.hvc.res.rr.com] has quit [Changing host] 04:06 -!- Numin0us [~Numin0us@unaffiliated/numin0us] has joined #joinmarket 04:06 -!- Numin0us [~Numin0us@unaffiliated/numin0us] has quit [Client Quit] 05:12 < GithubBot5678> [joinmarket] AdamISZ opened pull request #646: Taker optionally completes non-sweep transactions with a subset of makers (master...completewithsubset) https://git.io/vPAUQ 05:14 < GithubBot5678> [joinmarket] AdamISZ opened pull request #647: initial draft allowing takers to optionally complete transactions wit… (develop...completewithsubset) https://git.io/vPAUA 05:15 < GithubBot5678> [joinmarket] AdamISZ closed pull request #646: Taker optionally completes non-sweep transactions with a subset of makers (master...completewithsubset) https://git.io/vPAUQ 05:17 < waxwing> comments on the above most welcome. i envisage people bumping their choice slightly e.g. from 5 to 6, anticipating losing 1 or 2, and probably having minimum_makers at 2, so that it is very unlikely for completion to fail, assuming they don't mind ending up with 2-5 instead of exactly 6 for example 05:21 < waxwing> i guess i am not being 100% clear about the difference between this and the other (adlai's) idea; they have an overlap but they are quite different; the taker-sophistication idea is more about disincentivizing badly economic behaving makers, such as those who run multiple bots against one (set of) utxos, and other smart taker choices. this (the above PR) is only about availability; making sure that the taker can complete a join one way or another eve 05:21 < waxwing> n in the presence of malicious non-responsive bots 05:36 -!- mr_burdell [~mr_burdel@unaffiliated/mr-burdell/x-7609603] has joined #joinmarket 05:38 -!- berndj-blackout [~berndj@mail.azna.co.za] has joined #joinmarket 05:39 -!- dserrano5 [~9dsd9s9da@dserrano5.es] has joined #joinmarket 05:39 -!- Pasha [~Cory@unaffiliated/cory] has joined #joinmarket 05:40 -!- bertani [~bertani@46.101.46.100] has joined #joinmarket 05:40 -!- deafboy_ [~deafboy@cicolina.org] has joined #joinmarket 05:40 -!- viasil_ [~viasil@198.12.75.25] has joined #joinmarket 05:40 < waxwing> boom, worked first time :) deliberately chose 2 malicious out of 6, got a 4 party tx (/me doxing myself a bit, meh who cares) 05:43 -!- Pilate_ [~pilate@pilate.io] has joined #joinmarket 05:43 -!- bad_duck [~arthur@area51.powaaa.com] has joined #joinmarket 05:43 -!- dee-vee_ [~dv@root-core.org] has joined #joinmarket 05:45 -!- Netsplit *.net <-> *.split quits: Guest13412, dee-vee, Cory, viasil, deafboy, bertani_, JM-IRCRelay, Pilate, kcud_dab, BonyM1, (+2 more, use /NETSPLIT to show all of them) 05:45 -!- Pilate_ is now known as Pilate 05:45 -!- Pilate is now known as Guest52809 05:46 -!- Pasha is now known as Cory 05:51 -!- BonyM1 [~BonyM-I@ua-83-227-211-4.cust.bredbandsbolaget.se] has joined #joinmarket 05:52 -!- Netsplit over, joins: JM-IRCRelay 05:58 < arubi> waxwing, I don't understand, doesn't it make spying easier? as an attacker, can you link the start of the process (which you intend to not complete) to the eventual cj with you missing? 06:01 < waxwing> arubi: at that point you only have a fill request, yes, you can know that a certain bot was going to do a coinjoin, but the extra data you get is pretty limited. i thought about this. 06:01 < waxwing> (1) if you fail to complete as-now, you get that info anyway, if the guy keeps on trying and 06:02 < waxwing> (2) you only get the revelation in !auth of a utxo, which is most likely one of the utxos in the inputs; but it's already true that Taker utxos can be isolated in the input set 06:03 < waxwing> what you probably weren't aware of (?) is that this is the first phase, in which Maker sends utxos to Taker before tx is constructed; in this case the malicious maker doesn't see the transaction itself 06:04 < waxwing> if a maker completes all the way to the end, and then doesn't sign, he does see the transaction of course; this is a different attack, which we're not currently seeing, but where it happens accidentally, the taker just has to start again from the beginning (this part is unchanged by PR) 06:05 < arubi> ah I see, no I wasn't aware. thanks that clears things up a lot 06:05 < waxwing> i have a suspicion that the reason the malicious bots are specifically stopping at !ioauth is because at that point they would have to non-repudiably sign a utxo. 06:06 < arubi> really should dive into jm docs.. every time I do I get sidetracked :) 06:07 < GithubBot5678> [joinmarket] AdamISZ pushed 2 new commits to develop: https://git.io/vPAmW 06:07 < GithubBot5678> joinmarket/develop fcc1c5e Martino Salvetti: Add command dumpprivkey 06:07 < GithubBot5678> joinmarket/develop 26efbdb Adam Gibson: Merge #645: Dumpprivkey... 06:08 < waxwing> the -docs repo is a bit out of date, but mostly still right at high level. the messaging-protocol doc in that repo is up to date, though 06:10 < arubi> cheers, (looking around) 06:40 < adlai> waxwing: hrm, i thought i was supposed to be working on that... looks like you're further along than i? have some resentful congratulations... :) 06:41 < adlai> the approach of making a smaller coinjoin instead is interesting from a resilience standpoint, although i'd suggest bumping the default number of participants if we do offer this recovery mechanism 06:42 * adlai looks finally at the dust issue 06:49 -!- Guest52809 [~pilate@pilate.io] has quit [Changing host] 06:49 -!- Guest52809 [~pilate@infoforcefeed/pilate] has joined #joinmarket 06:49 -!- Guest52809 is now known as Pilate 06:49 < waxwing> adlai: yes it's purely about resilience; and i did mention above i also anticipate people to bump their -Ns, but maybe leave it to them 06:50 < waxwing> as for the more advanced thing, i tried to do a simple version of it, and i got a long way, but i'm not PR-ing it. you can look at it if you want in my resist_dup_bots branch. it's kind of working but it's a much messier change, even with it being very dumb compared to your original vision 06:50 < adlai> eh, given that some fraction of participants are flaking, this patch would in practice reduce the size of purchased anonymity sets 06:50 < waxwing> the cost goes down if the N goes down 06:51 < waxwing> anyway afk but further thoughts would be great 06:56 < adlai> eh... purchasing the same size of anonymity set, in multiple smaller coinjoins, seems like it would cost more, because you pay more fees on tx metadata. but these are calculations scribbled on an imaginary napkin, so i may be wrong. 06:57 < adlai> it's definitely a smaller anonymity set if you do the same number of coinjoins 07:08 -!- berndj-blackout is now known as berndj 08:33 < waxwing> the correct comparison to make is between:(1) trying a tx with N, having it fail and burning a commitment, trying again, burning another one and then having to resort to some other measures, or (2) trying a tx with N, having it go through with N-2 and not buring excess commitments and having to find a new solution 08:34 < waxwing> and given that you can bump -N for safety if your concern is bigger anonymity sets, you can still get that win, and given that you can disable "completewithsubset", it's just optional, i don't see a substantial point here 08:34 < waxwing> the point is that JM is *right now* rather crippled for a broad class of users just due to having even 1 malicious maker in their chosen set 08:34 < waxwing> the "right now" part is important, it's why i am interested particularly in this solution as opposed to a much bigger, better, more sophisticated solution. 08:35 < waxwing> the patch is also extremely small; even smaller than it looks, since a bunch of lines that look edited are just indented in an if block. 08:36 -!- Giszmo1 [~leo@pc-40-227-45-190.cm.vtr.net] has quit [Quit: Leaving.] 08:49 -!- Giszmo [~leo@pc-40-227-45-190.cm.vtr.net] has joined #joinmarket 11:02 -!- Giszmo [~leo@pc-40-227-45-190.cm.vtr.net] has quit [Ping timeout: 260 seconds] 11:04 -!- rdymac_ [uid31665@gateway/web/irccloud.com/x-sfchgursjcjgrpbh] has quit [Quit: Connection closed for inactivity] 11:10 -!- Giszmo [~leo@pc-40-227-45-190.cm.vtr.net] has joined #joinmarket 11:31 -!- Iriez [wario@distribution.xbins.org] has left #joinmarket [] 12:32 -!- roasbeef_ is now known as roasbeef 14:08 -!- Socket_0x03 [~Socket_0x@c-66-176-87-156.hsd1.fl.comcast.net] has joined #joinmarket 14:32 -!- Socket_0x03 [~Socket_0x@c-66-176-87-156.hsd1.fl.comcast.net] has quit [Quit: Leaving] 15:04 < belcher> waxwing how is JM crippled because of the malicious bots? doesnt the timeout code work around them 15:08 -!- midnightmagic [~midnightm@unaffiliated/midnightmagic] has quit [Ping timeout: 258 seconds] 15:36 < adlai> automatic retries consume commitments, some percentage of users will consume all their commitments due to never picking a counterparty set that didn't include a flake 15:46 -!- molz [~molly@unaffiliated/molly] has joined #joinmarket 15:49 -!- moli [~molly@unaffiliated/molly] has quit [Ping timeout: 256 seconds] 15:57 < belcher> oh right 16:04 -!- midnightmagic [~midnightm@unaffiliated/midnightmagic] has joined #joinmarket 16:10 -!- midnightmagic [~midnightm@unaffiliated/midnightmagic] has quit [Ping timeout: 256 seconds] 16:24 -!- midnightmagic [~midnightm@unaffiliated/midnightmagic] has joined #joinmarket 16:32 -!- solace [h@wowana.me] has left #joinmarket [] 16:38 -!- gijensen [~gijensen@gijensen.xyz] has quit [Ping timeout: 256 seconds] 16:38 -!- K1773R [~K1773R@unaffiliated/k1773r] has quit [Ping timeout: 256 seconds] 16:43 -!- gijensen92 [~gijensen@gijensen.xyz] has joined #joinmarket 16:43 -!- K1773R_ [~K1773R@unaffiliated/k1773r] has joined #joinmarket 16:44 -!- viasil_ is now known as viasil 16:44 -!- Netsplit *.net <-> *.split quits: Guest67086, deafboy_, nkuttler, dserrano5 16:44 -!- Netsplit over, joins: Guest67086, deafboy_, dserrano5, nkuttler 16:44 -!- gijensen92 is now known as gijensen 16:44 -!- K1773R_ is now known as K1773R 16:46 -!- zmanian____ [sid113594@gateway/web/irccloud.com/x-qqujesaelcdtohed] has quit [Remote host closed the connection] 16:50 -!- zmanian____ [sid113594@gateway/web/irccloud.com/x-abzjglpinuplmtdd] has joined #joinmarket 17:53 -!- solace [h@wowana.me] has joined #joinmarket 19:51 -!- Giszmo [~leo@pc-40-227-45-190.cm.vtr.net] has quit [Quit: Leaving.] 20:05 -!- solace [h@wowana.me] has quit [Quit: FUCK GOD, FUCK RELIGION, AND FUCK YOU. I HATE YOU, I HATE YOUR COUNTRY, AND I HATE YOUR FACE!] 20:30 -!- shinobimonkey [~vagabond@108.59.8.142] has joined #joinmarket 21:58 -!- molz [~molly@unaffiliated/molly] has quit [Ping timeout: 256 seconds] 22:00 -!- moli [~molly@unaffiliated/molly] has joined #joinmarket 22:44 -!- jacurn [~justin@47.148.176.74] has quit [Remote host closed the connection] 23:13 < waxwing> to be fair i said 'rather crippled for a broad class of users' not 'crippled' 23:24 < waxwing> example: trying a tumbler where a large set of the transactions are in the 1-7 btc range; say liquidity is 15 real/ 5 fake and you're asking for 5 counterparties, their absoffer is very cheap, your chance of picking one of them is very high - your chance of completing a tumbler there is extremely small, even with 3 tries per utxo 23:25 < waxwing> or a user who set things up right with 3 utxos funding, having 9 tries, no network problems, but wanting say 7 counterparties, if in that range, may well find that they try again and again and it keeps failing; much more commonly they just have one utxo, try 3 times, and get stuck 23:27 < waxwing> i'm a bit surprised at the response to this suggestion to be honest belcher adlai .. it is simple and going to fix the problem we see *now* as described above, with a high probability, unless we are overwhelmed with malicious bots in which case the whole thing doesn't work anyway 23:40 -!- viasil_ [~viasil@198.12.75.25] has joined #joinmarket 23:42 -!- viasil [~viasil@198.12.75.25] has quit [Ping timeout: 265 seconds] 23:59 < waxwing> cgan seems to be somehow semi-down, i see only 32 in the pit and can't connect my ob-watcher