Un nodo completo es un nodo que mantiene una copia completa de la cadena de bloques, incluidos todos los datos de las transacciones. Más precisamente, debería llamarse nodo blockchain completo. En los primeros días de Bitcoin, todos los nodos eran nodos completos, y el cliente Bitcoin Core actual sigue siendo un ejemplo de un nodo blockchain completo. Sin embargo, en los últimos años han surgido muchos tipos nuevos de clientes que ya no necesitan almacenar toda la cadena de bloques y, en cambio, funcionan como clientes ligeros. Estos clientes ligeros se analizarán con más detalle en las siguientes secciones.
Un nodo de cadena de bloques completo mantiene una copia completa y actualizada de la cadena de bloques de Bitcoin, incluida toda la información de las transacciones. Es capaz de construir y verificar de forma independiente la cadena de bloques desde el primer bloque, conocido como bloque génesis, hasta el último bloque de la red. Un nodo completo de blockchain también puede verificar de forma independiente cualquier transacción sin depender de ningún otro nodo o fuente de información externa. Cuando recibe un nuevo bloque que contiene datos de transacciones a través de la red Bitcoin, primero verifica el bloque y luego lo agrega a su copia local de la cadena de bloques.
Ejecutar un nodo blockchain completo proporciona la experiencia Bitcoin más pura, porque le permite verificar todos los datos de las transacciones por su cuenta, sin depender ni confiar en ningún sistema de terceros. Es fácil saber si está ejecutando un nodo completo: simplemente verifique si su dispositivo de almacenamiento permanente, como un disco duro, tiene más de 20 GB de espacio disponible para almacenar la cadena de bloques completa. Si su nodo requiere una gran cantidad de espacio en disco y tarda de dos a tres días en sincronizarse con la red Bitcoin, lo más probable es que esté ejecutando un nodo completo. Éste es el costo de lograr una independencia total del control centralizado.
Aunque existen otros clientes blockchain completos creados con diferentes lenguajes de programación y arquitecturas de software, el más utilizado es Bitcoin Core, también conocido como cliente Satoshi. Más del 90% de los nodos de la red Bitcoin ejecutan diferentes versiones de Bitcoin Core. Como se mencionó anteriormente, estos nodos se pueden identificar a través de los mensajes de versión intercambiados entre pares, o por la cadena de subversión “Satoshi” devuelta por el comando getpeerinfo, por ejemplo: /Satoshi:0.8.6/.
