Capítulo 8: “The Bitcoin Network”
Material Principal
Para esta sesión socrática, debes leer el Capítulo 8: “The Bitcoin Network” del Libro Mastering Bitcoin. Estos son los enlaces a la segunda edición del libro en inglés y la versión del libro en español. Se recomienda leer en inglés, ya que es la versión más actualizada y completa, pero es tu elección. Hemos estructurado las sesiones de acuerdo con los capítulos del libro en inglés.
⚠️ Importante: Los términos técnicos siempre se dirán en inglés para facilitar el aprendizaje del idioma y la inmersión en el desarrollo de software de Bitcoin y LN.
Ver metodología de traducción.
🛑 Antes de resolver las preguntas del capítulo, revisa las instrucciones de trabajo de la sesión
aquí
- How many types of nodes are there? What is the function of each of them?
- What do the terms Bitcoin Relay Network, and Fast Internet Bitcoin Relay Engine (FIBRE) mean?
- Is it important for the Bitcoin network to know the geographical location of other nodes? Why?
- Through which port do the nodes connect and what type of connection do they use? Can this port be changed?
- Briefly explain the handshake process between nodes and the information they exchange.
- What is the function of nVersion?
- What role do the DNS servers have in the connection of the nodes?
- What kind of messages are sent by the nodes when they connect (for example: addr or version)?
- What is a Bloom Filter, what function does it have, and how does it work?
- Are SPV nodes secure? Why would you have one of them?
- What is the “transaction pool”? Is it the same as an “orphan pool”?
- What kind of attacks could the P2P network have?
- Do SPV nodes help or hurt the network?
- The Bitcoin Relay Network section describes multiple projects intended to reduce block propagation latency. Why is so much effort being put into this?
+ EN ESPAÑOL
- ¿Cuántos tipos de nodo existen?, ¿qué función tienen cada uno de ellos?
- ¿Qué significan los términos Bitcoin Relay Network y Fast Internet Bitcoin Relay Engine (FIBRE)?
- ¿Es importante para la red de Bitcoin conocer la ubicación geográfica de otros nodos?, ¿por qué?
- ¿Por qué puerto se conectan los nodos y que tipo de conexión utilizan?, ¿Se puede cambiar este puerto?
- Explica brevemente el proceso de “handshake” entre los nodos y la información que intercambian.
- ¿Cuál es la función de nVersion?
- ¿Qué función tienen los servidores DNS en la conexión de los nodos?
- ¿Qué tipo de mensajes se envían los nodos cuando se conectan (por ejemplo: addr o version)?
- ¿Qué es un Bloom Filters, qué función tiene y cómo trabaja?
- ¿Los nodos SPV son seguros?, ¿por qué tendrías uno?
- ¿Qué es el “transaction pool”? ¿Es lo mismo un “transaction pool” que un “orphan pool”?
- ¿Qué tipo de ataques podría sufrir la red P2P?
- ¿Los nodos SPV ayudan o dañan la red?
- La sección de Red de Retransmisión de Bitcoin describe varios proyectos destinados a reducir la latencia de propagación de bloques. ¿Por qué se está poniendo tanto esfuerzo en esto?
Ejercicios
- Create a diagram explaining the “handshake” between nodes and share it with your colleagues.
- On your Bitcoin node, run the following command:
- $ bitcoin-cli getpeerinfo
- Check the result and debate with your peers what information is giving you.
+ EN ESPAÑOL
- Crea un diagrama explicando el “handshake” entre nodos y compártelo con tus compañeros.
- En tu nodo de Bitcoin, ejecuta el siguiente comando:
- $ bitcoin-cli getpeerinfo
- Revisa el resultado y discute con tus compañeros que información te está dando.