Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
591899b
Create Intro-a-la-criptografia-y-su-uso.asciidoc
JDG000 Feb 24, 2018
9b1d13b
Update README.md
JDG000 Feb 24, 2018
373fc41
create saltotec
blockchainespana Mar 4, 2018
b39382d
Update saltotec.asciidoc
blockchainespana Mar 4, 2018
73513c5
Update saltotec.asciidoc
blockchainespana Mar 4, 2018
26f2323
create
blockchainespana Mar 4, 2018
1d3d1d4
Update descentralizacion.asciidoc
blockchainespana Mar 4, 2018
c3cfa34
Update descentralizacion.asciidoc
blockchainespana Mar 4, 2018
8a52f58
Update README.md
blockchainespana Mar 4, 2018
6198460
Update descentralizacion.asciidoc
blockchainespana Mar 4, 2018
2d4a698
create
blockchainespana Mar 4, 2018
8182e6a
Update sistemasit.asciidoc
blockchainespana Mar 4, 2018
d724a35
Update sistemasit.asciidoc
blockchainespana Mar 4, 2018
b77b014
create
blockchainespana Mar 4, 2018
ecb96b1
Update comodescentralizar.asciidoc
blockchainespana Mar 4, 2018
13c0291
Update comodescentralizar.asciidoc
blockchainespana Mar 4, 2018
f43d382
Update comodescentralizar.asciidoc
blockchainespana Mar 4, 2018
90c3215
Update README.md
blockchainespana Mar 4, 2018
5baa372
Update README.md
blockchainespana Mar 4, 2018
4397a02
Update README.md
blockchainespana Mar 4, 2018
33e6c1b
Update README.md
blockchainespana Mar 4, 2018
4c30716
Update comodescentralizar.asciidoc
blockchainespana Mar 4, 2018
d4be786
Update sistemasit.asciidoc
blockchainespana Mar 4, 2018
3ef1b7f
Update sistemasit.asciidoc
blockchainespana Mar 4, 2018
9579623
Update sistemasit.asciidoc
blockchainespana Mar 4, 2018
faa3248
Update sistemasit.asciidoc
blockchainespana Mar 4, 2018
905cc4c
Create README.md
JDG000 Mar 5, 2018
948c77d
Add files via upload
JDG000 Mar 5, 2018
855e381
Update Intro-a-la-criptografia-y-su-uso.asciidoc
JDG000 Mar 5, 2018
f2caf85
Add files via upload
JDG000 Mar 6, 2018
7455fae
Add files via upload
JDG000 Mar 6, 2018
0a7026c
Update Intro-a-la-criptografia-y-su-uso.asciidoc
JDG000 Mar 6, 2018
a515f12
Update Intro-a-la-criptografia-y-su-uso.asciidoc
JDG000 Mar 6, 2018
b9bbabb
Update descentralizacion.asciidoc
blockchainespana Mar 10, 2018
c1cccb3
Update descentralizacion.asciidoc
blockchainespana Mar 10, 2018
5b7d18e
Update sistemasit.asciidoc
blockchainespana Mar 10, 2018
137ca38
Update sistemasit.asciidoc
blockchainespana Mar 10, 2018
62b937a
Update sistemasit.asciidoc
blockchainespana Mar 10, 2018
6b0b511
Add files via upload
JDG000 Mar 13, 2018
366041e
Add files via upload
JDG000 Mar 13, 2018
f80dd1d
Delete cifrado_por_sustitucion_01.png
JDG000 Mar 13, 2018
78074af
Delete cifrado_por_sustitucion_02.png
JDG000 Mar 13, 2018
f890f7b
Update Intro-a-la-criptografia-y-su-uso.asciidoc
JDG000 Mar 13, 2018
5c662df
Update README.md
blockchainespana Mar 18, 2018
f717bcc
create doc
blockchainespana Mar 18, 2018
d3df56e
Update relacion.asciidoc
blockchainespana Mar 18, 2018
680a915
Update relacion.asciidoc
blockchainespana Mar 18, 2018
702287c
Update relacion.asciidoc
blockchainespana Mar 18, 2018
6a23a70
Update relacion.asciidoc
blockchainespana Mar 18, 2018
ccdd71e
Update relacion.asciidoc
blockchainespana Mar 18, 2018
06cb2c9
Create podercadena.asciidoc
blockchainespana Mar 18, 2018
4374436
Create queesunacadenaascii.doc
blockchainespana Mar 18, 2018
6e1a29f
Rename queesunacadenaascii.doc to queesunacadena.asciidoc
blockchainespana Mar 18, 2018
c0449ba
Update queesunacadena.asciidoc
blockchainespana Mar 19, 2018
195ae4c
Update queesunacadena.asciidoc
blockchainespana Mar 19, 2018
c810ebb
Update queesunacadena.asciidoc
blockchainespana Mar 19, 2018
1899373
Update Intro-a-la-criptografia-y-su-uso.asciidoc
JDG000 Mar 20, 2018
5752d08
Add files via upload
JDG000 Mar 21, 2018
55d0aa8
Update Intro-a-la-criptografia-y-su-uso.asciidoc
JDG000 Mar 21, 2018
1558136
Update queesunacadena.asciidoc
blockchainespana Mar 21, 2018
ca370f2
actualiza indice
blockchainespana Mar 29, 2018
ff6bdb2
Update README.md
blockchainespana Mar 29, 2018
8b8a12a
Update queesunacadena.asciidoc
blockchainespana Mar 30, 2018
6eb1ceb
Update queesunacadena.asciidoc
blockchainespana Mar 30, 2018
80ffec6
Update queesunacadena.asciidoc
blockchainespana Mar 30, 2018
dc39314
Update queesunacadena.asciidoc
blockchainespana Mar 30, 2018
99d127f
Create tiposchain.asciidoc
blockchainespana Mar 30, 2018
720c33f
Update README.md
blockchainespana Mar 30, 2018
9a82e45
Update tiposchain.asciidoc
blockchainespana Mar 30, 2018
bcbaa23
Update tiposchain.asciidoc
blockchainespana Mar 30, 2018
74083d2
Update tiposchain.asciidoc
blockchainespana Mar 30, 2018
f40b775
Update tiposchain.asciidoc
blockchainespana Mar 30, 2018
a173e5f
Update tiposchain.asciidoc
blockchainespana Mar 30, 2018
c7a1451
Update queesunacadena.asciidoc
blockchainespana Mar 31, 2018
f88c90a
Update queesunacadena.asciidoc
blockchainespana Mar 31, 2018
dfe6671
Create desafios.asciidoc
blockchainespana Mar 31, 2018
e1a29eb
Update desafios.asciidoc
blockchainespana Mar 31, 2018
6c247f5
Update README.md
blockchainespana Mar 31, 2018
9aba520
Update desafios.asciidoc
blockchainespana Mar 31, 2018
d197e96
Update descentralizacion.asciidoc
blockchainespana Mar 31, 2018
b57a095
Create ecosistema.asciidoc
blockchainespana Apr 5, 2018
4764f74
Update README.md
blockchainespana Apr 5, 2018
3606b10
Update README.md
blockchainespana Apr 5, 2018
241322c
Update saltotec.asciidoc
blockchainespana Apr 14, 2018
d595927
Update saltotec.asciidoc
blockchainespana Apr 14, 2018
42a026a
Update saltotec.asciidoc
blockchainespana Apr 14, 2018
6c7b210
Update saltotec.asciidoc
blockchainespana Apr 14, 2018
62e2bd0
Update saltotec.asciidoc
blockchainespana Apr 15, 2018
75312e1
Update README.md
blockchainespana Apr 28, 2018
b16ea03
Create origen.asciidoc
blockchainespana Apr 28, 2018
9e6667e
Update origen.asciidoc
blockchainespana Apr 28, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 125 additions & 0 deletions Intro-a-la-criptografia-y-su-uso.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
== Introducción a la criptografía y su uso en Blockchain
La criptografía, del griego “kryptos” (oculto) y “graphia” (escritura), es el arte de escribir un mensaje empleando técnicas o claves secretas de modo que sólo pueda descifrar el mensaje oculto aquel que conozca estas claves. Se trata de un arte muy antiguo, tanto que se remonta varios milenios atrás en el tiempo. Aunque las primeras técnicas eran muy rudimentarias, muchas de esas técnicas todavía se utilizan hoy en día. Se sabe que los egipcios hace 4.500 años utilizaban jeroglíficos no estándares en algunos monumentos para escribir mensajes ocultos. Después los hebreos utilizron métodos criptográficos muy sencillos pero también muy comunes como el cifrado por sustitución o método espejo, una técnica que consiste en sustituir la primera letra de un alfabeto por la última del mismo, la segunda por la penúltima, y así hasta darle la vuelta al alfabeto completo.

