Mineros, usuarios, nodos, desarrolladores... ¿cómo se toman decisiones en una red descentralizada?
Los mineros de Bitcóin aportan potencia de cómputo y con ello se encargan de proteger la red, mientras que los nodos completos son los que garantizan el cumplimiento de las reglas establecidas en la ejecución de las transacciones.
28 mayo, 2021 05:00En busca del consenso. La filosofía de la descentralización que envuelve a la industria de las criptomonedas pretende eliminar actores interesados de la ecuación: quitar de en medio a terceros y buscar el mayor acuerdo posible dentro de un sistema de gobernanza sin una cabeza visible que tome las decisiones en representación de todos los demás.
La blockchain de Bitcóin es la primera red de pagos P2P descentralizada e impulsada por los propios usuarios sin la presencia de intermediarios ni de una entidad de control. Pero cuando la jerarquía tradicional no existe, ¿cómo ponerse de acuerdo?
La implementación de actualizaciones o una simple decisión sobre qué derroteros tomará una cadena de bloques no es una tarea sencilla, y para ello es importante comprender qué actores conforman la comunidad dentro de la red.
Usuarios o tenedores
Generalmente, el poseedor de una criptomoneda no tiene por qué formar parte real de la infraestructura de red. Puede usarla para realizar transacciones en ella, pero también podría recurrir exclusivamente a servicios centralizados para todas sus operaciones, por lo que su papel en la red puede en realidad carecer de relevancia más allá de la aportación de capital.
Mención aparte merecen los tokens de gobernanza, pues estos sí pueden otorgar a sus poseedores ejercer como parte en las decisiones sobre el protocolo central, la hoja de ruta, la contratación del equipo o en las propias modificaciones en los criterios de gobernanza.
Desarrolladores
Su papel consiste en crear código, revisarlo y también en actualizarlo. En realidad cualquiera con los conocimientos necesarios puede ejercer esta función y formar parte del proceso cuando de lo que hablamos es de una red descentralizada. Al ser código abierto, la información está disponible para todo el que quiera consultarla, lo que también favorece la detección y corrección de errores por parte de otros desarrolladores.
Mineros
Los mineros aportan potencia de cómputo y con ello se encargan de proteger la red. Son precisamente sus recursos los que ejecutan el código de los desarrolladores y con él añaden nuevos bloques a la blockchain, tarea por la que reciben una recompensa. Esto sería así en redes como la de Bitcóin, que funciona bajo un sistema de prueba de trabajo (proof of work - PoW).
Cabe matizar que en redes que usan un método alternativo como la prueba de participación o de estaca (Proof of stake - PoS), no existe la figura del minero propiamente dicho, pues son los propios usuarios o poseedores de la criptomoneda de turno los que tienen la posibilidad de delegarlas en un pool, y con ello no solo obtienen recompensas periódicas sino que también hacen a la red más segura. También existen otros modelos, como la prueba de autor (Proof of Autorithy - PoA) o el Proof of Elapsed Time - PoET.
Nodos
Los usuarios que ponen sus equipos a disposición de una cadena de bloques como nodo tienen la misión de validar bloques y transacciones. Aunque no conllevan recompensas económicas, con ello contribuyen de forma activa a dar robustez y a mejorar la descentralización de la propia red.
Existen distintos tipos de nodos. Por seguir con el ejemplo de Bitcóin, cualquier dispositivo que se conecte a su interfaz puede considerarse un nodo, y es precisamente la red de nodos informáticos la que hace posible que Bitcóin pueda ser utilizado como una moneda digital descentralizada P2P entre iguales. Así, los nodos de Bitcóin están representados por todos aquellos equipos que se unen en una red hoy gigante para hacer posible compartir información entre todos ellos.
Se podría decir que los nodos de validación completa o nodos completos son la verdadera piedra angular del sistema, pues sin ellos no podría existir una red como la de Bitcóin. Son ellos los que dotan a Bitcóin de su mayor nivel de seguridad, pues este tipo de nodos permite a la blockchain tener un robusto y distribuido archivo de todas las transacciones ejecutadas por sus usuarios, pues cada uno de estos nodos descarga una copia completa de la blockchain y los detalles de cada intercambio. Dicho de otra forma, los nodos son la garantía del cumplimiento de las reglas establecidas en la ejecución de las transacciones.
Leyendo esto uno podría pensar que hay que ser informático o contar con un gran equipo para unirse a la red de Bitcóin a través de un nodo completo, pero estos son los requisitos de la billetera Bitcoin Core, la implementación de software más utilizada:
- Hardware de escritorio o portátil con versiones recientes de Windows, Mac OS X o Linux.
- 7 gigabytes de espacio libre en disco, accesible a una velocidad mínima de lectura / escritura de 100 MB / s.
- 2 gigabytes de memoria (RAM).
- Una conexión a Internet de banda ancha con velocidades de carga de al menos 400 kilobits (50 kilobytes) por segundo.
- Una conexión sin medidor, una conexión con límites de carga altos o una conexión que monitorea regularmente para asegurarse de que no exceda sus límites de carga. Es común que los nodos completos en conexiones de alta velocidad usen una carga de 200 gigabytes o más al mes. El uso de descarga es de alrededor de 20 gigabytes al mes, más alrededor de 340 gigabytes adicionales la primera vez que inicia su nodo.
- 6 horas al día que su nodo completo puede dejarse en funcionamiento. (Puede hacer otras cosas con su computadora mientras ejecuta un nodo completo). Más horas sería mejor, y lo mejor de todo sería si pudiera ejecutar su nodo continuamente.
Las ventajas de contar con un nodo propio, además de colaborar para ayudar a la red a ser más más segura, son muy variadas: confianza, seguridad y privacidad, pues los nodos completos no necesitan confiar en otros y permite al que lo posee tener el control total de su propio bitcóin.
¿Y si hay discrepancias?
Los proyectos de código abierto se crean en función al consenso en un momento determinado de una comunidad que puede tener discrepancias con el paso del tiempo. Los forks son bifurcaciones de la cadena que se crean a partir de la copia del código fuente de un proyecto ya existente. Es decir, una ramificación de un proyecto inicial en varios proyectos que son independientes entre sí, que continúan desde un punto en común cada uno por su lado y que cuentan con objetivos o desarrolladores diferentes.
Por ejemplo, si un minero decidiera crear un bloque dentro de la cadena de bloques con fines fraudulentos, el sistema invalidaría dicho bloque de tal forma que quedaría solo y sin ser apoyado por el resto de mineros. En el caso de que dicho bloque tuviera apoyos y una parte de la comunidad lo respaldara, a partir de ahí la cadena se dividiría y cada una seguiría por su lado. Pero no todo acaba en separación, también existen forks, en este caso suaves, que sirven en el caso de actualizaciones y donde el software sigue siendo compatible con versiones anteriores.