Skip to content

Latest commit

 

History

History
 
 

p2p

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

P2P

Reading

Content Time Tags
Bitcoin Peer-to-Peer Network with John Newbery 51 min P2P, video
Mining and Consensus in Mastering Bitcoin - through SPV nodes section 15 min P2P
Compact Blocks 7 min compact blocks
Network partition resistance 15 min P2P
Deanonymization in the Bitcoin P2P Network 15 min P2P, privacy
Eclipse Attacks on Bitcoin’s Peer-to-Peer Network 60 min eclipse Attacks, P2P
Eclipse Attacks Video 27 min eclipse Attacks, P2P, video
Dandelion: Redesigning the Bitcoin Network for Anonymity 20 min P2P, privacy
Bitcoin over Tor isn’t a good idea 45 min attacks

Discussion Questions

P2P Connections

  1. What is reasoning behind the max inbound and max outbound defaults? For which type of user would they be considered ideal and when might they be optimized?
  2. What is the rationale behind the "new"/"tried" table design? Were there any prior inspirations within the field of distributed computing?
  3. How does a fixed set of 4 outbound peers get chosen? In what circumstances would you evict/change them?

De-anonymization

  1. How does "diffusion" message spreading work? and why is it ineffective against de-anonymization?

Dandelion

  1. How are routes chosen (in the stem phase)? What happens if a malicious (or faulty) node doesn't propagate your transaction in the stem phase?
  2. When a transaction is going to bloom depends on a weighted coin toss at each hop- how is that weight determined? Could an adversarial node overwrite that weight to ensure bloom?
  3. Dandelion++ is meant to address the assumptions from the original Dandelion paper. How is that achieved? Assumptions: a) All nodes obey the protocol b) Each node generates precisely one transaction c) All Bitcoin nodes run Dandelion

SPV filters

  1. Bloom filters vs BIP157/BIP158 Golomb Coded Set, how do you build them? Properties? Scope?

P2P Stack

  1. Alternative P2P stack with different design tradeoffs (likely based on PIR) ? (need to dig in bitcoin-wizards logs)

P2P tx relay and UTXO

  1. Are confirmed and unconfirmed outputs in the same UTXO cache? For validation and lookup during TX relay...
  2. How the default values affect the throughput of the whole network? Did anyone ever tried to analyze how much data the bitcoin P2P network can handle both in bandwidth and latency?