image::images/cifrado_por_sustitucion_01.png[Cifrado por sustitucion, width=553]

Con este método se puede cifrar la palabra HOLA obteniendo como resultado la palabra SLOZ. Para comprender cómo funciona este método de sustitución o método espejo hay que poner en paralelo los dos alfabetos, buscar la letra que se quiere sustituír y cambiarla por su equivalente en el alfabeto de abajo, así pues, la letra "H" se corresponde con la letra "S", la letra "O" con la "L", la letra "L" con la "O" y finalmente la letra "A" con la "Z".

image::images/cifrado_por_sustitucion_02.png[Cifrado por sustitucion, width=553]

Los griegos también usaban cifrado mediante un método llamado cifrado por transposición. Esta técnica consiste en cambiar de posición agrupaciones de texto plano o conjunto de letras siguiendo un esquema bien definido. Por ejemplo:

image::images/transposicion_columnar_simple.png[Transposicion columnar simple]

En este ejemplo se ha utilizado un cifrado mediante transposición columnar simple. Se va a cifrar el mensaje “ME GUSTA LA CRIPTOGRAFIA” y para cifrar el mensaje se utilizará la clave “JARRON”. Las reglas o el esquema se define de la siguiente manera, se escribe la clave, debajo de cada letra de la clave se escribe el orden alfabético de esas letras, la A es el 1, la B es el 2, la C es el 3, y así con cada una de las letras. A continuación se escribe el mensaje de izquierda a derecha con cada letra debajo de los números formando columnas. Tantas columnas como la longitud de la clave, en este ejemplo “JARRON” tiene seis letras, por lo tanto serán seis columnas. Una vez completada la tabla con sus filas y columnas solo queda escribir el mensaje de arriba a abajo siguiendo el orden numérico de las columnas, quedando el mensaje cifrado resultante:

