Monero (o XMR por su identificador de mercado) es una criptomoneda de código abierto creada en abril de 2014. Esta criptomoneda cuenta con un alto nivel de privacidad y descentralización.
Para lograr esto, Monero ha usado y creado muchos adelantos tecnológicos en el área de criptografía. Adicionalmente a esto, se ha convertido en una de las criptomonedas con mayor soporte multiplataforma. Su software puede ejecutarse oficialmente en sistemas Windows, macOS, GNU/Linux, Android e incluso sistemas BSD. El proyecto nació con el objetivo de ofrecer una opción segura, privada y anónima. Una triada que muy pocas criptomonedas pueden ofrecer.
COMPRAR MONERO EN BIT2MEPor supuesto, el ser un proyecto enfocado a la alta privacidad y el anonimato, le ha valido de muchos detractores. Especialmente por la preocupación de que la moneda se utilice con fines ilegales de todo tipo. Amparado todo ello en la imposibilidad de rastrear quiénes usan la criptomoneda y desde donde. Una situación que se hace eco especialmente por los casos conocidos en que hackers han usado la criptomoneda.
Pese a todo ello, Monero es un proyecto fuerte y saludable. Pues cuenta con una rica comunidad de desarrolladores y usuarios que sigue en aumento. Y como el desarrollo de Monero continúa, esta situación también repercute en su actividad financiera.
Las bases del proyecto se asientan sobre tres pilares importantes:
- Seguridad. Monero debe garantizar un nivel de seguridad sin precedentes, no solo para mantener seguro el dinero, sino todo su esquema de privacidad y anonimato.
- Privacidad. La privacidad en Monero lo es todo. Su protección total es indiscutible en el proyecto.
- Descentralización. Monero no es dirigida por nadie. El desarrollo es meramente meritocrático y completamente comunitario.
Inicios del Proyecto
Los inicios de Monero fueron bastantes modestos. El 9 de abril de 2014, el usuario thankful_for_today de Bitcointalk comenzó la historia. Creo un hilo donde publicaba la creación de BitMonero. Este nombre es un compuesto de Bit (por Bitcoin) y Monero (de Moneda en esperanto). Este proyecto, había sido creado como un hard fork de Bytecoin, mejorado algunas de sus características. Sin embargo, el proyecto no fue bien recibido y rápidamente la comunidad tomo las riendas del mismo. De inmediato, el nombre del proyecto fue cambiado a Monero, y se comenzó a escribir la historia de esta criptomoneda.
Gracias a su enfoque en la privacidad gracias al uso del algoritmo CryptoNight, Monero experimentó un rápido crecimiento. Pero nuevas mejoras llegaron a este proyecto. En el año 2017, el proyecto incluyó un nuevo algoritmo para hacer aún más privadas las transacciones. Esto gracias al desarrollo de un algoritmo de ocultación que vino de la mano de Greg Maxwell, basado en las recomendaciones de Shen Noether. El algoritmo recibió el nombre de Anillos de Firmas (Ring Signatures). Poco tiempo después se incluyeron los Anillos de Transacciones Confidenciales (Ring Confidential Transaction) uno de los grandes avances introducidos por Monero., que permite las llamadas transacciones confidenciales.
Monero sufrió otro gran empuje en su adopción en el año 2017, especialmente por su capacidad multiplataforma y facilidad de programación. Mismas que le valió buenas y malas noticias en el mundo cripto. Como el uso de Coinhive para explotar Monero desde páginas web usando el dispositivo de los usuarios sin su autorización. O la adopción de Monero por Change.org para obtener fondos para su financiación. Todas y cada una de estas acciones tuvieron un gran impacto en la historia que Monero ha transitado como proyecto. Historia que le ha permitido crecer y posicionarse como una de las grandes monedas del criptomundo.
¿Cómo funciona Monero?
Monero es una criptomoneda que basa su funcionamiento en la acción de minería de bloques, como lo hace Bitcoin. Pero a diferencia de Bitcoin, Monero hace uso de otras tecnologías muy particulares. Para entender un poco más sobre las herramientas de las que se vale esta criptomoneda, comencemos a analizarlas:
CryptoNight PoW
Este algoritmo es la estrella de la minería de Monero. A diferencia de Bitcoin que se vale del sistema HashCash para su sistema de minería, Monero utiliza CryptoNight PoW. Este es un algoritmo de prueba de trabajo diseñado para funcionar adecuadamente en las CPU de PC ordinarias. Dificultando en gran medida el proceso de minado usando tarjetas gráficas (GPU) o hardware especializado ASIC. La razón para ello es conseguir un proceso de minería ecuánime y que incentive la descentralización de la minería de su blockchain. El desarrollo de CryptoNight está muy ligado al desarrollo de CryptoNote.
CryptoNight está construido para depender del acceso aleatorio a datos almacenados en la memoria RAM y enfatiza su dependencia a la latencia de la misma. Además, cada nuevo bloque depende de todos los bloques anteriores lo que supone un acceso continuo a memoria. Este proceso ralentiza exponencialmente el proceso de minería dentro de equipos como GPU y ASIC, pero no en las CPU. Recuerda que los ASIC son circuitos sin memoria RAM y carecen de la infraestructura para manejar los requerimientos de CryptoNight de forma eficiente. La misma situación se repite con las GPU. Pues a pesar de sus grandes cantidades de memoria, las memorias de estos dispositivos no son eficientes en el acceso aleatorio a datos y tienen altos niveles de latencia.
Gracias a esto, CryptoNight es perfecto para la tarea de igualar las labores de minería. Un minero puede tener costosos equipos de minería especializados, pero los mismos no les servirán de mucho. CryptoNight hace que el uso de esos equipos no de rendimiento económico . Todo ello porque la recompensa recibida no llega a compensar el gasto de consumo eléctrico.
En la actualidad, Monero ya no realiza su minería usando CryptoNight, sino que lo hace haciendo uso de RandomX su nuevo sistema de minería, y del que hablaremos más adelante.
Emisión
La emisión es la cantidad de monedas que serán emitidas dentro del sistema económico de la criptomoneda. En Monero, la emisión está dividida en dos partes. La curva de emisión principal de Monero es de 18,132 millones de monedas XMR hasta finales de mayo de 2022. Luego de finalizada la curva de emisión inicial, serán emitidos 0.6 XMR por cada bloque. Esta segunda emisión es llamada emisión de cola, y llevará al suministro máximo de moneda al infinito.
Recompensa por bloque
La recompensa es la cantidad de monedas que recibe un minero, luego de resolver un acertijo de minería. En Monero, al momento de escribir el artículo la recompensa es algo más de 3 XMR por bloque. Va en ligero descenso y se encuentra sujeta a sanciones por minado de bloques mayores que el tamaño promedio de los últimos 100 bloques (M100). El sistema ha sido diseñado para que los mineros siempre puedan obtener una recompensa de al menos 0.3 XMR por bloque.
Círculo de Firmas (Ring Signatures)
Para lograr los altos niveles de privacidad que Monero tiene; este hace uso de técnicas criptográficas avanzadas. Una de estas técnicas en concreto, recibe el nombre de Círculo de Firmas (Ring Signature). Este es un sistema que mezcla la dirección del emisor con un grupo de otras direcciones. De esta forma, se hace exponencialmente más y más difícil rastrear cada nueva transacción. Adicionalmente, las «direcciones secretas» generadas por cada transacción hacen imposible descubrir las auténticas direcciones de destino de una transacción por cualquier otra persona que no sea el emisor o el receptor.
Los Círculos de Firmas, fueron pensados como una manera de probar que un firmante pertenece a un grupo, sin necesariamente identificarlo. Pero para lograr el completo funcionamiento de los Círculos de Firmas, estos deben cumplir con tres importantes criterios:
- Debe existir ambigüedad con el firmante. Esto significa que un observador puede determinar que el firmante debe ser miembro de el anillo, pero no qué miembro. Esto es usado para ocultar el origen de los fondos de cada transacción Monero.
- Es posible establecer enlazabilidad. Si se utiliza una clave privada para firmar dos mensajes diferentes, los mensajes se convertirán en enlazados. Esto se usa con el fin de evitar los ataques de doble gasto que puedan afectar a la blockchain.
- Ningún atacante puede falsificar una firma excepto con una probabilidad insignificante. Esto es para prevenir el robo de los fondos de Monero por parte de aquellos que no están en posesión de los mismos.
Por último, también existe un mecanismo llamado Círculo de Transacciones Confidenciales (Ring Confidential Transaction). Este mecanismo sirve para ocultar la cantidad transferida. Con ello se cierra y oculta toda la información relacionada con los actores y saldos dentro de un transacción.
Fungibilidad
Esta es una de las características más importantes de Monero y está muy relacionada con la privacidad y economía. La fungibilidad significa que cada moneda de Monero, puede ser intercambiada por otra con idénticas propiedades. Esta capacidad le otorga a su vez la propiedad de no trazabilidad. Lo que permite que no pueda ser rastreada o relacionada con actividad alguna en la que se haya utilizado. Por lo que no hay forma de que una persona pueda saber si la moneda en cuestión fue usada en alguna transacción con otra persona. No hay un registro que permita tal acción y eso mejora el nivel de privacidad y anonimato del sistema.
Formato de direcciones
Una dirección de Monero está formada por 95 caracteres que comienzan con el número 4. Estas direcciones son creadas gracias al proceso de creación de direcciones de CryptoNote que difiere mucho del usado en Bitcoin y similares. En este proceso se usa criptografía EdDSA diferente a la ECDSA que usa en Bitcoin. Con ello se garantiza un proceso de creación de direcciones único que soporte el modelo de privacidad de Monero.
Bulletproof de Monero
Este es un protocolo de conocimiento cero creado por Monero, con el fin de mejorar a la criptomoneda. Para su aplicación, los desarrolladores de Monero tuvieron que poner en marcha un hard fork de su blockchain. Todo ello debido a que realizaba cambios muy marcados en la forma en cómo se manejan transacciones y bloques. Pero el resultado de este trabajo se vio gratamente recompensado. Con la llegada de este nuevo sistema, Monero mejoró notablemente su capacidad de transacciones y su nivel de seguridad. Adicional a todo esto, la red disminuyó sus exigencias de ancho de banda, puesto que las transacciones requerían de muy pocos datos para transmitirse y recibirse.
El trabajo principal de Bulletproof está centrado en ocultar las direcciones de una transacción. Este nuevo algoritmo, es más eficiente en velocidad y tamaño que el anterior algoritmo usado junto a los Anillos de Transacciones Confidenciales.
Sarang Noether, especialista matemático que trabaja en el desarrollo de Monero, explicó Bulletproof de la siguiente forma:
En general, las Bulletproofs representan un gran avance en las transacciones de Monero. Obtenemos ahorros de espacio masivos, mejores tiempos de verificación y tarifas más bajas.
Sarang Noether
Especialista Matemático – Equipo de Desarrollo de Monero
Escalabilidad
La escalabilidad, es la capacidad técnica de crecimiento o expansión tecnológica de una blockchain y la criptomoneda asociada a la misma. Esta está fuertemente relacionada a los siguientes aspectos:
- Transacciones por segundo (TPS)
- Tiempo de validación de una transacción (para hacerse efectiva)
- Fee (comisiones) por transacción o tarifas que se cobran por envío
- Las infraestructuras y avances tecnológicos son quienes mayoritariamente van a influir en estos tres puntos anteriores
En Monero, la blockchain es capaz de procesar cerca de 1,000 TPS a pleno rendimiento. En cuanto a la velocidad de transacción, Monero tarda en promedio 2 minutos para confirmar y añadir un nuevo bloque a su blockchain, siendo 18 el número requerido de validaciones por bloque para tomar una transacción como segura. Lo anterior da como resultado una demora aproximada de entre 10 y 30 minutos para verificar una transacción como válida.
El costo de las transacciones de Monero en la actualidad oscila entre los $ 0.05 y $ 0.01. Esto le permite ser una de las criptomonedas con costo por transacción más bajos hasta el momento.
Stealth Address o dirección secreta
Stealth Address es otra de las características únicas de Monero. La misma se ocupa de mantener la privacidad del receptor. Requiere, por defecto, que un remitente cree direcciones aleatorias únicas para cada transacción en nombre del destinatario. Si bien este puede publicar una sola dirección, sus pagos deberán dirigirse a direcciones que no se puedan vincular a la dirección publicada. Con el uso de direccionamiento oculto, solo es posible para el remitente y para el destinatario saber a dónde se envió un pago.
Para lograr esto, al crear una cuenta de Monero, se crean dos llaves privadas y una dirección pública. Las llaves privadas reciben el nombre de llave privada de vista y llave privada de gasto. La dirección pública se crea usando criptografía EdDSA y garantiza la relación de la misma con las llaves privadas creadas.
La llave de gasto se usa para enviar pagos, mientras que la llave de vista se usa para mostrar las transacciones entrantes destinadas a su cuenta y la dirección pública es para recibir pagos. Este modelo de doble llave permite convertir a Monero de forma personal en un sistema semitransparente. En dicho sistema, usted puede entregar una llave de vista por motivos de auditoría a un tercero. Con dicha llave, solo podrá revisar alguna información sobre su monedero y transacciones pero nada más. El resto de la información sigue siendo privada y completamente bajo su control.
RandomX, el nuevo algoritmo de minería PoW de Monero
Monero es una criptomoneda con un desarrollo muy activo, una situación que la ha llevado a realizar distintos hard forks durante toda su historia. La principal razón para ello es que la comunidad Monero siempre busca ofrecer la mejor seguridad, privacidad y anonimato posible. Y dichos cambios solo pueden ser aplicados por actualizaciones duras de toda su cadena. Pero otro punto que lo lleva a la aplicación de estas actualizaciones, es ofrecer la mayor resistencia ASIC posible. Para ello buscan hacer que la minería sea más sencilla de ejecutar sobre CPU o GPU. Esto con el fin de que la descentralización de Monero proteja lo mejor posible los principios de esta comunidad.
Esta actitud de «Resistencia al ASIC» ha llevado a que Monero a cambiar su algoritmo de minería CryptoNight varias veces. Pero recientemente CryptoNight ha sido abandonado y en su lugar han creado el algoritmo RandomX. Para ser más precisos, el 1 de diciembre la red Monero activó su nuevo algoritmo de minería RandomX. Aunque su funcionamiento es radicalmente distinto a CryptoNight, RandomX buscaba imposibilitar la minería ASIC y potenciar la minería CPU, con un nuevo esquema de minería usando una maquina virtual.
¿Cómo funciona RandomX?
Básicamente lo que hace RandomX es crear un core o núcleo de minería aleatorio. Este núcleo es ejecutado dentro de una maquina virtual especialmente diseñada para RandomX, y es la que permitirá la interacción de minería entre el algoritmo de minería virtualizado y el CPU que este ejecutando dicha maquina virtual. Esta maquina virtual y su ejecución es el primer punto de defensa contra los ASIC. Esto debido a que estos equipos no están diseñados para ejecutar maquinas virtuales o instrucciones muy avanzadas.
Adicional a esto, RandomX se asegura que las instrucciones dentro de esta maquina virtual puedan ser ejecutadas por cualquier CPU. Pero muchas de estas instrucciones consumen grandes cantidades de memoria RAM. El proceso empieza creando un área de trabajo llamado Cache. Este cache es generado usando la función criptográfica argon2, una función que puede ajustar su consumo de memoria y que puede ocupar hasta 2 GB de RAM en un proceso de generación. Esta es otra barrera de resistencia a los ASIC, ya que en los ASIC la memoria RAM no suele ser muy amplia y es costosa.
Seguidamente, RandomX comienza con el proceso de generación de los espacios de trabajo (Scrathpad) para la minería. Dichos espacios de trabajo le permitirán intercambiar datos entre la maquina virtual de RandomX y la CPU que la ejecuta. Es decir, se comienza a crear el mecanismo que hará que RandomX pueda usar el CPU para minar. La generación de estos espacios depende de instrucciones avanzadas, que los ASIC difícilmente puedan implementar, pero que los CPU ya tienen en su haber.
Capacidades de RandomX
Entre las capacidades de RandomX podemos mencionar las siguientes:
- Requiere operaciones de coma flotante de doble precisión.
- Use matemática vectorial de 128 bits (como las vistas en las instrucciones de CPU SSE).
- Usar los cuatro modos de redondeo de coma flotante indicados en el IEEE 754.
- La VM, lee y escribe en el espacio de trabajo recreado por RandomX.
- Aprovecha las capacidades de predicción y ejecución fuera de orden de las CPU. Básicamente, el script aprovecha las capacidades de ejecución aleatoria de los CPU para inyectar mayor aleatoriedad a su ejecución.
Como ven todas estas funciones son avanzadas, no aplicables a un ASIC y solo aplicables en CPU de funciones dinámicas como las que forman parte de nuestros computadores. Esto y el alto consumo de memoria dejan en difícil situación la creación de mineros ASIC o la creación de redes botnets usando dispositivos de baja potencia como los dispositivos IoT que no llegan a las especificaciones mínimas de ejecución de este tipo de algoritmos.
Por otro lado, las mejoras del algoritmo permiten que los CPU actuales puedan mantener e incluso aumentar su potencial de minería, algo que ha servido para aumentar de buena manera el potencial de hashrate sin poner en riesgo su descentralización y seguridad. Esto sin duda ha hecho que RandomX sea un algoritmo altamente flexible y seguramente Monero podrá seguir aprovechando y mejorando sus posibilidades por mucho tiempo.
Sin embargo, esto no está exento de riesgo debido a que RandomX hace uso intenso de la ejecución especulativa y la ejecución fuera de orden, y ambas han demostrado serios problemas de seguridad que podrían afectar de forma negativa a este algoritmo en un futuro.
Gobernanza del proyecto
La gobernanza está referida al nivel de eficiencia y efectividad con que se toman decisiones colectivas en una comunidad. Como señalamos anteriormente, Monero es un desarrollo comunitario y meritocrático. Esto significa que no hay un director de proyecto o puesto de jefatura en ningún sentido. Todas las decisiones se toman de forma comunitaria por el equipo de desarrollo. Lo mismo pasa con la presentación de nuevas características y el desarrollo de nuevas tecnologías en Monero.
En un reciente comunicado oficial, los desarrolladores de Monero dejaron todo esto muy en claro. En el mismo informaron ciertos aspectos de cómo se realiza la gobernanza en su proyecto, examinemos algunos de ellos:
1.- Los miembros del Core Team NO son los jefes de nadie, y no se necesita su permiso para hacer nada.
2.- El Core Team NO actúa como un punto centralizado de fracaso, sino que fomenta iniciativas orgánicas y auto-emprendidas que promueven el ecosistema de Monero.
3.- El Core Team NO es igual a Monero. En caso de que uno, o todo el Core Team se vuelva corrupto, debemos recordar que Monero es un movimiento. Una iniciativa global para fomentar la privacidad en todo el mundo y proporcionar dinero digital real y fungible para todos. Esto puede ocurrir incluso sin la presencia del Core Team.
Anuncio del Core Team
Core Team de Monero – Web Oficial de Monero (01 de Marzo de 2018)
Una organización sin núcleo
Con ello queda patente que no existe un núcleo de mando dentro de Monero, y que su desarrollo es descentralizado. Ciertamente existen figuras muy importantes dentro del grupo de desarrollo de Monero, pero sus voces no son la ley. Entre estos desarrolladores importantes podemos destacar:
- Riccardo «fluffypony» Spagni.
- Francisco «ArticMine» Cabañas
- NoodleDoodle (Se desconoce su nombre real)
- luigi1111 (Se desconoce su nombre real)
Asimismo, se hace patente el hecho de que en relación a todo miembro del Core Team que no le sea posible estar lo suficientemente activo o comprometido en el desarrollo del proyecto, se espera que renuncie y que los miembros que quedan elijan a uno nuevo en su reemplazo.
Por otra parte, establece claramente cuáles son las responsabilidades del equipo central, entre las que se cuentan administrar la base de código de Monero, actuar como árbitros de confianza en el The Forum Funding System, explicado a continuación y donde se establece además el derecho de la comunidad de llevar el proyecto a un nuevo equipo en caso de que el presente no sea meritorio o incumpla con sus deberes. Puedes ver aquí el anuncio completo.
The Forum Funding System
Dentro de la comunidad Monero, funciona el llamado The Forum Funding System (FFS) o Sistema de Financiamiento de Foros. En términos generales, consiste en presentar una idea en el foro destinado a ello, donde se discute su factibilidad y si su desarrollo es o no relevante.
Quien presenta una idea, debe describirla, indicar cómo planea desarrollarla y por qué estaría capacitado para hacerlo. La propuesta deberá dividirse en hitos e ir acompañada de un plazo de finalización, sin que deba especificarse la duración de cada hito.
Luego de presentada la propuesta, la comunidad la discute y de acuerdo a las conclusiones, se modifica. Cuando se aprueba su versión final, un moderador la mueve al área de Funding Required o Financiamiento Requerido. Una vez se consigue el financiamiento, el hilo se mueve a Work in Progress, donde se espera la entrega de informes de avance por parte del desarrollador.
Ventajas y Desventajas de Monero
Ventajas de Monero
- Su desarrollo está centrado en garantizar un alto nivel de seguridad, privacidad y anonimato.
- Las transacciones no son enlazables de ninguna forma con algún usuario de Monero.
- Es imposible de rastrear sus transacciones.
- El blockchain no tiene un límite de tamaño de bloque y es dinámicamente escalable.
- Aun cuando el total de Monero sea minado se continuará creando 0.6 XMR por bloque para incentivar a los mineros.
- Ha logrado un gran crecimiento en lo que respecta a su precio.
- Es selectivamente transparente. Cualquiera puede hacer que su transacciones sea visible a las personas que elijan, como por ejemplo un auditor, solo basta darle tu clave de visualización privada. Esto hace que Monero sea auditable.
- Tiene detrás a un equipo de desarrollo muy capaz.
Desventajas
- Aun cuando Monero ha sido construido para evitar la centralización de ASIC, 31,9% del hashrate de Monero es provisto por 3 granjas de minería. La buena noticia es que este número está descendiendo.
- Debido a lo intrincado de su proceso criptográfico Monero tiene dificultades a la hora de implementar nuevas funciones.
Resumen de Especificaciones Técnicas
- Monero no tuvo un minado previo, no cuenta con minado instantáneo, y tampoco tiene un token.
- Prueba de Trabajo: CryptoNight V8, aunque el sistema puede cambiar a futuro.
- Reajuste de Dificultad: La dificultad es ajustada en cada bloque, pero está relacionada con los últimos 720 bloques. Al tiempo que se excluyen el 20% de valores atípicos en la estampa de tiempo.
- Tiempo de Bloque: Aproximadamente 2 minutos (1:58 minutos en la actualidad). Puede cambiar en un futuro siempre y cuando la curva de emisión se conserve.
- Recompensa de Bloque: Descendiendo ligeramente y sujeta a sanciones por bloques mayores que el tamaño promedio de los últimos 100 bloques (M100)
- Tamaño de Bloque: dinámico, con un máximo de 2 * M100.
- Curva de emisión: curva principal: aproximadamente 18.132 millones de monedas para el final de mayo del 2022. Luego una curva de cola con recompensa de 0.6 XMR por cada bloque (2 minutos), y comienza una vez se realiza la emisión principal, que se traduce en un <1% de reducción de inflación a través del tiempo.
- Suministro Máximo: Infinito.
- Privacidad del Emisor: Círculo de firmas
- Privacidad del Receptor: Direcciones secretas
- Encubrimiento de Cantidades: Círculo de Transacciones Confidenciales
Si deseamos revisar el código fuente del proyecto podremos dirigirnos a su repositorio GitHub.