log☇︎
231300+ entries in 0.138s
mircea_popescu: (it is uniquely idiotic to clock v patches by bitcoin - because for eg what happens in 2115 when v is the basis of bitcoin and a bug occurs which makes blocks not happen anymore and has to be fixed by a vpatch which can't exist because no blocks.)
mircea_popescu: in any case, as described v becomes an actual bitcoin , very much in the sense of "slavegirl powered btc" - each "block" ie vpatch is mined etc. this de facto allows to have things such as a "development clock" for perhaps other usage.
asciilifeform: there is no squaring for this circle, mircea_popescu .
asciilifeform: you cannot prevent the identical bitstrings, regardless of what epicycles you come up with. other than by ordering.
asciilifeform: they are the same bits ! you cannot 'choose 1'
mircea_popescu: asciilifeform but when you write another one, you ~have to~ choose one of them.
asciilifeform: which takes you to the same place.
asciilifeform: it does not in point of fact have a unique 'last patch applied', because there is no way to prevent two people who do not know about one another from both writing :
mircea_popescu: well, do we actually want this ? it doesn't seem to make sense ; in the sense that when you write the patch in question, you write it atop a specified code ; which is the result of a press ; which has a "last patch applied" necessarily. so that one should be the "antecedent" properly speaking.
asciilifeform: what does the string 'Patch for genesis' do in mircea_popescu's paste example ?
mircea_popescu: but yes, in the last instance, it's to demand that "same patch" can only mean, "same text" + "applied in same place".
mircea_popescu: by similarity to how we'd like block hashes inbitcoin to cover the whole block and not just parts.
mircea_popescu: well in fact, to demand that hashes cover the patch and its context, not merely the patch.
asciilifeform: mircea_popescu: as i understand, your solution to cycles is to demand that no two patches be equal.
mircea_popescu: i dunno if you read that ; did you ?
mircea_popescu: (also why i said no above to "gensym")
mircea_popescu: you propose we both write the same code on the same patch ? then yes, they come out the same. this is fine.
asciilifeform: they will if the payload is the same.
mircea_popescu: they won't come out the same.
asciilifeform: or to have an oracle.
asciilifeform: in order to never do this, we have to confer.
asciilifeform: we at the same time write '#Patch bfffhlerghhl' for our gensyms.
asciilifeform: and at the same time, mircea_popescu also does.
asciilifeform: say i sit down to write a patch.
asciilifeform: let's work this out :
asciilifeform: there is no concept of 'previous' without a time order !
mircea_popescu: nono, just previous patch hash. whenever you sit down to write a patch, you sit down to write it atop a press, or at any rate the situation resulting from a press. that has a "last item pressed" by necessity, and THAT will be your header.
asciilifeform: a gensym, in case anyone forgot, is defined as a symbol that is guaranteed to be unequal to all other invocations of gensym.
asciilifeform: mircea_popescu's solution, if i understand it, is to include a gensym in each patch body.
asciilifeform: and you want to find out ~who~
asciilifeform: what you need ordering for is if someone ~does~ break the no-old-antecedent-hashes-as-descendants rule
asciilifeform: in mircea_popescu's paste, there is only 1 way.
mircea_popescu: there's only one way to fit them all together.
mircea_popescu: isn't ordering therein implicit ?
asciilifeform: you can ban it, as shown above in mircea_popescu's paste, by demanding that no new patch produce the antecedent of an old one.
asciilifeform: sure we can. at least under my original vtron, this was a legal operation because it does not produce an eternal walk.
mircea_popescu: we can't "return to genesis".
asciilifeform: mircea_popescu: this destroys the ability to see that we in fact returned to genesis. has it occurred to you to wonder why even to have patches at all? why not everyone just signs the entire hindenburg titanic of trb every time he changes a line ?!
mircea_popescu: then there'd be absolutely no b=d ambiguity.
asciilifeform: mod6's vtron, in this respect, worx.
mircea_popescu: in point of fact, it should have looked like this : http://wotpaste.cascadianhacker.com/pastes/u51YZ/?raw=true and so following.
asciilifeform: mod6: now try to get antecedents for foo-modified
mod6: "returned to earth"
mod6: so i think i've tested exactly what you laid out, asciilifeform, with V99995 (the current version out there), and this is the result:
asciilifeform: and you can prove that it will.
asciilifeform: and there is no confusion.
mircea_popescu: but this is a->b->c->d(=b). the only reason d is confused with b is because we don't hash correctly.
asciilifeform: http://wotpaste.cascadianhacker.com/pastes/TwMUZ/?raw=true << this sets off the alarm.
asciilifeform: yours rings the alarm bell.
mircea_popescu: because exactly : yours is legal and fine ; mine is trouble.
asciilifeform: it is legal in my vtron, because it 'returns to earth'
mircea_popescu: asciilifeform this goes a->b b->c c->a
mircea_popescu: per doctrine you're supposed to rebase. can still keep for "historical purpose"
davout: and why is it considered an issue? i mean, what if we realize all these patches were retarded, that we roll them all back, but want to keep the flow for historical purposes?
mod6: <+asciilifeform> note that a correct vtron will not misbehave if you have this. << am trying this...
asciilifeform: davout: those are the same thing
davout: why is it "returning to genesis" rather than "pressing something that happens to be equal to the genesis" ?
mircea_popescu: asciilifeform i specifically want a cycle (n >1) where one element traces back to genesis. it seems to me that because one patch can only identify one antecedent, it is not possible to create cycles for the ~same reason organic chemistry doesn't work on hydrogen and oxygen only.
asciilifeform: returning to genesis is permitted, because the toposort still terminates.
asciilifeform: note that a correct vtron will not misbehave if you have this.
mircea_popescu: so now. how would one make a cycle whereof at least one element actually traces back to genesis ?
asciilifeform: note the '--- a/foo.txt false'.
asciilifeform: but in fact it -- definitionally -- does not, even if someone tries to 'give' it one.
asciilifeform: so it would appear, if you naively drew the graph, that the genesis now has an antecedent
mircea_popescu: but that is not ~the~ genesis ; that is merely the same string of code.
asciilifeform: mircea_popescu: because dr.mengele makes a patch that ~produces~ the genesis, thinking he is oh so clever
asciilifeform: that is the definition of genesis, it has no antecessor.
mircea_popescu: so then how is it a cycle ?
mod6: yeah, i certainly tried. and i thought i even tested this before... so maybe there was a regression. but i'll admit, that python code is very strange to me eith the for with the else.
mircea_popescu: i don't get it, the genesis has an antecessor ?
asciilifeform: mircea_popescu: it is a cycle topologically, but given as it contains the genesis, the 'ant walker' stops at the genesis, and does not walk in circles.
asciilifeform: mod6: so i guess you did not copy my toposort.
asciilifeform: and you won't, if you copied my toposort.
mircea_popescu: how is it a cycle if it terminates ?
mod6: and when I do that above test ^, i never hit this line: death("Cyclic Graph!\n");
asciilifeform: mircea_popescu: it is not illegal in my vtron because the toposort still provably terminates.
mircea_popescu: thinking about it, is it actually possible to make a cycle where at least one element traces back to genesis ?
mod6: well, i was trying to discern weather my toposort is correct or not.
asciilifeform: or to press
asciilifeform: whereas in munchausen.tar.gz, you WOULD walk forever if you tried to flow
asciilifeform: you never walk the entire loop, full circle.
asciilifeform: because you can TRACE BACK TO GENESIS
asciilifeform: any patch in that loop is pressable without spinning in circle forever.
asciilifeform: mod6: take a paper and draw a loop containing the genesis.
asciilifeform: returns to genesis are topologically harmless and so were legal in my vtron (they cannot cause any kind of inconsistent behaviour.) note that a deedbotted vtron as discussed in today's thread, would still ban them.
mod6: im not sure if i follow. are you saying that genesis isn't a good place to test it because it is a root?
asciilifeform: (where an item comes to exist ex nihilo, without flowing from genesis)
asciilifeform: because it takes you back to genesis
mod6: so 'b72b573' ... and drop this into a down-flow vpatch that touches net.cpp, that should cause the cycle right? like so:
mod6: if i take this output hash from genesis for say, net.cpp:
mod6: (i played with this for a long time lastnight after that quick conversation)
mod6: asciilifeform: hey, say I wanted to test my toposort...
asciilifeform: even d00d with cock that only fits on a spool in atlantic cable-laying ship cannot break arithmetic.
mircea_popescu: ordering is provided by hashing ; we're currently not actually using this, no idea why, but whatever. i really mean it when i say the discussion's exhausted itself, im not gonna sit here an' retrace the same circle witcha.
mircea_popescu: you're very kind, but the problem doesn't need that redefinition.
asciilifeform: and this is rapidly turning into the one-time-pad thread.
asciilifeform: if mircea_popescu or anybody else wants to try to 'square the circle' and make a v-prime algo that doesn't need ordering, i will helpfully show how it breaks.
mircea_popescu: (also that it's not currently implemented anywhere, but that's minor. the reason it's not implemented is that it doesn't, at least to my eyes, make much sense.)
mircea_popescu: yes ; that it requires blocktime.
asciilifeform: why continue to pretend that this is an open problem ? do you see an issue with the blocktime algo ?