ELTI SRR UCG MAPF TIA GAOA +

El emperador romano Julio César también usaba técnicas simples de criptografía para comunicarse con sus generales. Usaba un método conocido con el nombre de "Método de desplazamiento" o "Método César" en honor a su propio nombre. En realidad se trata de una variante del método de sustitución explicado anteriormente, solo que en vez de sustituír una letra del abecedario por su equivalente de otro abecedario invertido, en este caso hay que escribir los dos abecedarios en el mismo orden, uno encima de otro y desplazar uno de los dos un número de veces hacia la derecha o hacia la izquierda.

Una vez comprendido este sistema de cifrado, Julio César y sus generales solo tenían que saber la clave privada para poder descifrarlo, en este caso la clave privada es un número que lo irían alternando y que serviría para desplazar el abacederio tantas posiciones como la clave indicara. En la siguiente imagen la clave privada es 3, ya que las letras del abecedario se desplaza 3 posiciones para buscar su letra correspondiente.

image::images/cifrado_cesar_01.png[Cifrado Cesar, width=300]

En aquella época consideraban este método de cifrado un sistema bastante seguro, pues no todo el mundo sabía de su existencia, además hay que contar con otro factor importante, y es que por aquél entonces no todo el mundo sabía leer, ni mucho menos mensajes que no se entiende lo que pone.

