0% encontró este documento útil (0 votos)
22 vistas9 páginas

Introducción a Blockchain y sus Tecnologías

blockchain

Cargado por

Elisa Montaña
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas9 páginas

Introducción a Blockchain y sus Tecnologías

blockchain

Cargado por

Elisa Montaña
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Clase 1

¿Cómo definimos a la tecnología Blockchain?

Es un conjunto de tecnologías previamente existentes que funcionan


sinérgicamente en una forma innovadora.

Base de datos distribuidas - Infra. independiente entre si, se necesita una


forma de coordinacion.

Clase 1 1
✔ Una base de datos distribuida o BDD (DDB en ingles) consiste en
varios almacenes
de datos situadas en diferentes espacios físicos o lógicos, conectadas
entre sí por un sistema de comunicaciones.

Características:
● Está formada por varias computadoras
denominadas nodos.
● Existe un protocolo de comunicación entre los
nodos.
● Cada nodo tiene autonomía local, es decir que su
gobernanza es independiente.
● La infraestructura no depende de ningún nodo
central.

Ventajas:
● Aumentan disponibilidad, confiabilidad y eficiencia
en el acceso a la información.
● Permiten escalabilidad independiente por nodo.
● Disponibilidad de la información en cualquiera de
los nodos.
● Resiliencia a fallos de varios nodos.

Desventajas principales:
● Su principal problema es su mecanismo de
consenso.
● La seguridad y el control de acceso a los datos
puede ser más costoso.

Aplicación en Blockchains
En Blockchain las bases de datos distribuidas utilizadas son de tipo
“Replicada”, donde cada nodo posee una copia completa de la base

Clase 1 2
de datos.
Cada nodo suele pertenecer a emprendimientos o agentes
independientes.

Redes peer to peer - la info que esta en un nodo, debe estar en el resto de los
nodos. No hay jerarquia en los nodos.

✔ (P2P) En las redes par a par o punto a punto, cada nodo participante
suele tener
los mismos roles que sus pares, ser cliente y servidor a la vez. No
suelen
existir jerarquías ni nodos con más dominio sobre la red que otros.
Características:
● No existen nodos centralizadores (servidor)
● Cada nodo es libre de transmitir cualquier paquete de información a
la red. No
censura.
● Los nodos son libres de conectarse unos con otros, pero no implica
una conexión
total
● Los nodos pueden compartir recursos
● Cada nodo maneja su propia seguridad. Existen protocolos de red
que aportan
seguridad y estandarización

Funciones Hash - tabla clave valor, funcion que identifica registros de manera
unica. Funcion de un solo sentido.

Clase 1 3
✔ Las funciones Hash son las funciones que dado un paquete de datos
de cualquier
tamaño puede producir al procesarlo un nuevo paquete de datos de
salida de
tamaño prefijado.
Las funciones Hash son utilizadas para obtener identificadores
digitales a partir de
paquetes de información digital. Es decir que un valor hash puede ser
usado para
identificar el paquete de datos que fue usado como entrada de la
función Hash.
Llamados huellas digitales de la información.
Características principales:
● Función unidireccional (one way function)
● Cadena resultado de longitud predefinida, finita y fija
● Efecto avalancha

Criptografia asimetrica - rama matematica en donde se oculta informacion

✔ La criptografía asimétrica está basada en un par de claves:


● Clave Privada
● Clave Pública
Es asimétrica porque cada clave puede desencriptar lo que fue
encriptado por la
otra clave.
La clave publica es derivada a partir de la clave privada.
Cualquier número puede servir como clave privada, pero no cualquier
número hace
una buena clave privada. Se necesita una buena fuente de
aleatoriedad para
obtener una clave privada segura.
En el ecosistema blockchain las claves son manejadas por las
wallets.

Firma digital.

Clase 1 4
✔ La firma digital es una infraestructura tecnológica basada en el uso de
las dos tecnologías anteriores:
● Funciones Hash
● Criptografía asimétrica
Características:
● Autenticación: El emisor del mensaje es quien dice ser
● No repudio: El emisor del mensaje no puede negar la autoría del
mensaje
● Integridad: El mensaje encriptado no ha sido alterado desde su
emisión

