public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Tamas Blummer <tamas@bitsofproof.com>
To: Paul Lyon <pmlyon@hotmail.ca>
Cc: Bitcoin Development <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Why are we bleeding nodes?
Date: Mon, 7 Apr 2014 21:50:26 +0200	[thread overview]
Message-ID: <AAC2AFE2-2305-48CF-850A-522CFF2A0ACE@bitsofproof.com> (raw)
In-Reply-To: <BLU170-W124FFC4A5D42BC516663032A5680@phx.gbl>


[-- Attachment #1.1: Type: text/plain, Size: 2647 bytes --]

You have to load headers sequantially to be able to connect them and determine the longest chain.

Blocks can be loaded in random order once you have their order given by the headers.
Computing the UTXO however will force you to at least temporarily store the blocks unless you have plenty of RAM. 

Regards,

Tamas Blummer
http://bitsofproof.com

On 07.04.2014, at 21:30, Paul Lyon <pmlyon@hotmail.ca> wrote:

> I hope I'm not thread-jacking here, apologies if so, but that's the approach I've taken with the node I'm working on.
> 
> Headers can be downloaded and stored in any order, it'll make sense of what the winning chain is. Blocks don't need to be downloaded in any particular order and they don't need to be saved to disk, the UTXO is fully self-contained. That way the concern of storing blocks for seeding (or not) is wholly separated from syncing the UTXO. This allows me to do the initial blockchain sync in ~6 hours when I use my SSD. I only need enough disk space to store the UTXO, and then whatever amount of block data the user would want to store for the health of the network.
> 
> This project is a bitcoin learning exercise for me, so I can only hope I don't have any critical design flaws in there. :)
> 
> From: tamas@bitsofproof.com
> Date: Mon, 7 Apr 2014 21:20:31 +0200
> To: gmaxwell@gmail.com
> CC: bitcoin-development@lists.sourceforge.net
> Subject: Re: [Bitcoin-development] Why are we bleeding nodes?
> 
> 
> Once headers are loaded first there is no reason for sequential loading. 
> 
> Validation has to be sequantial, but that step can be deferred until the blocks before a point are loaded and continous.
> 
> Tamas Blummer
> http://bitsofproof.com
> 
> On 07.04.2014, at 21:03, Gregory Maxwell <gmaxwell@gmail.com> wrote:
> 
>> On Mon, Apr 7, 2014 at 12:00 PM, Tamas Blummer <tamas@bitsofproof.com> wrote:
>>> therefore I guess it is more handy to return some bitmap of pruned/full
>>> blocks than ranges.
>> 
>> A bitmap also means high overhead and— if it's used to advertise
>> non-contiguous blocks— poor locality, since blocks are fetched
>> sequentially.
>> 
> 
> 
> ------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud.http://p.sf.net/sfu/13600_Cloudbees
> _______________________________________________ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/bitcoin-development


[-- Attachment #1.2: Type: text/html, Size: 8688 bytes --]

[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

  reply	other threads:[~2014-04-07 19:50 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-07 11:34 [Bitcoin-development] Why are we bleeding nodes? Mike Hearn
2014-04-07 12:17 ` Ricardo Filipe
2014-04-07 13:43   ` Andreas Schildbach
2014-04-07 14:05     ` Mike Hearn
2014-04-07 14:15       ` Eric Martindale
2014-04-07 14:23         ` Mike Hearn
2014-04-07 19:46         ` Troy Benjegerdes
2014-04-08  3:13         ` kjj
2014-04-08  7:50           ` Mike Hearn
2014-04-09 10:38         ` Wendell
2014-04-09 11:15           ` Wladimir
2014-04-07 14:45       ` Tom Harding
2014-04-07 12:19 ` Jameson Lopp
2014-04-07 12:26   ` Pieter Wuille
2014-04-07 12:34     ` Mike Hearn
2014-04-07 12:34     ` Jameson Lopp
2014-05-20 18:38     ` Isidor Zeuner
2014-04-07 13:50 ` Gregory Maxwell
2014-04-07 13:53   ` Gregory Maxwell
2014-04-07 13:58     ` Jameson Lopp
2014-04-07 14:04       ` Gregory Maxwell
2014-04-08 11:28   ` Jesus Cea
2014-04-07 15:45 ` Justus Ranvier
2014-04-07 15:53   ` Gregory Maxwell
2014-04-07 16:02     ` Jameson Lopp
2014-04-07 16:27     ` Mark Friedenbach
2014-04-07 16:57       ` Gregory Maxwell
2014-04-07 17:01         ` Mark Friedenbach
2014-04-07 17:16           ` Gregory Maxwell
2014-04-07 17:35             ` Brent Shambaugh
2014-04-07 17:40               ` Mike Hearn
2014-04-07 17:44                 ` Gregory Maxwell
2014-04-07 17:45                 ` Tamas Blummer
2014-04-07 17:50                 ` Justus Ranvier
2014-04-07 18:30                   ` Arne Brutschy
2014-04-07 17:56                 ` Brent Shambaugh
2014-04-07 17:46             ` Justus Ranvier
2014-04-07 17:39     ` Chris Williams
2014-04-07 18:23       ` Mike Hearn
2014-04-07 18:35         ` Tamas Blummer
2014-04-07 18:49           ` Gregory Maxwell
2014-04-07 19:00             ` Tamas Blummer
2014-04-07 18:48               ` Mark Friedenbach
2014-04-07 19:02               ` Gregory Maxwell
2014-04-07 19:05                 ` Tamas Blummer
2014-04-07 19:03               ` Gregory Maxwell
2014-04-07 19:13                 ` Tier Nolan
2014-04-07 19:20                 ` Tamas Blummer
2014-04-07 19:13                   ` Mark Friedenbach
2014-04-07 19:36                     ` Tamas Blummer
2014-04-07 21:46                     ` Ricardo Filipe
2014-04-07 19:30                   ` Paul Lyon
2014-04-07 19:50                     ` Tamas Blummer [this message]
2014-04-07 21:48                       ` Tier Nolan
2014-04-07 21:56                         ` Gregory Maxwell
2014-04-08  3:44             ` Jeff Garzik
2014-04-08  7:24               ` Jean-Paul Kogelman
2014-04-08  7:59               ` Tamas Blummer
2014-04-08 17:18       ` Andrew LeCody
2014-04-07 17:07 ` Drak
2014-05-20  8:15   ` bitcoingrant
2014-05-20  8:42     ` Mike Hearn
2014-05-20 14:37     ` Eugen Leitl
2014-05-20 14:52       ` Gmail
2014-05-20 18:46         ` Andy Alness
2014-05-20 19:17           ` Jeff Garzik
2014-05-20 20:09             ` Andy Alness
2014-05-20 20:22               ` Jeff Garzik
2014-04-07 21:55 Paul Lyon
2014-04-07 22:14 ` Tier Nolan

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=AAC2AFE2-2305-48CF-850A-522CFF2A0ACE@bitsofproof.com \
    --to=tamas@bitsofproof.com \
    --cc=bitcoin-development@lists.sourceforge.net \
    --cc=pmlyon@hotmail.ca \
    /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