log☇︎
227400+ entries in 0.128s
asciilifeform: gotta be ready to roll on five minutes' notice if the old miners ALL go home SIMULTANEOUSLY.
asciilifeform: but it is a stretch. and does not let you ignite a bitcoin overnight if transported to alpha centauri (or, more likely, earth-with-broken-mainnet) ☟︎
asciilifeform: now you ~could~ make the -- imho very tenuous -- argument that mining logic is ~implicitly~ present in the block verification logic.
asciilifeform: (a result where there is ~no~ miner available, i exclude from consideration because it pisses on the R in 'trb')
asciilifeform: i historically refused to touch the miner, and will not encourage anyone to touch it, because neither i nor anyone i know is equipped to properly test the result.
davout: but i also get the other point, a lot of that complexity becomes apparent once one actually goes ahead and pops the hood
davout: yet another obvious benefit of amputating the wallet, miner and everything that can pretty obviously done without
asciilifeform: so that the places to make all plausible cuts become apparentl
asciilifeform: this was, if anyone recalls, the reason i asked for the functional flow graph
asciilifeform: asciilifeform's (and later again jurov's) utter failure to unravel the heap, at least, suggests this. ☟︎
asciilifeform: davout: thing is, there is no such thing as this 'hot core'
a111: Logged on 2017-01-03 21:29 asciilifeform: though what i pictured is that trb can finally produce the motherfucking ~book~ and it will be possible to start rewrite...
davout: http://btcbase.org/log/2017-01-03#1595836 <<< my image is more like: "trb is this thing from which more and more is removed, until only the radioactive code consisting in ball of tightly packed hot wires which we proceed to put in a little box in which epoxy is poured, and is only interacted with as some black box" ☝︎
deedbot: http://fr.anco.is/2017/removing-the-wallet-from-trb-first-thoughts << fr.anco.is - Removing the wallet from TRB, first thoughts
asciilifeform: to steal from mircea_popescu's article on subj, 'get inseminated on purpose, rather than 'because hey, there was a party, and i like to drink''
asciilifeform: mircea_popescu: imho it is necessary to 'defile grandfather's pistol' in certain carefully-selected ways, but only if it can be done while making it clear that it was defiled in ~these but not other, unspoken~ ways
asciilifeform: mircea_popescu: these: next!111
lobbes: BingoBoingo: aha. Yeah, I guess more towards high school. Luckily I was just old enough to still have been taught how to research using actual b00ks and/or libraries.
mircea_popescu: and what i pictured were 72 cubits high, translucent, ageless, nonmenstruating and deliver pregnancy to term within the day.
asciilifeform: though what i pictured is that trb can finally produce the motherfucking ~book~ and it will be possible to start rewrite... ☟︎
mircea_popescu: still, the "frozen trb because networking" or "because badlt done block check" etc can't go on forever.
asciilifeform: (it remains to be seen if the thing had ever, or will ever, fit entirely in any head)
asciilifeform: as, e.g., trb itself.
asciilifeform: in actual practice, gigantic turds take eons to fit in head.
mircea_popescu: still, due to the fact that v allows attribution, the change can be digested over time.
asciilifeform: (if i cannot ~mechanically~ tell that the untouched parts are untouched -- they are, for all intents and purposes, touched)
asciilifeform: a patch that has any significant 'cut-and-pasteology' -- tends to make it intractable again.
asciilifeform: the entire point in using a differ in vtron at all (as opposed to signing ENTIRE body of work) is to make the work of the reader tractable.
deedbot: http://qntra.net/2017/01/venice-refugee-center-patrons-riot-and-take-hostages/ << Qntra - Venice Refugee Center Patrons Riot And Take Hostages
asciilifeform: this is why the original genesis was such a painful affair (and why it was and remains important to READ how i did it)
mircea_popescu: i suspect graph theory may have a solution for us, but it is not clear to me how.
asciilifeform: mircea_popescu: i'm not entirely certain that the problem is solvable (it IS possible to define a richer diff language that permits block moves, but this also permits inscrutable-to-naked-eye patches to exist.)
asciilifeform: davout: that'd depend on 'how magical' , neh ?
mircea_popescu: this is obviously true ai problem.
mircea_popescu: davout the gordian knot is how to make it both unmagical and self-summarizing.
lobbes: Re: wikipedia. I remember early on in grade school I was actually taught that wikipedia was shit. By the time I entered college this tune had changed. Now it all makes sense
davout: but if it really needs a magical difftron, can it still be said the operator can see everything with naked eye?
mircea_popescu: v is really only as powerful as the underlying differ is. ☟︎
mircea_popescu: myeah. and if unfixed this issue liable to recur.
asciilifeform: !#s teco
asciilifeform: but a differ that ~understands moves~ would be quite spiffy.
mircea_popescu: i suppose it IS easier to check though
lobbes: That was a great read, thank you. Lined up exactly with my own anecdotal experiences. If I learned one thing in 'business school', it was how to properly bullshit. Only cost some 20k! Real learning didn't happen until after graduating (funnily enough, I also learned to drive -after- getting my license)
mircea_popescu: lobbes this incidentally explaisn why wikipedia is such shit - it's ~only function is a sort of open-sourced cliffnotes, and people would much prefer it to be bland and stupidly written so the teacher in class doesn't feel too inclined to think the kids' lifted material isn't his. after all he added all the flavour words in there!
asciilifeform: i can think of a few palliative pills for it, in particular to structure the deletions and insertions in separate vpatches
mircea_popescu: asciilifeform this is a problem yeah. will however have to be bit, wtf else to do. ☟︎
asciilifeform: (gigantic deletes and inserts, rather than the actual 'we moved such-and-such lines to this-here place...')
a111: Logged on 2017-01-03 15:15 mircea_popescu: anyway, http://thelastpsychiatrist.com/2011/08/grade_inflation.html ; total must-read.
lobbes: http://btcbase.org/log/2017-01-03#1595456 << "First, and obviously, since the majority of the students are going to get an A, he just has to do just as well/horrifically as the average student, and if they're all writing about slavery with the enthusiasm of a photocopier then if he wants an A he better buckle down and learn the truly useful skill of masking the words of a Wikipedia page. " ☝︎
asciilifeform: to rephrase: the resulting vdiff would be quite far from minimal
asciilifeform: mircea_popescu: i can think of one (nonfatal, but quite unpleasant) headache: without a less-idiotic replacement for gnudiff, the resulting cut-trb becomes very difficult to pedigree to trad-trb . sorta like the problem with the tabs/spaces cleanup proposed by mircea_popescu last year
mircea_popescu: anyway, the great gain is that no two elements need/have write access to the same thing by this scheme. in point of fact one way to look at current trb/prb is to say that they have "write locks" on all the fucking time and deadlock.
davout: hrm, i'll have to re-read ☟︎
davout is getting lost in the variable names
mircea_popescu: (this knob is then in practice equivalent to the "checkpoints" discussed previously)
mircea_popescu: in particular N.B should be "older overwrites newer" style ring buffer. of particular concern are situations where the buffer is set shorter than the longest reorg, in which case the node will wedge. TRB.N not accepting blocks with index lower than highest of B.B is for sure not feasible. "how many behind" should be an operator knob. ☟︎
mircea_popescu: "this is my B.T1 of all txn with no fee, this is my B.T2 of all the payments to my X, this is my B.T3 of all txn over 5kb relayed by ip X"etc.
mircea_popescu: but it is not required for B.T to be used only in this way or for this purpose. in principle there could be a whole pile of these, readily extended into whatever operator wants to do.
mircea_popescu: this scheme among other things cheaply allows the "add arbitrary new address to wallet", just have utility that (separately) processes B.B and produces new set of B.T. ☟︎
mircea_popescu: "blocks that have been recevied via the network"
mircea_popescu: "watched addresses", or something of this kind.
mircea_popescu: in any case : TRB.N needs write access to N.B and M.T and read access to B.B ; TRB.B needs read access to N.B and write access to B.B and B.T. it may be a good idea to also give TRB.N read access to B.T but this should be operator-knob
mircea_popescu: M.T deliberately left unspecified, it is the equivalent of today's "mempool". perhaps should also be a ring buffer like the other 3.
mircea_popescu: all three queues to be implemented as ring buffers of user specified size. ☟︎
mircea_popescu: otherwise it is discarded. B.T may be pruned (according to arbitrary address list, for instance). Rate limiting in TRB.N may be constructed to observe N.B items that fail to propagate to B.B and ban the originating peers. ☟︎
mircea_popescu: TRB to be split into two parts : TRB.B and TRB.N. Queues B.B B.T N.B to be created. TRB.N inherits the code to connect to peers. TRB.N reads blocks from peers, and puts them in N.B. TRB.N reads txn from peers and puts them in M.T. TRB.N does nothing else (with the possible exception of rate limiting for peers). TRB.B reads N.B and verifies the blocks. if the block is verified it is added to B.B and its component txn to B.T ;
asciilifeform: (the 'sanity proxy', if you will, for trb)
asciilifeform: it might be worth mircea_popescu's time to write a detailed sketch of this item.
mircea_popescu: but anyway, this is all well known matter.
mircea_popescu: yes, they're both "transactions" in the terms of the eventual datastruct they'll occupy. they aren't for that reason the same thing.
mircea_popescu: "i have heard this transaction" is of interest to b ; not of a. "this is a transaction from a block" is of interest to a.
asciilifeform: aite, this is the interpose thing
a111: Logged on 2016-12-20 19:42 mircea_popescu: nope. blockchain part will get to it when it gets to it, and tell you. until then, peer part builds queues.
mircea_popescu: http://btcbase.org/log/2016-12-20#1586739 exactly where trinque linked. ☝︎
asciilifeform: explicitly, where do you propose the cut
mircea_popescu: you're not at liberty to discuss something else, in different terms.
asciilifeform: mircea_popescu: draw the cut plox
mircea_popescu: no such third was contemplated ; when discussing a proposal you are stuck, willy nilly, first understanding it and then referring it
asciilifeform: so b there is the 'third' contemplated earlier.
mircea_popescu: b handles the networking ; a handles the blockchain.
mircea_popescu: you do not. a speaks through b and through b only.
asciilifeform: because if not, then naturally -- not.
asciilifeform: so you end up needing a third. (supposing that you are trying to speak the old protocol, with heathens!)
mircea_popescu: this was not an input in teh scheme.
asciilifeform: mircea_popescu: the tcp stack per se does not offer any means whereby two proggies speak simultaneously through 1 socket
mircea_popescu: it ~may~ be the case that some arbitrary level of cleanliness requires an entirely new universe. this, however, can never inhibit the brushing of toilets.
a111: Logged on 2017-01-03 19:59 asciilifeform: trinque: it isn't , currently, clear to me that you can make this cut cleanly without hard-breaking with the traditional protocol.
mircea_popescu: http://btcbase.org/log/2017-01-03#1595712 << you've never defined the level of "cleanly" contemplated here ; and for all practical purposes it's not relevant (ie, any uncleanliness in the result is already present in the current soup anyway) ☝︎
a111: Logged on 2017-01-03 19:56 ben_vulpes: because "map-reduce" does not reduce to "here's how i'm going to solve specifically the case where thread n finds an unspent out and thread n+1 finds its spent and in the reducing phase i collate everything proper-like"
mircea_popescu: http://btcbase.org/log/2017-01-03#1595700 << this has the cheap solution of "spent prevails" on the theory that it can't be the case an unspent input is ever found spent. ☝︎
mircea_popescu: well shit, we specifically don't want this
asciilifeform: 1 process, in which all threads share (quite catastrophically, as readers of trb ml will know) the heap.
mircea_popescu: what is this "one binary", for srs.
asciilifeform: i parsed it as the sense-making 'build to one binary'
asciilifeform: ( BingoBoingo quit drink, adlai, iirc, quit lsd, so there is no one left to think this sort of notion )
asciilifeform: i dun recall anyone ever suggesting that trb be distributed as exe...
a111: Logged on 2017-01-03 19:53 davout: trinque: but "must RI be a single binary?"
asciilifeform: 'requires 80% of gossipd' would be a stronger statement, but then i'd have to explain which 80
trinque: "don't talk to idiots" is a far broader problem than bitcoin
trinque: I was going to say the same, does require gossipd