De este sistema de cifrado derivan otros mas complejos como el cifrado ROT13, que es un sistema de cifrado César en el que la clave privada es el número 13, o sea, que las letras del abecedario se han de desplazar 13 posiciones, así pues la letra cifrada correspondiente a la letra A es la letra N, y a la B le corresponde la O.

image::images/rot13.png[ROT13, width=400]

Las principales aplicaciones criptográficas eran de carácter militar, una manera de enviar mensajes ocultos a las tropas sin riesgo de que el enemigo pudiera descubrir las ordenes o los planes de acción en caso de que el mensaje fuera interceptado. Con el paso del tiempo se han ido perfeccionando prograsivamente todas estas técnicas de cifrado. Algunos métodos eran tan complejos de implementar y revertir que finalmente se optó por construír máquinas, primero mecánicas y luego electrónicas, que se encargaran de automatizar estas tareas. A principios del siglo XX, durante la primera guerra mundial se construyeron las primeras máquinas de cálculo para cifrar y descifrar mensajes a una mayor velocidad, pero sin duda la máquina más conocida se contruyó durante la Segunda Guerra Mundial, la máquina Enigma. La utilizó la Marina del ejército alemán para enviar instrucciones cifradas a los submarinos que boicoteaban los barcos de ayuda que venían de los Estados Unidos de América. El matemático, lógico y criptógrafo británico Alan Turing trabajó en el desarrollo de una máquina que fuera capaz de descifrar los códigos secretos que cifraba la máquina Enigma. En el ejército alemán no solo se usó la máquina Enigma, también utilizaban otra máquina de rotores llamada Lorenz, en este caso se usaba para cifrar comunicaciones de teletipo entre oficiales de alto rango. Esta máquina tenía su propio algoritmo de cifrado, basado en máquinas experimentales muy similares usadas en la Primera Guerra Mundial. Se puede afirmar que durante la primera mitad del siglo XX es cuando realmente la criptografía desarrolla grandes avances. En parte es debido al desarrollo de las primeras computadoras electrónicas que realizaban cálculos matemáticos y probabilísticos a gran velocidad, como el computador Colossus.

image::images/enigma_y_lorenz.PNG[ROT13, width=500]

=== Bases de informática (sistema hexadecimal, codificación)
Existen diferentes formas de representar un número cualquiera, el más utilizado y que todo el mundo conoce es el sistema en base 10 o simplemente sistema decimal, pero en informática o ciencias de la computación se utilizan otros formatos o codificaciones para representar los mismos números. Algunos de estos sistemas de numeración se detallan a continuación.

==== Sistema Decimal
Se trata de aquellos números que van del 0 al 9 y que cumplen la regla en la que cada 10 dígitos cambia la cifra de la izquierda, empezando a contar de nuevo de 0 a 9 por la derecha, por ejemplo:

00, 01, 02, 03, 04, 05, 06, 07, 08, 09, +
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, +
30, 31, 32, 33, ... +

Se puede apreciar que cada vez que llegamos a 9 se empieza a contar de cero otra vez y se aumenta el número inmediatamente de su izquierda. Así pues, se puede adivinar fácilmente qué número vendrá después del 59, solo hay que cambiar el 9 por un 0 y aumentar el 5 a 6, quedando finalmente el número 60. A partir de ahí hay que ir ascendiendo desde el 0 hasta el 9 igual que antes, 60, 61, 62, 63, ... hasta llegar al 69, donde se realizaría la misma operación para llegar al número 70, y así sucesivamente.

