- OroyFinanzas.com - https://www.oroyfinanzas.com -

Tipos de nodos en la red Bitcoin

(OroyFinanzas.com) – En un artículo anterior explicábamos el concepto de nodo en la red Bitcoin. A continuación vamos a explicar los tipos de nodos que existen en la red Bitcoin, dependiendo de los diferentes roles que tienen asignados dentro de la red P2P [1].

Aunque los nodos de la red Bitcoin son iguales, pueden asumir diferentes roles dependiendo de la funcionalidad que están apoyando. Todos los nodos de la red Bitcoin incluyen la función de enrutamiento para participar en la red y puede incluir otras funcionalidades, al igual que validan y retransmiten o propagan las transacciones y los bloques de transacciones. Y todos los nodos también descubren y mantienen conexiones con el resto de nodos (pares).

Los nodos en la red Bitcoin se pueden agrupar en tres categorías:

– Los que sólo emiten transacciones como dispositivos móviles o programas de cartera simples (broadcast only node);
– Los que retransmiten o propagan y transmiten las transacciones (relay node);
– Los que emiten, transmiten y minan, es decir, crean nuevos bloques con las transacciones (mining node).

De estas tres categorías de nodos, el primero requiere de menos capacidad computacional que los siguientes, yendo ésta en aumento en cada categoría de nodo. La tercera categoría que incluye la minería Bitcoin requieren de los equipos informáticos más potentes, con un hardware específico para resolver el algoritmo de Prueba de Trabajo (Proof-Of-Work) [2] que se utiliza en la minería Bitcoin. Los nodos de minería son los más valiosos porque garantizan la seguridad de la red Bitcoin, pero tienen el problema de ser cada vez más complicados de gestionar por la alta dificultad y coste de la minería que además se está profesionalizando.

Cuando se crea un nuevo nodo en la red Bitcoin, es decir, cuando en algún ordenador del mundo su dueño instala el software Bitcoin (Bitcoin Core [3]), el recién estrenado nodo se conecta a otros nodos a través de Internet y se amplía la red malla. Esta red malla es irregular pero robusta al mismo tiempo.

Como ya hemos explicado en un artículo anterior, una red entre pares (peer-to-peer o P2P) [1] no tiene nodos centrales que funcionan como servidores y que regulan el tráfico de la red, sino que todos los nodos comparten por igual las responsabilidades de propagar la información a través de la red.

Funciones de los diferentes tipos de nodos en la red Bitcoin

Para explicar las funciones de los diferentes nodos vamos a poner un ejemplo sencillo. Imagínate que compras un café usando bitcoins. Lo más seguro es que lo harías desde un móvil, por lo tanto estaría funcionando el tipo más básico de nodo, y la transacción seguiría los siguientes pasos:

1. El nodo de partida (el teléfono sería un broadcast node, o sea un nodo de solo emisión) crea una transacción que transfiere sus monedas a la dirección Bitcoin de la cafetería en la que está tomándose el café. Este nodo entonces envía inmediatamente esta transacción a sus pares en la red Bitcoin, que probablemente sean nodos que transmiten transacciones.

2. El nodo que transmite (relay node) simplemente propaga esta transacción a otros nodos que también la transmiten, permitiendo que la transacción se propague rápidamente a todos los nodos. En realidad no es tan sencillo, ya que los nodos de transmisión deben desconfiar de las transacciones maliciosas o spam: si un nodo que transmite reenvía cualquier mensaje, la red Bitcoin se colapsaría rápidamente con una saturación de transacciones basura. Por lo tanto, todos los nodos de transmisión comprueban que la transacción tiene el formato correcto, se asegura de que las firmas son válidas y busca en la versión más actualizada de la cadena de bloques (blockchain) [4] para asegurarse y verificar que el dinero que se está transfiriendo está en la cuenta de origen de la transacción.

3. Nodo de minería (mining node) Si la transacción supera estos controles, llega en cuestión de segundos a todos los nodos de la red que realizan labores de minería. Estos nodos mineros añaden esta transacción a un bloque preliminar, que tratarán de minar satisfactoriamente.

4. Si el minado se ejecuta correctamente, se emite entonces el bloque recién extraído a través de la red, lo que confirma las transacciones del bloque y el minero recibe su recompensa, llamada coinbase, por haber minado esas transacciones. Aunque el proceso de extracción de un bloque tarda unos pocos minutos (alrededor de 10 minutos), una vez extraído, éste se propaga por la red en cuestión de segundos.

Finalmente, cada transacción debe quedar registrada en la cadena de bloques. Así que los nodos que retransmiten están conectados directamente con los nodos que minan o indirectamente con nodos que transmiten. Los nodos de minería también pueden aplicar criterios arbitrarios específicos a las transacciones, como por ejemplo, favorecer a aquellas transacciones que pagan recompensas más altas. Si la recompensa es demasiado baja, algunos mineros (o nodos de transmisión) pueden ignorar la transacción. Sin embargo, el hecho de que algunos nodos mineros ignoren una transacción no quiere decir que todos ellos lo hagan también. Siempre que la transacción encuentra un nodo minero que la acepta, la transacción eventualmente se registra en la cadena de bloques.

Normalmente, los nodos mineros recogen tantas operaciones como sea posible (para obtener la mayor cantidad de pagos). Aunque cada transacción tiene solo una pequeña recompensa, muchas transacciones pueden ser incluidas en el mismo bloque, y la suma de todas esas recompensas, que son las que recibe el nodo minero, pueden ser sustanciales.

Pero debido a las limitaciones de memoria, el número de transacciones que pueden ser incluidas en un bloque tiene un límite. Por lo que algunos mineros eliminan las operaciones cuyas recompensas son demasiado bajas (o cero). Pero como todos los nodos mineros cogen transacciones y las organizan en bloques, solo uno de los nodos (el afortunado) añade su bloque a la cadena de bloques. El nodo minero afortunado o ganador recibe por tanto la recompensa por minar el bloque, que es la suma de las cuotas de todas las transacciones incluidas en el bloque recién añadido y la recompensa. Los nodos que transmiten las transacciones y los nodos mineros que no han conseguido añadir el bloque no reciben bitcoins de las cuotas de la transacción o de ningún tipo.

Una vez seleccionado el nodo minero afortunado o ganador, el nuevo bloque es transmitido al resto de la red y todos los otros nodos mineros dejan de trabajar en ese bloque y empiezan a trabajar en uno nuevo. ¿Y cuál es el nodo minero afortunado entonces? El nodo minero afortunado es el que logra resolver el bloque mediante la búsqueda de una entrada específica para la función hash SHA256, que es el algoritmo de Proof-of-work que se que se utiliza en Bitcoin [5].

EPL

© OroyFinanzas.com