<oembed><type>rich</type><version>1.0</version><author_name>Tomas [ARCHIVE] (npub1rs…9evk4)</author_name><author_url>https://nostr.ae/npub1rsp4w56r24w3zv4xy8zfgesep45qmf9rq6aghxfw3wr7yemqnnwsf9evk4</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2017-04-07&#xA;📝 Original message:Answering both,&#xA;&#xA;&#xA;&#xA;On Fri, Apr 7, 2017 at 11:18 AM, Gregory Maxwell via bitcoin-dev &lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt;&gt; &#xA;&#xA;&gt;&gt; I&#39;m still lost on this-- AFAICT your proposals long term resource&#xA;&#xA;&gt;&gt; requirements are directly proportional to the amount of&#xA;&gt;&gt; unspent output&#xA;&gt;&gt; data, which grows over time at some fraction of the total transaction&#xA;&gt;&gt; volume (plus the rate of spending which is more or less a constant).&#xA;&gt;&gt; &#xA;&#xA;&gt;&gt; Can you help out my understanding here?&#xA;&#xA;&gt;&gt; &#xA;&#xA;&#xA;&#xA;On Fri, Apr 7, 2017, at 20:39, Bram Cohen wrote:&#xA;&#xA;&gt; Expanding on this question a bit, it&#39;s optimized for parallel access,&#xA;&gt; but hard drive access isn&#39;t parallel and memory accesses are very&#xA;&gt; fast, so shouldn&#39;t the target of optimization be about cramming as&#xA;&gt; much as possible in memory and minimizing disk accesses?&#xA;&#xA;&#xA;The long term *minimal disk storage* requirement, can obviously not be&#xA;less then all the unspent outputs. Minimal disk requirements is not&#xA;something bitcrust attempts to address.&#xA;&#xA;&#xA; The storage that is accessed during peak load (block validation with&#xA; pre-synced transactions), is minimized as this only needs the&#xA; transaction index (to lookup ptrs from hashes), the tip of the spend-&#xA; tree and the tip of the spend-index (together to check double&#xA; spents/spending non-existing outputs). These not only easily fit in&#xA; RAM, but are accessed in a cache efficient way. *These* only grow with&#xA; inputs as the spend tree contains one record per input referencing the&#xA; output being spent.&#xA;&#xA;&#xA;Script validation is also not something bitcrust *directly* addresses;&#xA;it uses libbitcoinconsensus for the actual validation and lookups to&#xA;outputs are mostly similar. They are kept fast by trusting the OS on MRU&#xA;caching of transaction-outputs; I don&#39;t think that for this part the&#xA;UTXO index has much drawbacks,. Bitcrust seems to have a small advantage&#xA;due to the awesomeness of Rayon&#39;s parallelization and the lock-free data&#xA;structures, but a disadvantage in that keeping all spent outputs&#xA;decreases spatial locality of reference. Script validation is not the&#xA;innovative part.&#xA;&#xA;&#xA;Tomas&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20170407/f7db76c7/attachment.html&gt;</html></oembed>