Mecanismo de consenso (prueba de trabajo - prueba de participacion.

Clase 1 5
✔ Los mecanismos de consenso son utilizados en sistemas informáticos
para lograr el
acuerdo entre actores de sistemas distribuidos, sobre un estado o
valor único de la
red. Deben ser mecanismos tolerantes a fallas.
En las blockchain los mecanismos de consenso se utilizan para
encontrar consenso
entre los diferentes nodos distribuidos que confirman la red respecto
de cual es el
valor de verdad actual de la base de datos distribuida que mantiene
los registros de
las transacciones.
Los mecanismos de consenso más probados en blockchain son:
● Proof of Work (prueba de trabajo)
● Proof of Stake (prueba de capital)
● Proof of Authority (prueba de autoridad)

Proof of Work (prueba de trabajo)


En PoW debe obtenerse un valor hash del contenido de un bloque a minar, que
cumpla ser un número inferior a un número determinado, llamado dificultad de
minería que se establece en función del hash rate de la red en los últimos ciclos.
Proof of Stake (prueba de capital)
En PoS se realiza una selección aleatoria, entre los nodos que hayan realizado
el stake o depósito de una determinada cantidad de criptomonedas que los
habilita a ser elegibles como siguiente nodo a agregar información a la
blockchain.
Proof of Authority (prueba de autoridad)
Utilizado en redes privadas o confederadas donde existen nodos con mayor
autoridad que otros basados en su identidad.

Terminologia:
— codificar (ordenar) != encriptar (ocultar)

— En blockchain a las claves se les denomina llaves.

Clase 1 6
💡 La concurrencia en blockchain ocurre cuando dos puntos (ej. Uruguay -
Japon) comparten en la red al mismo tiempo algo que quieren escribir. Se
toma la cadena con mayor poder de computo compartido como valido.

💡 La base de datos no va a ser exactamente igual en cada nodo. Tienen


que acordar cual es la "verdad", es decir, la cadena activa (informacion).
Es la manera de corroborar que la informacion en el nodo sea la correcta.
Se arma una cadena de bloques, esta cadena es un conjunto de
transacciones. Esta cadena va a estar almacenado en una base de datos
de un nodo. Hay varios nodos que tienen que escribir la misma cadena
activa.
Hay tiempos de latencia, hay coliciones en una red blockchain. Solo uno
puede escribir al mismo tiempo en la base de datos.

El bloque es un paquete de red: conteniendo un header y un body. En el body esta


el codigo real de la transaccion y el header contiene el resumen del body, es lo que
se hashea. Los hashes son un numero en hexadecimal. Para que el hash sea
valido, debe ser menor a lo que se denomina dificultad de mineria.

La dificultad de mineria es un nro que la red define dentro del espectro esperado. En
bitcoin se quiere que los nuevos bloques se generen aprox. cada 10 minutos.

Si quiero acelerar el proceso de generar bloques porque esta tardando demasiado,


lo que tengo que hacer es aumentar el nro. de dificiultad de mineria para tener un
espectro mayor y que la probabilidad de generar hashes invalidos sea menor.

Clase 1 7
1.24 min

Repaso:

Criptografía simétrica:
Todos los usuarios tienen la misma clave de cifrado/descifrado,
si tenemos más de un canal de comunicación, tendremos tantas
claves privadas como canales de comunicación paralelos.
Hay 3 tipos:

Cifrado por bloque

Cifrado flujo

🚨 Problema:

Criptografía asimétrica:
Cada usuario tendrá una pareja de claves (pública y privada)
para todos los canales de comunicación, no importa el número
de canales seguros a mantener, solamente deberemos proteger
la clave privada.

Clase 1 8
¿Qué es un algoritmo de consenso?
En Blockchain un algoritmo de consenso es el mecanismo usado, por una red
Blockchain, para seleccionar el estado correcto de un registro después de
realizar una transacción. De esta manera lo que indique el algoritmo de consenso
se convierte en la verdad que todos los nodos deben seguir.
Esto se hace normalmente seleccionando la mayoría de entre todos los estados
propuestos. Bitcoin, el primer Blockchain, usa “Proof of Work (PoW)”:
cualquier propuesta de estado del registro llega con el resultado de un cálculo
complejo de hash que requiere bastante potencia de cálculo. La verificación del
cálculo es, sin embargo, bastante rápida y sencilla por lo que no resulta rentable
enviar un estado falso. Por otra parte, el estado (que se trabaja por bloques de
transacciones) tiene una referencia al estado anterior y el resultado del cálculo de
su hash por lo que todo está enlazado y no es posible cambiar un bloque del
pasado sin cambiar todos los siguientes.

El problema de PoW como algoritmo de


consenso
PoW es un método para asegurar que el registro (el nombre usado para el conjunto
de bloques que almacenan todas las operaciones, recordemos “ledger” en inglés) es
inmutable. Se fundamenta en un principio básico: es demasiado costoso convertirse
(o convencer) en el 51% de la red (los participantes) y también es muy costoso
recalcular todos los bloques.
¿Es realmente tan complejo? Como con otras cosas, depende del volumen. Debería
ser mayor que el bocado más grande que pueda digerir un atacante. Las redes
públicas como Ethereum o Bitcoin se consideran suficientemente grandes
para resistir un ataque del 51%. Pero las más pequeñas no: Ethereum Classic es
una red más pequeña (una versión antigua de Ethereum que no siguió
la actualización hard-fork). Y fue atacada (lo puedes ver en este artículo de CCN).
Aunque no es el único caso, conoce qué es un ataque del 51% en Blockchain.

Clase 1 9

También podría gustarte