==== Sistema Binario
Otra forma de representar números es en en base 2 o sistema binario. Son números compuestos únicamente de los dígitos 0 y 1, y se trata de el lenguaje que realmente entienden los ordenadores y cualquier aparato que funcione con un sistema digital, como un reloj de pulsera, una lavadora, una máquina expendedora de bebidas, la puerta de un garaje o un radar de tráfico. A diferencia del sistema decimal que se ha explicado en la sección anterior, en el sistema binario cada 2 dígitos sucede un cambio en la cifra de la izquierda, por ejemplo:

00000000 +
00000001 +
00000010 +
00000011 +
00000100 +
00000101 +
00000110 +
00000111 +
00001000 +
00001001 +
. +
. +
. +
00101101 +

En este ejemplo se muestra una progresión numérica en sistema binario. Se puede ver que la cifra situada a la derecha del todo va oscilando entre 0 y 1 de forma constante, de modo que cada vez que alcanza el valor 1 automáticamente en el siguiente cambio vuelve a tener el valor 0, y el dígito que tiene inmediatamente a su izquierda también cambia, variando entre 0 y 1. Habiendo entendido este punto al lector le resultará fácil averiguar qué número binario vendría después del número 00001001.

==== Sistema Octal
Los números también se pueden representar en base 8 o sistema octal. Siguiendo la lógica anterior son los números que cada 8 dígitos, o sea los números del 0 al 7, sucede un cambio en la cifra de la izquierda, por ejemplo:

00, 01, 02, 03, 04, 05, 06, 07, +
10, 11, 12, 13, 14, 15, 16, 17, +
20, 21, 22, 23, 24, 25, 26, 27, +
30, 31, 32, 33, ... +

Aplicando estas reglas se podrá averiguar fácilmente qué número octal viene después del número 37.

==== Sistema Hexadecimal
Otro forma muy común de representar números en sistemas computacionales es en base 16 o sistema hexadecimal. Aquí entran en juego algunas letras para representar los números mayores de 9. Del mismo modo que en sistemas anteriores la cifra de la izquierda aumentaba cada dos digitos (binario), cada ocho dígitos (octal) o cada diez dígitos (decimal), en unsistema hexadecimal esta cifra aumenta cada dieciséis dígitos. Una vez se alcanza la cifra 9 a continuación vendría la letra A, luego B, C, D, E y finalmente la letra F. La A representa el número decimal 10, B el 11, C el 12, D el 13, E el 14 y F el 15, en total es la representación de dieciséis números, desde el 0 hasta el 15. Una secuencia hexadecimal sería así:

00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, +
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C. 1D, 1E, 1F, +
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2A, 2B, 2C, 2D, 2E, 2F, +
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 3A, 3B, ... +

Apréciese que al llegar a la letra F sucede un aumento de dígito en el número inmediatamente a la izquierda, y la F cambiaría por un 0 para empezar a contar de nuevo. El lector puede intentar averiguar que número hexadecimal viene después del número 1A6F. Las letras pueden escribirse en mayúsculas o en minúsculas indistintamente. Los números en hexadecimales se suelen representar con el prefijo "0x", por ejemplo:

0x00000001 +
0x00000002 +
0x00000003 +
. +
. +
. +
0x00C3BF91 +

=== Criptografía de clave pública

- Introducción criptografia: asimetrica vs simetrica

- Intercambio de claves

- Firma electrónica

- Cifrado

=== Funciones Hash

- Descripción

- MD5

- SHA-1

- SHA-2

- Keccak and SHA-3

- Password storage

- Length extension attacks

- Hash trees

=== Algoritmos (SHA256 y RIPEMD160)

=== Criptografía de curva elíptica explicada: ECDSA (Referencia)
23 changes: 17 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,23 @@ Here's what is available now:
| Section | Progress |
|-------|------|
| [1. Prologo](prologo.asciidoc) | # |
| [2. Mundo descentralizado: Cambio de Paradigma] | #############
| [- Internet del valor : Salto Tecnológico y social](saltotec.asciidoc) | ################ |
| [Descentralización usando Blockchain](descentralizacion.asciidoc) | ################ |
| [Sistemas IT: Distribuidos vs Computación descentralizada](sistemas-it.asciidoc) |################ |

