Nyzo, un ejemplo de democracia y desarrollo.
El objetivo de este artículo es dar una visión general sobre NYZO y por qué es diferente de otras blockchains.
¿Qué es Nyzo?
Nyzo es una blockchain de código abierto, innovadora, eficiente y democrática, creada con el fin de enfrentarse a los problemas que se encuentran presentes en otras blockchains, tanto económicos como técnicos.
La criptomoneda que posee la blockchain se llama “nyzo”, cuyo símbolo es el símbolo matemático de la intersección ∩. La moneda nyzo es divisible en partes más pequeñas, llamadas micronyzo, las cuales son equivalentes a 1/1,000,000 nyzo, cuyo símbolo es la letra griega minúscula mu, μ.
Nyzo fue creada completamente desde cero, tanto el código como el diseño. No es un simple copia y pega de otro proyecto. Ha sido cuidadosamente diseñado para poder recrear aquellas condiciones que puedan resolver algunos de los problemas que enfrentan las anteriores blockchains, como puede ser la eficiencia, la democracia y la posibilidad de usar las criptomonedas.
Mientras que se conocen todos los detalles sobre Nyzo, incluyendo todos los pasos tomados para poder entregar este proyecto a la comunidad, no se sabe acerca de los principales desarrolladores. De hecho, ellos han decidido seguir siendo anónimos, para no influenciar en el desarrollo de Nyzo, el cual fue entregado inmediatamente a la comunidad, y así no atraer la atención hacia ellos. El equipo no se ha quedado con ninguna criptomoneda por el trabajo ya hecho, pero continuan trabajando para el proyecto, siempre anónimamente.
Afirmar que el proyecto ha sido dejado totalmente en manos de la comunidad es completamente cierto. Todas las tareas están en manos de la comunidad: tomar todas las decisiones democráticas; trabajar para sacar adelante el proyecto; premiar a todo aquel que esté comprometido para el bien de todos usando un fondo establecido especialmente.
Para obtener una mejor imagen sobre cómo funciona todo, es necesario analizar el protocolo de consenso de Nyzo.
El protocolo de consenso: Proof of Diversity
La red Nyzo (Mesh) está compuesta por verificadores, los cuales están a cargo de procesar todas las transacciones que ocurren en la blockchain, son los mismos que tienen el poder de la toma de decisiones, por votos.
La red se puede dividir en 2 grupos: “In-Cycle” (en el ciclo) and “Queue” (en la cola). Los verificadores in-Cycle aquellos que ya están a cargo de verificar los bloques de la blockchain, y son pagados por el trabajo que hacen. Los verificadores en cola son aquellos que quieren entrar en el ciclo. Estos últimos deben respetar ciertas características y condiciones para poder ser elegidos:
- Dirección IPv4 única;
- Haber iniciado la máquina, a poder ser con la última versión del código para la operación de los verificadores de Nyzo;
- Monitorear la blockchain y su estado;
- Notificar su presencia a los demás verificadores, los cuales registrarán al candidato con un timestamp (marca de tiempo);
- Un periodo de incubación de 30 días. Para así evitar el acceso a botnets y similares.
En la Mesh también hay otros tipos de verificadores, con funciones específicas, llamados centinelas. Estos centinelas tienen la función de proteger a los verificadores normales de ataques o cortes de red.
No es ninguna coincidencia que la representación de las imágenes de arriba son modelos Raspberry. Queda como un ejemplo ilustrativo, porque la red de Nyzo corre en servidores virtuales (vps) de gama baja, los cuales consumen mucha menos electricidad (un millón de veces menos no es una exageración) que una red basada en Proof of Work (prueba de trabajo). De este modo, nosotros deberíamos instalar el programa, en nuestra máquina personal, y podríamos apagarla, gracias al vps.
Además, el tamaño de la blockchain tiene una gran influencia, ya que, de hecho, Nyzo no necesita una sincronización completa para la funcionalidad de los verificadores sino solo los últimos 4 ciclos de los bloques. El por qué de solo los últimos 4 ciclos de los bloques será tratado más adelante cuando las reglas del protocolo sean expuestas.
¿Cómo se gestionan los verificadores dentro de la Mesh?
La inclusión y la eliminación de los verificadores, las características que un candidato debe tener para ser añadido al ciclo y la frecuencia con la cual los bloques son producidos, están impuestas por las reglas del protocolo de la blockchain
Modo de operación de Proof of Diversity
Los verificadores producen los bloques por turnos de forma circular, respetando las reglas impuestas por el protocolo, las cuales se aplican a todo el mundo.
El bucle de verificación de un bloque está definido como la lista más larga de bloques de la cadena, terminando con aquel bloque el cual contiene no más de una instancia de cada verificador.
Con el siguiente ejemplo, este concepto será más comprensible: imagina que la siguiente blockchain, dónde los bloques están enumerados de forma ascendente y cada letra que les identifica corresponde con un verificador diferente:
De la definición anterior podemos decir que el ciclo de verificación número 25 va a contener los bloques enumerados 25, 24 y 23. Y ahí para, porque en el bloque número 22 hay un verificador con la letra A, el cual ya está presente en el ciclo de verificación número 25, por lo tanto, habrá 2 instancias del mismo verificador, una situación no permitida en el mismo ciclo.
La misma definición se aplica al añadir un nuevo verificador al ciclo, vamos a ver un ejemplo:
En este caso, podemos ver que el ciclo de verificación del bloque número 26 está compuesto por los bloques 26, 25, 24 y 23. Este no incluye el bloque 22 porque el verificador A ya está presente en el bloque 25, y en este caso habrá 2 instancias del mismo verificador, una situación no permitida en el mismo bloque.
Reglas de seguridad del protocolo
Para asegurar la seguridad de la blockchain y prevenir que nuevos verificadores maliciosos se hagan cargo de la cadena, han sido introducidas una serie de reglas.
1. La primera regla dice que la entrada de un nuevo verificador está permitida si ninguno de los otros bloques del ciclo y ninguno de los dos bloques de los dos ciclos previos han sido verificados por nuevos verificadores.
Esta regla asegura que los atacantes fallen la toma de control de la red, introduciendo rápidamente los verificadores que ellos controlan;
2. La segunda regla requiere un cumplimiento con una fórmula matemática, la cual dice que después del bloque Génesis (el primer bloque que ha sido producido en la blockchain Nyzo) el ciclo de un bloque debe ser más largo que la longitud máxima entre el ciclo actual y los dos anteriores a este. Tomando la longitud máxima entre estos, el resultado debe dividirse entre 2 y sumar 1.
El objetivo de esta regla es asegurar que los verificadores no sean considerados como posibles atacantes, los cuales intentan tomar control de la blockchain. Solo con comprobar más del 50% de los verificadores activos puedes tomar control de la cadena. Considerando el bloque actual y los dos anteriores, las divergencias son evitadas en momentos oportunos por los verificadores que están agrupados en partes específicas de la cadena.
Estas reglas aseguran que, empezando desde cualquier punto de la blockchain, más de la mitad de los verificadores activos deben ser comprobados para continuar produciendo una versión válida, por lo tanto, respetando las reglas del protocolo. Para poder forjar la blockhain durante un periodo significativamente largo, un atacante deberá obtener más de la mitad de las llaves privadas, de los mismos verificadores que ya hacen su trabajo. Como consecuencia, esto requerirá una participación dentro de ella, para poder tener una influencia en ella.
Esto no pasa en otros protocolos, donde la manipulación de la blockchain puede ser empleada por cualquiera con suficientes recursos computacionales.
En la comunidad Nyzo, cualquiera puede convertirse en verificadores, validando bloques y teniendo poder de decisión.
¡Es una comunidad gratuita y democrática!
A través de este diagrama simplificado, un diagrama de bloques es presentado para entender el algoritmo que lleva a la implementación de un nuevo verificador al ciclo Nyzo y entender quién y cómo los bloques en la Mesh deben ser verificados. Los números han sido verificados para facilitar la comprensión de la explicación.
Este diagrama tiene un flujo continuo, y este proceso continuará tanto como verificadores candidatos o bloques para verificar haya, hasta que se use la blockchain Nyzo. Cada 50 bloques verificados, los verificadores que ya se encuentran en la Mesh, tienen la tarea de elegir un verificador candidato, entre los presentes en la “Queue” (la lista de espera para convertirte en verificador; la elección del verificador candidato ocurre de manera aleatoria) y comprobar si poseen ciertas condiciones. Después de un macrociclo de 50m bloques, la cuenta se pone a cero y se reinicia.
Echando un vistazo a la primera condición señalada con el número 1, se hace una comprobación en el número de bloques verificados que se encuentran dentro del macrociclo y en la selección de un candidato de prueba. Si la cuenta de bloques verificados es menor a 50 o si un candidato verificador ya ha sido seleccionado durante el macrociclo de 50 bloques, entonces el bloque será producido por los verificadores que ya se encuentran presentes en el ciclo, tal y como se muestra en el punto número 9 (a la derecha de la imagen). De lo contrario, cuando solo una de las dos condiciones del bloque se verifica, se procederá con la extracción del candidato verificador, presente en la “Queue”, punto número 2. Una vez que el candidado ha sido extraido, esto tendrá que superar la prueba del voto (3) por los auditores que ya se encuentran en el ciclo y que representan la comunidad Nyzo, cada uno de estos tiene un solo voto. Si el candidato no supera la votación, él o ella no serán aptos para entrar en el ciclo y el bloque será producido por los verificadores ya presentes en el ciclo, tal y como se muestra en el punto número 4. Al llegar al punto número 5, será necesario verificar si las reglas de seguridad de la blockchain (explicadas anteriormente), para la entrada del candidato en el ciclo. Si no se respetan, el candidato no podrá acceder a ellos y el bloque será producido por los verificadores que se encuentran ya presentes en el ciclo y la búsqueda para un candidato adecuado deberá continuar, como se muestra en el punto número 4. Si las reglas han sido respetadas, al candidato se le requerirá producir un bloque (6), el tiempo disponible será de 50 bloques. Después, se realizará una comprobación en el bloque producido, en cumplimiento de las condiciones dictadas por el protocolo (7), si esta comprobación no es superada, el ciclo producirá el bloque. En cambio, si el bloque producido por el candidato de prueba supera la comprobación, el bloque será añadido a la cadena y el candidato será añadido al ciclo. El ciclo estará compuesto por otros verificadores ya presentes “In-Cycle”, presentes en la Nyzo Mesh. De hecho, el bloque del algoritmo número 8, está contectado directamente al ciclo de verificadores (9).
Desde el punto número 4, nos moveremos al punto número 9, de acuerdo con la conexión del algoritmo. En este punto, estos convergen: punto número 1, bajo las condiciones explicadas arriba, y todos los casos presentes en el bloque número 4.
En el bloque número 9, el ciclo producirá el bloque, el cual será añadido a los otros bloques producidos anteriormente y añadidos a la cadena. Si sucede que un verificador no produce el bloque cuando es su turno, este será expulsado de la Mesh.
En el punto número 10 podemos ver un ejemplo del ciclo, y en el punto número 11 el bloque que ellos producen. El flujo seguirá repitiéndose, recordando que cada 50 bloques se producirá un reinicio de la cuenta de los bloques producidos, y se empezará de cero.
Los bloques son producidos por los verificadores “in-cycle”. La producción del bloque debe debe ser llevado a cabo por un verificador del ciclo a la vez, de forma circular. El tiempo de producción es de 7 segundos.
Como puedes ver en la figura 5, los verificadores en el ciclo están produciendo los bloques, uno a la vez. La primera imagen de la figura muestra el ciclo de producción número 25, y, de hecho, el último bloque en ser producido es el 24. Antes de que los bloques mostrados, otros bloques han sido producidos, los cuales no han sido introducidos debido a la falta de espacio. Para entenderlo mejor, el verificador A ha producido los bloques de este número de bucle: 1, 7, 13, 19, etc…
En la segunda imagen de la figura 5, se puede ver como el siguiente bloque en ser producido, después del verificador F de la imagen del ciclo 24, ha sido el número 25 del verificador A. El mismo procedimiento ocurre en la última imagen de la figura 5, dónde el bloque número 26 ha sido producido por el verificador B.
En la primera imagen de la figura número 6 nos encontramos en el escenario descrito en la figura número 5, en el ciclo del bloque número 50. Cada macrociclo de 50 bloques producidos, los verificadores “in-Cycle” tienen la tarea de seleccionar otro verificador y añadirlo dentro, como se muestra en la última imagen de la derecha, en la misma figura
Las figuras 7 y 8 representan una sola figura que muestra una descripción completa de un bloque de la blockchain Nyzo, la cual he preferido dividirla por razones de espacio.
Una blockchain sostenible
Repasando algunos conceptos importantes: con Nyzo hemos intentado producir una mejora comparada con otras blockchain, abordando los problemas principales, tanto económicos como técnicos.
Las innovaciones principales de Nyzo son: el protocolo, Proof of Diversity; el mecanismo de la lista de balances; la naturaleza democrática de Nyzo. Y no menos importantes son las estructuras de tasas y la ausencia de minería. Estas dos últimas características aseguran la sostenibilidad de la blockchain. Nyzo no ha sido previamente minada y no hay recompensas por mineria. En el bloque Genesis, 100,000,000 Nyzo han sido generados. Ningúna otra criptomoneda puede ser generada.
Los creadores han decidido no recurrir a ningún tipo de financiación, todos los gastos incurridos han sido pagados por ellos. Por lo tanto, no ha habido mineria previa y la minería no está incluida en el protocolo.
Según ellos, en una criptomoneda, más del 5% de la pre-minería o cualquier tipo de financiación (cómo las ICOs) serían una pérdida de valor para todo el sistema. El valor de las criptomonedas estaría comprometido y un consiguiente desánimo por parte de los verificadores de realizar su trabajo, comprometiendo con el correcto funcionamiento de la blockchain.
¿Cómo son remunerados los verificadores?
En Nyzo, las tasas de transferencia son la única recompensa por verificar bloques. Por el trabajo realizado, los verificadores son remunerados con el 10% de la tasa de transacción del bloque que ellos han verificado y con el 10% de la tasa de transacción de los 9 bloques producidos posteriormente.
En el primer periodo de la vida de la blockchain, hubiera sido difícil haber tenido la suficiente cantidad de transacciones para garantizar la remuneración de los verificadores. Para resolver este problema, ∩20,000,000 han sido asignados en una cuenta, garantizando 5 años de “transacciones artificiales” (y un año adicional para transacciones que han sido omitidas en años anteiores), con el proposito de reproducir un volumen orgánico de transacciones. Este fondo está dedicado únicamente para este propósito, las llaves privadas nunca han sido guardadas y la cuenta está protegida de cualquier transacción no autorizada.
Con un adecuado volumen de “transacciones orgánicas”, por tanto, no producidas artificialmente, no hay necesidad de recurrir a las transacciones artificiales, y como consecuencia el número de nyzo presente en el fondo no se verá reducido. Es una solución para el funcionamiento del sistema, el cual sin los verificadores no podría funcionar y para llevar a cabo su tarea ellos necesitan una remuneración, por la disponibilidad y los costos que esto conlleva.
De este modo, los creadores también pensaron en garantizar una distribución completa de las monedas.
Aquí puedes ver el fondo actualmente en uso y por lo tanto, con una menor cantidad que la cantidad inicial: https://nyzo.today/explorer/12d454a69523f739-eb5eb71c7deb8701-1804df336ae0e2c1-9e0b24a636683e31
¿Dónde están asignadas las demás criptomonedas?
∩30,507,419 han sido transferidas a una cuenta controlada por el ciclo. Después de las tasas de transacción, ∩30,431,150 permanecieron en esta cuenta. Las transferencias de esta cuenta, las cuales no están sujetas a tasas de transacción, requieren una aceptación de al menos del 75% del ciclo actual, y las transferencias no pueden ser mayores de ∩100,000 cada una.
Para asegurar una reposición de los fondos de la cuenta descrita anteriormente, el 1% de las comisiones de las transacciones organicas, entonces, 0.0025% de la transacción, es transferida al fondo. Esta tributación se aplica a todas las transacciones regulares hechas en la blockchain, y no a aquellas producidas artificialmente para llevar el sistema adelante. Esto significa que las tasas de inspección están reducidas por un 1%, o por una media de menos de ∩0.0001 por día.
Siempre es bueno recordar que la cuenta dedicada a las comisiones de las tasas de transacción está controlada por los verificadores mismos, los cuales representan la comunidad democrática de Nyzo.
Es un fondo muy importante para el proyecto que requiere diligencia en la administración, de hecho, es de este fondo de dónde aquellos que traen valor a Nyzo son recompensados y por esto la regeneración continua es necesaria, mediante las tasas de transacción.
En esta dirección puedes ver el fondo actualmente en uso y como la cantidad es menor que la inicial: https://nyzo.today/explorer/000000000000000000000000000000000000000000000000000000000002
Además de estos fondos, hay otros ∩47,000,000. Estos fondos son liberados a medida que el sistema de Nyzo produce suficientes transacciones, no generadas artificialmente. Todo esto está gobernado por una fórmula y controlado por el algoritmo.
Por lo tanto, para prevenir que todos estos fondos se liberen todos a la vez, la petición para nuevos fondos debe estar acompañada de un sistema que funcione. Todas las transacciones de este fondo siempre están votadas por los verificadores, por lo tanto, por la comunidad de Nyzo, ¡una comunidad democrática!
Inicialmente, los creadores de Nyzo han pleaneado administrar una parte de las criptomonedas del sistema, que se desbloquearan a lo largo del tiempo. Su idea era usar estos fondos para cubrir los gastos y premiar a aquellos que participen en en el crecimiento de Nyzo, aunque después cambiaron su idea y transferieron toda la cantidad al fondo controlado por la comunidad.
El proyecto Nyzo está avanzado exitósamente, y la comunidad ya está premiando a aquellos que están trabajando en ello, como los desarrolladores que se han incorporado para crear valor y mejoras al proyecto.
De todas maneras, estas recompensas no han sido movidas de los fondos de los verificadores, esto significa que los primeros que piensan en el potencial de Nyzo son aquellos que lo construyen.
Si estás interesado, echa un vistazo a:
Telegram: http://t.me/NyzoCo
Discord: http://discord.gg/REzrUZG
Twitter: https://twitter.com/nyzo_io / https://twitter.com/NyzoGang / https://twitter.com/NYZO_Blockchain
Official site: https://nyzo.co/
Unofficial site: https://nyzo.io/
Esta es una traducción de este artículo: https://maurocambuli.medium.com/nyzo-un-esempio-di-democrazia-e-sviluppo-tecnologico-6287d6ae27c8