On Mon, Sep 26, 2011 at 3:17 PM, Luke-Jr <l...@dashjr.org> wrote: > + return DoS(10, error("AcceptToMemoryPool() : transaction with out-of- > bounds SigOpCount")); > + return DoS(10, error("ConnectInputs() : tried to > spend coinbase at depth %d", pindexBlock->nHeight - pindex->nHeight)); > These shouldn't be "DoS"'d, or else you open a new DoS when nodes legitimately > relay such transactions/blocks.
Huh? So in the future lets suppose we schedule a change to the acceptable block rules that allows more SigOps in a block, or allows generation transaction to be spent before 100 confirmations. At that same time, the DoS rules will be changed. You cannot "legitimately" relay those blocks without a scheduled block-chain-split. If a block-chain-split IS scheduled and the rules change, then denying service to nodes running old, obsolete versions of bitcoin is the right thing to do-- it is better to "fail hard" and find it difficult or impossible to connect to the network rather than continue with an obsolete client and a non-majority block chain. (and the third DoS in AcceptBlock(): prev block not found is a "should be impossible" case, because AcceptBlock is only called when extending the best-block chain). -- -- Gavin Andresen ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development