log☇︎
231400+ entries in 0.147s
mircea_popescu: but any any rate, i think this discussion's exhausted itself, we'll have to see later on what we do about this.
asciilifeform: i described one provably-correct algo for doing so, in this thread.
mircea_popescu: ~so long as we ban niggers, politics will work ok. sure, the issue is how to ban them.
asciilifeform: whole thing is more or less a straight rip of it.
asciilifeform: for so long as you ban cycles, the graph is guaranteed to behave in the predictable and sane way i described when first released v.
mircea_popescu: actually, because of how we build the presses, ALL contexts are "so short" as this one ; in the sense the antecedent hash always suffices.
asciilifeform: mircea_popescu: the antecedent hash in this example ~is~ the entire context, because the example is so short.
mircea_popescu: this is because the "same" string (Foo Genesis, modified.) is NOT THE SAME string, depending on the contemplated context. it is a string in 846fdf... and ANOTHER string in whatever other context.
asciilifeform: i dun get the problem here?
mircea_popescu: i was supposed to go sha512(#846fdfb9d99724efbc97b1d2b519a221df9724dec3375c54913c1853af221c8e5ad5b5b8c38fffe4b654066071eafd8194fe7b86faa5fbadfbf1c5b872e81410 "Foo Genesis, modified.")
asciilifeform: ^ for the l0gz.
mircea_popescu: no, because when I hashed to check your hashes i went sha512("Foo Genesis, modified.")
asciilifeform: they currently include the antecedent hash.
asciilifeform: (standard gnupatch behaviour gives you precisely this contextless crapola , yes)
mircea_popescu: so then all strings S must incluide the antecedent hash. and in this definition string S = foo.txt ; nothing else.
asciilifeform: it would be a Bad Thing. if we were to do it. which we don't, because the antecedent hash gives us the context.
mircea_popescu: then therefore, do you agree with the proposition that signing S as long as S consists strtictly of computer code with no indication of context is a meaningless at best and dangerous at worst activity ?
asciilifeform: quite so, and is half the reason why v is necessary to begin with.
mircea_popescu: let me approach this matter from a different pov. do you agree that a string S consisting of computer code can be, depending on the context in which it is patched, the right thing or a deliberate subversion ?
asciilifeform: i can godelize your 'hash the patches' thing in the exact same way.
mircea_popescu: this is turning into an abbot and costello skit.
mircea_popescu: i don't actually see any of these. to start with, "hash everything" is exactly not what was done in the example. it hashed ~the text~, it did not hash ~the antecessor's hash~. this is the problem. that it doesn't hash everything, but just the text.
asciilifeform: (imagine instead of doctor mengele, each of the 3 patches had been signed by different people)
asciilifeform: and if there were no time ordering, it would not be apparent who made the cycle
asciilifeform: and cycle, notice, was still easy to make
asciilifeform: (i.e. stuffing all of, e.g., trb, into one long document)
asciilifeform: notice, in the munchausen example, we had only 1 file, this is equivalent to 'hash everything'
mircea_popescu: pff. all items are later than all other items whose hashes they know.
mircea_popescu: yes. this is the point - that order can be introduced by hashing. all items are earlier than all other items whose hashes they know.
asciilifeform: you used the word 'later'
asciilifeform: you're still making use of the order.
mircea_popescu: earlier a knowing later b's hash is equivalent to either time travel or hash breaking.
asciilifeform: there is unfortunately not an escape from the clock. as per the lamportclock thread.
mircea_popescu: but arguably the latter we already depend on anytway
mircea_popescu: it's not altogether clear why the "hash whole thing, not just parts like fucking bitcoin blocks do" isn't a better solution. moves the clock externality to a strong hash externality
deedbot: http://www.contravex.com/2016/12/23/practical-trigonometry/ << » Contravex: A blog by Pete Dushenski - Practical trigonometry.
asciilifeform: but imho the problem is thoroughly nailed.
mircea_popescu: the cycle issue may require more thinking.
asciilifeform: not sure that deedbot as-it-now-is would do the trick though
asciilifeform: that is ordered enough for this job.
mircea_popescu: yes but this is one of those things you eminently do not wish to solve by human arbitrariety i dun think.
asciilifeform: rather than clock.
asciilifeform: i asked many times for the clock, and pretty sure i explained ~why~
mircea_popescu: but in any case, turns out v actually has a previously poorly understood externality, in the sense of, requires a clock.
asciilifeform: 'there is mud on my hands' 'faucet is right there, go wash' 'don't discuss solution, let's discuss problem!'
mircea_popescu: again : there's no point in discussing solutions as part of discussing problems.
asciilifeform: with 1-patch-per-block, there can be no ambiguity as to who is responsible for closing a cycle.
mircea_popescu: because a) conventionally cycle-closing patches aren't to be released and b) anyone involved in a closed cycle gets hung ?
asciilifeform: it is a taxidermic head of a problem hanging in my study wall.
asciilifeform: i contend that it isn't a problem, and that i solved it before releasing v.
mircea_popescu: in any case i don't want to discuss problems in a marriage with proposed solutions.
asciilifeform: it isn't though. it is mathematically bulletproof.
asciilifeform: then we know the T at which no cycles, and the T+1 at which cycle exists.
mircea_popescu: well this immediately is problematic, because a cycle could be claimed to have been closed more than one way, is the point.
asciilifeform: mircea_popescu: for the two paths to begin to exist, someone has to take a shit in the graph
mircea_popescu: asciilifeform so your contention here is that it is not possible to link a to g through a (b..f) set of patches such that (b..f) is a cycle and that two different paths exist from g to a ?
asciilifeform: if only for the n00bz.
mircea_popescu: i'm not making a positive argument here, and haven't throughout. just trying to examine this thing.
mircea_popescu: you also get guaranteed limited production of patches to 1 per block.
asciilifeform: this also would give mircea_popescu the thing he asked for, which was a litmus that'd let him reject a cycle-creating patch immediately from his light cone, before it can get into his vtron and cause headache. and that is, 'no patch may have a descendant that is also an antecedent of itself or of an earlier-blocktimed patch.'
asciilifeform: so my cyclic(T)==false, cyclic(T+1)==true, culprit is the signator(s) of the patch closing the loop, worx great, when this condition is adhered to
asciilifeform: but in re: 'timing issue', we had a thread where i brought up 'two(+) d00dz form a cycle, who do we negrate' and specifically stated that deedbot-for-vpatches is necessary, and that any two+ folx who insist on issuing patches into same blocktime, and end up being part of a loop, are ~both~ idiots/wreckers
asciilifeform: otherwise he sits in hell playing cards with the other devils, where he belongs, and daren't stick out his nose.
asciilifeform: i.e. a thing that can only exist if ~everyone~ has been catastrophically lazy/retarded for a very long time.
asciilifeform: mircea_popescu: your 'cycle arbitrageur' is precisely the same devil as my cornered-node-creator and panopticonic gossipd observer.
asciilifeform: i'll add that f, g, e ~may~ be pressable together in some combination, or may not, it depends on the actual 'patchons' inside
asciilifeform: (notation seen here is simply the order in which patches apply.)
asciilifeform: the valid presses in the given graph are: a; a->b; a->b->f; a->b->c; a->b->c->d; a->b->c->d->g; and a->b->c->d->e.
asciilifeform: mircea_popescu: i drew the graph, not seeing what is meant in your example: what means 'now both g->d->e->f->b->a and g->d->c->b->a are valid presses' ?
mircea_popescu: (similarly, from a different pov - does this scheme open up cycle-negrate-arbutrage whereby an attacker could go around closing cycles and hoping we misidentify the culprit because of timing issues ?)
asciilifeform brb, tea
mircea_popescu: here's an example to illustrate what i mean :
mircea_popescu: see, basically the fear here is that we DON'T escape the "swelf aware monstrosity" no matter what we do ; we may merely choose whether its in the comments or "somewhere else" magically.
asciilifeform: the signator(s) of that patch is the culprit.
asciilifeform: at T+1 (after one patch) -- there is.
asciilifeform: say at time T there is no cycle.
mircea_popescu: what is required to identify a cycle creator ?
asciilifeform: the creator of a cycle is in all cases identifiable. kick his teeth in, negrate.
asciilifeform: imho my solution is the correct one.
asciilifeform: and now you have a monstrous abortion that has to be 'self' aware
mircea_popescu: well yes, but if you do hash mine for them we change the hash.
mircea_popescu: now whether this is actually a good idea is unclear.
asciilifeform: you can still hash-mine for them.
mircea_popescu: if all patches are required to change a comment line in all files they touch, so that it contains the hash of that patch's intended antecessor ; then it is no longer possible to build cycles without deliberately hash-mining for them (because to close the cycle you will have to at one point claim as anterior an ulterior item).
asciilifeform: give example of how, using the munchausen set.
mircea_popescu: so then why not make it so they are actually impossible ?
asciilifeform: and the culprit is immediately and mechanically identifiable.
asciilifeform: because cycles in vflow are a Bad Thing and under no conceivable circumstances good ?
mircea_popescu: yes but why should this be enforced at the promise level.
asciilifeform: and anyone who creates one, is quite obviously in the wrong
mircea_popescu: can you show this ?
mircea_popescu: this is fine, but the question is whether the specification as extent is correct
asciilifeform: i posted this as a litmus test of sorts, for vtrons.
asciilifeform: it will ring alarm if you run it on the munchausen.tar.gz set.
asciilifeform: and btw i ~solved this~ in my first vtron
asciilifeform: they can be applied in the legal order and strictly in the legal order, that's what v is ~for~
asciilifeform: mircea_popescu: there isn't a 'the patch'
asciilifeform: but -- and i'd rather that mircea_popescu do this in his head -- you can make a 'munchausen' where both steps (or however many, it can be as long as you like) reference the genesis.
mircea_popescu: suppose we had a rule stating that "all patches must include as a comment the patch upon they are to be applied" ? ☟︎
mircea_popescu: yes. so what started all of this in my head, i been trying to lead like three times with "but the problem is :" - we may have a very bitcoin block-esque problem on our hands. specifically, the fact that the hash of a block doth not include the intended hash of its antecessor opens up to a problem we needn't be open to.