--- Log opened Mon Aug 09 00:00:33 2021 00:03 -!- NorrinRadd [~username@173.239.197.66] has quit [Ping timeout: 258 seconds] 00:41 -!- waxwing [~waxwing@193.29.57.116] has quit [Changing host] 00:41 -!- waxwing [~waxwing@user/waxwing] has joined #joinmarket 01:45 -!- undeath [~undeath@user/undeath] has joined #joinmarket 02:14 -!- jonatack [~jonatack@user/jonatack] has quit [Quit: Client closed] 02:36 -!- stevenroose [~steven@2001:19f0:6801:83a:f54f:df1d:5be5:704b] has quit [Quit: ZNC 1.7.4 - https://znc.in] 02:36 -!- stevenroose [~steven@irc.roose.io] has joined #joinmarket 03:08 < waxwing> there is currently a very big back log of PRs for review/test/merge, but can i suggest that we freeze updates to master for 0.9.1 after i fix #976 03:08 < waxwing> belcher, undeath kristapsk ^ 03:09 < waxwing> my reason is we have important bugfixes (crash in that latter case, other ones are the ones already merge that fix various spending paths for timelocked utxos) 03:09 < waxwing> and send out 0.9.1 as a bugfix release over the weekend. 03:09 < waxwing> i'll do #976 now. 03:09 < waxwing> uhh "weekend", let's say like thursday. that's too long. 03:13 -!- jonatack [~jonatack@user/jonatack] has joined #joinmarket 03:27 < undeath> sounds good. 0.9.0 was a big feature release, so lets make 0.9.1 a bugfix release before introducing even more bugs 06:25 -!- undeath [~undeath@user/undeath] has quit [Ping timeout: 248 seconds] 06:52 -!- undeath [~undeath@user/undeath] has joined #joinmarket 07:49 -!- NorrinRadd [~username@102.67.16.112] has joined #joinmarket 08:39 -!- davterra [~davterra@143.198.56.186] has joined #joinmarket 11:05 -!- undeath [~undeath@user/undeath] has quit [Quit: WeeChat 3.1] 11:13 -!- kanzure_ is now known as kanzure 11:24 -!- dc81 [~dc81@99.164.139.170] has quit [Quit: ZNC 1.8.2 - https://znc.in] 11:56 -!- DeanGuss [~dean@user/deanguss] has quit [Remote host closed the connection] 11:57 -!- DeanGuss [~dean@nonplayercharacter.me] has joined #joinmarket 11:57 -!- DeanGuss [~dean@nonplayercharacter.me] has quit [Changing host] 11:57 -!- DeanGuss [~dean@user/deanguss] has joined #joinmarket 12:19 < xyy> "[hackint/Wukong1971] Hi, I..." <- https://gist.github.com/chris-belcher/87ebbcbb639686057a389acb9ab3e25b#time-locked-fidelity-bonds 12:19 * xyy uploaded an image: (40KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/exmUmaHbGAfciQoapyhSkKha/image.png > 12:20 < xyy> https://user-images.githubusercontent.com/8398185/113522360-c3a67b00-9597-11eb-9290-739dcf3cba2c.png 12:20 < xyy> the answer is: the bond value only drops after the lock expires 12:20 < xyy> that's good, the other option would have sucked 12:20 < JoinMarketRelay> [hackint/Wukong] (y) 12:21 < xyy> but you have a point, it's not explained clearly in the main fidelity bond readme ... should have been explained 12:22 < xyy> "sounds good. 0.9.0 was a big..." <- are there any bugs that people should be aware of? 12:23 < xyy> or nothing critical? waxwing waxwing_ belcher belcher_ 12:25 < xyy> JoinMarketRelay: it's interesting though that there's this exponential drop instead of an immediate drop ... you basically get another year of useful bond value for free, but you have full optionality to withdraw at any time 12:25 < xyy> I guess the thinking, "the sacrifice has already been made" 12:25 < xyy> * I guess the thinking is, "the sacrifice has already been made" 12:27 -!- dc81_ [~dc81@96.44.145.26] has joined #joinmarket 12:27 < xyy> would be great if someone could explain this design choice. 12:29 < xyy> Intuitively something like "people get an extra two weeks in case they're on vacation and can't immediately redeposit the bond" would make sense to me 13:35 < JoinMarketRelay> [hackint/Wukong] Now the coin is free to be put in an interest-bearing account again, but the old sacrifice has still happened. By the arbitrage principle the possible interest payments must be taken away from the fidelity bond value until it reaches zero. 13:35 < JoinMarketRelay> [hackint/Wukong] ^ from the doc you shared link above. 13:36 -!- NorrinRadd [~username@102.67.16.112] has quit [Ping timeout: 248 seconds] 13:36 < xyy> but does that explain why it takes 2 years to go to zero? 13:38 < JoinMarketRelay> [hackint/Wukong] Yes, because the sacrificed value is deducted at the same interest rate. 13:39 < JoinMarketRelay> [hackint/Wukong] So for those two years the fund was locked, the value of the bond is the sacrificed 2 years interest value. 13:39 < JoinMarketRelay> [hackint/Wukong] And it will take the same two years to deduct the sacrificed value back to 0. 13:40 < JoinMarketRelay> [hackint/Wukong] I think, that means, if you lock your fund for 1 year, it'll decrease to 0 in 1 year as well after the lock is expired. 13:41 -!- NorrinRadd [~username@154.6.20.15] has joined #joinmarket 13:41 < xyy> I guess I need to read all of the link that I shared, because it still doesn't click 14:40 < JoinMarketRelay> [hackint/JamesFidelityBOND] Hi, noob question, I cannot watch the orderbook without bitcoin full node? ob-watcher.py complains JSON-RPC connection refused. 14:41 < xyy> there are several public order book watcher instances 14:41 < xyy> you can find one of those ... I'd guess linked somewhere on Github 14:41 < JoinMarketRelay> [hackint/JamesFidelityBOND] Yes, i found it but it didnt include the v9 version yet 14:42 < JoinMarketRelay> [hackint/JamesFidelityBOND] I was looking for the fb values. at least last I checked it did not upgrade the obwatcher to v.9 14:42 < JoinMarketRelay> [hackint/JamesFidelityBOND] V.0.9* sorry 14:45 < xyy> @JamesFidelityBOND ... here's a screenshot for you 14:46 < JoinMarketRelay> [hackint/JamesFidelityBOND] Ok? Im in plaintext irc :) 14:47 * xyy uploaded an image: (451KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/dugJGvcDmqnYKNQIImwCNVSm/image.png > 14:47 < JoinMarketRelay> [hackint/JamesFidelityBOND] Ty 14:47 < xyy> chill ... just had to quadruple check that it doesn't leak information haha 14:47 < xyy> I ordered by bond value 14:47 < JoinMarketRelay> [hackint/JamesFidelityBOND] Oh wow, so we got one big whale? 14:48 < JoinMarketRelay> [hackint/JamesFidelityBOND] But interesting to see just few dozens of fb makers yet. since it is not that long released. 14:49 < xyy> yes there is one really big guy ... I'm not sure how the selection mechanism works exactly, but he/she probably gets a TON of volume 14:49 < JoinMarketRelay> [hackint/JamesFidelityBOND] This one single value is 50x larger than the secondary largest 🤔 14:50 * xyy uploaded an image: (395KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/KqtvSqoYWOXmyqbrWxlUCqgo/image.png > 14:50 < xyy> another one 14:51 < xyy> so that person locked 12.6 btc for 3 years ..... and offers up to ~80 BTC joins 14:51 < JoinMarketRelay> [hackint/JamesFidelityBOND] Ok, good luck doing coinjoin through all mixdepth with the same single whale for next 3 years. suspicious. not complaining. perhaps the situation changes once more makers upgrades. 14:53 < xyy> yup I'm sure this can be used in heuristics. 14:53 < JoinMarketRelay> [hackint/JamesFidelityBOND] Sounds mad :D 14:53 < xyy> I'm also afraid that the fidelity bonds will force some people to reduce their number of mixdepths (so they have more funds per mixdepth) 14:54 < xyy> lots of implications .. life's tough 14:55 * xyy uploaded an image: (370KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/OLRAQzILxGsERCrcIUxDhJHv/image.png > 14:55 < xyy> sorted it for you 14:56 < JoinMarketRelay> [hackint/JamesFidelityBOND] If I look at this table, I guess, I would'nt even think of locking any coins of below <0.02 BTC to become selected as maker 14:56 < xyy> so how does selection work? I only know that 1/8 of makers are chosen randomly, right, but what about the 7/8? is it just strict rank order? 14:57 < xyy> that would be terrible 14:57 < JoinMarketRelay> [hackint/JamesFidelityBOND] Weigthed by value, except the 1 out of 8 non FB makers? 14:57 < JoinMarketRelay> [hackint/JamesFidelityBOND] So, if I lock less, I have less chances as no lockings? 14:58 < JoinMarketRelay> [hackint/JamesFidelityBOND] If I lock less or equal than the lower bonds 14:58 < JoinMarketRelay> [hackint/JamesFidelityBOND] Getting less chance than no fb at all? 🤔 14:59 * xyy < https://libera.ems.host/_matrix/media/r0/download/libera.chat/2f819ee56ba72acc631235a03ab5c0befb54afe5/message.txt > 14:59 < xyy> so the default is "-F" .. but doesn't explain how exactly it works .. gotta check the code. 14:59 < JoinMarketRelay> [hackint/JamesFidelityBOND] Honestly I can't think of any market competition for that current whale for next time. 15:00 < xyy> yup `anonset--` 15:01 < xyy> that dude can max out his fees and still get a good number of joins 15:01 < JoinMarketRelay> [hackint/JamesFidelityBOND] Https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/d6a6fc30942d743c3402eb801cad7a3fe2df2d6c/jmclient/jmclient/support.py#L222-L241 15:01 < JoinMarketRelay> [hackint/JamesFidelityBOND] I don't think someone like that care about any fees? 15:01 < JoinMarketRelay> [hackint/JamesFidelityBOND] Except, maybe relativefees could be quite high for those amounts 15:02 < xyy> yes this is what I mean... they can use an upper percentile relative fee and still be chosen very often ... as long as they are not too high 15:02 < JoinMarketRelay> [hackint/JamesFidelityBOND] If I have enough spare coins for locking that long years, I wouldn't care about earning some fees 15:02 < xyy> but still nice to have, why not take free money 15:02 < xyy> ;-) 15:05 < xyy> max offer is ~80 BTC so let's say they have ~300 BTC total across mixdepths ... even if they make just 0.1%, that's still nice 15:06 < JoinMarketRelay> [hackint/JamesFidelityBOND] Holy 15:08 < JoinMarketRelay> [hackint/JamesFidelityBOND] Nope, they aasking for "only" 0.0019"% if I check screens again from the first sorted 15:08 < xyy> I mean 0.1% annualized 15:08 < belcher> my main motivation with the "fidelity bond value decays exponentially after it becomes unlocked" was miner fees, that slow decay gives people a lot of time to spend the coins into another timelocked address slowly, because it can be slow they dont need to pay a huge miner fee 15:08 < JoinMarketRelay> [hackint/JamesFidelityBOND] Defaults 15:08 < JoinMarketRelay> [hackint/JamesFidelityBOND] Ok, I got you 15:09 < belcher> regarding the one whale with a huge fidelity bond, they still cant unmix any coinjoins because its just _one_ maker, to unmix a coinjoin you need to be _all_ the makers 15:10 < xyy> but that person could be identified somehow, which would reduce the anonset of most joinmarket activity going forward, right? 15:10 < belcher> JamesFidelityBOND you can use ob-watcher without a full node by setting in the joinmarket.cfg file the option `blockchain_source = no-blockchain` 15:10 < belcher> maybe its not `no-blockchain` but something else, i forgot, but in the comments in the .cfg file it says 15:11 < belcher> the bitcoin full node is just needed to verify that the fidelity bond UTXO actually exists, the ob-watcher can work without it just by trusting 15:11 < JoinMarketRelay> [hackint/JamesFidelityBOND] Ohh, ty! will try 15:13 < xyy> sorry big whale that we're putting you in the spotlight. it's not personal, just curiosity, hehe 15:13 < JoinMarketRelay> [hackint/JamesFidelityBOND] Its correct. overlooked the docs. its all mentioned there sorry. https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/orderbook.md#configuration 15:14 < JoinMarketRelay> [hackint/JamesFidelityBOND] :> 15:16 < xyy> I hope the whales mixed their bond money well ... I'd probably keep using the random/weighted selection algo for a bit longer until more whales show up 15:26 < belcher> why xyy ? the fidelity bond thing provides a lot of resistance to sybil attacks even today 15:32 < gene> what's the minimum time + amount for a fidelity bond? 15:34 < belcher> minimum time is about 1 month 15:34 < belcher> there is no minimum amount i can think of... i guess miner fees set a practical minimum 15:35 < gene> ok, yeah I was just thinking about one possible downside being the exclusion of small makers if opportunity/real cost was prohibitive 15:35 < gene> doesn't seem like it is 15:55 -!- openoms_ [~quassel@gateway/tor-sasl/openoms] has quit [Remote host closed the connection] 15:56 -!- openoms [~quassel@gateway/tor-sasl/openoms] has joined #joinmarket 16:00 < qubenix> i don't really understand the interest_rate. how does it affect my timelocked output? why not set it really high to get a higher score? 16:02 < belcher> a maker could set it to a really high interest rate if they wanted, but takers are likely to keep the default value 16:02 < belcher> interest_rate affects the fidelity bond created from the timelocked output because interest_rate calculates how big of a sacrifice locking the coin for a certain time period is 16:04 < qubenix> oh, so takers will value my bond based on their interest_rate setting? 16:12 < belcher> qubenix yes 16:13 < qubenix> well that's makes much more sense then. ty belcher 16:18 -!- test65 [~test@ip70-177-97-204.ok.ok.cox.net] has joined #joinmarket 16:19 -!- test65 [~test@ip70-177-97-204.ok.ok.cox.net] has quit [Client Quit] 17:06 -!- jonatack [~jonatack@user/jonatack] has quit [Quit: Client closed] 17:27 < xyy> you can basically choose how much opportunity cost you think other people have... but yeah in practice people will just keep the default 17:28 < xyy> "why xyy ? the fidelity bond..." <- my paranoid thinking was, what if they analytics bros started tracking down the people behind the highest value bonds and managed to compromise them ... they are very high value targets because they will participate in virtually all joins 17:28 < xyy> so every large bond maker that you compromise means a reduction in anonset 17:29 < xyy> so you better hope that the bonds can't be traced to a person 17:29 < xyy> 17:32 < xyy> so yes, it has become more expensive to launch XX makers and capture enough join volume for an effective sybil ... but in theory it has become much easier to sabotage joinmarket by compromising honest makers (given it is more predictable who really matters) 17:35 < xyy> thus I'm wondering, should we maybe pick a much higher percentage of makers randomly vs. based on their bonds. but I probably spent the least time thinking through everything, so not sure. 17:36 < JoinMarketRelay> [hackint/JJXXZZ] this! 17:39 < xyy> maybe everything will look much more homogenous once more people have upgraded to 0.9.0 ... but right now the bond distribution it seems somewhat scary to me 17:44 < xyy> another idea would be to have a dynamic selection function that gives more weight to the bond values (vs. random selection) if the bondholder distribution is more homogeneous ... it would then likely stabilize at some point when most people have upgraded 17:46 < xyy> you could even try to adjust for outliers in the distribution, but that might get a bit pseudo-scientific and subjective 17:47 < xyy> (aka not fair) 18:15 -!- JMBridge [~CoinJoins@gateway/tor-sasl/jmbridge] has quit [Ping timeout: 244 seconds] 18:25 -!- BUSY [~BUSY@user/busy] has quit [Ping timeout: 272 seconds] 18:25 -!- BUSY [~BUSY@user/busy] has joined #joinmarket 19:39 -!- JMBridge [~CoinJoins@gateway/tor-sasl/jmbridge] has joined #joinmarket 20:34 < JoinMarketRelay> [hackint/JJXXZZ] friends, seems we scared the poor whale ... the August-2024 bond is now gone? can't see it in obwatch. Or maybe they realized that the formula might change if they play it too hard. 20:36 < JoinMarketRelay> [hackint/JJXXZZ] will probably go back online once more people have added bonds ;-) ... because what do you do with 12.6 ETH that are locked up for 3 years 20:37 < JoinMarketRelay> [hackint/JJXXZZ] sorry that insult was unintentional. Was just reading something about ETH mining capacity moving ;-) 20:42 < JoinMarketRelay> [hackint/JJXXZZ] tl;dr: still gotta move carefully if you're the guy with the 400 BTC 20:44 < xyy> shrug 21:10 -!- openoms_ [~quassel@gateway/tor-sasl/openoms] has joined #joinmarket 21:10 -!- openoms [~quassel@gateway/tor-sasl/openoms] has quit [Ping timeout: 244 seconds] 21:40 -!- belcher_ [~belcher@user/belcher] has joined #joinmarket 21:44 -!- belcher [~belcher@user/belcher] has quit [Ping timeout: 256 seconds] 22:02 < JoinMarketRelay> [hackint/curious] 2024-08-01 bond is still alive, you need to refresh your ob-watcher by clicking on "Check for timed-out counterparties" 22:28 -!- NorrinRadd [~username@154.6.20.15] has quit [Ping timeout: 268 seconds] 22:31 -!- NorrinRadd [~username@154.6.20.240] has joined #joinmarket --- Log closed Tue Aug 10 00:00:34 2021