log☇︎
209500+ entries in 0.124s
mircea_popescu: it's probably the cause for the whole spend thing, as a sort of unexamined insurance.
asciilifeform: there are two possible places for a duplicated tx: an orphaned (nonlongestchain) block, and a snake-tongue (if you will), one of two fork prongs of equal length, on the leading end.
deedbot: http://phuctor.nosuchlabs.com/gpgkey/952995C2D088259A83873F4F1C5ABEA57B4E9EBB4D2B41D03C4916989F98B4CF << Recent Phuctorings. - Phuctored: 1677...4143 divides RSA Moduli belonging to '199.182.78.50 (ssh-rsa key from 199.182.78.50 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown US MI)
deedbot: http://phuctor.nosuchlabs.com/gpgkey/952995C2D088259A83873F4F1C5ABEA57B4E9EBB4D2B41D03C4916989F98B4CF << Recent Phuctorings. - Phuctored: 1405...3289 divides RSA Moduli belonging to '199.182.78.50 (ssh-rsa key from 199.182.78.50 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown US MI)
asciilifeform: however it is possible to handle this sanely:
asciilifeform: namely, that a particular tx can reside in more than one block, if the leading end frays (forks)
asciilifeform: now, there is one nuance ( that i'm not convinced shitoshi adequately dealt with, either , see http://btc.yt/lxr/satoshi/source/src/main.cpp?v=makefiles#0755 for instance )
asciilifeform: (there is no actual reason to cache where-spents! aside from how the tard probably thought 'my db is slow. let's make it store redundant liquishit, that'll help')
mircea_popescu: i'm not even proposing we abuse ext, i just wish to know if it could work. so far, unencouraging.
asciilifeform: so neither my 'bitcoinfs', nor mircea_popescu's let's-abuse-ext, will work, until this garbage is excised
asciilifeform: he stores TX-WHERE-SPEND lists!!!
asciilifeform: BUT the tard HAD TO, for some reason, make these variably-sized!
asciilifeform: notice, they aren't simply block indices. these'd be fixed length, and might even get reasonable performance in ye olde bdb;
asciilifeform: http://btc.yt/lxr/satoshi/source/src/main.h?v=makefiles#0709 << these are what shitoshi actually stored with the txid
asciilifeform: meanwhile, opened the binder of horrors, with trb src, and found some lulz, which is actually what i sat down at the terminal to share:
mircea_popescu: well so then. it never happened because you never published. dun dun dun.
mircea_popescu: how am i going to profile your dreams ?
a111: Logged on 2017-03-10 16:57 asciilifeform: btw i will also put down in the log, one very simple possible algorithm for a 'txidx-fs' :
mircea_popescu: becomes no bdb ; this fs. huge improvement.
asciilifeform: anyway i described an algo that wasn't retarded and doesn't pull in 10,000 lines of open sores ???. and it's as if this neverhappened, for some reason.
mircea_popescu: it's more like bdb + ALL fs in this list.
asciilifeform: mno. the current dependency is 'bdb + AN fs'
mircea_popescu: currently the dependency is bdb + ext? ; if it becomes ext? it is less not same.
mircea_popescu: so there's no "replacing". excising part of the tumour.
mircea_popescu: this is a misrepresentation : the turd is in there already.
asciilifeform: but for the l0gz, lemme finish: replacing bdb, massive turd, with ext (or reiser, or any) equally or greater mass turd, (and now with linux dependence !!) is not a win.
mircea_popescu: myeah. that's no good.
asciilifeform: mircea_popescu: symlink is a file for this purpose
asciilifeform: the other fundamental problem, and the reason why asciilifeform's interest in recycling old fs for trb is ~0, is that imho trb needs LESS dependency on open sores crud, rather than moar
a111: Logged on 2017-03-11 13:51 mircea_popescu: http://btcbase.org/log/2017-03-11#1625313 << on the basis ~of actual measurements~ your position is indomitable. wtf, HALF A SECOND for ~8~ deep directory structure ?!
asciilifeform: http://btcbase.org/log/2017-03-11#1625333 << as i also described earlier, there are fundamental problems with all 'general purpose' fs, from bitcoin pov. mainly, they 'pessimize' for 'least common case', which happens to be our ~most~ common case : creation of file ☝︎
asciilifeform: http://btcbase.org/log/2014-10-31#904553 << earliest, apparently, thread ☝︎
mircea_popescu: (and if the foregoing didn't happen where you went to school... you didn't.)
Framedragger: problem is multiple homework/class/job-domains, and the context-switching :) but yeah
mircea_popescu: dun be the girl left behind!!1
mircea_popescu: you ever go to school ? what usually happens there's a chick there that's really good pre-puberty. then she starts bleeding, and she skips some classes / homeworks / attentionpaying. and then... she can never catch back up again. because interlocking. ☟︎
a111: Logged on 2017-03-11 14:33 Framedragger: kk. so, ok. only thing is i'm swamped in march, so will have to wait. (if anyone wants c code i wrote so far, ping me)
mircea_popescu: Framedragger for the sake of argument : "here's link to my work so far published on my blog" is worth a guinea. http://btcbase.org/log/2017-03-11#1625386 is worth twopence. ☝︎
mircea_popescu: what i want to hear is, (preferably proof) as to why journaling filesystem can't store files in directories!
mircea_popescu: no argument there.
phf: i think the deep value in an exercise like "replace db with a filesystem" is the reduction of moving parts. ext2 is a straightforward inode based tree, with a separate relocation phase, etc. journaling adds the whole overhead (for it's primarily cognitive) of secondary redundancy that you now have to factor into all your considerations
Framedragger: kk. so, ok. only thing is i'm swamped in march, so will have to wait. (if anyone wants c code i wrote so far, ping me) ☟︎
mircea_popescu: (pretending for a second the design is sane, which it isn't -- who the fuck counts by int a set of hashed items omfg)
Framedragger: yes that's what i meant. which, i dunno, maybe bad assumption of 'only one chain', or sth.
mircea_popescu: can definitely also store by shifted blockheight, 0000/0000 etc. it will still be a thing as large as the other one
Framedragger: yeah but i forgot how to bitcoin. i guess blockheight bad idea?
mircea_popescu: it's a hash. you're thinking store by blockheight ?
mircea_popescu: well if you're storing them by thyeir hash...
Framedragger: mircea_popescu: so in your proposed-to-be-tested scheme, there are two separate eight-deep trees? may i ask, why do blocks need their own tree - after all, it's just an int. do you expect block number to overflow an unsigned 32 bit int? because you *really* don't need 8-deep structure for dispersing 2**32 nodes (again: http://fd.mkj.lt/stuff/fsgraph1.png / http://fd.mkj.lt/stuff/fsgraph2.png )
mircea_popescu: there's an item in the specification of journaling that it must not work which i missed or something ?
mircea_popescu: phf i don't follow. so what if they are ?
mircea_popescu: Framedragger no seriously, nothing wrong with it. now we have numbers. they're good to have.
phf: i believe alf even pointed out the obvious "journaling file systems are going to journal"
a111: Logged on 2017-03-09 17:41 mircea_popescu: Framedragger the most pressing matter to my eyes right now is getting ext2/ext4 benchmarked for our specified purpose.
mircea_popescu: phf well he's considering what he's considering, seeing how he's doing the measuring. i was kinda biasing towards ext2 in the previous discussions (which i guess nobody reads or something ?) , but hey, can't impede man's independent manhood!
a111: Logged on 2017-03-11 13:51 mircea_popescu: contrary to what ANYONE may pretend, ext4 IS NOT A FS!!!! it's a ridiculous toy at best.
phf: http://btcbase.org/log/2017-03-11#1625335 << i'm surprised that ext4 is even considered, as opposed to ext2. i believe we even had a thread about it some long time ago ☝︎
mircea_popescu: Framedragger in any case i don't expect to optimize BEFORE DESIGNING holy shit. talk about early optimizations. this is the measuring stage. you optimize nothing.
mircea_popescu: (and if this is untenable, THEN THE DESIGN GETS MODIFIED!!! no fucking "solutions" of shoving shit under carpet and letting mp discover it in 2017 whiole spending however many years eating food we didn't pay for and pretensions to "engineering" and "intellectual lifge" we don't deserve.)
Framedragger: mircea_popescu: sure, but do you expect to reach **10^24** nodes before trb-i?? (http://fd.mkj.lt/stuff/fsgraph2.png)
mircea_popescu: if the total number of blocks your machine can produce is 2**4096, then your design will also store 2**4096 blocks.
mircea_popescu: Framedragger the point is that we don't want to make any more provedly breaking systems.
Framedragger: (you'd need to have a *lot* of blocks to have average num of files per second-to-deepest dir be >= 1; i dont think one needs 8 levels, but i see the point in trying this)
mircea_popescu: so your storage looks like /(blocks, txn, addies, whatever)/abcd/etc/(abcd.dat or abcd.symlink etc)
mircea_popescu: 2. index to those blocks (say, eg, to find txn, or anything else) is stored in a SEPARATE dir structure, and at the bottom there's simlinks to the block files.
mircea_popescu: 1. actual blocks (1mb files) are stored in a directory structure, based on their hash say. this is 8 deep because hey, max filecount in a dir, we want to make a proper system.
Framedragger: also, as asciilifeform said, cache can really confuse the hell out of any metrics. e.g., disk cache. so i'd need to probably restart whole box to be sure (yes lol, but i think i should)
mircea_popescu: nah. here's the scheme again :
Framedragger: mircea_popescu: to be clear, the way this would work is, there'd still be symlinks at the bottom ends of the dir structure, pointing to blocks (which are stored in a single dir, say)?
mircea_popescu: make say 1mn total an' see
mircea_popescu: Framedragger suppose you store the blocks whole. what is the seek time of one dozen 1mb files dispersed randomly in a 8 deep directory structure, defined as (time when all are in ram) - (time when call was made) ?
mircea_popescu: fuck you and that roadside wench of your mother.
mircea_popescu: "oh i had a job i went to work through traffic every morning"
mircea_popescu: NONE OF THEM DID ANYTHING USEFUL. AT ALL. BUNCH OF PRETENTIOUS POINTLESS USELESS IMBECILES NOT WORTH PISSING AWAY FROM!
Framedragger: yeah i especially liked the amazing speed of directory deletion
a111: Logged on 2017-03-11 01:11 mircea_popescu: i can't bring myself to move my piss away from dks, or anyone in his generation's face.
Framedragger: hey, you wanted some fs test, i'm just reporting on levels of shittiness found
mircea_popescu: im not using this thing. how is it better than windows ?
Framedragger: asciilifeform: mircea_popescu: for completeness, i should state that it may be "workable" (in the sense of slightly less horrible) to just keep a flat dir tree structure, one or two levels deep - if you don't ask fs to list files in dir and just want to access filenames you already know, it's ~okay-ish. but i think i agree that the whole fs idea needs to be dumped, in general
mircea_popescu: ie, the reason usgtard is all "oh, random is not really broken" when phuctor came out exactly reduces to "well, it's fucking broken, but you should see the filesystem!"
mircea_popescu: contrary to what ANYONE may pretend, ext4 IS NOT A FS!!!! it's a ridiculous toy at best. ☟︎
a111: Logged on 2017-03-11 04:05 asciilifeform: Framedragger: imho the 'use existing fs' thing is a dead end.
mircea_popescu: http://btcbase.org/log/2017-03-11#1625313 << on the basis ~of actual measurements~ your position is indomitable. wtf, HALF A SECOND for ~8~ deep directory structure ?! ☝︎☟︎
a111: Logged on 2017-02-27 12:10 mircea_popescu: dude, they fucking gutted them. olympus agreed to pay the usg ~70 billion yen in fines, and install obama's children as an "independent outside monitor". whole corp market cap being you know, 1.3trn or some shit. who the fuck pays 5% of the market cap as a fine already, what is this, Совет Экономической Взаимопомощи ?
mircea_popescu: https://archive.is/vuBRg (rehash of http://btcbase.org/log/2017-02-27#1619007 ; proudly reported in the beobachter ) ☝︎
mircea_popescu: o btw, where was that lulz
shinohai: I awake to the screeches of `PREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEET` this morning with coffee. Hail to the Trumpreich.
mircea_popescu: i suspect alf exhibits the same issue.
mircea_popescu: ben_vulpes there is an ancient observation (toqueville) that slavery is not unbearable to peoples in proportion to its intensity, but in proportion to the velocity of its reduction. he supports it by showing that the germans, more abject slaves in 1700 than any central asian people, found their situation tolerable ; whereas the french, significantly freer ~and becoming freer~ found the uninstantaneous speed of the change INTO
a111: Logged on 2017-03-11 00:16 asciilifeform: if some unknown d00d had not written to me last night, even now i might be doing it
ben_vulpes: http://btcbase.org/log/2017-03-11#1624970 << where once you were a crackpot laboring in public obscurity, now you are a luminary of the republic. defections will continue apace until the old empires yield their last secret. ☝︎
a111: Logged on 2017-03-11 01:35 deedbot: http://phuctor.nosuchlabs.com/gpgkey/6850990FBF120FDFEE3B833114382DD945ED65AEAA5BCBCCFFC82C391E34AE5E << Recent Phuctorings. - Phuctored: 1390...8517 divides RSA Moduli belonging to '80.81.115.100 (ssh-rsa key from 80.81.115.100 (13-14 June 2016 extraction) for Phuctor import. Ask asciilifeform or framedragger on Freenode, or email fd at mkj dot lt) <ssh...lt>; ' (Unknown ES CS VC)
asciilifeform: Framedragger: imho the 'use existing fs' thing is a dead end. ☟︎
Framedragger will check tomorrow if the insane size was from his shitty c. but actually, probably not - in ext3/ext4, a folder is an inode and an inode points to unique data block - minimum size of which is 4k. given an expansive recursive tree, you get what you get. ☟︎
Framedragger: (btw the 'creation' is not bottlenecked by python or w/e; straight syscalls and simple c, and the random hex generator is a small footprint)
Framedragger: (~60k to store 'transaction' (excluding symlink itself)!! this is the price of deeper fs trees)
Framedragger: (would advise against deep folder structure assuming no concrete reason to prefer it. just-symlinks (+/-) seems better. but then not sure if to think much of fs anyway.)
Framedragger: (with that, i bid goodnight)
Framedragger: oh lord. *creation* of seven-levels-deep directories (in the format of "6d56/a6f4/f1d5/67a3/505c/a7d0/9c72/6fff/e75e/a482/e36b/6b5b/7421/f9cf/e36a/", with last 8th level being symlink) takes a long time, and is also space-wasteful on ext4. to 'store' 1k transactions it takes ~0.41s and takes up 59M of space. this without actual symlinks (should be fast but should check later). *removal* is ~0.45s
mircea_popescu: phf entirely idle example, no more important than strand of hay, which is why chosen here, illustrates beautifully.