Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 53E4593E for ; Sat, 8 Apr 2017 19:23:45 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from sender-of-o52.zoho.com (sender-of-o52.zoho.com [135.84.80.217]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id BB3A31C7 for ; Sat, 8 Apr 2017 19:23:44 +0000 (UTC) Received: from [10.8.8.2] (119246245241.ctinets.com [119.246.245.241]) by mx.zohomail.com with SMTPS id 1491679413823781.3189858066962; Sat, 8 Apr 2017 12:23:33 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\)) From: Johnson Lau In-Reply-To: <1491636528.2474173.938219072.54C44183@webmail.messagingengine.com> Date: Sun, 9 Apr 2017 03:23:29 +0800 Content-Transfer-Encoding: quoted-printable Message-Id: <6F1E6FB6-1342-4BD6-BF83-A160C1A7CD34@xbt.hk> References: <1491516747.3791700.936828232.69F82904@webmail.messagingengine.com> <1491599691.1245876.937920664.6EBA20DC@webmail.messagingengine.com> <1491636528.2474173.938219072.54C44183@webmail.messagingengine.com> To: Tomas , bitcoin-dev X-Mailer: Apple Mail (2.3259) X-ZohoMailClient: External X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,MIME_QP_LONG_LINE, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org 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:23:45 -0000 > On 8 Apr 2017, at 15:28, Tomas via bitcoin-dev = wrote: >>=20 >=20 > I think you are being a bit harsh here . I am also clearly explaining > the difference only applies to peak load, and just making a = suggestion. > I simply want to stress the importance of protocol / implementation > separation as even though you are correct UTXO data is always a = resource > cost for script validation (as I also state), the ratio of different > costs are not necessarily *identical* across implementation.=20 >=20 > Note that the converse also holds: In bitcrust, if the last few blocks > contain many inputs, the peak load verification for this block is > slower. This is not the case in Core. >=20 > Tomas >=20 I don=E2=80=99t fully understand your storage engine. So the following = deduction is just based on common sense. a) It is possible to make unlimited number of 1-in-100-out txs b) The maximum number of 100-in-1-out txs is limited by the number of = previous 1-in-100-out txs 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 d) Limit 1-in-100-out txs =3D=3D Limit UTXO growth 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=99= t become more efficient with UTXO growth limitation. 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) One more question: what is the absolute minimum disk and memory usage in = bitcrust, compared with the pruning mode in Core?=