--- Log opened Sat May 09 00:00:15 2020 00:03 -!- zmnscpxj_ [~zmnscpxj@gateway/tor-sasl/zmnscpxj] has joined #bitcoin-wizards 00:20 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has joined #bitcoin-wizards 00:38 -!- justan0theruser [~justanoth@unaffiliated/justanotheruser] has quit [Ping timeout: 252 seconds] 00:39 -!- go11111111111 [~go1111111@104.156.98.86] has joined #bitcoin-wizards 00:43 -!- go121212 [go1111111@gateway/vpn/privateinternetaccess/go1111111] has quit [Ping timeout: 272 seconds] 01:02 -!- Dizzle [~Dizzle@unaffiliated/dizzle] has quit [Quit: Leaving...] 01:10 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has quit [Quit: Leaving.] 01:22 -!- TheoStorm [~TheoStorm@host-p8vu8h.cbn1.zeelandnet.nl] has joined #bitcoin-wizards 01:41 -!- TheoStorm [~TheoStorm@host-p8vu8h.cbn1.zeelandnet.nl] has quit [Quit: Leaving] 01:47 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 240 seconds] 01:56 -!- marcoagner [~user@2001:8a0:6a5f:a900:6d3e:1158:b50:97b6] has joined #bitcoin-wizards 02:00 -!- EricFisher [~EricFishe@84.39.116.180] has quit [] 02:00 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has quit [Remote host closed the connection] 02:00 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has joined #bitcoin-wizards 02:05 -!- justan0theruser [~justanoth@unaffiliated/justanotheruser] has joined #bitcoin-wizards 02:13 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 02:20 -!- Azor [~Azor@84.39.116.180] has joined #bitcoin-wizards 02:46 -!- justan0theruser [~justanoth@unaffiliated/justanotheruser] has quit [Ping timeout: 240 seconds] 03:15 -!- justan0theruser [~justanoth@unaffiliated/justanotheruser] has joined #bitcoin-wizards 03:20 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has joined #bitcoin-wizards 03:37 -!- AaronvanW [~AaronvanW@unaffiliated/aaronvanw] has joined #bitcoin-wizards 03:39 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 03:39 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has joined #bitcoin-wizards 03:44 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has quit [Ping timeout: 260 seconds] 03:50 -!- riclas [~riclas@77.7.37.188.rev.vodafone.pt] has joined #bitcoin-wizards 03:56 -!- TurquoiseEvents [~textual@2600:1700:fc60:2d30:705a:c404:1c29:e381] has joined #bitcoin-wizards 04:18 -!- DeanWeen [~dean@gateway/tor-sasl/deanguss] has joined #bitcoin-wizards 04:19 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has quit [Ping timeout: 240 seconds] 05:00 -!- Azor [~Azor@84.39.116.180] has quit [] 05:00 -!- CryptoDavid [uid14990@gateway/web/irccloud.com/x-vvhwlqbwjpnchthh] has joined #bitcoin-wizards 05:03 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has joined #bitcoin-wizards 05:09 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has quit [Ping timeout: 256 seconds] 05:21 -!- rektide1 [~rektide@84.39.116.180] has joined #bitcoin-wizards 05:26 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has joined #bitcoin-wizards 05:41 -!- TurquoiseEvents [~textual@2600:1700:fc60:2d30:705a:c404:1c29:e381] has quit [Ping timeout: 252 seconds] 06:23 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has joined #bitcoin-wizards 06:28 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has quit [Ping timeout: 256 seconds] 06:37 -!- fiatjaf [~fiatjaf@2804:7f2:2a84:199d:ea40:f2ff:fe85:d2dc] has quit [Ping timeout: 256 seconds] 06:45 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has quit [Quit: jonatack] 06:46 -!- TurquoiseEvents [~textual@2600:1700:fc60:2d30:85c4:516e:3a26:e38d] has joined #bitcoin-wizards 06:57 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined #bitcoin-wizards 06:57 -!- Guyver2 [Guyver@guyver2.xs4all.nl] has joined #bitcoin-wizards 07:02 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 240 seconds] 07:21 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has joined #bitcoin-wizards 07:25 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has quit [Ping timeout: 246 seconds] 07:26 -!- TurquoiseEvents [~textual@2600:1700:fc60:2d30:85c4:516e:3a26:e38d] has quit [Ping timeout: 252 seconds] 07:44 -!- peterrizzo [~peterrizz@ool-44c18924.dyn.optonline.net] has joined #bitcoin-wizards 07:52 -!- peterrizzo [~peterrizz@ool-44c18924.dyn.optonline.net] has quit [Quit: peterrizzo] 07:54 -!- peterrizzo [~peterrizz@ool-44c18924.dyn.optonline.net] has joined #bitcoin-wizards 08:00 -!- rektide1 [~rektide@84.39.116.180] has quit [] 08:00 -!- Aranjedeath [~Aranjedea@unaffiliated/aranjedeath] has quit [Quit: Three sheets to the wind] 08:13 -!- son0p [~son0p@181.136.122.143] has joined #bitcoin-wizards 08:17 -!- proofofkeags [~proofofke@174-29-9-247.hlrn.qwest.net] has joined #bitcoin-wizards 08:20 -!- DeanWeen [~dean@gateway/tor-sasl/deanguss] has quit [Remote host closed the connection] 08:20 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has joined #bitcoin-wizards 08:21 -!- grafa [~grafa@37.120.203.188] has joined #bitcoin-wizards 08:23 -!- fiatjaf [~fiatjaf@2804:7f2:2a81:6c39:ea40:f2ff:fe85:d2dc] has joined #bitcoin-wizards 09:03 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has quit [Remote host closed the connection] 09:03 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has joined #bitcoin-wizards 09:09 -!- peterrizzo [~peterrizz@ool-44c18924.dyn.optonline.net] has quit [Quit: peterrizzo] 09:19 -!- shush [~pawn@2605:e000:1c02:c564:854:3d67:c6d4:f5e1] has joined #bitcoin-wizards 09:20 -!- son0p [~son0p@181.136.122.143] has quit [Remote host closed the connection] 09:23 -!- proofofkeags [~proofofke@174-29-9-247.hlrn.qwest.net] has quit [Remote host closed the connection] 09:23 -!- proofofkeags [~proofofke@174-29-9-247.hlrn.qwest.net] has joined #bitcoin-wizards 09:26 -!- proofofkeags [~proofofke@174-29-9-247.hlrn.qwest.net] has quit [Remote host closed the connection] 09:26 -!- proofofkeags [~proofofke@174-29-9-247.hlrn.qwest.net] has joined #bitcoin-wizards 09:51 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 10:05 -!- bsm117532 [~bsm117532@unaffiliated/bsm117532] has quit [Quit: *burp*] 10:10 -!- bsm117532 [~bsm117532@unaffiliated/bsm117532] has joined #bitcoin-wizards 10:16 -!- justan0theruser is now known as justanotheruser 10:16 -!- roconnor_ [~roconnor@host-184-164-20-1.dyn.295.ca] has joined #bitcoin-wizards 10:16 -!- roconnor [~roconnor@host-45-78-202-46.dyn.295.ca] has quit [Ping timeout: 260 seconds] 10:38 -!- theStack [~honeybadg@vps1648322.vs.webtropia-customer.com] has quit [Remote host closed the connection] 10:39 -!- theStack [~honeybadg@vps1648322.vs.webtropia-customer.com] has joined #bitcoin-wizards 10:57 -!- shush [~pawn@2605:e000:1c02:c564:854:3d67:c6d4:f5e1] has quit [Remote host closed the connection] 11:00 -!- grafa [~grafa@37.120.203.188] has quit [] 11:24 -!- peterrizzo [~peterrizz@ool-44c18924.dyn.optonline.net] has joined #bitcoin-wizards 11:52 -!- peterrizzo [~peterrizz@ool-44c18924.dyn.optonline.net] has quit [Quit: peterrizzo] 11:55 -!- banux1 [~banux@84.39.116.180] has joined #bitcoin-wizards 12:17 -!- wk057 [~wk@unaffiliated/wizkid057] has quit [Read error: Connection reset by peer] 12:29 -!- wk057 [~wk@unaffiliated/wizkid057] has joined #bitcoin-wizards 12:32 -!- Dizzle [~Dizzle@unaffiliated/dizzle] has joined #bitcoin-wizards 12:39 -!- peterrizzo_ [~peterrizz@ool-44c18924.dyn.optonline.net] has joined #bitcoin-wizards 12:41 -!- shush [~pawn@2605:e000:1c02:c564:854:3d67:c6d4:f5e1] has joined #bitcoin-wizards 13:11 -!- theStack [~honeybadg@vps1648322.vs.webtropia-customer.com] has quit [Quit: leaving] 13:11 -!- shush [~pawn@2605:e000:1c02:c564:854:3d67:c6d4:f5e1] has quit [Remote host closed the connection] 13:29 -!- Lightsword [~Lightswor@2604:a880:1:20::1d3:9001] has quit [Quit: ZNC] 13:30 -!- Lightsword [~Lightswor@2604:a880:1:20::1d3:9001] has joined #bitcoin-wizards 13:49 -!- Dizzle [~Dizzle@unaffiliated/dizzle] has quit [Remote host closed the connection] 13:50 -!- Dizzle [~Dizzle@unaffiliated/dizzle] has joined #bitcoin-wizards 14:00 -!- banux1 [~banux@84.39.116.180] has quit [] 14:04 -!- peterrizzo_ [~peterrizz@ool-44c18924.dyn.optonline.net] has quit [Quit: peterrizzo_] 14:19 -!- belcher [~belcher@unaffiliated/belcher] has quit [Read error: Connection reset by peer] 14:20 -!- belcher [~belcher@unaffiliated/belcher] has joined #bitcoin-wizards 14:20 -!- LaserShark [~LaserShar@184.75.223.227] has joined #bitcoin-wizards 14:26 -!- son0p [~son0p@181.136.122.143] has joined #bitcoin-wizards 14:29 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has quit [Remote host closed the connection] 14:29 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has quit [Remote host closed the connection] 14:30 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has joined #bitcoin-wizards 14:30 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has joined #bitcoin-wizards 14:33 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has joined #bitcoin-wizards 14:35 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has quit [Remote host closed the connection] 14:35 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has joined #bitcoin-wizards 14:38 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has quit [Ping timeout: 256 seconds] 14:42 -!- Guyver2 [Guyver@guyver2.xs4all.nl] has quit [Quit: Going offline, see ya! (www.adiirc.com)] 15:41 -!- dongcarl [~dongcarl@unaffiliated/dongcarl] has joined #bitcoin-wizards 15:41 -!- dongcarl [~dongcarl@unaffiliated/dongcarl] has quit [Excess Flood] 15:43 -!- queip [~queip@unaffiliated/rezurus] has quit [Ping timeout: 246 seconds] 15:44 -!- dongcarl [~dongcarl@unaffiliated/dongcarl] has joined #bitcoin-wizards 16:01 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has joined #bitcoin-wizards 16:02 -!- surja795_ [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has joined #bitcoin-wizards 16:02 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 16:02 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 256 seconds] 16:07 -!- surja795_ [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has quit [Ping timeout: 272 seconds] 16:19 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has quit [Ping timeout: 240 seconds] 16:20 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has joined #bitcoin-wizards 16:38 -!- shush [~pawn@2605:e000:1c02:c564:854:3d67:c6d4:f5e1] has joined #bitcoin-wizards 16:41 -!- son0p [~son0p@181.136.122.143] has quit [Quit: leaving] 16:49 -!- marcoagner [~user@2001:8a0:6a5f:a900:6d3e:1158:b50:97b6] has quit [Ping timeout: 260 seconds] 16:49 -!- shush [~pawn@2605:e000:1c02:c564:854:3d67:c6d4:f5e1] has quit [Remote host closed the connection] 17:00 -!- LaserShark [~LaserShar@184.75.223.227] has quit [] 17:11 -!- tromp [~tromp@2a02:a210:ca3:2800:5500:1593:557c:1efb] has quit [Remote host closed the connection] 17:11 -!- tromp [~tromp@2a02:a210:ca3:2800:e84b:3e43:2a95:f731] has joined #bitcoin-wizards 17:15 -!- proofofkeags [~proofofke@174-29-9-247.hlrn.qwest.net] has quit [Read error: Connection reset by peer] 17:20 -!- tummy [~tummy@84.39.117.57] has joined #bitcoin-wizards 17:24 -!- belcher [~belcher@unaffiliated/belcher] has quit [Quit: Leaving] 17:39 -!- Dizzle [~Dizzle@unaffiliated/dizzle] has quit [Quit: Leaving...] 17:43 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has joined #bitcoin-wizards 17:44 -!- belcher [~belcher@unaffiliated/belcher] has joined #bitcoin-wizards 17:44 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has quit [Remote host closed the connection] 17:45 -!- jb55 [~jb55@gateway/tor-sasl/jb55] has joined #bitcoin-wizards 17:47 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has joined #bitcoin-wizards 17:50 -!- proofofkeags [~proofofke@174-29-9-247.hlrn.qwest.net] has joined #bitcoin-wizards 17:53 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 246 seconds] 17:56 -!- proofofkeags [~proofofke@174-29-9-247.hlrn.qwest.net] has quit [Ping timeout: 256 seconds] 17:58 -!- riclas [~riclas@77.7.37.188.rev.vodafone.pt] has quit [Ping timeout: 256 seconds] 18:13 -!- proofofkeags [~proofofke@174-29-9-247.hlrn.qwest.net] has joined #bitcoin-wizards 18:33 -!- Belkaar_ [~Belkaar@xdsl-78-35-84-225.nc.de] has joined #bitcoin-wizards 18:33 -!- Belkaar [~Belkaar@unaffiliated/belkaar] has quit [Ping timeout: 272 seconds] 18:41 -!- peterrizzo_ [~peterrizz@ool-44c18924.dyn.optonline.net] has joined #bitcoin-wizards 18:49 -!- peterrizzo_ [~peterrizz@ool-44c18924.dyn.optonline.net] has quit [Quit: peterrizzo_] 19:30 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has joined #bitcoin-wizards 20:00 -!- tummy [~tummy@84.39.117.57] has quit [] 20:15 -!- zmnscpxj__ [~zmnscpxj@gateway/tor-sasl/zmnscpxj] has joined #bitcoin-wizards 20:17 -!- zmnscpxj_ [~zmnscpxj@gateway/tor-sasl/zmnscpxj] has quit [Ping timeout: 240 seconds] 20:20 -!- mengu [~mengu@195.206.183.79] has joined #bitcoin-wizards 20:21 -!- mengu is now known as Guest6344 20:24 -!- CryptoDavid [uid14990@gateway/web/irccloud.com/x-vvhwlqbwjpnchthh] has quit [Quit: Connection closed for inactivity] 20:28 -!- proofofkeags [~proofofke@174-29-9-247.hlrn.qwest.net] has quit [Remote host closed the connection] 20:54 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 20:57 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has quit [Ping timeout: 272 seconds] 21:02 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has joined #bitcoin-wizards 21:03 -!- DeanWeen [~dean@gateway/tor-sasl/deanguss] has joined #bitcoin-wizards 21:05 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has quit [Ping timeout: 240 seconds] 21:06 -!- surja795 [~surja795@c-24-61-194-104.hsd1.ma.comcast.net] has quit [Ping timeout: 264 seconds] 21:18 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has joined #bitcoin-wizards 21:33 -!- gmaxwell [~procyonid@wikimedia/KatWalsh/x-0001] has joined #bitcoin-wizards 21:34 < gmaxwell> In a channel on video codec development I recently shared an idea for error recovery in live video streaming that avoids the overhead of sending keyframes. 21:34 < gmaxwell> ----- 21:34 < gmaxwell> I had a cute idea for error recovery in a keyframeless CBR-ish realtime stream. Every X seconds (say 10), the decoder re-encodes 21:34 < gmaxwell> a decoded frame from a couple frames ago. with some fast bit-exact encoder (can be at a higher bitrate than the stream). 21:34 < gmaxwell> It decodes the re-encode, and then uses that recoded frame as its oldest reference frame. Then for every successive frame, 21:34 < gmaxwell> it receives some FEC computed over the reencoded frame and every packet that comes after (using a rolling window FEC like 21:34 < gmaxwell> https://github.com/catid/CauchyCaterpillar/ ) coded at a rate such that once it's received ten seconds of frames (minus 21:34 < gmaxwell> some additional packet loss) it'll be able to recover everything in the window including the re-encoded reference. 21:34 < gmaxwell> So this functions just like adding a bit of FEC to recover from small amounts of packet loss, but it can also recover 21:34 < gmaxwell> from a total loss, but without ever sending a keyframe, and without the coding efficiency losses of a rolling keyframe. 21:34 < gmaxwell> The added bitrate of the reencoded reference still benefits decoders which haven't lost their reference because it helps 21:34 < gmaxwell> them recover from ordinary packet loss. Beyond complexity, the main downsides I see is that the decoder has to run 21:34 < gmaxwell> fast enough to do these decodes, and also to catch up from behind when it finally recovers a bunch of past frames. 21:34 < gmaxwell> ----- 21:34 < gmaxwell> Now take the above, and apply to bitcoin nodes syncing over a broadcast (like a satellite) with assumevalid-like security. 21:34 < gmaxwell> Replace "keyframe" with UTXO set" "X seconds (say 10) with X blocks (say 4032)"... and it applies. It would let a node 21:34 < gmaxwell> sync state from a broadcast stream after 4032 blocks, with a little over ~size(utxo set)/4032 additional data per block, 21:34 < gmaxwell> and the additional data would also be 100% useful for recovering from packet loss for nodes that were in sync, so it's not 21:34 < gmaxwell> wasted on peers that are in sync (like just slowly sending an old utxo set in the background would be). 21:37 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has quit [Quit: Leaving.] 21:41 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has joined #bitcoin-wizards 21:42 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has quit [Client Quit] 21:44 < BlueMatt> gmaxwell: ah, thats clever. so, ie, for assumevalid+previous blocks download 21:44 < BlueMatt> would allow you to effectively skip fetching any utxos you can get from recent blocks 21:49 < gmaxwell> I suppose that too, but more my though was basically sending the UTXO set slowly in the background but without 'wasting' any bandwidth on it. 21:50 < gmaxwell> In a context where you have two way connectivity and don't need FEC, it's not a win (or at least not a big win, as you note you could use it so that utxo from recent blocks could be left out of the next utxo snapshot) 21:50 < BlueMatt> right. you'd have to send utxo updates correlated with the block itself 21:50 < BlueMatt> right 22:07 < gmaxwell> it was just interesting to me that utxo could be made zero overhead over ordinary FEC on blocks that keeps you from falling behind. 22:07 < BlueMatt> wait wut 22:07 < BlueMatt> sec 22:08 < BlueMatt> wait, ok, so you're saying encode the utxo set in such a way to point the block data at the utxos encoded in the fec 22:08 < gmaxwell> no. 22:08 < BlueMatt> ok, then I'm confused 22:09 < zmnscpxj__> the utxo set is used to seed the FEC? 22:09 < gmaxwell> In a window of 4032 blocks, you FEC code: [serialized UTXO set, block10000, block10001, ..., block 14031] 22:10 < gmaxwell> you don not transmit the serialized utxo set, you transmit the blocks, each with a little bit of FEC data. 22:10 < BlueMatt> right. ok. yea, just gotta either init it with utxo set and receive blocks or have a bit extra fec in the block data to make sure you can recover if you dont have the utxo set 22:11 < gmaxwell> Now, assuming you do not know the UTXO set... by the time you get to the end of that window, you've recieved enough FEC data to recover the whole utxo set (plus some small number of additional missing packets). 22:11 < gmaxwell> Assuming you DID have the utxo set, you can use this FEC data to incrementally recover from missing packets in blocks as the come in. 22:11 < gmaxwell> This assumes you have an FEC that can be incrementally appended to like https://github.com/catid/CauchyCaterpillar/ 22:12 < gmaxwell> (or you could just use an arbritary random linear code, but decoding erasures in that has cubic complexity from gaussian elimination) 22:13 < gmaxwell> the "simple" alternative to my scheme is that you just send 1/4032th of the old serialized UTXO set along with each block. Which works, but the bandwidth spend on that is entirely wasted for peers that knew the UTXO set. 22:14 < gmaxwell> which is also why I say it's not applicable to non-broadcast mediums-- if you're not broadcasting, you send the utxo set to peers that need it and don't send it to ones that don't. :) 22:14 < BlueMatt> well, i mean its still useful in that you can use it in the fec for that block 22:14 < BlueMatt> just not across a long window 22:16 < gmaxwell> oh so you're saying you could add 1/4032th of the UTXO set to each block, don't send it, but send FEC over the block and the UTXO set? That would work too, though you lose the long window advantage. For the sat broadcast long windows are preetty damn useful because bad weather can cause hours of poor connectivity. 22:16 < BlueMatt> right 22:19 < gmaxwell> it's pretty similar to the scheme I wanted to use for transaction lengths in fibre, but which you didn't implement-- I assume because the savings was too small. 22:24 < BlueMatt> hmm. right, well in fibre you send the tx lengths in the initial header fec thing 22:24 < BlueMatt> so looking up txid -> lengths means you'd have to send three fec data groups 22:24 < BlueMatt> which would hurt 22:29 < gmaxwell> BlueMatt: actually what I think it should have done is send length-fec words along with every payload FEC packet, because the need for the two are exactly proportional. 22:30 < gmaxwell> e.g. with the header sent a couple length-fec words to get started, and then exact additional payload FEC packet sends avg_tx_per_packet length-fec along with them. 22:30 < BlueMatt> E_NO_PARSE 22:31 < gmaxwell> because like if you were missing 1 txn you'll only need 1/2 payload fec blocks to reconstruct. If you were missing 200 TXN and there are 20 txn per packet, you'll need 10 payload packets to recover. So you're good to go if there were 20 length FEC words with every payload packet. 22:32 < gmaxwell> BlueMatt: the seperate fec groups isn't a problem because you need some constant fraction of each type, so you can just interleave them. 22:34 < gmaxwell> like for a given block you need missing_txn words of length fec (to find your missing lengths) and missing_data words of payload to recover the missing transaction data. And the ratio of these is roughly a constant. 22:34 -!- shesek [~shesek@185.3.145.28] has joined #bitcoin-wizards 22:34 -!- shesek [~shesek@185.3.145.28] has quit [Changing host] 22:34 -!- shesek [~shesek@unaffiliated/shesek] has joined #bitcoin-wizards 22:36 < BlueMatt> wait, maybe I mis-parsed "it's pretty similar to the scheme I wanted to use for transaction lengths in fibre, but which you didn't implement-- I assume because the savings was too small." 22:38 < gmaxwell> in fibre you just explicitly send all the lengths of the transactions using a varint. 22:38 < gmaxwell> which is wastful, taking like 2-3 bytes per transaction even when 99-100% of those lengths are known already to the reciever. 22:39 < BlueMatt> ohhhhhhh 22:39 < BlueMatt> ok, now i get it 22:39 < BlueMatt> right, you could do that, but you still have the issue that you cant start processing the tx data fec until after you've recovered the full tx length fec 22:40 < BlueMatt> which sucks, cause fiber is not-irregularly cpu bound recovering the tx data fec 22:40 * BlueMatt -> sleep 22:40 < gmaxwell> sure you can, you don't have to give it data in order. 22:41 < gmaxwell> you can give it the FEC as it comes in, then give it the mempool as soon as you have the lengths. 22:41 < gmaxwell> and you'll have the lengths several packets before the data (if you set the ratios right) 22:41 < gmaxwell> e.g. give the header the expected number of missing lengths, and give ntx more in each payload packet. 22:42 < gmaxwell> I mean all it saves you is 3 bytes per txn, so I think for internet fibre you don't care. 22:42 < gmaxwell> it makes a much bigger difference for minisketch based fibre. 22:43 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Remote host closed the connection] 22:46 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 23:00 -!- Guest6344 [~mengu@195.206.183.79] has quit [] 23:18 -!- AaronvanW [~AaronvanW@unaffiliated/aaronvanw] has quit [Remote host closed the connection] 23:21 -!- mterwoord [~mterwoord@84.39.117.57] has joined #bitcoin-wizards 23:39 -!- Pasha [~Cory@071-013-023-252.res.spectrum.com] has joined #bitcoin-wizards 23:57 -!- AaronvanW [~AaronvanW@unaffiliated/aaronvanw] has joined #bitcoin-wizards 23:57 -!- Pasha [~Cory@071-013-023-252.res.spectrum.com] has quit [] --- Log closed Sun May 10 00:00:16 2020