Que es un nodo completo de Bitcoin

Que es un nodo completo de bitcoin y porque tener uno.

Cualquier computadora que se conecta a la red de Bitcoin se llama nodo.  Los nodos que verifican completamente todas las reglas de Bitcoin se llaman nodos completos. La implementación de software más popular de nodos completos se llama Bitcoin Core, su última versión se puede encontrar en la página de github.

¿Qué hace un nodo completo?

Nodo de Bitcoin aceptando transacciones

Los nodos completos descargan cada bloque y transacción y los comprueban contra las reglas de consenso de Bitcoin. Aquí hay ejemplos de reglas de consenso, aunque hay muchas más:

  1. Los bloques solo pueden crear una cierta cantidad de bitcoins.
  2. Las transacciones deben tener firmas correctas para los bitcoins que se están gastando.
  3. Las transacciones / bloques deben estar en el formato de datos correcto.
  4. Dentro de una cadena de bloques única, una salida de transacción no se puede gastar doblemente.

Si una transacción o bloque viola las reglas de consenso, entonces es absolutamente rechazado, incluso si todos los demás nodos de la red creen que es válido. Esta es una de las características más importantes de los nodos completos: hacen lo correcto sin importar qué. Para los nodos completos, los mineros en realidad tienen una potencia bastante limitada: solo pueden reordenar o eliminar transacciones, y solo gastando una gran cantidad de potencia informática. Un minero poderoso es capaz de ejecutar algunos ataques serios, pero debido a que los nodos completos dependen de los mineros solo por algunas cosas, los mineros no pueden cambiar ni destruir completamente Bitcoin.

Los nodos que tienen diferentes reglas de consenso en realidad están usando dos redes / monedas diferentes. Cambiar cualquiera de las reglas de consenso requiere un hard fork, que se puede pensar como crear una nueva moneda y hacer que todos se muden a ella. Las reglas de consenso son diferentes de las reglas de política, que especifican cómo un nodo o minero prioriza o desalienta ciertas cosas.  Las reglas de la política se pueden cambiar libremente, y diferentes nodos pueden tener diferentes reglas de política. Debido a que todos los nodos completos deben usar exactamente las mismas reglas de consenso para seguir siendo compatibles entre sí, incluso para duplicar errores y rarezas en las reglas de consenso originales, crear un nodo completo desde cero es extremadamente difícil y peligroso. Por lo tanto, se recomienda que todos los que deseen ejecutar un nodo completo utilicen un software basado en el cliente de referencia, que es el único cliente que garantiza que se comporta correctamente.

Como mínimo, un nodo completo debe descargar cada transacción que haya tenido lugar, todas las transacciones nuevas y todos los encabezados de bloque. Además, los nodos completos deben almacenar información sobre cada salida de transacción no utilizada hasta que se gaste. Por defecto, los nodos completos son ineficaces, ya que descargan cada nueva transacción al menos dos veces y almacenan toda la cadena de bloques (más de 165 GB a partir de Febrero de 2018) para siempre, aunque solo se requieren salidas de transacción no utilizadas (<2 GB). El rendimiento puede mejorarse al habilitar el modo -blocksonly y permitir prune.

Nodos Archival

Un subconjunto de nodos completos también acepta conexiones entrantes y carga bloques antiguos a otros pares en la red. Esto sucede si el software se ejecuta con -listen = 1 como es predeterminado. Contrariamente a algunos conceptos erróneos populares, ser un nodo de archivo no es necesario para ser un nodo completo. Si el ancho de banda de un usuario está restringido, pueden usar -listen = 0; si su espacio en disco está restringido, pueden usar prune, siendo un nodo totalmente validado que refuerza las reglas de consenso de bitcoin y contribuye a la seguridad general de bitcoin.

¿Por qué debería usar un nodo completo?

Ejecutar un nodo completo es la única forma en que puede usar Bitcoin de manera confiable. Sabrá con certeza que se siguen todas las reglas de Bitcoin, por ejemplo, que no se gastan bitcoins que no pertenezcan al propietario, que no se gastaron dos monedas, que no se produce inflación fuera de la oferta controlada y que todas las reglas necesarias para hacer que el sistema funcione (por ejemplo, dificultad). Los nodos completos son actualmente la forma más privada de utilizar Bitcoin ya nadie sabe qué direcciones de bitcoin pertenecen a este. Los nodos completos son la forma más segura de utilizar Bitcoin, ya que no sufren muchos ataques que afectan a las billeteras livianas.

Fuerza económica

Esta es, con mucho, la razón más importante para ejecutar un nodo completo, aunque es un poco difícil de entender.

