<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Has anyone considered 'snapshot' frames (blocks).</span></div><div><br><span></span></div><div><span>Message to node:</span></div><div><br><span></span></div><div><span>getsnapshot: hash</span></div><div><br><span></span></div><div><span>Node responds with a 'block' message.</span></div><div><br><span></span></div><div><span>Then the hash for that particular snapshot is hardcoded into the sourcecode. It would replace the checkpoints and use the last hash in that list.</span></div><div><br><span></span></div><div><span>Validating blocks is pretty fast right up until block 135k, which is where time taken balloons and starts become exponentially slower. As blockchain grows linearly, resources needed grows exponentially if you think about it.<br></span></div><div><br></div>  <div style="font-family: times new roman, new
 york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <font face="Arial" size="2"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Alan Reiner &lt;etotheipi@gmail.com&gt;<br> <b><span style="font-weight: bold;">To:</span></b> bitcoin-development@lists.sourceforge.net <br> <b><span style="font-weight: bold;">Sent:</span></b> Sunday, December 18, 2011 6:06 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [Bitcoin-development] Protocol extensions<br> </font> <br>
<meta http-equiv="x-dns-prefetch-control" content="off"><div id="yiv655927743">

  

    
  
  <div>
    The whole point of having headers built at a constant size and
    generation rate is to minimize the amount of data needed to
    "understand" of the blockchain while simultaneously maximizing
    integrity/security in the presence of untrusted nodes.&nbsp; Barring the
    50%-attack, you only need a couple honest nodes out of 50 to stay
    safe (as long as you're waiting for your 6 confirmations).&nbsp;&nbsp; In
    fact, I would argue that a full node (Satoshi client), has the same
    level of security as a headers-only client... because they both base
    <b>all</b> their verification decisions on computations that end
    with comparing hashes to the longest-chain headers.<br>
    <br>
    In the case that an attacker figures out how to isolate your node
    entirely and start feeing you poisoned blocks, then you are
    vulnerable with any kind of node, full or lightweight.&nbsp; I don't see
    where the reduced security is.&nbsp; <br>
    <br>
    The only issue I see is that a truly light-weight, headers-only node
    will be having to download an entire block to get one transaction it
    needs.&nbsp; This would be significantly alleviated if nodes can start
    requesting merkle-trees directly, even without
    merkle-branch-pruning. &nbsp; If a node can ask for a tx and the
    tx-hash-list of the block that incorporated that tx,&nbsp; he can easily
    verify his tx against his no-need-to-trust-anyone headers, and
    doesn't have to download MBs for every one.&nbsp; <br>
    <br>
    As for blockchain pruning... I think it's absolutely critical to
    find a way to do this, <i>for all nodes</i>.&nbsp; I am swayed by Dan
    Kaminsky's scalability warnings, and my instinct tells me that
    leaving full verification to a select few deep-pockets nodes in the
    future opens up all sorts of centralization/power-corporation issues
    that is contrary to the Bitcoin concept.&nbsp; It is in everyone's best
    interest to make it as easy as possible for <i>anyone</i> to act as
    a full node (if possible).&nbsp; As such, I believe that the current
    system of minimizing TxOut size is the right one.&nbsp; TxIns take up 0
    bytes space in the long-run when taking into account any blockchain
    pruning/snapshot idea (except for nLocktime/seq transactions where
    the TxIn might have to be saved).&nbsp; <br>
    <br>
    -Alan<br>
    <br>
    <br>
    <br>
    <br>
    <br>
    On 12/18/2011 12:09 PM, theymos wrote:
    <blockquote type="cite">
      <pre>On Sat, Dec 17, 2011, at 05:27 PM, Jordan Mack wrote:
</pre>
      <blockquote type="cite">
        <pre>I don't like the idea of a header only client, unless this is just an
interim action until the full block chain is downloaded in the
background. Development of these types of clients is probably
inevitable, but I believe that this breaks the most fundamental
aspects of Bitcoin's security model. If a client has only headers, it
cannot do full verification, and it is trusting the data from random
anonymous peers.
</pre>
      </blockquote>
      <pre>A headers-only client is much better than trusting anyone, since an
attacker needs &gt;50% of the network's computational power to trick
such clients.

For everyone to keep being a full node, hardware costs would need to
constantly go down enough for all nodes to be able to handle enough
transactions to meet demand. If hardware doesn't become cheap enough
quickly enough, either some people would be unable to handle being full
nodes, or the max block size wouldn't rise enough to meet demand and
transaction fees would become noncompetitive.

------------------------------------------------------------------------------
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
_______________________________________________
Bitcoin-development mailing list
<a rel="nofollow" class="yiv655927743moz-txt-link-abbreviated" ymailto="mailto:Bitcoin-development@lists.sourceforge.net" target="_blank" href="mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-development@lists.sourceforge.net</a>
<a rel="nofollow" class="yiv655927743moz-txt-link-freetext" target="_blank" href="https://lists.sourceforge.net/lists/listinfo/bitcoin-development">https://lists.sourceforge.net/lists/listinfo/bitcoin-development</a>
</pre>
    </blockquote>
    <br>
  </div>

</div><meta http-equiv="x-dns-prefetch-control" content="on"><br>------------------------------------------------------------------------------<br>Learn Windows Azure Live!&nbsp; Tuesday, Dec 13, 2011<br>Microsoft is holding a special Learn Windows Azure training event for <br>developers. It will provide a great way to learn Windows Azure and what it <br>provides. You can attend the event by watching it streamed LIVE online.&nbsp; <br>Learn more at <a href="http://p.sf.net/sfu/ms-windowsazure" target="_blank">http://p.sf.net/sfu/ms-windowsazure</a><br>_______________________________________________<br>Bitcoin-development mailing list<br><a ymailto="mailto:Bitcoin-development@lists.sourceforge.net" href="mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-development@lists.sourceforge.net</a><br><a href="https://lists.sourceforge.net/lists/listinfo/bitcoin-development"
 target="_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-development</a><br><br><br> </div> </div>  </div></body></html>