Nodos en Bitcoin

Nodes

Un nodo es una línea de defensa

En términos estrictos, un nodo de Bitcoin es cualquier computadora configurada con el software de Bitcoin y que se ejecuta para conectarse a la propia red de Bitcoin.

 

Pero en el detalle, un nodo no es solo un equipo conectado a través de la red de Bitcoin, yo considero a Bitcoin un protocolo de detalles: el consenso, las pruebas de trabajo, la emisión de recompensas, la transmisión de valor y otros tantos conceptos que están inmersos en el protocolo de Bitcoin.

 

Todos esos detalles hacen que Bitcoin sea único y disruptivo, sin embargo escucho frecuente que algunas de las dudas sobre Bitcoin son, ¿vale la pena ejecutar un nodo?, ¿ayudo a la red si tengo un nodo?, ¿cómo ayudo?.

 

Para ello lo primero que debes entender es que un nodo puede tener varias configuraciones. En la literatura que se genera en Internet, podrás encontrar comentarios que digan que existen varios tipos de nodos. Más o menos existe un consenso en la literatura que he encontrado que existen los siguientes tipos de nodos (en la documentación oficial de bitcoin.org, solo se habla de nodos completos):

  • Nodos completos los cuales se encargan de validar las reglas de consenso de la red, son desde mi punto de de vista los más importantes, se encargan de verificar todas las reglas de consenso, validan el formato de las transacciones, de la integridad, del tiempo y la forma. Transmiten información de nuevas transacciones y bloques a la red, guardan toda la información de la red Bitcoin (blockchain), brindan seguridad a la red ya que mientras más nodos haya, más complicado es atacar a la propia red (ataque del 51%). Dentro de un nodo completo, existen diferentes tipos o categorías:
    • el nodo archivo o archive node, el cual descarga y guarda una copia completa de todo la cadena.
    • el nodo podado, por ejemplo, si quieres tener un nodo que valide pero tienes problemas de espacio en disco duro, entonces puedes configurar el nodo para que en lugar de almacenar toda la cadena, solo guarde una parte de ella, esto se conoce como podar el nodo (opción prune=), «la poda» del nodo significa que el nodo completo descarga la cadena, empezando por el bloque inicial pero al llegar al límite configurado el nodo comienza a eliminar bloques del disco duro, yendo desde los más antiguos hasta los más nuevos manteniendo el tamaño configurado, por ejemplo 15 GB.
  • Ambos tipos de nodos permiten tener diferentes configuraciones que le puedes realizar, esto ayuda a diversas necesidades, como por ejemplo tener o no la wallet o cartera, al tener la cartera habilitada desde tu nodo completo, puedes verificar las operaciones que realices, sin necesidad de confiar en un tercero, como en el caso de las carteras que se instalan en un móvil, además desde tu configuración puedes establecer las comisiones a pagar y el número de bloques que quieres esperar para que tu transacción sea tomada del pool de transacciones. Para entender un poco más sobre como configurar esto en tu nodo te recomiendo este hilo de en mi cuenta de twitter @decentralized_b
  • Otro tipo de nodo son los llamados nodos ligeros o nodos simples, son nodos que no descargan toda la cadena y emiten transacciones, se suelen conectar a nodos completos para realizar verificaciones de pago (SPV por sus siglas en inglés). Este tipo de nodos solo descargan la cabecera del bloque, no las operaciones incluidas dentro del bloque. Electrum, que es desde mi punto de vista, una de las mejores carteras que existen, funciona como nodo SPV.

 

Antes de seguir, me permito aclarar un mito, un nodo no necesita, por fuerza estar conectado 24×7 a la red, ¿es lo ideal?, SI, pero si no lo está, tan pronto el nodo se vuelva a conectar, empezará a sincronizar los bloques, validarlos de acuerdo a las reglas de consenso que tiene y determinar que bloques son validos y que bloques no lo son, y se sincronizará con la cadena de mayor trabajo y validez, además de que una vez conectada nuevamente a la red, empezará a transmitir a otros nodos los bloques validados. Así que no tengas miedo de reiniciar tu nodo!!!.

 

  • Otro tipo de nodos son los Nodos Mineros, son como su nombre lo indica, los encargados de realizar el minado de bloques, el cual consiste en tomar transacciones del pool, validarlos a través de la prueba de trabajo o PoW, la cual es necesaria para determinar que una operación dentro de la red de Bitcoin es valida y que cumple con las reglas de consenso y de generar nuevos bloques incluyendo en ellos esas transacciones. Este tipo de nodos debe tener su propia copia de cadena completa. Para poder realizar la tarea de prueba de trabajo, hoy día, es necesario contar con un equipo de computo especial llamado ASIC (Application Specific Integrated Circuit) el cual es un equipo especializado. Un dato importante, para evitar que la introducción de equipos de computo cada vez más especializados se convierta en un problema para el protocolo, la prueba de trabajo se ajusta en cuanto a su dificultad para mantener que en todo momento la prueba de trabajo se lleve a cabo de acuerdo al tiempo estimado, que es de más o menos cada 10 minutos por bloque.
    • Muchos dicen que la red de Bitcoin esta dominada por los mineros, pero no, nada más lejos de la realidad, la red no esta dominada por los mineros, Bitcoin no es solo una red, como ya he comentado es un protocolo detallado, donde cada parte tiene una razón de ser, un motivo y el conjunto de las partes hace la suma de un engranaje pocas veces visto.
    • Da igual si los mineros trabajan solos o en conjunto (pools de minería), el protocolo siempre gestionará la dificultad del minado para evitar que la dificultad disminuya de forma tal que se generen más recompensas de las establecidas.
    • Como ya he comentado, Bitcoin es una maquina de precisión, ajustando en todo momento el tiempo en que todo sucede, los bloques se ajustan, las recompensas se regulan y las dificultades también.

 

