On Saturday, July 30, 2016 11:18:36 PM Paul Sztorc via bitcoin-dev wrote: > In my view, "alerts" are relatively straightforward: a new OP CODE (details > below) st. the txn only succeeds if it references invalid block content on > a "pretender block". > > However, my background reading seems to reveal that "fraud proofs" (as they > are now called) require some kind of tremendous engineering overhaul. Can > anyone point me to these large problem(s)?
Essentially this comes down to attackers being able to construct a block for which invalidity cannot be proven. While you could always show a proof for an invalid transaction within a well-formed block, you cannot show a proof that a block is not well-formed. For example, the merkle tree that ought to represent a set of transactions may be corrupted in such a manner that the transaction paying Alice can have a SPV proof made, but the links in the merkle path have no known data (transactions) behind them. This could even be a perfectly valid block, but with some of the transactions withheld until it is stale - full nodes and miners cannot accept it without knowing the entire block's transactions. The only solution to this I am aware of, is for Alice to be told "hey, block XYZHASH is incomplete and cannot be checked", and then Alice demands the full block from the attacker. But of course this makes it trivial to DoS Alice by giving her bogus incomplete-block claims and forcing her to use the same bandwidth as a full node - which is a major problem if she lacks the bandwidth to run a full node (presumably her reason for using SPV in the first place). Luke _______________________________________________ bitcoin-dev mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
