log☇︎
207900+ entries in 0.13s
mircea_popescu: not that i'm proposing the insanity is sane.
mircea_popescu: you got a good point, but it's just part of the story as-is.
mircea_popescu: well, you can either try to replicate this, if you wish, irl, or else show a case in blockchain where it happened, after 2011, or else simmer down and keep digging.
asciilifeform: mircea_popescu: it's an absence, not a presence, of code, how do i point to an absence ?
mircea_popescu: the ~exact~ ~specific~ ~pinpoint-for-me-in-lxr-or-bust~ mechanism of this is not specified.
mircea_popescu: should dr evil attempt to re-mine C1 as part of T3 in block 4, this will fail, because T1 still exists in blockchain
mircea_popescu: then, block 3 is orphaned. this wipes any mention of C1/C2's hash from index.
asciilifeform: ignoring the maturity rule, but sure
mircea_popescu: later on the output of T1 is spent by T2 in block 2
mircea_popescu: so. coinbase C1 part of tx T1 is included in block 1.
mircea_popescu: let's see the practical consequence where you simmer the fuck down and stop oversignalling by a factor of fifty trillion ONCE!!! in your life! one ounce work ten bushels sky is falling good god.
asciilifeform: now for the practical consequence. what this means, as far as i can tell, is that there can exist -- may already exist -- chains of tx in trb, that cannot be walked back to a coinbase.
asciilifeform: because their parent coinbase gets zapped from the index illegitimately
asciilifeform: the result is an arbitrarily long chain of beheaded tx
asciilifeform: so nobody needs to introduce a double-spend for this horror to work.
asciilifeform: trb as it exists , permits a new tx having same hash as old, so long as old one was spent.
mircea_popescu: and then he wants to re-introduce original. but he can't. because doublespent.
mircea_popescu: from the index.
asciilifeform: then when it gets orphaned, it also nukes the original.
asciilifeform: 50* was spent, and per trb rules, garbagecollected from the index
mircea_popescu: he'd be doing this by himself as block 60 (really, why all the 0s ? you need them for something ?) which doublespends block 50 won't be accepted by eg me.
asciilifeform: mircea_popescu: revisiting the boojum: block 500,000 has coinbase B. it was spent, many cities are built on the outputs, time passes, world forgets. yeas later, dr. evil mines a block ~600,000~ , now again having B. ( he does not need to know any keys for this, can just copy the tx. ) then he sets his minetron to start again from 599,999. succeeds in orphaning block 600,000 . reorg fires. B now gets removed from the index db ! and a
asciilifeform: as i understand, it will validate, in trb.
asciilifeform: another tickle : what'll happen if someone were to mine a block that 1) has a coinbase equal to one of these magical coinbases + 2 ) spends same ?
asciilifeform: unless it was in ye olde otc or whatever folx inhabited in the olden dayz.
asciilifeform: did we have this thread before ? ( doesn't seem to turn up )
asciilifeform: the heathens think it to be 50 btc : https://blockchain.info/address/16va6NxJrMGe5d2LP6wUzuVnzBBoKQZKom
asciilifeform: is there even a consistent way to calculate it ?
asciilifeform: what's the actual balance of 16va6NxJrMGe5d2LP6wUzuVnzBBoKQZKom anyway
asciilifeform: say i walk in with a tx that spends the output of d5d27987d2a3dfc724e359870c6644b40e497bdc0589a033220fe15429d88599
asciilifeform: i suppose in the one where nobody revalidates the chain, ever ?
asciilifeform: even the comment on ln 756-7 is nonsensical, 'This is only possible if this transaction was completely spent, so erasing it would be a no-op anway.' in what universe is erasing the ancestor of a valid tx a 'no-op' ?
asciilifeform: which it where it gets interesting, because the 'can fail' doesn't seem to exist in the code:
mircea_popescu: does it regenerate the index on reorg firing ?
asciilifeform: i read the code, again and again, and it would seem like 968-984 is the whole of the crutch. and in classic nsa style, the comment misdirects the reader to think that the 'bug' was 'fixed'.
mircea_popescu: i suspect there's some crutch code somewhere.
asciilifeform: now coinbase of 500,000 is missing from the index, and is unspendable.
asciilifeform: B is removed from the tx index.
asciilifeform: block 500,000 has coinbase B; 500,001 - coinbase C, 500,002 : B again. now 500,001 and 500,002 end up orphaned. the reorg fires.
mircea_popescu: so restate. and also spare me specifications that c ain't b, obviously it isn't, if it were you'd call it b.
asciilifeform: let's picture that 500,001 and 500,002 end up orphaned, strictly.
asciilifeform: now picture that this 3-block sequence gets orphaned.
asciilifeform: 500,001 contains a tx T1, that spent B.
asciilifeform: which later tx
mircea_popescu: wait, how would a later tx make it in.
asciilifeform: they appear now to have dropped from mars.
asciilifeform: because their parent coinbase is no longer in tx index
asciilifeform: now the proceeds of the old, spent coinbase, can no longer be spent
mircea_popescu: do you mean, "it removes transaction entirely but it doesn't nor could correcty undo the damage to the ball of yarn" ?
mircea_popescu: if it's not in the new chain you mean ?
asciilifeform: a reorg will remove the overwritten tx entirely
asciilifeform: mircea_popescu: also it is not clear to me that reorgs actually handle this case
mircea_popescu: in other news, camembert, lomo horneado + boiled corn on the cobb, primo breakfast a++ would breakfast again
asciilifeform: sooo per my reckoning, you can have sane-trb-indexer, but now every tx gotta have a field for 'was replaced?' -- and if bit is set, indexer goes and looks at the collision table, the previous lookup now 'didn't count'
mircea_popescu: i suppose that was a hook intended for some kind of anonimization thatnever made it in.
asciilifeform: now you have mutilated the history. entirely legally.
asciilifeform: also it is not clear to me that trb ever... worked, in the customary sense of the word. what, for instance, happens if you actually carry out the -- entirely legal per all known btctrons -- replacement of a ~spent~ coinbase tx ?
asciilifeform: but possibly now mircea_popescu sees what asciilifeform meant by 'trbi is much EASIER problem than working-trb'
mircea_popescu: im not arguing THAT lel.
mircea_popescu: it's 64 bits until year 13500 and 128 bits from there on until year 1mn etc
asciilifeform: and it is NOT acceptable to have non-O(1) indexing.
asciilifeform: there is no such thing as an O(1) undefined-size index.
mircea_popescu: now, i do propose that it is actually better to have undefined-sized indexen than to have colliding txn or "limited to x bits" txn count.
asciilifeform: the neat thing being, that on Collision Day, you can retro-stretch all of the previous hashes
mircea_popescu points out wholly disinterestedly at this point that the eponymous mpfhf allows for variable length output, and could be made to do say log (blockheight) bits!
mircea_popescu: im not arguing THAT lel.
asciilifeform: it isn't ever a solution, to anything !
asciilifeform: but let's for sake of argument suppose that : sooner. it is STILL moronic to STORE COLLIDING KEYS IN DB omfg
mircea_popescu: well you'rte going to start getting collisions way before you used up every possible txid
asciilifeform: where do you get 'lower than 32'
mircea_popescu: and it's the fuck lower than 32bits.
mircea_popescu: asciilifeform that means there's a cap on total txn bitcoin will ever process
mircea_popescu: other than the hope "they won't be many" (recall the naive oh, if we need we just add more digits after decimal ? hurr. you fucking don't.)
asciilifeform: there's 1 way -- if you send in an anything that collides with a previous ANYTHING, you are told to fuck off.
mircea_popescu: there's no way to avoid collisions.
asciilifeform: the way i read ln. 968, miners TODAY are apparently more than welcome to create a duplicate coinbase, so long as it is a dupe of a ~spent~ coinbase.
asciilifeform: i mean, the algos.
asciilifeform: and i don't mean trb
asciilifeform: it doesn't look to be fixable.
mircea_popescu: and what is meant when people such as me say bitcoin's a pos and what it was meant when i told the power ranger tards to fix it or get killed years ago
mircea_popescu: this is at the core of the argument in favour of a trb-i implementation.
asciilifeform: (making the id entirely worthless, and dragging in the worst of both worlds, you now ALSO have to remember the position. why not ONLY store the position ?!)
asciilifeform: the 'unless spent' is riotously idiotic, it means that a txid does NOT, even today, guarantee to uniquely identify a tx.
asciilifeform: http://btc.yt/lxr/satoshi/source/src/main.cpp?v=makefiles#0968 << the routine in question. ☟︎
asciilifeform: if you reject incoming tx (in a block , in particular) that overwrites old 'spent' one, you have broken the pistol.
asciilifeform: so if you make a 'tx that has same hash as ANY known tx to date which != this tx' you have broken the pistol, forked from the old semantics.
asciilifeform: and the 'unless those are already completely spent' thing substantially complicates, if not prevents, a sane indexing scheme
asciilifeform: but it only applies the rule after certain timestamp of block
asciilifeform: this is not an original discovery, there's a magic case for it in trb
mircea_popescu: they in principle became impossible at some point once people figured out this hole.
mircea_popescu: when's the oldest you found ?
asciilifeform: and that replacement of 'spent' tx is even permitted still.
asciilifeform: and are cemented into the 'grandfather's pistol'
asciilifeform: mircea_popescu: not related, but gotta ask before mircea_popescu goes back to sleep, (believe or not) i just today noticed that duplicate coinbases actually existed.
mircea_popescu: which don't discuss "worry, for or against". they discuss "worry, lulz" and other things.
asciilifeform: this is not unlike to say that 'if the only response tumour cell encounters in the organism is an army of killer tcells, there can be no cancer.' well yes.
mircea_popescu: the path from empire to republic traverses the river of worry, and the bridge is made of qntra and qntra-likes.
mircea_popescu: which is how that transition worked, and how all other transitions worked.
mircea_popescu: and no, no physical dissassembly required. the moment the ~only response "worried woman" encounters in household is one thin layer of mockery backed by an endless layer of physical punishment, the su not only goes away but actually becomes impossible.
mircea_popescu: the ~only point of "organised female resistance" is that it de facto constitutes a lulzcow herd. they can be milked for lulz. that is the only utility, from obama to the last famished "evangelist" out there.