User:Gmaxwell/features: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
things I want in bitcoin.
 
re
Line 1: Line 1:
Features I want:
Features I want:


Line 8: Line 7:
*Peer management RPCs (peer info (last connect, version, transaction stats, blocks stats), add, remove)
*Peer management RPCs (peer info (last connect, version, transaction stats, blocks stats), add, remove)
*A pseudo-cli interface for the GUI. e.g. file->console
*A pseudo-cli interface for the GUI. e.g. file->console


*Transaction queuing (to improve coin selection and allow the use of sendmany without explicitly asking for it)
*Transaction queuing (to improve coin selection and allow the use of sendmany without explicitly asking for it)


*Smarter coin selection (minds fees!), general MILP solver is probably too much. :)
*Smarter coin selection (minds fees!), general MILP solver is probably too much. :)
*Better anonymity (avoid cross-linking), but multiwallet helps
*Better anonymity (avoid cross-linking), but multiwallet helps
*Wallet sweeping (avoid jagged coins, get excess inputs destroyed when you have a chance)
*Wallet sweeping (avoid jagged coins, get excess inputs destroyed when you have a chance)


*Thin client mode
*Thin client mode
**Should be able to run many bitcoin-cli bitcoin-qt instances over the network against a single trusted bitcoind network node
**Should be able to run many bitcoin-cli bitcoin-qt instances over the network against a single trusted bitcoind network node


*Offline wallet— BIP10ish
*Offline wallet— BIP10ish


*NTP integration (if trusted, healthy, ntp— use instead of network time)
*NTP integration (if trusted, healthy, ntp— use instead of network time)
Line 29: Line 33:
*IPv6
*IPv6
*Onion-cat style onion peers
*Onion-cat style onion peers


*Blockchain over satellite reciever (peak blockchain datarate 14kbit/sec, sat bandwidth isn't that expensive)
*Blockchain over satellite reciever (peak blockchain datarate 14kbit/sec, sat bandwidth isn't that expensive)


*Network sanity checks. Trusted peers down, network very slow? don't take txn out of unconfirmed.
*Network sanity checks. Trusted peers down, network very slow? don't take txn out of unconfirmed.
*timewarp fix
*timewarp fix


*More DOS/network attack hardening (time skewing, memory exhaustion, etc)
*More DOS/network attack hardening (time skewing, memory exhaustion, etc)


*Fast chain sync (fix database stupidity)
*Fast chain sync (fix database stupidity)
Line 42: Line 50:
*Backwards header sync, then fill blocks
*Backwards header sync, then fill blocks
*Operate as a lite client until synced up
*Operate as a lite client until synced up


*P2Pool
*P2Pool


*Share in lieu of TXN fees
*Share in lieu of TXN fees
**No funds for anti-dos fee? Generate at least a diff N share with a commitment to the txn in the coinbase, distribute along with the txn  (allows us to keep mining as our singular POW system, but still use small amounts of it without a pooling solution that works at cpu miner levels!)
**No funds for anti-dos fee? Generate at least a diff N share with a commitment to the txn in the coinbase, distribute along with the txn  (allows us to keep mining as our singular POW system, but still use small amounts of it without a pooling solution that works at cpu miner levels!)

Revision as of 00:00, 1 February 2012

Features I want:

  • Type-2 deterministic wallets
  • Multi-wallet (including non-spending wallets)
  • scrypt wallet encryption
  • disk corruption robust wallet storage
  • Peer management RPCs (peer info (last connect, version, transaction stats, blocks stats), add, remove)
  • A pseudo-cli interface for the GUI. e.g. file->console


  • Transaction queuing (to improve coin selection and allow the use of sendmany without explicitly asking for it)


  • Smarter coin selection (minds fees!), general MILP solver is probably too much. :)
  • Better anonymity (avoid cross-linking), but multiwallet helps
  • Wallet sweeping (avoid jagged coins, get excess inputs destroyed when you have a chance)


  • Thin client mode
    • Should be able to run many bitcoin-cli bitcoin-qt instances over the network against a single trusted bitcoind network node


  • Offline wallet— BIP10ish


  • NTP integration (if trusted, healthy, ntp— use instead of network time)
  • Better network time intelligence
  • Roaming connections (reduced attack risk, learn about peers faster)
  • Lightweight node announce to (dns)seeds?
  • Priority relaying (measure which nodes are most 'useful' based on blocks/txn-w-fees then relay to them before other nodes, relay to them first— move to front on good actions probably enough)
  • Authenticated peers for addnode so a network attacker can't isolate you without your knowledge
  • Peer management RPCs (peer info (last connect, version, transaction stats, blocks stats), add, remove)
  • IPv6
  • Onion-cat style onion peers


  • Blockchain over satellite reciever (peak blockchain datarate 14kbit/sec, sat bandwidth isn't that expensive)


  • Network sanity checks. Trusted peers down, network very slow? don't take txn out of unconfirmed.
  • timewarp fix


  • More DOS/network attack hardening (time skewing, memory exhaustion, etc)


  • Fast chain sync (fix database stupidity)
  • Read only chain summaries for old history
    • Compressed blockchain history, decompress to build the summary preserving zero trust
  • Backwards header sync, then fill blocks
  • Operate as a lite client until synced up


  • P2Pool


  • Share in lieu of TXN fees
    • No funds for anti-dos fee? Generate at least a diff N share with a commitment to the txn in the coinbase, distribute along with the txn (allows us to keep mining as our singular POW system, but still use small amounts of it without a pooling solution that works at cpu miner levels!)