Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 5B74E95E for ; Sat, 8 Apr 2017 19:56:20 +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 B1A23124 for ; Sat, 8 Apr 2017 19:56:19 +0000 (UTC) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 06811206B7; Sat, 8 Apr 2017 15:56:19 -0400 (EDT) Received: from web3 ([10.202.2.213]) by compute2.internal (MEProxy); Sat, 08 Apr 2017 15:56:19 -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=TwZIpR ulemFkCiyZ797jS9+92h+iKyHom3SZRpJKhNM=; b=EvN9TSpUlEv3crPyQlcd+U KKst52EYec5g47qzmCjKrUHcj88iVLyhOGqdOKWJc7oPXbxuSc2Z4Oj50QuzLFw3 j/1Vrcph2C4b1P7rMpHFYkwpQZl3OaAz7U2+4CgCFJ2dPNEczjwkGr2Q+dLVXeWv RCpks0yTXjRU9EEBpYK9EEuyHV/FND7FdDlXKYhJEoTDeqFh9vuxvaNA8V/rlZyE Wn4dcYGEJBfc+ffJt19Syh/RnEG5RfJFyhnHQzvFqbo2HkHzJVt/GBkeh656yrCD TjL+UTbZpVpHqEhsxf+5qHnnoJW/Kd9k36r+DHWWcCTtLb1YIPuy58+NIdSznRXw == X-ME-Sender: Received: by mailuser.nyi.internal (Postfix, from userid 99) id CEA699EC4C; Sat, 8 Apr 2017 15:56:18 -0400 (EDT) Message-Id: <1491681378.2454247.938587616.7199D633@webmail.messagingengine.com> From: Tomas To: Johnson Lau , "bitcoin-dev" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Mailer: MessagingEngine.com Webmail Interface - ajax-7c174d5d In-Reply-To: <6F1E6FB6-1342-4BD6-BF83-A160C1A7CD34@xbt.hk> Date: Sat, 08 Apr 2017 21:56:18 +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> 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 20:00:33 +0000 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 19:56:20 -0000 > I don=E2=80=99t fully understand your storage engine. So the following de= duction > is just based on common sense. >=20 > a) It is possible to make unlimited number of 1-in-100-out txs >=20 > b) The maximum number of 100-in-1-out txs is limited by the number of > previous 1-in-100-out txs >=20 > c) Since bitcrust performs not good with 100-in-1-out txs, for anti-DoS > purpose you should limit the number of previous 1-in-100-out txs.=20 >=20 > d) Limit 1-in-100-out txs =3D=3D Limit UTXO growth >=20 > I=E2=80=99m not surprised that you find an model more efficient than Core= . But I > don=E2=80=99t believe one could find a model that doesn=E2=80=99t become = more efficient > with UTXO growth limitation. My efficiency claims are *only* with regards to order validation. If we assume all transactions are already pre-synced and verified, bitcrust's order validation is very fast, and (only slightly) negatively effected by input-counts. Most total time is spend during base load script validation, and UTXO growth is the definitely the limiting factor there, as the model here isn't all that different from Core's. > Maybe you could try an experiment with regtest? Make a lot 1-in-100-out > txs with many blocks, then spend all the UTXOs with 100-in-1-out txs. > Compare the performance of bitcrust with core. Then repeat with > 1-in-1-out chained txs (so the UTXO set is always almost empty) >=20 Again, this really depends on whether we focus on full block validation, in which case the 100-1, 1-100 distinction will be the similar to Core, or only regard order validation, in which case Bitcrust will have this odd reversal.=20 > One more question: what is the absolute minimum disk and memory usage in > bitcrust, compared with the pruning mode in Core? As bitcrust doesn't support this yet, I cannot give accurate numbers, but I've provided some numbers estimates earlier in the thread. Rereading my post and these comments, I may have stepped on some toes with regards to SegWit's model. I like SegWit (though I may have a slight preference for BIP140), and I understand the reasons for the "discount", so this was not my intention. I just think that the reversal of costs during peak load order validation is a rather interesting feature of using spend-tree based validation.=20 Tomas