Jump in! Review, comment, suggest and contribute...
| [2. Mundo descentralizado: Cambio de Paradigma](xxx.asciidoc) | #### |
| [- Internet del valor : Salto Tecnológico y social](saltotec.asciidoc) | ######|
| [- Descentralización usando Blockchain](descentralizacion.asciidoc) | ######|
| [- Sistemas IT: Distribuidos vs Computación descentralizada](sistemas-it.asciidoc) | ##### |
| [- Como Descentralizar](comodescentralizar.asciidoc) | #####
| [3. Definición de Blockchain] |######
| [- ¿Cómo se relaciona Blockchain con Bitcoin?](relacion.asciidoc) |###### |
| [- El Poder de la Cadena de Bloques](podercadena.asciidoc) |###### |
| [- ¿Que es una cadena de bloques?](queesunacadena.asciidoc) |###### |
| [- Tipos de redes Blockchain](tiposchain.asciidoc) |###### |
| [- Desafios tecnicos de blockchain actual](desafios.asciidoc) |###### |
| [- Blockchain y ecosistema completo descentralizado](ecosistema.asciidoc) |#### |
| [4.Introducción a la criptografía y su uso en Blockchain](Intro-a-la-criptografia-y-su-uso.asciidoc) | # |
| [5. Blockchain Bitcoin](xxx.asciidoc) | #### |
| [ - Breve historia: Antecedentes y origen](origen.asciidoc) | ### |

Jump in! Review, comment, suggest and contribute...

# Contributing, reviewing and commenting

Expand Down
38 changes: 38 additions & 0 deletions comodescentralizar.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

== Cómo descentralizar

=== Grados y parámetros a tener en cuenta:

Vamos a hablar, como ejemplo de como evaluar la descentralizacion, a la hora de poner en marcha un proyecto, en cualquier ámbito.
Un marco ha sido propuesto por Arvind Narayanan y otros que se pueden usar para evaluar los requisitos de descentralización de
una variedad de cosas en el contexto de tecnología blockchain.

El marco básicamente propone cuatro preguntas que, una vez respondidas, proporcionan una idea clara de cómo se puede
descentralizar un sistema. Estas preguntas se enumeran de la siguiente manera:

1. ¿Qué está siendo descentralizado?
2. ¿Qué nivel de descentralización se requiere?
3. ¿Qué cadena de bloques se usa?
4. ¿Qué mecanismo de seguridad se usa?

La primera pregunta simplemente pregunta qué sistema se descentraliza. Esto puede ser cualquier sistema, por ejemplo, un sistema de identidad o comercio.

La siguiente pregunta se puede responder especificando el nivel de descentralización requerido al observar el tipo o grado de descentralización que hemos visto anteriormente en “Métodos de descentralización”

Puede ser una desintermediación completa o una desintermediación parcial. La tercera pregunta es bastante sencillo, donde los desarrolladores pueden elegir qué cadena de bloques adecuado para una aplicación en particular.

Puede ser blockchain de bitcoin, blockchain de Ethereum, o cualquier otra cadena de bloques que se considere adecuada para una aplicación específica. Finalmente, una pregunta clave necesita ser respondido sobre el mecanismo de seguridad en cuanto a cómo la seguridad de un sistema descentralizado puede ser garantizado.

Puede ser Atomicity, por ejemplo, por el cual la transacción se ejecuta en su totalidad o no se ejecuta en absoluto. En otras palabras, es todo o nada. Esto asegura la integridad del sistema. Otros mecanismos pueden incluir la reputación, que permite diversos grados de confianza en un sistema.

Ejemplo:

Vamos hacer un ejemplo de la aplicación del escenario que hemos mencionado anteriormente.
En el primer caso, se selecciona un sistema de transferencia de dinero, que debe ser descentralizado En este caso, las cuatro preguntas mencionadas anteriormente pueden ser respondidas para evaluar los requisitos de descentralización.

