Está en la página 1de 16

Ingeniería En Sistemas Computacionales

Octubre 2019

ALGORITMOS DE MINADO DE
CRIPTOMONEDAS

Daniel Alejandro de la Rosa Castañeda

Instituto Tecnológico Superior de Jerez

Libramiento Fresnillo-Tepetongo S/N (Camino a la Noria). Fracc. Los Cardos. Jerez de García Salinas ZAC.

Tel: (494) 94-5-12-26. Fax (494) 94-5-12-74. e-mail: tecjerez2003@yahoo.com


Control de cambios
Fecha Versión Descripción del cambio
30 09 V2 | Pr Se decidió cambiar el tema de investigación, por alguno que
no tuviera relación con alguna otra investigación en curso
06 10 V2.1 Se modificó el resumen, haciéndolo cumplir con los cuatro
puntos mínimos que debiera contener un resumen.
14 10 V2.2 Se añadieron las referencias primarias y secundarias para la
investigación
17 10 V2.3 | Pr Se modificaron diversas fuentes, por algunas más confiables.
18 10 V2.4 Se agregó el plan de trabajo
Se modificó la clasificación de ACM e IEEE
21 10 V2.5 Se agregó un marco teórico para justificar las fuentes de
consulta.
Se agregó un índice.
28 10 V3 Se Empezó a trabajar con el estado del arte
29 10 V4 Se pulieron detalles en el Marco Teórico
02 11 V5 Corrección de Gramática y ortografía
09 11 V6 Se agregó la implementación
09 11 V7 Se Describieron cada una de las etapas de implementación
09 11 V8 Experimentación y Entorno de pruebas fueron agregados
10 11 V9 Fue modificado el índice para agregar todas las partes
nuevas.

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

Metodologías de la computación --- Metodologías de la computación


paralela; 500 --- Algoritmos Paralelos; 200

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

Algoritmos de minado de criptomonedas

Teniendo como referencia el minado de cripto-divisas, es relevante el conocer el


funcionamiento detrás de ellas, para poder comprender como se genera dinero a
partir de la minería.

Formulación del problema

¿Cómo funcionan y se aplican los algoritmos de cripto-minado?

1.3 Objetivos

1.3.1 Objetivo General

 Analizar los diferentes algoritmos de minado de criptomonedas, así como el


funcionamiento global de las mismas para desarrollar un algoritmo en base a
los ya existentes.

1.3.2 Objetivos Específicos

 Identificar los algoritmos de minado de criptomonedas más importantes.


 Investigar sobre el funcionamiento de los algoritmos de minado de
criptomonedas.
 Comparar los distintos algoritmos de minado de criptomonedas, para
determinar el mejor en cuestión de costo-beneficio.
 Desarrollar un algoritmo de criptominado con base en alguno de los ya
existentes

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

1. Esta revista fue elegida debido a su importancia al explicar de manera


sencilla, el funcionamiento de las transacciones en blockchain, sin
embargo, no explica nada más, en relevancia a los algoritmos de las cripto-
divisas.
2. [ CITATION Pra17 \l 2058 ]. Un journal, que explica el funcionamiento detrás de
la minería de bitcoin, explicando de fin a fin el cómo funciona el bitcoin,
como conseguirlos y una breve introducción al algoritmo SHA256. No es
demasiado especifico en cómo funciona el algoritmo, por ende, es una de
las debilidades de este documento.
3. (Naik, RP y Courtois, NT 2013). Una tesis de maestría, que explica el
funcionamiento del algoritmo de minado llamado SHA256, además de cómo
puede ser optimizado a nivel software para obtener más beneficios de la
minería sin consumir tantos recursos.
4. [ CITATION Muh18 \l 2058 ]. Una revista, que analiza el lado no ético de la
minería, esto debido al análisis del cryptojacking (también denominado
minería de criptomonedas maliciosa) definida como una amenaza
emergente de Internet que se oculta en un ordenador o en un dispositivo
móvil, y utiliza los recursos de la máquina para “extraer” diversas formas de
monedas digitales conocidas como criptomonedas. Explica a detalle el
cómo funciona eso, y las distintas maneras de aplicación, sin embargo, no
se centra mucho en explicar más allá de cómo funcionan las criptomonedas
convencionales, sino, el cómo aplicar estos algoritmos maliciosos.
5. (Pirjan, A., Petroşanu, DM, Huth, M. Y Negoiță, M. 2015). Un artículo que da a
conocer cuestiones generales sobre el bitcoin y las monedas alternativas a
él. Desafortunadamente, este artículo, solo funge como introducción a las
demás cripto-divisas, ya que no se centra en los algoritmos en sí.

