>> (p.1)
    Author Topic: [RFC] Requirements for headers-only client?  (Read 5817 times)
    xf2_org (OP)
    Member
    **
    Offline Offline

    Activity: 98
    Merit: 13


    View Profile
    May 11, 2011, 06:33:11 PM
     #1

    People keep talking about a headers-only client as a major step towards making bitcoin a realistic payment platform, enabling the network to scale further by separating nodes into super-nodes and lightweight-leaf clients.

    Unless I'm missing a wiki page somewhere (cluebat cheerfully requested), a thread needed to be started gathering all the minor, concrete to-do items and baby steps needed to get the official bitcoin codebase to the headers-only goal line.

    Questions...

    What are the engineering assumptions we will make, WRT headers-only clients?

    Is the merkle tree or any other data besides block header required?

    If just the block header, how will a client verify a received TX?  Surely at least the block's merkle tree is needed?

    How will a lightweight client find new TX's sent to it, when it only knows its own keypairs?  Either it must request full blocks w/ all TX's, or someone queries nodes for TXs/keys in a privacy-squelching manner?

    What are the ramifications of some nodes on the P2P network having only partial blocks?   Will we need to introduce some sort of seek-nodes-with-full-block-contents logic for lightweight clients to find supernodes?

    What are the ramifications of partial blocks on the JSON-RPC API, if any?

    How will old clients behave, when faced with partial blocks?  Surely we want them to keep working?

    What are some small, concrete, baby steps that the official client codebase can take, towards this goal?  My initial thoughts turn towards pruning spent tx's, because, if you can do that (and the network survives), you can handle partial blocks.

    Concrete technical answers requested, this is about completing the version 1 bitcoin design, not about totally redesigning bitcoin.  Gavin, Mike and others are full of talk about lightweight clients.  Let's make it happen Smiley
Page 1
Viewing Page: 1