Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 8014C5AC for ; Sat, 8 Apr 2017 22:34:13 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 9624CD4 for ; Sat, 8 Apr 2017 22:34:12 +0000 (UTC) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id D4CF4209DF; Sat, 8 Apr 2017 18:34:11 -0400 (EDT) Received: from web3 ([10.202.2.213]) by compute2.internal (MEProxy); Sat, 08 Apr 2017 18:34:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=lLTwZL 9UyfQoddkIwrrnbBvEKbL+cigp/3qWuuvc9d4=; b=FBc73akumM0ruI9tVLFzXV b7FgafmGV3EF9PUWaiLrfLST4zUpaTwfLTDGKNyLRcNtddtvznc+e6GIZ6+CI+S4 JvstCvP+tXGdM1DJv6osBAutMlfRc3cBcmXTXlp1VQmsw/WyvhzXG/+/6jmxBeRZ lnSjmt+elwzcFg/0WJvRCffmtQiaRm2y6ryPHiWKCVEhG65DnyzhB5/DnEmGME4w MkB53IUOzb7V7OGxrtPH6Vyxbd8QYrvdSjvwTfIu7TuyD9iNzLxRbKoZzu7ycZwD 1ePLUVZRFCZAMUD9W9qvktJQbo3WeWefe0dnO1ns2p8iH1UhXO588GUFgBBSPcGw == X-ME-Sender: Received: by mailuser.nyi.internal (Postfix, from userid 99) id B1A8B9EC4C; Sat, 8 Apr 2017 18:34:11 -0400 (EDT) Message-Id: <1491690851.2490976.938672304.0FD56767@webmail.messagingengine.com> From: Tomas To: Gregory Maxwell , Johnson Lau MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" X-Mailer: MessagingEngine.com Webmail Interface - ajax-7c174d5d Date: Sun, 09 Apr 2017 00:34:11 +0200 References: <1491516747.3791700.936828232.69F82904@webmail.messagingengine.com> <1491599691.1245876.937920664.6EBA20DC@webmail.messagingengine.com> <1491636528.2474173.938219072.54C44183@webmail.messagingengine.com> <6F1E6FB6-1342-4BD6-BF83-A160C1A7CD34@xbt.hk> <1491681378.2454247.938587616.7199D633@webmail.messagingengine.com> In-Reply-To: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Sat, 08 Apr 2017 22:46:27 +0000 Cc: bitcoin-dev Subject: Re: [bitcoin-dev] Using a storage engine without UTXO-index X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 22:34:13 -0000 On Sun, Apr 9, 2017, at 00:12, Gregory Maxwell wrote: > In Bitcoin Core the software _explicitly_ and intentionally does not > exploit mempool pre-validation because doing that very easily leads to > hard to detect consensus faults and makes all mempool code consensus > critical when it otherwise is not. There have been bugs in the past > which would have split the network if this optimization had been used. > > (in particular, I believe I recall one related to correctly removing > coinbase spends from the mempool during reorganization that made them > immature; and with the optimization and without the CNB post-test > would have resulted in nodes that saw the reorg creating and accepting > an invalid block, while nodes that didn't rejecting it; but because of > prudent design it was largely harmless). Although I don't quite follow the details (CNB post-test? Connect block I assume?), the risks you are describing seem to be rather specific to Core's implementation. For one, bitcrust does not or use need reorgs at all. Do you argue (or can you further explain) that the idea of splitting script validation (or what you call mempool pre-validation), and order validation is introducing risks inherent to the protocol? Thanks, Tomas