--- Day changed Sat Oct 26 2019 00:50 -!- CgRelayBot [~CgRelayBo@p54866D78.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 00:51 -!- AgoraRelay [~jmrelayfn@p54866D78.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 00:55 -!- CgRelayBot [~CgRelayBo@p5486663E.dip0.t-ipconnect.de] has joined #joinmarket 00:59 -!- AgoraRelay [~jmrelayfn@p5486663E.dip0.t-ipconnect.de] has joined #joinmarket 02:36 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 04:01 < CgRelayBot> [cgan/Elon_Muslim] pew pew 04:04 -!- belcher [~belcher@unaffiliated/belcher] has joined #joinmarket 06:56 < waxwing> belcher, i'm thinking to start review by re-reading that gist. does it still describe what you've done, or have there been changes? 06:57 < belcher> its still describes what iv done 06:58 < belcher> the only difference is that the wait time is still exponential distributed instead of being changed to uniform distributed 07:00 < waxwing> belcher, oh. why's that? i was pretty convinced that was a good change. 07:01 < belcher> In theory uniform leaks information that possion doesn't. 07:01 < belcher> im not convinced 100% either way really 07:01 < belcher> dont mind changing it to uniform after a discussion 07:02 < waxwing> interesting, is it somehow because uniform allows the observer to estimate an average or a range, or something? 07:02 < waxwing> but my question is only academic, ofc no problem just leaving it and possibly changing it later after further thought. 07:03 < belcher> exponential distn arises from a poisson process which means every time interval has an equal chance of having a coinjoin happen in it 07:03 < waxwing> oh i just saw it in the comments, right. 07:03 < belcher> thats the theory anyway, im not really sure how it would work in practice 07:03 < belcher> bitcoin transactions arent perfect poissonly distributed anyway, they have day-night and days-of-the-week cycles for example 07:04 < belcher> i was just thinking that one day there might some statistics/ML/AI algorithm which somehow makes use of the small amount of information from a uniform distribution 07:27 < waxwing> you know the more i think about it, the more i come to the conclusion that the right way to use a system like joinmarket is role-oscillation (or randomization). 07:34 < belcher> what do you mean by role-oscillation 07:39 < waxwing> maker-taker changes. how about this: if you make a pure sequence of JM type, with-change, equal output style coinjoins, with each cjout being the input for the next, the only delinking effect is in the last cjout, *if* you can assume that makers never become takers. 07:40 < waxwing> unless makers reuse their cjouts in the succeeding joins (and as you pointed out in the gist, that is a very real effect). 07:43 < waxwing> btw i met J from ny bitdevs in berlin, i only then found out they have a repository for the links of their meetings: https://bitdevs.org/ 07:43 < belcher> does that also assume an observer can tell which cjouts belong to makers and which belong to takers? 07:45 < waxwing> well i'm saying in that simple linear sequence case, you correlate the intermediate cjouts as belonging to the original taker, because they get spent in the next transaction, in the taker role (you always know which inputs are takers, modulo the point above) 07:46 < waxwing> so it depends on: makers cjouts not also being used together-with, and also depends on: only one takers, makers never switch to taker role. 07:46 < waxwing> (slight technical correction: it's about who gets paid, which is != 'maker role' necessarily, but let's say) 07:47 < belcher> an observer cant always tell which inputs are takers or makers, the moser paper wasnt able to for about 33% of the txes they looked at 07:47 < waxwing> yeah i said above 'as you pointed out in the gist' 07:49 < belcher> sorry im confused then, what problem is solved by role-oscillation then? 07:49 < waxwing> it removes the assumption that the taker in tx1 is the same entity as the taker in tx2 (in a simple linear sequence, trying to limit the analysis as much as possible). 07:50 < waxwing> most specifically, it needs to be unsafe to assume that makers never become takers. i think that's the right way to characterize it. 07:50 < waxwing> well 'needs to' .. let's just say, it would help a lot! 07:55 < waxwing> a bit silly but i'm finding colour coded diagrams like this useful to think about it: https://i.imgur.com/A2aPPhr.jpg 07:55 < belcher> but does that matter if its not always possible for an observer to figure out which inputs/outputs belonged to a taker? 08:01 < belcher> the trouble with makers sometimes being takers is its not incentive compatible; in the original vision of joinmarket makers were hodlers who wanted to earn interest and takers wanted to transact privately, hodlers dont transact much by definition 08:01 < belcher> sure you'd sometimes get makers becoming takers, because the two roles often exist within the same person, but you cant count on it 08:02 < belcher> (the two roles of saver and transactor i mean) 08:33 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.6] 09:06 < waxwing> belcher, re: "but does that matter if its not always possible for an observer to figure out which inputs/outputs belonged to a taker". i can't quite see what you're getting at; obviously taker inputs are identifiable (in general - not always), isolated to a specifc transaction. as for outputs, i mean, again are we talking in 1 transaction (which is pretty easy to analyze as we have), or in general, or in my specific constructed case of a sequence 09:06 < waxwing> with only cjouts respent? 09:11 < belcher> if i understand right: you say that given a bunch of interconnected coinjoins its always possible to figure out which inputs belonged to a taker, and because the coinjoins are connected from that its possible to figure out which outputs are the takers, you say because of this we need makers to sometimes act like takers, but i reply that actually its not always possible to figure out which inputs belonged to the taker (but that seems obvious so 09:11 < belcher> i must be missing something) 09:14 < waxwing> belcher, oh ok. so 'it isn't always obvious' = you're referring to when subset sum doesn't work (and after that using the 'taker paid, makers didn't' reasoning)? 09:15 < belcher> yes 09:16 < waxwing> oh sure, no doubt. so let's say you're doing a pessimistic analysis and you're assuming that doesn't happen (i think you mentioned a 33% figure, but let's just say that for some reason it isn't happening) 09:17 < belcher> for what reason would it not happen? 09:19 < belcher> yes if it was not happening then joinmarket could be easily broken 09:20 < belcher> well not "easily" more like "possibly" 09:21 < waxwing> hmm that doesn't sound quite right to me, i need to think about this a bit more. 11:57 -!- reallll [~belcher@unaffiliated/belcher] has joined #joinmarket 12:01 -!- belcher [~belcher@unaffiliated/belcher] has quit [Ping timeout: 264 seconds] 12:04 -!- reallll is now known as belcher 12:08 -!- CgRelayBot [~CgRelayBo@p5486663E.dip0.t-ipconnect.de] has quit [Ping timeout: 250 seconds] 12:08 -!- AgoraRelay [~jmrelayfn@p5486663E.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 12:22 -!- CgRelayBot [~CgRelayBo@p5486686F.dip0.t-ipconnect.de] has joined #joinmarket 12:25 -!- AgoraRelay [~jmrelayfn@p5486686F.dip0.t-ipconnect.de] has joined #joinmarket 13:23 -!- belcher [~belcher@unaffiliated/belcher] has quit [Quit: Leaving] 13:53 -!- qubenix [~qubenix@66.172.11.228] has quit [Quit: quit] 13:54 -!- qubenix [~qubenix@66.172.11.228] has joined #joinmarket 18:08 -!- AgoraRelay [~jmrelayfn@p5486686F.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 18:09 -!- CgRelayBot [~CgRelayBo@p5486686F.dip0.t-ipconnect.de] has quit [Ping timeout: 268 seconds] 18:18 -!- CgRelayBot [~CgRelayBo@p5DE4A0B1.dip0.t-ipconnect.de] has joined #joinmarket 18:20 -!- AgoraRelay [~jmrelayfn@p5DE4A0B1.dip0.t-ipconnect.de] has joined #joinmarket 18:36 -!- AgoraRelay [~jmrelayfn@p5DE4A0B1.dip0.t-ipconnect.de] has quit [Ping timeout: 246 seconds] 18:36 -!- CgRelayBot [~CgRelayBo@p5DE4A0B1.dip0.t-ipconnect.de] has quit [Ping timeout: 240 seconds] 18:50 -!- CgRelayBot [~CgRelayBo@p5DE4A9D5.dip0.t-ipconnect.de] has joined #joinmarket 18:52 -!- AgoraRelay [~jmrelayfn@p5DE4A9D5.dip0.t-ipconnect.de] has joined #joinmarket 22:48 -!- AgoraRelay [~jmrelayfn@p5DE4A9D5.dip0.t-ipconnect.de] has quit [Ping timeout: 265 seconds] 22:48 -!- CgRelayBot [~CgRelayBo@p5DE4A9D5.dip0.t-ipconnect.de] has quit [Ping timeout: 268 seconds] 23:05 -!- CgRelayBot [~CgRelayBo@p5DE4A76C.dip0.t-ipconnect.de] has joined #joinmarket 23:05 -!- AgoraRelay [~jmrelayfn@p5DE4A76C.dip0.t-ipconnect.de] has joined #joinmarket