--- Log opened Mon Nov 18 00:00:00 2013 --- Day changed Mon Nov 18 2013 00:54 < Luke-Jr> warren: it's not clear that doing just the first item gets some reward 00:55 < Luke-Jr> nor that 2 and/or 3 might be done without 1, in case 1 is impossible 00:55 < Luke-Jr> 3 should probably be split up between writing a fix, and getting it merged 00:55 < Luke-Jr> ie, someone who writes a fix but doesn't have the patience for getting stuff merged should still get something 00:55 < warren> Luke-Jr: devs have power to decide apportionment, so whatever. 00:56 < Luke-Jr> warren: yes, but people might see the list and give up because they don't know how to code 00:56 < Luke-Jr> it should be clear that non-developers can contribute toward 1 for part of the bounty 18:11 < petertodd> so... headers first 18:12 < sipa> i was discussion this with petertodd 18:12 < sipa> and this question came up 18:12 < sipa> what if you know about multiple header chains whose tips are better than what you currently have 18:13 < sipa> perhaps there's this situation: A-B-c, A-B-d-e 18:13 < sipa> eh wait 18:13 < petertodd> no, that's correct 18:13 < sipa> A-B-c and A-d-e-f 18:13 < sipa> and you have A and B, but not c d e f 18:14 < sipa> do you only try to fetch blocks for d e f, or do you also try to fetch c? 18:14 < petertodd> and the same problem *is* present on A-B-c, A-B-d-e 18:15 < sipa> agree, but the case with a reorganization is more revealing probably 18:15 < petertodd> so my scenario was, suppose we have an attacker who is mining blocks, but decided to withhold the actual contents. with headers first you'll find out abotu the headers, and hence the chain, but I argue you have to try to download all tree tips simultaneously, so that you can advance your fully verified tree so the majority of hashing power can move forward 18:16 < sipa> if the case becomes A-B-c vs A-d-e-f-g-h-i-j-k-l-m 18:16 < sipa> then it's probably easier to see that you should fetch c too, just to keep up with a potentially best chain, while you're fetching the potentially even better one 18:17 < petertodd> right, because d could be invalid, as an example 18:17 < sipa> indeed 18:17 < sipa> though you did already verify PoW, so that is very unlikely 18:17 < petertodd> well... :) 18:18 < petertodd> could be all sorts of crazy economic incentives, for instance if you figures out how to get the other hashing power trying to extend different tips 18:18 < sipa> we shouldn't assume it's valid of course 18:18 < petertodd> main thing is we want an algorithm that's going to get everyone to come to consensus about what fully validated chain tip to continue mining on, regardless of what crazyness is going on with the headers 18:19 < sipa> yup 18:19 < petertodd> like, suppose we had a bug where a block somehow made the networking code crash, leaving a connection in a state of limbo 18:19 < petertodd> plausible with threads for instance 18:20 < petertodd> oh, shit, this makes the blockwithholding strategy even worse you know: 18:21 < petertodd> suppose we have A-B-C-d-e-f-g-h-i, and we have fully verified up to i and are trying to make j 18:21 < petertodd> now, if there's ever any slowdown in block distribution, we could wind up with hashing power split on A-B-C, A-B-C-D, A-B-C-D-E etc. 18:23 < sipa> well the best rational strategy is probably to mine empty blocks on top of the best header chain you know 18:24 < petertodd> yes unfortunately, modulo fees 18:24 < sipa> and never build on blocks when you know there's better header chains 18:24 < sipa> modulo fees indeed 18:24 < petertodd> but that means if someone ever loses a block entirely, we're screwed 18:25 < sipa> ewww 18:25 < petertodd> lovely 'eh? 18:26 < petertodd> also, suppose we have a fork: A-B-c and A-B-d, now bandwidth is split 50:50 downloading c and d, which makes it more likely someone will create block e, which divides the bandwidth again... 18:27 < sipa> well, if block propagation is even comparable in speed to mining speed, there is certainly a problem 18:27 < sipa> headers-first doesn't change that 18:28 < sipa> but the fact that someone could create a header, announce it, and never announce the block... worries me 18:28 < petertodd> not in general no, but in this specific case yes because of how the code would now download blocks simultaneously - that wouldn't happen before 18:28 < petertodd> although, actually, "relay all blocks including orphans" may have this affect 18:28 < petertodd> s/affect/effect/ 18:29 < sipa> right, but since you *know* the header strucutre already, you can make smarter decisions in what to download 18:29 < petertodd> well, but are they actually smarter decisions? 18:29 < sipa> than what? 18:30 < petertodd> then simultaneous - again, thinking about the possibility of attack or network affecting bugs 18:32 < petertodd> for instance, suppose you always tried to download the next block in the longest chain first, and then switch to another block on a timeout, but kept mining in case the next block was invalid - if you found a block, other miners doing the same thing wouldn't build upon it because it wasn't the longest chain 18:34 < petertodd> you could have 90% of the hashing power wasting it's time, while 10% is extending a slightly longer chain just by making all your nodes artifically slow down the download of the blocks in your extension 18:47 < warren> http://www.reddit.com/r/Bitcoin/new/ please vote up "Can you fix the LevelDB database corruption bug affecting Bitcoin-Qt on some platforms? 5+ BTC bounty." 18:49 < Emcy> if you guys can find it why do you think anyone else can 18:49 < Emcy> and if they can, why are they not already here 18:49 < theymos> You don't need to be a Bitcoin wizard to find a bug in a database library. 18:50 < theymos> Even an amateur programmer has some chance of finding it if they try hard enough. 18:50 < Emcy> so just an equation of eyeballs 18:50 < petertodd> It's a lot less likely for me to find the bug than a total outsider; for one thing I don't have a Mac... 18:51 < Emcy> virtualise one? 18:51 < petertodd> Emcy: the bug is likely to do with hardware IMO 18:51 < Emcy> anyone had the bug on mavericks yet 18:52 < warren> petertodd: i doubt it is hardware, it's probably something stupid in their OS 18:52 < warren> Emcy: yes, 10.8 and 10.9 18:52 < warren> no reports with 10.7, but that might just be no users 18:52 < warren> Emcy: and some users never have the bug ever 18:52 < petertodd> warren: see, if it's fsync() I figure it's likely OS stupidity + hardware 18:53 < petertodd> warren: especially given it's not easily repeate 18:53 < petertodd> *repeated 18:53 < sipa> the weirdest report is the "uncorruption" 18:53 < sipa> where a restart fixed a corrupted database 18:54 < warren> I have a hunch for the why it effects some users but not others 18:54 < sipa> which really sounds like an OS cavhe level issue 18:54 < warren> I need a mavericks machine to try it 18:54 < warren> my only mac is Litecoin's "build server" 18:54 < warren> (an old macbook with a shattered screen in a data center) 18:55 < warren> runs 10.6.8 to match Gavin's build environment for releases 18:56 < Emcy> so you just ship then stuff like that and theyll put it in a rack for you? 18:56 < warren> Emcy: people owe me big favors 19:00 < warren> theymos: sigh, it's hard to get dev things to be voted up 19:01 < theymos> It's doing pretty well. 19:01 < warren> it is? 19:01 < warren> will 8 votes get it on the front page? 19:02 < theymos> It has several votes more than its neighbors in /new. It might eventually make the front page. 19:14 < petertodd> warren: best time to get a story upvoted is to post it in the early morning in the US 19:19 < petertodd> sipa: see, what you need is an algorithm where you take the longest block header chain, and make downloading the next block to extend your block chain towards that best header tip have the highest QoS. Of course, normal networking practice is completely unable to do that. :( 19:20 < petertodd> sipa: which makes me think just fetching roughly simultaneously is by far the simpliest, and provided block interval >> block fetch + validate time it'll be alright even if not ideal 19:20 < petertodd> sipa: doesn't really look to me like we can optimize this one without risking ugly edge cases. 19:21 < warren> theymos: inappropriate to temporarily sticky something like that? 19:21 < adam3us> petertodd: what about making it so you dont know the block hash until you get the block 19:21 < petertodd> adam3us: we're talking about a scenario where block headers are distributed separately from blocks 19:21 < theymos> warren: Yeah, I think so. Stickies are really only for super-emergencies IMO. 19:21 < adam3us> petertodd: yes so then dont do that :) 19:22 < warren> theymos: screwing over all mac users for months seems like a slow motion train wreck... 19:22 < sipa> petertodd: agreed 19:22 < petertodd> adam3us: it's for sipa's headers first code - maybe what it does suggest is that the headers first be only allowed to be used for the initial block download... 19:23 < petertodd> IE, if you receive a header on a header, you just ignore it. 19:23 < adam3us> sipa: the aim is to reduce propagation delay? 19:23 < warren> theymos: likely holding back bitcoin, as well as weakening the network. we've had a drop in listening nodes. 19:23 < petertodd> adam3us: make initial block download (and catching up) faster 19:23 < sipa> adam3us: that wasn't the original intent 19:24 < sipa> the nicest advantage imho is not needing chwckpoints anymore 19:24 < petertodd> adam3us: also, for pruning where not everyone has all blocks 19:24 < petertodd> yeah, !checkpoints is good too 19:24 < sipa> but also harder to break 19:24 < sipa> and simplifying parallel block download 19:25 < sipa> petertodd: my former attempt used the rule that block download was only delayed in case we know we're not yet caught up 19:25 < adam3us> sipa, petertodd: if there is an attack with current blocks, maybe dont do it for the most recent 6 19:25 < petertodd> sipa: btw, you realize that in this circumstance, you actually still want *a* checkpoint, but in the form of "we know that there exists a block header at height foo with total work bar, therefore don't accept anything worse than that" 19:26 < sipa> yup 19:27 < petertodd> sipa: makes sense. The code right now basically downloads all blocks that extend tip simultaneously IIRC. 19:27 < gmaxwell> petertodd: yes, but it could be a pure difficulty "checkpoint" 19:27 < petertodd> gmaxwell: oh right, it is total work and nothing else 19:27 < sipa> there's also a "fill memory with silly low-difficupty headers" attack 19:27 < sipa> which checkpoints are still useful for 19:28 < petertodd> sipa: or commit-and-choose 19:28 < petertodd> *interactive commit and choose 19:28 < gmaxwell> sipa: I still think at some point we should do the worlds safest hardfork and increase the minimum difficulty to a million or something. 19:29 < warren> what for? 19:31 < petertodd> heh, well the fastest the difficulty can drop to 1 again is 104 weeks... 19:32 < petertodd> 30 weeks to 1 million 19:32 < gmaxwell> warren: because it makes avoiding a bunch of stupid dos attacks easier. 19:33 < sipa> petertodd: i get 51 days 19:33 < gmaxwell> and its indistinguishable unless difficulty somehow falls to that, ... which it couldn't do without leaving the network insecure in any case. 19:33 < sipa> ugh 19:33 < sipa> never mind 19:33 < petertodd> sipa: diff_now/4^(2*4*weeks) == diff_future 19:34 < petertodd> sipa: don't forget the *4 19:34 < sipa> never mind, i assumed it could drop a factor 4 every 3.5 days rather than 8 weeks 19:34 < petertodd> sipa: er, I mean (weeks/(2*4)) 19:34 < petertodd> sipa: lol 19:35 < sipa> the fasteat it could get from 1 to today's diff, is 51 days 19:35 < warren> gmaxwell: would testnet remain as is? 19:35 < gmaxwell> warren: sure. 19:36 < gmaxwell> It's not a serious proposal right now, but I think we should do something like that someday. 19:36 < gmaxwell> perhaps after the hashrate stablizes again. 19:36 < warren> will that ever happen? 19:36 < gmaxwell> it should 19:39 < petertodd> gmaxwell: definitely be a reasonable thing for a SPV implementation to do 19:45 < warren> Luke-Jr: ping 19:56 < warren> Luke-Jr: you earlier mentioned 25 BTC were donated toward the deterministic linux -> mac cross compile goal. Is that still available? cfields now has time to focus on that. 20:13 < Luke-Jr> warren: if that's what I said before, then it should be, yes 21:41 < warren> I'm not sure why people downvoted the bounty thread. 22:01 < Luke-Jr> warren: trolls will downvote anything 22:01 < Luke-Jr> reddit seems to be nearly as bad as BCT 22:59 < Emcy> Luke-Jr what weird character is your bot using 22:59 < Emcy> 5.828… BTC @ 757.6774225… BCEUSD == 22.44 TBC observe 22:59 < Luke-Jr> Emcy: which one do you consider weird? 22:59 < Emcy> some of the numbers in the tbc section are fucked up 22:59 < Emcy> is it just me 22:59 < warren> Emcy: it's just you. 22:59 < Luke-Jr> Emcy: do you have a tonal font? 23:00 < Luke-Jr> TBC only makes sense with tonal fonts 23:00 < Emcy> troll level elevated 23:00 < Luke-Jr> … 23:01 < Emcy> http://imgur.com/eyGmhsx 23:01 < Emcy> supposed to be just numbers right 23:03 < Luke-Jr> http://luke.dashjr.org/tmp/screenshots/snapshot113.png 23:04 < Emcy> are you serious 23:05 < Emcy> what are those characters supposed to be 23:05 < Emcy> gah tonal strikes again 23:06 < Luke-Jr> http://books.google.com/books?id=aNYGAAAAYAAJ&pg=PA15#v=onepage&q&f=false 23:08 < Emcy> thats mental. someone actually made a font for it 23:08 < Emcy> surely most people cant even see them though 23:09 < Luke-Jr> there are multiple fonts with tonal support 23:09 < Luke-Jr> http://eligius.st/~gateway/products/block-erupter-sapphire 23:10 < Luke-Jr> webpages can use webfonts to solve lack of widespread font support at least :D 23:11 < Emcy> what the hell is an effect 23:12 < Luke-Jr> http://books.google.com/books?id=aNYGAAAAYAAJ&pg=PA38#v=onepage&q&f=false 23:15 < wizkid057> ?! 23:16 < Emcy> hopefully they can define a kilogramme from some sort of fundamental constant someday soon 23:17 < Emcy> then we can put all this stuff to bed once and for all 23:17 < Luke-Jr> Emcy: pfft, SI is lame 23:18 < Emcy> it may or may not be but it works 23:18 < Emcy> christ its only been 45 odd years since they decimalised money 23:19 < Emcy> ive got a a couple of shillings and tuppences in a draw somewhere...... 23:19 < warren> Luke-Jr: we're still willing to make tonal default in Litecoin if you join us. 23:19 < Emcy> next up, decimal time (somehow) 23:20 < Emcy> well that probably wont happen since its based of radians for a good reason 23:20 < Luke-Jr> warren: REALLY? 23:20 < phantomcircuit> Luke-Jr, i think he's just messing with you 23:20 < Luke-Jr> Emcy: SI tried decimal time originally 23:20 < warren> phantomcircuit: maybe 23:20 < Luke-Jr> Emcy: even with all their force and threats, they couldn't make people adopt that 23:20 < Emcy> whose force and threats 23:20 < Luke-Jr> Emcy: that's how SI got adopted at all 23:21 < Emcy> did the empire spread it? 23:21 < Luke-Jr> go read up about the "metric martyrs" 23:21 < Luke-Jr> people who were put in jail for refusing to adopt it 23:21 < Luke-Jr> I think there are still some today even 23:22 < Emcy> hm 23:22 < Luke-Jr> SI has never been adopted by free choice 23:23 < Emcy> https://en.wikipedia.org/wiki/Swatch_Internet_Time 23:25 * Luke-Jr sticks with good old tonal time 23:25 < Emcy> the EU mumbled something about banning the pint from sale in the UK once. There was a good upforious shitstorm about that. 23:27 < Luke-Jr> IIRC the first time the French tried to force SI on their people, they had a revolt and had to reverse it 23:28 < Emcy> you can deny that universal SI has benefitted just about everyone though. Even if its not the best system. 23:28 < Emcy> apart from the us of course 23:29 < Luke-Jr> I think I can deny that. 23:29 < Luke-Jr> while there are benefits to having a universal measure system, there are also drawbacks of having only one system 23:29 < Luke-Jr> it's like multilingual vs single-language education 23:29 < Luke-Jr> even if you only ever use one language in your life, you benefit from having learned multiple 23:30 < Emcy> if pretty much everyone speak the one "language" though, you wouldnt need to 23:30 < Luke-Jr> personally, I think the ideal (history aside) would be universal education of tonal and dozenal 23:30 < Luke-Jr> it's not a matter of need to 23:30 < Luke-Jr> it's a matter of flexibility in your brain 23:31 < Emcy> i dont follow 23:31 < Luke-Jr> if you only know one language/number system, it's somewhat "hard coded" in your brain 23:31 < Luke-Jr> if you learn multiple, you at least have the flexibility there 23:31 < Luke-Jr> even if you don't need/use the others, it's a good trait 23:32 < Emcy> if youre talking about the cognitive benefits of biligualism, im not sure that applies to measurements 23:32 < Emcy> any more than you could get from having a decent levels of maths like we exepct from most people anyway 23:33 < Luke-Jr> there's certainly benefit from multiple number systems, even if you want to debate whether that extends to measurements 23:33 < Emcy> actually knowing hex and stuff is pretty damn useful 23:34 < Luke-Jr> there are a lot of practical application that benefits from dozenal and/or tonal units, which is why mankind has always evolved toward using tonal/dozenal units historically 23:34 < Emcy> i learned how to go from hex to denary to duonary (?) and back once 23:34 < Luke-Jr> (decimal units have only come about by unnatural means) 23:36 < Emcy> well shit if its gonna change now 23:36 < Emcy> you think bitcoin consensus is hard....... 23:37 < Luke-Jr> heh 23:37 < Luke-Jr> the great thing about tonal is that it doesn't need a consensus 23:38 < Emcy> well not when its best advocates go around breaking peoples fonts..... 23:39 < Luke-Jr> it doesn't break fonts ;p 23:39 < Luke-Jr> your fonts are just missing symbols 23:39 < Luke-Jr> easily solved by installing a better font 23:39 < Emcy> i like tahoma 23:40 < Emcy> its antialised and doesnt have any stupid serifs 23:41 < Emcy> cat just blatantly came up here and clawed me in the nipple wtf 23:42 < Luke-Jr> lol 23:42 < Emcy> why does the internet like cats again, they are murderous apex predator beasts 23:42 < Luke-Jr> Emcy: they taste good? 23:42 < Emcy> you live in the south right? 23:44 < wizkid057> florida isnt really a southern state anymore 23:45 < Emcy> i thought luke lived in georgia 23:45 < Luke-Jr> Florida 23:46 < Luke-Jr> at the moment 23:46 < whatnick> Big cats share the same tapeworms with humans 23:46 < Emcy> nice 23:46 < whatnick> http://scientiarules.wordpress.com/tag/origin-of-human-tapeworm/ 23:47 < Emcy> house cats parasitise thier human hosts to better do thier bidding 23:47 < Luke-Jr> not mine :> 23:47 < Emcy> you wouldnt know 23:47 < Luke-Jr> she goes on the table, I toss her 23:47 < Luke-Jr> lol 23:48 < Emcy> well i was talking about the brain parasite they carry 23:48 < Emcy> but yeah my cat has recently decided she is finished with jumping up places and just wails until someone physically lifts her instead 23:49 < Emcy> im probably infected so i have to comply 23:49 < Emcy> she is lso beating up the dog more often 23:50 < Emcy> which i have to let happen due to dog psychology 23:53 < maaku> Emcy: can cats train dogs? 23:54 < Emcy> sure seems like they can 23:54 < Emcy> operant conditioning moderated by the claw 23:57 < Luke-Jr> lol 23:57 < Luke-Jr> debating whether to just let her live her life out spayed and alone; or let her have kitties and cook her once they weak 23:58 < Luke-Jr> wean* 23:59 < Emcy> spay unless you enjoy your house seiged by beefy tomcats 23:59 < Luke-Jr> meh, can get rid of excess kitties too I'm sure 23:59 < Luke-Jr> well, not so sure --- Log closed Tue Nov 19 00:00:02 2013