From: Bram Cohen <bram@bittorrent.com>
To: praxeology_guy <praxeology_guy@protonmail.com>,
Bitcoin Protocol Discussion
<bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Guessing the spentness status of the pruned relatives
Date: Sun, 2 Apr 2017 20:13:52 -0700 [thread overview]
Message-ID: <CA+KqGkq4BNUpwsxYnc4d-RSpq7-og4Xf2zwtUC-AVBjF4_u7fg@mail.gmail.com> (raw)
In-Reply-To: <slZ23d145uIKHr0zGoApsczTN3MNPSMtYbNmZV3Nk7F9YrgY8XaXTZ4BPvgIGGIdHBEf5V7c_ugY4RQVWeYYQW57ZQtfkUlHwOQZC7ANGjk=@protonmail.com>
[-- Attachment #1: Type: text/plain, Size: 1161 bytes --]
On Sun, Apr 2, 2017 at 1:43 PM, praxeology_guy via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:
> TL;DR: using spentness bits scales linearly... vs swapping digest leafs
> with empties can scale with logorithmically increasing storage
> requirements. So if you are using a 32 byte hash and spentness bits, you
> are pretty much limited to only being able to prune 8 to 12 layers. This
> corresponds to an MMR proof length of 512 to 768 bytes.
>
Yes the point of the txo bitfield is that the constant factors are so good
that it's entirely under control. Making the memory commitments smaller
requires that the proofs be kept up to date and increases CPU requirements
and proof size. It would be entirely reasonable to make an MMRs of the
bitfield or the insertion index data structure but they aren't needed
immediately if ever. For the insertion ordering structure it's reasonable
to require full nodes to cache the top bunch of layers to make the proofs
smaller, but a very expedient approximation of that is to make them simply
remember a root per block for all the insertions contained therein, and
have full nodes remember all of those.
[-- Attachment #2: Type: text/html, Size: 1506 bytes --]
prev parent reply other threads:[~2017-04-03 3:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-01 20:04 [bitcoin-dev] Guessing the spentness status of the pruned relatives praxeology_guy
2017-04-01 23:38 ` bfd
2017-04-02 1:10 ` praxeology_guy
2017-04-02 1:27 ` Bram Cohen
2017-04-02 1:58 ` praxeology_guy
2017-04-02 2:18 ` Bram Cohen
2017-04-02 3:37 ` praxeology_guy
2017-04-02 20:43 ` praxeology_guy
2017-04-03 3:13 ` Bram Cohen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CA+KqGkq4BNUpwsxYnc4d-RSpq7-og4Xf2zwtUC-AVBjF4_u7fg@mail.gmail.com \
--to=bram@bittorrent.com \
--cc=bitcoin-dev@lists.linuxfoundation.org \
--cc=praxeology_guy@protonmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox