[bitcoin-dev] Smaller Transactions with PubRef
ZmnSCPxj at protonmail.com
Sun Aug 2 14:22:30 UTC 2020
Good morning Mike,
The issue with SCRIPT re-evaluation is that reorgs cause more processing to be done by nodes.
Floating-point Nakamoto Consensus does not help here, since a node can receive the lower-scored block first, and *then* a higher-scored block, and thus will ***still*** observe a reorg since the chain tip is replaced with a higher-scored block later.
This still increases the processing load on validating fullnodes, and prevents any kind of pruning from working for validating fullnodes.
A miner can also still mount a DoS on validating fullnodes, with `OP_PUBREF` and Floating-Point Nakamoto Consensus by re-mining the same block, and broadcasting a block if it has higher score than the previous chain tip.
This locks the blockchain ***and*** increases the load on fullnodes, which have to re-validate uses of `OP_PUBREF` that might refer to the chain tip.
> Hey ZmnSCPxj,
> Re-orgs should be solved in a different way.
> Best Regards,
> On Sat, Aug 1, 2020 at 5:36 PM ZmnSCPxj <ZmnSCPxj at protonmail.com> wrote:
> > Good morning Mike,
> > Hard NAK.
> > The responses to the original posting already pointed out important problems with this:
> > * Encourages address reuse, hurting fungibility and privacy.
> > * Prevents pruning, since access to previous blocks must always be available in order to validate.
> > * Optimized implementation requires creating yet another index to previous block data, increasing requirements on fullnodes.
> > * Requires SCRIPT to be re-evaluated on transactions arriving in newblocks, to protect against reorgs of the chaintip, and in particular `OP_PUBREF` references to near the chaintip.
> > None of these issues have been addressed in your current proposal.
> > The proposal looks at clients only, without considering what validators have to implement in order to validate new blocks with this opcode.
> > Regards,
> > ZmnSCPxj
More information about the bitcoin-dev