Como se explicó anteriormente, los nodos completos hacen cumplir las reglas de consenso pase lo que pase. Sin embargo, los nodos livianos no hacen esto. Los nodos livianos hacen lo que dice la mayoría de la potencia minera. Por lo tanto, si la mayoría de los mineros se juntaran para aumentar su recompensa de bloqueo, por ejemplo, los nodos ligeros irían ciegamente con ella. Si esto ocurriera, la red se dividiría de tal forma que los nodos ligeros y completos terminarían en redes separadas, utilizando monedas separadas. Las personas que usan nodos ligeros no podrían realizar transacciones con personas que usan nodos completos. Si todos los negocios y muchos usuarios usaran nodos completos, esta división de red no sería un problema crítico porque los usuarios de clientes ligeros notarán rápidamente que no pueden enviar o recibir bitcoins a la mayoría de las personas con las que generalmente hacen negocios y entonces dejarán de usar Bitcoin hasta que los malos mineros sean vencidos, lo cual es la respuesta apropiada. Sin embargo, si casi todos en la red usan nodos ligeros en esta situación, entonces todos seguirían siendo capaces de realizar transacciones entre ellos, por lo que Bitcoin podría terminar siendo «secuestrado» por mineros malvados.

En la práctica, es poco probable que los mineros intenten algo como el escenario anterior, siempre y cuando los nodos completos prevalezcan porque los mineros perderían una gran cantidad de dinero. Pero los incentivos cambian completamente si todos usan nodos livianos. En ese caso, los mineros definitivamente tienen un incentivo para cambiar las reglas de Bitcoin a su favor. Solo es razonablemente seguro utilizar un nodo liviano porque la mayoría de la economía de Bitcoin usa nodos completos.

Por lo tanto, es fundamental para la supervivencia de Bitcoin que la gran mayoría de la economía de Bitcoin esté respaldada por nodos completos, no por nodos ligeros. Esto es especialmente importante para las empresas de Bitcoin, que tienen un mayor peso económico. Para contribuir a la fortaleza económica de Bitcoin, debe utilizar un nodo completo para sus transacciones reales (o utilizar un nodo liviano conectado a un nodo completo que usted controle personalmente). Simplemente ejecutar un nodo completo en un servidor en alguna parte no contribuye a la fortaleza económica de Bitcoin.

Privacidad

Tener la cadena de bloques almacenada en su disco duro es la forma más privada de tener una billetera. Todas las demás soluciones livianas filtran información sobre qué direcciones son suyas porque deben consultar servidores de terceros. Los servidores de Electrum sabrán qué direcciones le pertenecen y pueden vincularlas entre sí. A pesar del filtrado de bloom, los nodos SPV basados ​​en BitcoinJ no proporcionan mucha privacidad contra los nodos que se conectan directamente a la billetera.

Para muchos casos de uso, dicha privacidad puede no ser necesaria. Pero una razón importante para ejecutar un nodo completo y usarlo como billetera es obtener los beneficios de privacidad completos.

Seguridad

Los nodos ligeros a veces pueden ser engañados temporalmente para que acepten transacciones o bloques que no son realmente válidos. Esto podría causar un daño financiero grave, especialmente para los sitios web que procesan transacciones de Bitcoin automáticamente. Los nodos completos brindan la máxima seguridad posible, por lo que deben ser utilizados por todas las empresas y también por usuarios habituales siempre que sea conveniente hacerlo.

Servicios de red

Los nodos completos pueden proporcionar diversos servicios a otros participantes de la red (si el software se ejecuta con -listen = 1 como es predeterminado). Esto es especialmente importante para los nodos livianos.

Estos servicios incluyen:

  • Filtrar transacciones y bloques en nombre de nodos livianos para que los nodos livianos no necesiten descargar cada transacción que se haya realizado en la red para encontrar sus propias transacciones.
  • Sirviendo bloques históricos completos a nodos que han estado fuera de línea por un tiempo.
  • Transmisión de nuevas transacciones de usuarios a mineros.
  • Transmisión de nuevos bloques desde mineros a otros nodos.
  • En su mayor parte, estos servicios solo se realizan de manera útil mediante nodos completos que están escuchando en el puerto 8333. Mientras más nodos llenos acepten las conexiones entrantes, más usuarios podrán admitir la red de Bitcoin. Aunque si alguna vez hay escasez, se pueden crear fácilmente muchos nodos de archivo mediante el alquiler barato de espacio VPS o AWS.

Cómo ejecutar un nodo completo

Si ejecuta el monedero Bitcoin Core / bitcoind, está ejecutando un nodo completo. Si abre el puerto 8333, contribuirá a la capacidad de la red. Si realmente usa la función monedero, o si usa un cliente liviano como MultiBit pero lo configura para conectarse exclusivamente a su nodo completo, entonces contribuirá a la fortaleza económica de la red y recibirá protección de algunos posibles ataques contra nodos livianos.

Existen algunas implementaciones alternativas de nodo completo, pero no se recomiendan para uso serio porque actualmente es difícil determinar si implementan las reglas de consenso con un 100% de precisión. Incluso imprecisiones muy ligeras podrían causar serios problemas para los usuarios de estos clientes alternativos.

Siguiente artículo

Glosario Bitcoin / LN