Implementación eficiente en GPGPUs de la prueba de trabajo RandomX de la criptomoneda Monero.
View/ Open
Date
2020-12-04Author
Suárez Ventosa, Julen
Metadata
Show full item recordAbstract
Las criptomonedas son monedas digitales o virtuales que utilizan criptografía para garantizar su seguridad. La mayoría de ellas se basan en sistemas distribuidos y recurren a una blockchain para almacenar información relacionada con la plataforma, como la creación de nuevos tokens o las transacciones realizadas. De esta manera se garantiza que dicha información no puede ser modificada y se asegura la anonimidad de las transacciones. En todas estas plataformas, los tokens se crean y se transfieren a través de la resolución de problemas matemáticos muy costosos computacionalmente. A estos problemas se les denomina prueba de trabajo o Proof of Work (PoW).
Cada plataforma de criptomonedas tiene características propias que las distingue del resto, pero en este proyecto nos centraremos en Monero. La principal característica de esta criptomoneda es su capacidad de disociar las transacciones de las direcciones de los emisores y de los receptores. Además, Monero implementa una prueba de trabajo específicamente diseñada para ser ejecutada de manera eficiente en CPUs y penalizando su rendimiento en ASICs. La PoW se denomina RandomX y a pesar de no estar diseñada para GPGPUS existe una implementación realizada en CUDA. El objetivo del proyecto consiste en analizar Monero y RandomX en profundidad y en investigar posibles mejoras que incrementen el rendimiento de la PoW en GPGPUs.