Una nota más, desde la versión 0.13.0 (en 2016) del cliente de Bitcoin Core se eliminó la posibilidad minar a través de este software, esto debido a como ya indicaba, que los mineros requieren de equipos más especializados con software también especializado en minería como podría cpuminer, cgminer, bfgminer. Si quieres saber más puedes verlo en este link. Sin embargo los nodos Completos son los que se encargan de validar las transacciones y todo lo que ya comenté.

  • También están los nodos de la red de Lightning Network, pero de ellos voy a escribir un artículo ya que es un tema muy amplio y da para todo un artículo por si solo, baste saber que los nodos de LN son otro software que corre de manera independiente del cliente de Bitcoin, pero NO puede ejecutarse sin conectarse a un nodo Bitcoin , es necesario para conocer el estado de los canales. El software es un cliente que se ejecuta en lo que suele llamar capa 2, es decir no esta operando directamente sobre Bitcoin pero “hace uso” de la red, por lo cual el bitcoin que se mueve es bitcoin real, no una reserva fraccionaría ni nada similar.
    • Existen diferentes clientes para LN, como pueden ser C-LN, LND o LNP Node.
    • Adicional al cliente para crear y ejecutar el nodo de LN puedes usar un software para administrar el nodo ya que la mayoría de los clientes no tienen interfaz gráfica y se gestionan a base de comandos. Este software suele llamar LNM (Lightning Node Manager). También hay algunas carteras para LN que a la vez permiten administrar el nodo como Zap o Zeus

 

¿Pero y porqué debería tener un nodo?

Si llegados a este punto te sigues preguntando si deberías tener un nodo y te preguntas como la gran mayoría lo hemos hecho, ¿pero y el beneficio económico?, ¿qué gano yo con tener un nodo?.

Hice de esto un hilo en twitter donde explico lo que es desde mi punto de vista el razonamiento de porqué debes tener un nodo:

  1. Bitcoin nació para eliminar a terceros, ante la pregunta ¿debo tener un nodo?, la respuesta es siempre si!
  2. Lo debes hacer por soberanía, para no depender de terceros, es la esencia de Bitcoin
  3. Un nodo, puede implementar sus propias políticas, es la forma de tener voz y voto en la red.
  4. Por mucho que digan que los mineros tienen el poder de la red, tu nodo ayuda a cuidar de la seguridad de la red, no va a propagar ningún bloque que sea inválido
  5. Bitcoin implementa una serie de incentivos que se mantienen equilibrados (relativamente) mediante teoría de juegos, cada participante busca su beneficio pero a la vez vigila que el resto de participantes tengan los suyos, porque de no hacerlo se rompe el equilibrio de la red
  6. Lo más importante, tu nodo no sirve para ayudar a los demás, tu nodo es para hacer saber a la red que tienes la piel en el juego, que eres parte activa y que estas vigilando tus intereses, tienes un nodo que te representa, es poner la piel en el juego

 

Bitcoin es un activo de gran valor, con un nodo completo participas y fortaleces el consenso de la red, le das más resistencia a la red y un nodo completo te permite validar tus operaciones, sin tener que confiar en nadie más, todo esto te convierte en parte del protocolo, por ello creo que tener un nodo completo con la historia es la mejor idea, no puedes dejar en manos de nadie más, que las tuyas, tu valor, tu dinero, tu seguridad.

 

En resumen, un nodo es soberanía, es la posibilidad de no tener que confiar en terceros, te vuelve tú propio Banco, un nodo es tu voz y tu voto en la red de Bitcoin, pero para ello debes entender que hace, cómo funciona, como puedes configurarlo y qué opciones tienes para ello. Un poder, conlleva una responsabilidad, por ello debes saber usarlo.

¿Necesitas más?, te dejo este par de podcast’s  en los que hablamos del tema, uno con Lunaticoin y el Otro con Javier Bastardo (Satoshi en Venezuela).

5/5

Puedes dejar una propina con el botón «Invítame un café».

O mediante Lightning network:

⚡[email protected]

También puedes hacerlo onchain, vía Paynyms de Samourai Wallet:

PayNym: +decentralized

2 comentarios en «Nodos»

  1. Pienso que si creemos en esta tecnología disruptiva, por lógico sería apoyarla corriendo un nodo de btc. Yo lo hago…

Los comentarios están cerrados.