NEO es una criptomoneda china que imita en gran medida a Ethereum con su ecología blockchain. Los contratos inteligentes y las aplicaciones distribuidas se pueden desarrollar y ejecutar sobre la base del protocolo NEO. NEO está actualmente representado principalmente en el mercado de cifrado chino.
NEO surgió de su predecesor Antshares en 2016. Es una versión china (o, según algunos críticos, una copia descarada) de Ethereum.
Contenido
NEO versus Ethereum
Una ventaja a corto plazo de NEO sobre Ethereum es el lenguaje de programación utilizado. En lugar de crear su propio lenguaje de programación llamado «Solidez» como Ethereum, NEO utiliza los conocidos lenguajes Java y C # . A corto plazo, esto abre un campo más amplio de programadores para comenzar a programar contratos inteligentes, pero a mediano plazo, varios problemas se pueden mapear de manera mucho más eficiente y segura con Solidity.
NEO actualmente puede procesar alrededor de 10,000 transacciones por segundo, mientras que Ethereum solo puede procesar alrededor de 15 transacciones por segundo. El equipo de Ethereum está trabajando actualmente de manera muy intensiva en su propio algoritmo de PoS y otras soluciones de escalado.
¿Cómo funciona el consenso en NEO?
Para lograr el consenso (¿qué sucedió y qué no?), NEO no utiliza un algoritmo de «Prueba de trabajo», sino con DBFT (tolerancia bizantina delegada a fallas) , una forma especial de algoritmo de » prueba de participación «.
Tolerancia delegada a fallas bizantinas
La «falla bizantina» en el área de blockchain es un error en el que un nodo en funcionamiento actúa de manera deshonesta. «Tolerancia bizantina delegada a fallas» es el algoritmo de consenso que se utiliza en NEO Blockchain para garantizar la tolerancia a fallas y evitar este problema.
Para comprender mejor el mecanismo de consenso de NEO, es aconsejable familiarizarse con los llamados Error bizantino demasiado ocupado.
El problema de los errores bizantinos proviene de una leyenda otomana y se dice que ocurrió durante el asedio de Constantinopla (ahora Estambul) en 1453. Varios generales se pararon con sus tropas frente a las murallas de la ciudad de Constantinopla.
Dado que la ciudad tenía muy buenas defensas, era imperativo que todos los generales atacaran al mismo tiempo. Desafortunadamente, los generales no confiaban en los demás y trataron de dejar que otro general corriera hacia el cuchillo abierto atacando solo y, por lo tanto, devastado.
Esto disgustaría a este general con el sultán y los generales restantes recibirían más gloria si ganaban.
Todos los generales se comunicaron entre sí con mensajeros a fin de determinar una hora común para el ataque. Ahora el problema es: ¿Cómo sabe un general si no está siendo engañado por otro general? ¿Cómo se puede asegurar que los generales puedan confiar entre sí y que se pueda encontrar a un traidor?
Matemáticamente, el problema solo puede resolverse si los generales leales y honestos constituyen al menos un total de más de dos tercios. De una manera muy simplificada, se puede decir que en el mundo «Proof of Stake» de NEO hay un nodo seleccionado al azar que envía una propuesta a los nodos restantes sobre cuál debería ser el consenso.
Los nodos restantes luego votan por ella y si más de dos tercios (66%) de los nodos están a favor, esta propuesta se convierte en un consenso. Si menos del 66% está a favor, se selecciona un nuevo nodo y el proceso comienza de nuevo. Sin embargo, los nodos restantes no votan simplemente al azar, sino que calculan un valor hash que primero tiene que confirmar la propuesta del nodo determinante.
¿Qué sucede si el nodo seleccionado al azar hace deliberadamente una propuesta incorrecta?
La propuesta simplemente se rechaza porque más del 66% de los otros nodos no calculan el mismo valor hash que el valor propuesto.
¿Qué sucede si varios nodos rechazan deliberadamente el consenso propuesto correcto?
En este caso, es importante distinguir si más del 33% rechaza el consenso o no. Si más del 33% rechaza el consenso, será rechazado y se determinará un nuevo nodo al azar. Si menos del 33% rechaza la propuesta, será aceptada. En este caso, por ejemplo, puede identificar nodos particularmente confiables y menos confiables prestando atención al número de votos incorrectos.