2.2 Estado del Arte

En la actualidad, existen mas de 1800 tipos de criptomonedas, la mayoría de ellas


basadas en unos cuantos algoritmos, tales como: Scrypt, SHA256, CryptoNight,
CryptoNote, etc.

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

En ese apartado, se describe el desarrollo del proyecto con base en el plan de


trabajo y las etapas que este tiene (el plan de trabajo se encuentra al final de este
capítulo).

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 3: comparar algoritmos


En esta etapa, se realiza la comparación de todos los algoritmos, basados en
criterios como costo-beneficio, en este apartado se evalúa lo siguiente:
 Costo-Beneficio: la cripto-minería es cara debido al consumo de electricidad
y el desgaste del hardware de la computadora en la cual se está minando,
por ende, aquel algoritmo que logre minar alguna criptomoneda con el
mínimo de recursos en este caso, el beneficio seria mayor, entonces este
algoritmo puede ser considerado para ser elegido como el mejor algoritmo.

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.

3.3 Entorno de pruebas

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.

3.4 Plan De Trabajo

Objetivos Mes (2019-2020)


Oct Nov Dic Ene Feb Mar Abr May Jun Jul Ago Sep
Identificar los
algoritmos de
minado de
criptomonedas
más
importantes.
Investigar
sobre el
funcionamient
o de los
algoritmos de
minado de
criptomonedas.
Comparar los
distintos
algoritmos de
minado de
criptomonedas,
para
determinar el
mejor en
cuestión de
costo-
beneficio.
Implementar
alguno de los
algoritmos de

13
criptominado.

14
REFERENCIAS

Mauro Conti, A. G. (2019). Detecting Covert Cryptomining using HPC. New York.

Prashant Ankalkoti, S. S. (2017). A Relative Study on Bitcoin Mining. Imperial


Journal of Interdisciplinary Research (IJIR) , lll(5), 5.

Naik, RP y Courtois, NT (2013). Optimización del algoritmo de hash SHA256 para


una minería de Bitcoin más rápida y eficiente. Maestría en Seguridad de la
Información Departamento de Ciencias de la Computación UCL , 1-65

Muhammad Saad, A. K. (2018). End-to-End Analysis of In-Browser Cryptojacking.


New York.

Pirjan, A., Petroşanu, DM, Huth, M. Y Negoiță, M. (2015). Cuestiones De


Investigación Sobre Bitcoin Y Monedas Alternativas Monedas Digitales. Revista
De Sistemas De Información Y Gestión De Operaciones , 9 (1).

CONDUCEF (2019). Cripto monedas. CDMX: desc.,


p.https://www.condusef.gob.mx/Revista/index.php/usuario-inteligente/educacion-
financiera/817-cripto-monedas.

(IEEE), T. I. (2017). 2017 IEEE Taxonomy. Recuperado el 1 de 10 de 2019, de


ieee.org: https://www.ieee.org/content/dam/ieee-
org/ieee/web/org/pubs/taxonomy_v101.pdf

ACM. (2012). acm.org. Recuperado el 1 de 10 de 2019, de


https://dl.acm.org/ccs/ccs_flat.cfm#10002951

15
16

También podría gustarte