> On 8 Apr 2017, at 15:28, Tomas via bitcoin-dev > <bitcoin-dev@lists.linuxfoundation.org> wrote: >> > > 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. > > 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. > > Tomas >
I don’t 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. d) Limit 1-in-100-out txs == Limit UTXO growth I’m not surprised that you find an model more efficient than Core. But I don’t believe one could find a model that doesn’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? _______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev