La EMERGENCIA de Blockchain: Descubriendo los secretos de Emercoin
Publicado: 2021-08-09En el primero de una serie de artículos que descubren la gama de aplicaciones de las tecnologías blockchain habilitadas por Emercoin, analizamos cómo surgió esta criptomoneda y en qué se diferencia de todos los demás especímenes de la floreciente industria de las criptomonedas.
Las redes peer-to-peer aumentan en eficiencia y confiabilidad a medida que aumenta el número de participantes. Esto los convierte en una herramienta perfecta para soluciones a escala empresarial y global que van mucho más allá de las “meras” aplicaciones financieras. El mundo está empezando a darse cuenta de esto ahora. En Emer, esta fue la idea que impulsó nuestro crecimiento desde el principio.
Emercoin Core
Históricamente, el núcleo de Emercoin se heredó de Peercoin, que a su vez surgió de Bitcoin. Peercoin introdujo una innovación esencial llamada consenso de prueba de participación (PoS). Esto permitió expandir y mejorar el algoritmo de prueba de trabajo (PoW) existente en ese momento.
El consenso es un algoritmo utilizado en una red descentralizada para validar una determinada versión de una cadena de bloques en crecimiento. El consenso resulta de que todos los mineros "utilizan sus propios recursos para" votar "por dicha validación. Por esto, son recompensados con criptomonedas recién creadas. En otras palabras, los mineros venden su servicio de "mantenimiento de la confianza de la red" a cambio de monedas.
Entonces, ¿cómo sabemos quién tiene derecho a votar?
No puede ser una billetera, porque entonces un usuario fraudulento podría crear millones de billeteras y usar estos votos fantasmas para validar cualquier versión de blockchain que le guste.
Esta tampoco puede ser una dirección IP, ya que cualquier ISP puede falsificar una red grande, creando hordas de votantes fantasmas también.
Por lo tanto, votar requiere un recurso limitado que no se puede replicar ni falsificar.
Para el sistema Bitcoin, Satoshi Nakamoto propuso una solución de prueba de trabajo, que implica la validación a través de la capacidad informática. De hecho, si la capacidad de cómputo de su computadora es X, puede crear N subcomputadoras virtuales, pero la capacidad de cómputo agregada no va a exceder X. En otras palabras, el propietario de tales subcomputadoras virtuales no va a tener más votos que un solo usuario.
Luego, se ofrecieron otros conceptos de consenso que se centraron en recursos informáticos distintos de los procesadores. Por ejemplo, la prueba de capacidad se basó en la capacidad de la unidad de disco. Esto provoca una carrera armamentista en la evolución del ecosistema de las criptomonedas. Los mineros siguen invirtiendo en su hardware hasta que los gastos de depreciación de sus equipos reducen a cero los ingresos generados por la minería. Luego comienzan a quejarse de que "la minería no genera ganancias" o que "la criptomoneda no es más que una estafa".
Proof-of-Stake fue un concepto innovador introducido por Sunny King en Peercoin. Peercoin limitó la capacidad de votación por sus propias monedas. Esto ayudó a evitar la carrera armamentista al reemplazar los recursos materiales (procesadores, unidades de disco) por recursos virtuales (monedas). Como resultado, la gente dejó de desperdiciar recursos materiales, dinero y electricidad en la búsqueda de un mayor poder minero.
El algoritmo PoS también tiene fallas. Por ejemplo, es vulnerable a ataques internos. Estos últimos se evitan parcialmente con herramientas adicionales como, por ejemplo, puntos de control dinámicos. En general, PoS ha demostrado ser más seguro que PoW.
El protocolo de consenso híbrido utilizado por Peercoin se considera el más seguro, y es por eso que lo usamos como base para el proyecto Emercoin. Para tener éxito, un atacante en Emer debe poseer el 51% de la capacidad informática agregada de la red y el 51% de su stock de monedas. Dos barreras de diferente naturaleza protegen en gran medida a la red del descrédito.
Otra razón por la que se eligió Peercoin fue el código de Bitcoin clásico y maduro que se usa en su núcleo. No solo ha sido revisado por muchos expertos en seguridad, sino que también ha hecho frente a varios ataques fallidos.
Finalmente, queríamos seguir un enfoque industrial para los proyectos, lo que permitía el máximo cumplimiento de los estándares y especificaciones existentes, y las tecnologías y API de Bitcoin han determinado de facto los estándares para la industria de la criptografía.
Emercoin vs Bitcoin: similitudes y diferencias
PoW + PoS frente a PoW
Como ya se mencionó, Emercoin usa un protocolo de consenso híbrido. tomado de Peercoin. El único cambio que hicimos fue aumentar el peso de PoS a aproximadamente un 80%. Por lo tanto, Emer es una criptomoneda esencialmente basada en PoS, con una herramienta PoW auxiliar.
SHA-256
Emercoin cierra bloques usando la misma función hash SHA-256. Lo elegimos porque es un estándar oficial y suficientemente seguro. Además, los ASIC especiales han estado realizando la minería SHA-256 durante un tiempo, por lo que los mineros pueden estar seguros de que ningún nuevo hardware de propósito especial diseñado para otro algoritmo provocará una revolución de complejidad para sacudir la red y consolidar la capacidad de minería en manos de aquellos que poseen este nuevo hardware.
Como nota al margen, estamos en contra de la minería con computadoras de uso general, ya que este enfoque es potencialmente peligroso para las partes no involucradas. Antes de que aparecieran los ASIC, varios virus informáticos utilizaban las capacidades informáticas de las computadoras afectadas para extraer Bitcoins. Los ASIC hicieron que dicho malware no fuera económicamente viable. Pero otras criptomonedas extraídas a través de computadoras de uso general todavía están expuestas a este riesgo.
Intervalo de bloque de 10 minutos
Al igual que Bitcoin y Peercoin, Emercoin proporciona 10 minutos para cerrar un bloque. Un tiempo más corto por bloque resultaría en más colisiones con bloques huérfanos y una pérdida en la confiabilidad de la red.
La probabilidad de colisión se calcula dividiendo el tiempo de actualización de la red por el tiempo de cierre del bloque. El tiempo de actualización de la red depende de la topología y la carga de la red. Actualizar la red de Bitcoin lleva unos minutos. Otras criptomonedas (por ejemplo, Quark) que han reducido el tiempo de cierre del bloque a menos de un minuto encuentran una exposición constante a la bifurcación tan pronto como la carga de la red se vuelve más o menos sustancial.
Uno puede objetar refiriéndose al excelente protocolo Ghost de Ethereum, que no está expuesto a bifurcaciones. Aunque sus bloques huérfanos ("tíos") no forman parte de la cadena de bloques resultante, sí participan en la votación de una versión en cadena, por lo que el intervalo de bloque se puede reducir a unos 20 segundos.
Pero este protocolo tiene sus propias vulnerabilidades. Por ejemplo, una red Ghost es propensa a las tormentas de red, cuando ocurren cantidades extremas de tráfico en las redes Ethernet bajo cierta carga. En pocas palabras, la red es vulnerable porque su tiempo de actualización es proporcional a su tráfico. Bajo una carga crítica (demasiadas transacciones por segundo), el tiempo de actualización se vuelve comparable al tiempo de generación del bloque. En este caso, diferentes mineros pueden generar bloques candidatos de forma independiente para ser incluidos en la cadena de bloques. Y aquí viene una sorpresa: estos bloques contendrán las mismas transacciones. Entonces volverán a circular por la red, multiplicando el tráfico, es decir, generando más carga de red, más retrasos y más “tíos”. La red se comportará como si estuviera expuesta a un ataque de amplificación de DNS / NTP, siendo los mismos nodos de red tanto el atacante como la víctima.
Además, solo se incluye un bloque candidato en la cadena de bloques. A medida que la red utilizó recursos no solo para calcular ese bloque, sino también sus compañeros, bloques, que votaron pero no se incluyeron en la cadena de bloques resultante, la confianza en la cadena de bloques aceptada disminuye drásticamente. Como resultado, la red puede ser atacada con menos del 51% de su capacidad informática agregada.
Con todo, creemos que el enfoque propuesto por Satoshi Nakamoto sigue siendo el mejor disponible.
Volver a calcular la complejidad después de cada bloque
A diferencia de Bitcoin, que vuelve a calcular su complejidad minera cada 2016 bloques (es decir, aproximadamente cada dos semanas), tanto las redes Emer como Peercoin hacen esto después de cada nuevo bloque, lo que contribuye a la confiabilidad de la red. Aquí hay un ejemplo:
Supongamos que después de un recálculo de complejidad programado, el 50% de los mineros de Bitcoin dejan de trabajar. Por cierto, esta situación no es tan improbable como parece. Esto podría suceder si los gobiernos de los países que albergan grandes grupos mineros promulgan algunas leyes con ese fin, como podría ser el caso pronto en China. Como resultado, los intervalos para cerrar los bloques se duplicarán a 20 minutos, y el tamaño del bloque también se duplicará. Teniendo en cuenta que muchos bloques hoy han alcanzado el límite de 1 MB, es probable que muchas transacciones permanezcan sin confirmar durante días. Esto podría provocar pánico y más transacciones por parte de quienes deseen vender al precio actual, agravando aún más la situación. El sistema tardaría semanas en recuperarse.
Una red que vuelve a calcular su complejidad después de cada nuevo bloque no está expuesta a tal riesgo, ya que se ajusta instantáneamente a la capacidad informática agregada de los nuevos mineros. Además, al ser predominantemente una criptomoneda PoS, Emercoin no se ve muy afectada por la minería y / o los grupos. Incluso si todas las piscinas dejaran de funcionar al mismo tiempo, solo se necesitaría un 20% más de tiempo para agregar un bloque, y el sistema de ajuste solucionaría esto en solo 24 horas.
Reevaluación del número de bloques de PoW otorgados
Emercoin tiene un mecanismo más para mantener su capacidad minera más confiable, un circuito de retroalimentación negativa que usa la tasa de hash de la red (capacidad minera agregada). El punto es que la recompensa del minero no es fija (como en el caso de Bitcoin), sino inversamente proporcional a la cuarta raíz de la complejidad de la red.

Si el valor fiduciario de Emercoin aumenta, es decir, más usuarios comienzan a extraerlo, esto contribuye a la complejidad de la red y, por lo tanto, reduce la recompensa por cada bloque. Como resultado, la red queda protegida contra una alta inflación fiduciaria . Por el contrario, si los mineros pierden interés en Emercoin por cualquier motivo, el sistema se vuelve mucho menos complicado y retiene a los mineros ofreciendo recompensas más altas.
En teoría, la estrategia de minería de Emercoin más eficiente es cooperar y extraer utilizando la capacidad mínima y compartiendo los ingresos máximos. Sin embargo, esto es improbable, porque los mineros enfrentarán una variación del dilema del prisionero .
6% de rendimiento porcentual anual para PoS
Como Emercoin es una criptomoneda PoS, un minero puede generar ingresos tanto con hardware de minería como con monedas en su billetera. Elegimos pagar bonificaciones de PoS a una tasa del 6% anual. En otras palabras, si las monedas utilizadas para cerrar una transacción permanecen intactas durante más de un mes, es probable que se puedan utilizar para cerrar un bloque, generando un APY del 6% para el propietario. Una vez que se utilizan las monedas, el período de inactividad "se agota" y comienza un nuevo período de inactividad para el nuevo propietario. En otras palabras, el 6% APY es la recompensa máxima de PoS, que solo se puede recibir si las monedas permanecen intactas. Actualmente, el aumento real del stock de dinero a través de PoS APY es de aproximadamente 4 a 5% anual. A medida que Emercoin se generalice y las transacciones sean más numerosas, este valor disminuirá para igualar las tasas típicas de las monedas fiduciarias duras, aunque nunca se anulará por completo.
Se puede objetar que este 6% APY genera inflación, pero cabe mencionar que Emercoin tiene una tendencia deflacionaria, es decir, el valor de la moneda está creciendo, y bastante rápido. Esto se refleja en su tipo de cambio, que se ha multiplicado casi por cuatro desde principios de año. Este desajuste con el modelo ingenuo se debe a que el valor de la moneda está vinculado al valor económico correspondiente. El crecimiento económico implica un aumento en el valor de la moneda, por lo que PoS tiene una contribución insignificante al crecimiento general del stock de dinero, en comparación con otros factores.
Emisión y anulación de Emercoins
Se puede concluir de lo anterior que las acciones de dinero de Emercoin podrían crecer perpetuamente. Parece ser cierto en la primera aproximación. De hecho, los participantes que mantienen el consenso venden sus servicios a la red y son recompensados con monedas recién creadas. Sin embargo, Emercoin tiene un mecanismo que anula las monedas, equilibrando así la emisión de monedas. Lo hace cobrando una tarifa por los servicios de blockchain, como el envío de monedas o la compra de cuentas con NVS. Es decir, a diferencia de Bitcoin, que tiene límites para emitir monedas y no tiene herramientas para anularlas, Emercoin permite emitirlas de forma indefinida, pero también tiene un proceso opuesto para equilibrarlas. Aquellos participantes que venden sus servicios a la red son recompensados y aquellos que compran servicios de la red pagan por ellos.
En una estimación aproximada y considerando los factores actualmente disponibles, se generará un total de alrededor de mil millones de EMC en 80 años.
Revelar direcciones IP externas
La primera innovación única implementada por Emercoin fue el protocolo RFC5389, una herramienta STUN para revelar direcciones IP externas. Después de NAT, el software de la billetera necesita conocer la dirección IP externa para funcionar correctamente. Bitcoin solía recibirlo, y otros todavía lo reciben, dirigiéndose a un servidor centralizado ( http://checkip.dyndns.org ). Más tarde cambió a UPNP y ajustes de configuración manual. Rechazamos este enfoque por varias razones, como que UPNP no funciona después de una NAT multicapa. Al final, decidimos no utilizar un servidor centralizado en absoluto, sino aplicar el estándar STUN, que se utiliza para propósitos similares en VoIP. Actualmente gestionamos la lista más completa de servidores STUN públicos disponibles y usamos estos servidores dentro de nuestro subsistema STUN para identificar direcciones IP externas.
Optimizador de transacciones
Transaction Optimizer es otra innovación única implementada en Emercoin.
Las criptomonedas con cadenas de bloques que contienen transacciones requieren que seleccione un subconjunto para gastar al crear una nueva transacción. Bitcoin y otras criptomonedas utilizan un algoritmo estocástico que toma 1,000 muestras aleatorias para seleccionar un subconjunto que contiene una cantidad lo más cercana posible a la requerida. Sin embargo, incluso si la billetera contiene un subconjunto que coincide con la suma exacta, el algoritmo estándar casi siempre lo pasará por alto, creando una nueva transacción de pago y manteniendo la diferencia. Esto da como resultado la creación de transacciones de gran tamaño y la generación de una transacción futura para gastar la diferencia.
Este algoritmo también conduce al problema del "polvo de oro", lo que resulta en un gran número de transacciones de bajo valor.
Emercoin aplica un enfoque de programación dinámica para seleccionar el subconjunto de transacciones. Se garantiza que este algoritmo encontrará un subconjunto que coincida perfectamente, si existe. Nuestras evaluaciones muestran que, por lo tanto, el monto promedio de la transacción ha disminuido en un 5%, lo que ralentiza el crecimiento de la cadena de bloques.
Puntos de control dinámicos distribuidos
Las criptomonedas PoS son vulnerables a algunos ataques exóticos específicos de PoS. Uno de los más peligrosos es el "ataque interno". Si un actor fraudulento obtiene el control de las billeteras que contienen monedas ya gastadas, puede emular una reversión a un momento en que estas billeteras realmente contenían monedas. Por lo tanto, el actor obtendría el control sobre el 51% de las monedas, construiría una cadena de bloques alternativa más larga que la principal y cambiaría el contenido de la cadena de bloques de forma retrospectiva.
Estos ataques se pueden prevenir a través de puntos de control que limitan la reestructuración de la cadena de bloques a un cierto nivel de profundidad. Bitcoin solo usa puntos de control duros incrustados en el código de la billetera; dichos puntos de control se actualizan con cada actualización de la billetera. Peercoin y Emercoin, por otro lado, usan puntos de control dinámicos con datos de puntos de control enviados en línea. Esto no requiere ninguna actualización de código por parte del cliente y permite actualizar constantemente la estructura del punto de control.
Peercoin proporciona solo un nodo para enviar los datos del punto de control. Si se envían por varios nodos, dichos datos generarían un conflicto de red. En consecuencia, la falla de este nodo evitaría que se actualicen los datos del punto de control dinámico.
Emer, por otro lado, ha implementado un algoritmo de punto de control dinámico distribuido, que evita que varios nodos independientes envíen datos de puntos de control duplicados. Esto contribuye a la confiabilidad de la red, ya que los puntos de control aún se actualizan incluso si algunos de los nodos fallan.
Sin contratos inteligentes estilo Ethereum
Emercoin no prevé dichos contratos y no tiene la intención de introducirlos. Estamos completamente en contra de tales contratos por razones de seguridad. Siempre hemos creído que la descarga no autorizada del código dependiente de la operación de Turing completo es críticamente peligrosa, y el reciente robo de Ether por valor de 31 millones de dólares nos ha dado la razón.
Almacenamiento de nombre-valor (NVS)
El subsistema Name-Value Storage (NVS) es nuestra innovación central con un valor práctico externo, inspirado en la criptomoneda de DNS distribuido de Namecoin.
A diferencia de una estructura similar en Namecoin, que tenía un fuerte enfoque en el DNS distribuido, Emercoin NVS es un sistema de almacenamiento de uso general distribuido confiable con control compartido.
En pocas palabras, este subsistema puede almacenar cualquier dato binario de hasta 20 Kb de tamaño. Estos puntos de datos están vinculados a una clave de búsqueda de hasta 512 bytes, única para toda la red. Cada registro está asociado con una dirección de pago que pertenece al propietario de la billetera correspondiente.
El propietario de la dirección de pago es la única persona autorizada para administrar el registro. Administrar un registro significa crear un nuevo registro para reemplazar el anterior o transferir la propiedad a otra dirección de pago. Los registros antiguos nunca se borran y permanecen accesibles desde la cadena de bloques correspondiente. Por lo tanto, cada registro tiene el historial completo de cambios en su propiedad.
Técnicamente, un registro en la cadena de bloques es el resultado de una transacción de 0.01 EMC (que pronto se reducirá a 0.0001 EMC), atribuida a la dirección de pago del propietario del registro. Como tal, este resultado contiene el contenido de NVS. El propietario del registro es la única persona autorizada para gastar este resultado, ya que la clave privada para autorizar el flujo de salida solo se puede encontrar dentro de su billetera. Gastar esta cantidad requiere modificar el valor del registro u otros atributos, incluida la dirección de pago. En este último caso, el registro se transfiere a la billetera que contiene la dirección del beneficiario.
El subsistema NVS se puede direccionar a través de una API JSON (similar a la de Bitcoin) o mediante la GUI de la billetera.
El sistema Emercoin NVS es lo que impulsa todos los servicios basados en Emercoin que describiremos en nuestras próximas publicaciones, de 2017 a 2018, así que estad atentos.