Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WsYeO-0003Wj-0u for bitcoin-development@lists.sourceforge.net; Thu, 05 Jun 2014 14:28:16 +0000 Received: from mail-pd0-f174.google.com ([209.85.192.174]) by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1WsYeL-0006AD-HA for bitcoin-development@lists.sourceforge.net; Thu, 05 Jun 2014 14:28:15 +0000 Received: by mail-pd0-f174.google.com with SMTP id r10so1160901pdi.5 for ; Thu, 05 Jun 2014 07:28:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:organization:user-agent :mime-version:to:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=wm58bWIMQSMxI6POok+tSA31JB23qHRFHlZ5UQSAOi4=; b=Pv0eSj9QR1RwtAPGxLRYjj+hEM2MyH19c4XKhvHFy1L6P87hWmDJvjt2NDEIQFIp4y NvkBdP231R7f5IjIS1a4Camaj+AxI4gs95wUSin7oN9Q9wGYqlAG5fu4QRi+rco1rJPp v8PQVxcb+93Wc+iWDOrYJ+dWgEG5YLpeaUVgU8S56Q9flfDSe6Hgy180S33mySgAXlDt uaW9zU81755Oh1c5qSwr6TKt0Kg9XtFIu6mksTfAAoF392BLP17DLFFs0U9b8xbBXV8D RV12uRlT4CMuQE9GAXSt2h09Q8XDK9wgOA4FzbFuYcQxkZWcpFRpRTw97kGjGweUeNbg omUQ== X-Gm-Message-State: ALoCoQn39SG68rNM8O0j/34ceDC23Oj1pJCsCUgXdadSNAywVuavQQdVON7EIQjMzZXRaUaVt0dB X-Received: by 10.68.171.193 with SMTP id aw1mr76088096pbc.117.1401978487174; Thu, 05 Jun 2014 07:28:07 -0700 (PDT) Received: from [192.168.127.170] (50-0-36-179.dsl.dynamic.sonic.net. [50.0.36.179]) by mx.google.com with ESMTPSA id fv2sm23618097pbd.11.2014.06.05.07.28.04 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 05 Jun 2014 07:28:06 -0700 (PDT) Message-ID: <53907E74.40401@monetize.io> Date: Thu, 05 Jun 2014 07:28:04 -0700 From: Mark Friedenbach Organization: Monetize.io Inc. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: bitcoin-development@lists.sourceforge.net References: <34798C1C-FDA7-4A4C-B136-DBD4E59C254D@ricmoo.com> In-Reply-To: <34798C1C-FDA7-4A4C-B136-DBD4E59C254D@ricmoo.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [209.85.192.174 listed in list.dnswl.org] X-Headers-End: 1WsYeL-0006AD-HA Subject: Re: [Bitcoin-development] Future Feature Proposal - getgist X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jun 2014 14:28:16 -0000 The correct approach here is header hash-tree commitments which enable compact (logarithmic) SPV proofs that elide nearly all intervening headers since the last checkpoint. You could then query the hash tree for references to any of the headers you actually need. See this message for details: http://sourceforge.net/p/bitcoin/mailman/message/32111357/ On 06/04/2014 12:30 PM, Richard Moore wrote: > Bitcoin development team, > > I recently started implementing my own Python full-node, and had an > idea, so I’m prowling through BIP 001 for this proposal, which says to > e-mail you kind folks to make sure the idea is original (enough) and > that there aren’t other existing means to accomplish what I was thinking. :) > > The only way to grab all the headers seems to be to serially get one, > then the next and so on, as you need the last hash of a headers() call > to the next getheaders(). But we are on a peer-to-peer network, > potentially able to getheaders() from many peers simultaneously, if we > only knew the hash to look for. > > What I was thinking is something to the effect of a getgist() command, > fully backward compatible (any node not understanding it, can silently > ignore it… Otherwise version or services could be used to announce the > capability, but that seems like a little overkill). The inputs to > getgist() would be similar to getheaders(); version, hash_count, > block_locator_hash, stop_hash and an additional field, segment_count. > The response would be a normal headers() message, except, not sequential > block headers… Rather they would be spaced out, preferably > 2000-block-hash-aligned from the first block hash. So, for example, if > you have a blockchain with 198,005 blocks, and you passed it the block > locator of height 0 (the genesis block), and a segment_count of 25, you > would expect (approximately, the actual algorithm needs to be figured > out), the block hashes at the following 25 (segment_count) heights: > > 1, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 72000, 80000, > 88000, 96000, 104000, 112000, 120000, 128000, 136000, 144000, 152000, > 160000, 168000, 176000, 184000, 192000 > > Which can now be spread across 25 different nodes, fetching the block > headers (albeit, out of order, possibly increasing the complexity of the > local block chain database) but vastly increasing the speed the whole > blockchain can have all headers synced. > > I still need to perform some tests to see what type of speed gains there > are, but I would suspect it should be segment_count times faster. > > Existing methods could be to use checkpoint-ish nodes or bootstrap data > files, but these begin relying on semi-cetralizenesses. > > Ideas? Suggestions? Concerns? Prior it-ain’t-gonna-works? > > Thanks! > > RicMoo > > > .·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸><(((º> > > Richard Moore ~ Founder > Genetic Mistakes Software inc. > phone: (778) 882-6125 > email: ricmoo@geneticmistakes.com > www: http://GeneticMistakes.com > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/NeoTech > > > > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development >