Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Octubre 2019
ALGORITMOS DE MINADO DE
CRIPTOMONEDAS
Libramiento Fresnillo-Tepetongo S/N (Camino a la Noria). Fracc. Los Cardos. Jerez de García Salinas ZAC.
2
Resumen
La minería de criptomonedas (o criptominado), se puede definir como un conjunto
de procesos necesarios para validar y procesar las transacciones de una
criptomoneda.
Cada uno de los cientos de monedas criptográficas que existen dependen del
concepto central de la cadena de bloques. La criptomoneda fue diseñada para ser
descentralizada, segura e inalterable. Entonces cada transacción está encriptada.
Una vez que ocurre esa transacción encriptada, se agrega a algo llamado "bloque"
hasta que se haya registrado un número fijo de transacciones. Ese bloque luego
se agrega a una cadena, la cadena de bloques, que está disponible públicamente.
Dado que estos bloques están fuertemente encriptados, son complicados acertijos
matemáticos que solo un poderoso hardware capaz de resolver puede resolver. El
proceso de resolver los acertijos matemáticos en estos bloques y agregarlos a la
cadena de bloques pública (piense en él como un libro mayor) es más o menos lo
que es la minería.
En lo que concierne a todas las distintas criptomonedas, existen muchas por
varios motivos, pero uno de los principales, es el hecho de que funcionan con
distintos algoritmos de minado. De los algoritmos más importantes en el mercado,
encontramos algoritmos como SHA256 (algoritmo en el que se basa el bitcoin),
Scrypt y X11. De estos tres algoritmos, dependen la mayoría de los otros que
existen.
Es por eso que, en este protocolo de investigación, se expone el funcionamiento
detrás de la cripto-moneda. Para ello, se analizan los algoritmos más populares
para el minado de las “cripto” y cuales algoritmos son los que se usan
en cada criptomoneda, además de analizar la funcionalidad de los algoritmos de
consenso y la tecnología blockchain, indispensables para el funcionamiento de las
cripto-divisas.
3
Tabla de contenido
Clasificación..............................................................................................................5
ACM...............................................................................................................5
IEEE.............................................................................................................. 5
Capítulo 1…………………………………………………………………………………. 6
1.1 Introducción............................................................................................. 6
1.2 Planteamiento del problema.................................................................... 7
1.3 Objetivos ................................................................................................ 7
1.3.1 Objetivo General.................................................................................. 7
1.3.2 Objetivos Específico ............................................................................ 7
1.4 Alcances y limitaciones .......................................................................... 8
Capítulo 2…………………………………………………………………………………. 9
2.1 Marco Teórico......................................................................................... 9
2.2 Estado del Arte………………………………………………………………. 9
Capítulo 3…………………………………………………………………………………11
3.1 Implementación……..…………………………………………………….....11
Etapa 1: algoritmos………………………………………………………11
Etapa 2: análisis……………………………………………………….…11
Etapa 3: comparar algoritmos..…………………………………………11
Etapa 4: desarrollo ……..……………………………………………….11
3.2 Experimentación…………………………………………………………….12
3.3 Entorno de prueba…………………………………………………………..12
3.2 Plan de trabajo.......................................................................................12
Referencias............................................................................................................ 14
4
Clasificación
ACM
IEEE
Matemáticas
o Diseño y análisis de algoritmos.
5
CAPÍTULO 1
1.1 Introducción
El Banco Central Europeo define a una criptomoneda como una moneda virtual
que se crea y se almacena electrónicamente. Su funcionamiento se basa en la
tecnología blockchain o cadena de bloques, libros digitales que registran las
transacciones de una criptodivisa entre dos partes. Estas transacciones forman
agrupaciones conocidas como "bloques", que a su vez se codifican y se vinculan
unos a otros. Esta información registrada en las cadenas de bloques se almacena
en millones de ordenadores y está abierta para todo el mundo, en lugar de
almacenarse en un solo lugar. Esto hace que el proceso sea transparente, sin
poder realizar modificaciones, sin puntos débiles vulnerables al error humano o
informático. Una vez que los datos son verificados, ya no pueden ser editados sin
el consenso de la mayoría de la comunidad.
La principal diferencia que tiene este tipo de monedas con las convencionales es
que no está regulada por ningún tipo de gobierno, por lo que invertir en ella resulta
atractivo, pero es altamente riesgoso, debido a su precio cambiante de un
momento a otro.
La cripto-divisa es un tema de interés en la actualidad, esto debido, a la manera
en la cual se obtiene dinero de manera “sencilla”, tomando en cuenta la facilidad
que tienen las personas para poder tener una estación de minado propia en sus
casas.
6
1.2 Planteamiento Del Problema
1.3 Objetivos
7
8
1.4 Alcances Y Limitaciones
Alcances
Con esta investigación, se pretende hacer un análisis de los más importantes
algoritmos de minado de criptomonedas, para aprender de su funcionamiento,
además, de poder crear, con base en los algoritmos ya existentes, un algoritmo de
criptominado, o por lo menos, mejorar alguno de los ya existentes. Esto, con el fin,
de que pueda ser implementada en alguna nueva criptomoneda.
Limitaciones
Con esta investigación, no se implementará el uso de alguna moneda electrónica,
debido a las limitaciones de recursos.
9
CAPÍTULO 2
2.1 Marco Teórico
10
En relación a el algoritmo más común en las criptomonedas, el SHA256, podemos
encontrar lo siguiente: El SHA (Secure Hash Algorithm, Algoritmo de Hash
Seguro) es una familia de funciones hash de cifrado. La operación del algoritmo de
hash SHA256 se puede dividir convenientemente en tres operaciones distintas.
Son los siguientes:
Preprocesamiento: operación que realiza la lógica de relleno y analiza el
mensaje de entrada.
Programador de mensajes: función que genera sesenta y cuatro palabras a
partir de un bloque de mensaje de entrada de 16 palabras.
Función de compresión: función que lleva a cabo la operación de hash real de
la palabra dependiente del mensaje que sale del programador de mensajes en
cada ronda.
En lo que concierne a Scrypt, podemos mencionar que este algoritmo fue
desarrollado principalmente para la protección de un servicio en línea que
mantenía copias de respaldo de sistemas operativos similares a UNIX. Además,
este algoritmo reduce su necesidad de recursos si lo comparamos con SHA256
para minar criptomonedas.
Estos dos casos de estudio (algoritmo SHA256 y Scrypt), son de trabajos distintos,
ya que, hasta ahora, no hay un trabajo que englobe a los algoritmos de
criptominado mas usados, su funcionamiento y características, así como sus
ventajas y desventajas frente a otros.
11
CAPITULO 3
3.1 Implementación
Etapa 1: algoritmos
La investigación comienza con la elección de los algoritmos de las criptomonedas
más viables para estudiar, esto con base en las criptomonedas que lo usen, entre
mas uso tenga ese algoritmo, es mas viable que sea seleccionado para el análisis.
Etapa 2: análisis
El análisis consiste en el entender el funcionamiento de cada uno de los
algoritmos elegidos en la etapa anterior, para esto, se necesita saber que
tecnología usa, haciendo referencia a la forma de encriptar la información, así
como el lenguaje en el que se programa, y saber si son algoritmos PoW o PoS
(proof of work y proof of Stake respectivamente).
Etapa 4: desarrollo
La ultima etapa, consiste en aplicar lo estudiado en esta investigación, con el
objetivo de aplicar lo aprendido para crear un algortimo.
12
3.2 Experimentación
En la experimentación, solo se usará la computadora personal, que en el siguiente
subtema se describe.
Las pruebas de la implementacion del algoritmo serán en una laptop VAIO fit 14”
Touch SFV14A16CXP con un procesador Intel core i7-3537U 2GHz a 4
procesadores lógicos y 8GB de RAM.
13
criptominado.
14
REFERENCIAS
Mauro Conti, A. G. (2019). Detecting Covert Cryptomining using HPC. New York.
15
16