--- Log opened Mon Dec 20 00:00:06 2021 00:07 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 00:25 -!- jb55 [~jb55@S010660e327dca171.vc.shawcable.net] has quit [Ping timeout: 268 seconds] 01:05 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 01:06 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 01:07 -!- Guyver2 [~Guyver@guyver2.xs4all.nl] has joined #bitcoin-wizards 01:25 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 01:48 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has joined #bitcoin-wizards 02:03 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 02:04 -!- kexkey [~kexkey@static-198-54-132-153.cust.tzulo.com] has quit [Ping timeout: 256 seconds] 02:05 -!- kexkey [~kexkey@static-198-54-132-89.cust.tzulo.com] has joined #bitcoin-wizards 02:45 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 03:13 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 04:01 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 04:39 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 04:45 -!- Guyver2_ [Guyver@guyver2.xs4all.nl] has joined #bitcoin-wizards 04:48 -!- Guyver2 [~Guyver@guyver2.xs4all.nl] has quit [Ping timeout: 268 seconds] 04:48 -!- Guyver2_ is now known as Guyver2 05:04 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 05:27 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Quit: = ""] 05:36 -!- Leonard [~Administr@114.55.127.80] has joined #bitcoin-wizards 06:14 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 06:48 < roconnor> You could have some sort of timeAtHeight opcode, but you'd want to censor the last 100 blocks (by having it fail) for reorg safety. 07:09 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has quit [Ping timeout: 252 seconds] 07:28 < andytoshi> i agree on the usefulness of this (i have wanted it myself as well, though i can't remember why now) but not that the usefulness would outweigh making locktime parsing even more of a clusterfuck 07:28 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 07:40 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 07:41 < jeremyrubin> I'm assuming new locktimes semantics would go on the annex 08:00 < andytoshi> 08:02 < sipa> you could imagine an annex that permits 3 types of locktimes (a) "since confirmation of the spent output" (b) "add X blocks" (c) "add Y seconds", with certain permitted combinations of them 08:30 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 08:43 -!- deanguss is now known as DeanGuss 09:09 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 09:33 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Remote host closed the connection] 09:34 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 09:42 -!- jb55 [~jb55@S010660e327dca171.vc.shawcable.net] has joined #bitcoin-wizards 09:42 -!- jb55 [~jb55@S010660e327dca171.vc.shawcable.net] has quit [Changing host] 09:42 -!- jb55 [~jb55@user/jb55] has joined #bitcoin-wizards 10:07 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 10:18 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 10:28 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 10:56 -!- t-bast [~t-bast@user/t-bast] has joined #bitcoin-wizards 11:01 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 11:09 < jeremyrubin> i think it'd be interesting to make a study of what all the 'lock since event' events could be, what the cost of validating them would be ~today, what the cost could be in the future given UTREEXO or other things, the impact on 'reorgability', and then combinations of them... 11:10 < jeremyrubin> E.g., "lock since output X was spent" can actually be 'cheaply' validated with a <520 maximum byte witness of the merkle proof of that output's spend from an old header 11:11 < sipa> I don't think it's unreasonable to assume that full validators just have the full header tree. 11:12 < jeremyrubin> or even 'lock since any output paying addr K > x Sats' can do a lot of cool things 11:12 < sipa> And with that, I think all of these combinations are cheap. 11:12 < jeremyrubin> one thing that's neat about lock since output X was created is that covers things like OP_NOT_VALID_IN_REORG 11:12 < jeremyrubin> if you bind it to the coinbase TX 11:13 < jeremyrubin> (and maybe it can be optimized so that the coinbase txns merle proofs are cached always) 11:48 < andytoshi> (bringing some volvelle stuff (temporarily) into here, sorry to run over jeremyrubin's topics again) 11:49 < andytoshi> roconnor: has updated https://github.com/roconnor-blockstream/SSS32/tree/drawdiscs to put horizontal lines on the recovery disc, which conveniently connect symbols which add to 1, which conveniently are conjugate pairs of lagrange basis polynomials in the k=2 case 11:49 < andytoshi> i have updated sections 1.7 through 1.9 of https://github.com/apoelstra/SSS32/blob/2021-12--math-intro/volvelles/main.tex (commit f7de249e892f898920513cf6bfd65846c83040df) to try to explain all this convenience 11:50 < andytoshi> but honestly i don't understand it, it feels like a coincidence that these pairs are placed symmetrically like this 11:50 < andytoshi> and i doubt it's a coincidence :) 11:51 < sipa> Can you describe the "coincidence" mathematically, without me first needing to understand what the volvelles do? 11:53 < andytoshi> sipa: so, in the case k=2, you have two lagrange basis polynomials. when evaluated at the same value S, they add to one (because these polynomials are partitions of unity) 11:54 < sipa> S being the polynomial's variable? 11:54 < andytoshi> S is the x-value we evaluate at to compute our secret 11:55 < andytoshi> also, if you have some value gamma not equal to 1, then gamma/(1-gamma) and gamma^-1/(1-gamma^-1) add to one 11:55 < andytoshi> which you can verify by direct computation 11:55 < andytoshi> (maybe my signs are wrong here, i have been being sloppy because characteristic 2) 11:55 -!- BlueMatt [~BlueMatt@ircb.bluematt.me] has quit [Remote host closed the connection] 11:55 -!- BlueMatt [~BlueMatt@ircb.bluematt.me] has joined #bitcoin-wizards 11:55 < sipa> https://www.wolframalpha.com/input/?i=gamma%2F%281-gamma%29+%2B+%281%2Fgamma%29%2F%281-%281%2Fgamma%29%29 11:55 < sipa> -1 11:55 < andytoshi> :) ok, negate them 11:55 < andytoshi> thanksn 11:56 < andytoshi> now ... russell has created this "recovery slide chart" which you use to look up lagrange basis polynomials evaluated at S 11:56 < sipa> Same thing in char2. 11:56 < jeremyrubin> haha all good andytoshi 11:56 < andytoshi> and through a mess of algebra, you can find that all the symbols are of the form alpha^i/(alpha^i - 1) 11:56 < andytoshi> (i fixed the sign :P) 11:56 -!- ghost43_ [~ghost43@gateway/tor-sasl/ghost43] has joined #bitcoin-wizards 11:57 < andytoshi> so there is a line of symmetry, across which you get this formula for alpha^i and alpha^-i 11:57 < sipa> Can't every non-zero field element be written in the form alpha^i/(alpha^i - 1) ? 11:57 < andytoshi> sipa: every element but 1 :) 11:57 < andytoshi> which i also don't "understand" 11:58 < andytoshi> x -> x/(x-1) is a bijection of all the non-zero non-one elements, which is its own inverse 11:58 < sipa> x = alpha^i / (alpha^i - 1), for i!=0, can be written as alpha^i = x / (x - 1) 11:59 < andytoshi> ....putting these all together, you have this line of symmetry, and when you take elements on opposite sides of it, conveniently they add to 1. so if you are looking up lagrange basis polynomials for k=2, once you have one, there's a horizontal line you can follow (which russell drew) to get the other 11:59 < andytoshi> sipa: you can see that when x=1 you get a division by zero there (though you can just define the map to take 1 to 1) 11:59 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Ping timeout: 276 seconds] 11:59 < sipa> Right. 12:01 < andytoshi> this vaguely reminds me of algebraic geometry where you have these maps which are only locally defined, but on open sets such that they are compatible on the intersection of all these sets 12:02 < andytoshi> semi-relatedly -- i finished every exercise in my galois theory text yesterday. now i will work through a commutative algebra text, then a algebraic geometry text (the one by hartsthorne), then silverman's elliptic curve text 12:02 < andytoshi> and after all that i think i might be able to reason about all this shit 12:04 < roconnor> andytoshi: the other thing that makes the wheel work is that x*h/(x*h + y) = x/(x + y/h) 12:04 -!- geyaeb [~geyaeb@gateway/tor-sasl/geyaeb] has quit [Ping timeout: 276 seconds] 12:05 < andytoshi> what is h here? 12:06 < roconnor> or maybe I'd rather phrase this as (x/h) / (x/h + y) = x/(x + y*h) 12:06 -!- geyaeb [~geyaeb@gateway/tor-sasl/geyaeb] has joined #bitcoin-wizards 12:06 < roconnor> so in particular if you want to compute x/(x + h) instead of x/(x +1) it suffices to compute (x/h)/((x/h) + 1) 12:07 < andytoshi> ah yep i see what you're saying 12:07 < roconnor> which is something you can compute if by "sliding" the x input of a wheel over by i notches where h = alpha^i. 12:07 < andytoshi> yep 12:07 -!- rachelfish [~rachel@192.199.243.147] has quit [Ping timeout: 250 seconds] 12:08 -!- rachelfish [~rachel@192.199.243.147] has joined #bitcoin-wizards 12:11 < andytoshi> so i think these may be the same "coincidence" ... in my doc i describe this as "look, you can feed these values through a series of bijections and then your recovery wheel thing winds up looking like a multiplication" and the surprising coincidence is that these bijections exist 12:11 < andytoshi> they were not particularly motivated bijections, i basically just looked at the equations and wished the complicated parts away 12:16 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 12:16 -!- ryan-c [~ryanc@znc.rya.nc] has quit [Ping timeout: 256 seconds] 12:17 -!- yousser [~yousser@92.249.170.58] has joined #bitcoin-wizards 12:21 -!- ryan-c [~ryanc@znc.rya.nc] has joined #bitcoin-wizards 12:21 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 12:22 -!- t-bast [~t-bast@user/t-bast] has quit [Quit: Leaving] 12:25 < roconnor> I think the surprise is that x/(x + y) can be computed on a slide ruler. 12:29 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 12:29 < andytoshi> lol! yeah 12:31 < sipa> That sounds pretty incredible. 12:31 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 12:31 < andytoshi> though maybe not ... if r = x/(x+y) then r(x+y) = x ... which is linear in all variables 12:32 < andytoshi> maybe this generalizes to all mobius transformations being computable with a slide ruler? 12:33 < andytoshi> that somehow sounds more plausible, even though it's a generalization .. aand it lets us tie yet another crazy piece of mathematics into this ("lagrange basis polynomials are products of mobius transformations") 12:34 < andytoshi> hmm, maybe not, a general mobius transfarmation is x -> (Ax + B)/(Cx + D) ... there is no second variable in there 12:34 < andytoshi> but maybe if you vary any of the four constants, the result is computable with a slide ruler? 12:36 < roconnor> you can plot any 1-d function on a slide ruler. 12:36 < roconnor> so you can plot x/(x+1) 12:36 < roconnor> the trick here is that x/(x+y) = (x/y) / (x/y + 1) 12:36 < andytoshi> oo 12:37 < roconnor> so x/(x + y) is a function that only depends on the difference of the logarithms of x and y. 12:37 < roconnor> and sums/differences of logarithms is what slide rulers are all about ;) 12:38 < andytoshi> i like it a lot. ok, i "understand" now why x/(x+y) is computable with a slide ruler :) 12:38 -!- Guyver2 [Guyver@guyver2.xs4all.nl] has quit [Quit: Going offline, see ya! (www.adiirc.com)] 12:38 < andytoshi> though the horizontal-line thing still feels a bit like a coincidence. though less so 12:38 < roconnor> Right. so x * y is also computable by a slide ruler because it is a function that only depends on the sum of the logarithms of x and y. 12:39 < sipa> Or in other words: x/(x+y) = 1/(1+y/x) 12:39 < sipa> So it clearly only depends on y/x. 12:39 < andytoshi> yep 12:39 < roconnor> Right. I figured all this is really about the 1/(1 + x) function in secret. 12:39 < sipa> Oh, @roconnor already pointed that out above. 12:41 < andytoshi> ok, this is great, i can clean up all my bijection noise and just use this observation 12:44 < roconnor> There is still the bit where to get all this to work with (x + S)/(x + y) we take f(x, y) = x/(x + y) and instead evaluate it at f(x + S, y + S) 12:45 < andytoshi> i think that's generally true ... with correct signs etc the equation is f(x, y) = (x - S)/(x - y) = (x - S)/((x - S) - (y - S)) 12:46 < andytoshi> which makes sense, it's a horizontal shift of our coordinate system, which shouldn't affect anything about the shape of our polynomial 12:47 -!- dongcarl [~dongcarl@70.107.207.192] has joined #bitcoin-wizards 13:01 < andytoshi> ok, updated my main.tex with results of this discussion. i feel much more comfortable with the whole thing 13:05 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 13:05 < andytoshi> and updated the footnote to reflect a "good reason", in my view, for the horizontal line symmetry. i'm happy now, no more mysterious coincidences :) 13:37 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 14:21 -!- geyaeb [~geyaeb@gateway/tor-sasl/geyaeb] has quit [Remote host closed the connection] 14:22 -!- geyaeb [~geyaeb@gateway/tor-sasl/geyaeb] has joined #bitcoin-wizards 14:52 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Remote host closed the connection] 14:52 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 15:00 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 15:08 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 15:20 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 16:37 -!- otoburb [~otoburb@user/otoburb] has quit [Quit: leaving] 16:41 -!- otoburb [~otoburb@user/otoburb] has joined #bitcoin-wizards 17:31 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Remote host closed the connection] 17:32 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 18:01 -!- Guest46 [~Guest46@42.105.27.98] has joined #bitcoin-wizards 18:01 < Guest46> Hi 18:03 -!- Guest46 [~Guest46@42.105.27.98] has quit [Quit: Client closed] 18:07 -!- Guest4694 [~Guest46@42.105.27.98] has joined #bitcoin-wizards 18:22 -!- Guest4694 [~Guest46@42.105.27.98] has quit [Ping timeout: 256 seconds] 18:26 -!- Guest4621 [~Guest46@42.105.27.98] has joined #bitcoin-wizards 18:28 -!- Guest4621 [~Guest46@42.105.27.98] has quit [Client Quit] 18:50 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has joined #bitcoin-wizards 18:51 -!- ghost43_ [~ghost43@gateway/tor-sasl/ghost43] has quit [Quit: Leaving] 20:07 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has quit [Ping timeout: 240 seconds] 21:35 -!- geyaeb [~geyaeb@gateway/tor-sasl/geyaeb] has quit [Remote host closed the connection] 21:49 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 21:57 -!- jonatack [jonatack@user/jonatack] has quit [Ping timeout: 240 seconds] 22:03 -!- EmmyNoether [~EmmyNoeth@193.29.56.54] has quit [Remote host closed the connection] 22:03 -!- EmmyNoether [~EmmyNoeth@yoke.ch0wn.org] has joined #bitcoin-wizards 22:28 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 22:34 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 23:02 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 23:05 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 23:05 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has joined #bitcoin-wizards 23:08 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Read error: Connection reset by peer] --- Log closed Tue Dec 21 00:00:07 2021