Las respuestas se muestran de la siguiente manera:

Respuesta 1: sistema de transferencia de dinero.
Respuesta 2: Desintermediación.
Respuesta 3: Bitcoin.
Respuesta 4: Atomicidad.
20 changes: 20 additions & 0 deletions desafios.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
== Desafios tecnicos de blockchain actual:

La tecnología Blockchain también tiene algunos desafíos técnicos y limitaciones que se han identificado. Swan1 presenta siete desafíos técnicos y limitaciones para la adaptación de la tecnología Blockchain en el futuro:

Rendimiento: los problemas de rendimiento potencial de la red de Bitcoin se evaluan actualmente, con las nuevas mejoras introducidas en 2017, a unos 14 puntos por segundo (transacciones por segundo). Otras redes de proceso de transacciones son VISA (2,000tps) y Twitter (5,000tps). Cuando la frecuencia de las transacciones en Blockchain aumente a niveles similares, el rendimiento de la red Blockchain necesitará evolucionar y escalar bastante


Latencia: para crear la seguridad suficiente para un bloque de transacciones de Bitcoin, en la actualidad se necesitan aproximadamente 10 minutos para completar una transacción. Para lograr la eficiencia en seguridad, se debe pasar más tiempo en un bloque, ya que tiene que superar el coste de los ataques de doble gasto. El doble gasto es el resultado de un gasto de dinero, ejecutado y realizado más de una vez. Bitcoin protege contra el gasto doble al verificar cada transacción agregada a la cadena de bloques, para garantizar que las entradas para la transacción no se hayan gastado previamente . Esto hace que la latencia sea un gran problema en Blockchain actualmente. Hacer un bloqueo y confirmar la transacción debería ocurrir en segundos, mientras se mantiene la seguridad. Para completar una transacción, p. en VISA toma solo unos segundos, lo cual es una gran ventaja en comparación con Blockchain.

Tamaño y ancho de banda: por el momento, el tamaño de un Blockchain en la red de Bitcoin es más de 190,000MB (2018). Cuando el rendimiento aumenta a los niveles de VISA, Blockchain podría crecer 214PB en cada año. La comunidad de Bitcoin asume que el tamaño de un bloque es de 1MB, y se crea un bloque cada diez minutos . Por lo tanto, existe una limitación en el número de transacciones que pueden manejarse (en promedio, 500 transacciones en un bloque) . Si Blockchain necesita controlar más transacciones, se deben resolver los problemas de tamaño y ancho de banda.

Seguridad: la actual tecnología Blockchain tiene una posibilidad de un 51% de ataque. En un ataque del 51%, una sola entidad tendría el control total de la mayoría de la tasa de hash minero de la red y podría manipular Blockchain. Para superar este problema, se necesita más investigación sobre seguridad.

Recursos desperdiciados: la minería de Bitcoin desperdicia grandes cantidades de energía ($ 15 millones / día). El desperdicio en Bitcoin es causado por el esfuerzo de la Prueba de trabajo. Existen algunas alternativas en los campos de la industria, como la prueba de participación. Con la prueba de trabajo, la probabilidad de extraer un bloque depende del trabajo realizado por el minero.

Sin embargo, en Proof-of-Stake, el recurso que se compara es la cantidad de Bitcoin que tiene un minero. Por ejemplo, alguien que posee el 1% de Bitcoin puede extraer el 1% de los "bloques de Proof of Stake" El problema con los recursos desperdiciados debe resolverse para tener una minería más eficiente en Blockchain.

Usabilidad: la API de Bitcoin para desarrollar servicios es difícil de usar. Es necesario desarrollar una API más amigable para desarrolladores para Blockchain. Esto podría parecerse a las API REST.

Versiones, hard forks, cadenas múltiples: una pequeña cadena que consiste en un pequeño número de nodos tiene una mayor posibilidad de un 51% de ataque. Otro problema surge cuando las cadenas se dividen con fines administrativos o de control de versiones.
Loading