Está en la página 1de 63

Curso Blockchain

Casos de uso en el sector empresarial


1) cómo abordar un proyecto blockchain
2) marco regulatorio de las criptomonedas en Colombia
3) los mecanismos de consenso
4) tecnologías blockchain prometedoras y protocolos
5) ejercicio práctico
1) Abordar un proyecto BC
80% negocio - 20% programación
Habilidades blockchain
Trabajos Blockchain
¿Realmente necesitamos blockchain?
Antes de iniciar un
proyecto blockchain

Formular las 4 preguntas


para determinar si hay
un caso de uso relevante
de blockchain en un
sector determinado

https://www.lemagit.fr/conseil/Quand-et-comment-mener-un-projet-Blockchain-et-comment-savoir-si-vous-en-avez-besoin
¿Qué problema estás
1 tratando de solucionar
con el blockchain?
¿Hay otros jugadores en su ecosistema que
intentan resolver un problema, idéntico o similar, de muchas
maneras?
¿Qué oportunidad
3 estás tratando de
aprovechar?
¿Crees que puedes convencer y conseguir que
4 los miembros de tu ecosistema (incluida la
competencia) se unan y te sigan en este proyecto?
Checklist de
Martha Beneth
¿necesitan varias partes acceder al
mismo conjunto de datos?
¿todas las partes necesitan
estar seguras que los datos
son exactos y no han sido
falsificados o degradados?
¿Cuáles son las condiciones del sistema actual?
¿Es propenso a los errores, increíblemente complejo,
poco fiable, desordenado?
compartir con terceros
que realizan los mismos
procesos con la ayuda
de una blockchain?
¿Hay razones para
tener un sistema
distribuido y
descentralizado?
Diagramas para la toma de decisiones
Birch Model
https://www.quora.com/Is-Blockchain-overrated
Modelo de IBM (enfoque en el mercado)

Alto rendimiento, ¿Gestiona usted las ¿requiere esto un


transacción de milésimas relaciones contractuales? ¿importa la identidad? enfoque de mercado?
de segundo

¿trabaja con una lógica ¿Necesita mantener su ¿Necesita mantener su


de negocios compleja? transacción privada? transacción privada?

¿buscas reducir los


costos?

¿quieres mejorar la
capacidad de detección?
Modelo de Suichies (Blockchain / DLT)
Modelo de Morgen E. Peck

https://spectrum.ieee.org/computing/networks/do-you-need-a-bl
ockchain
2) Problemas de las redes P2P
Problema de
los reyes
bizantinos
Los sistemas informáticos
fiables deben manejar los
componentes que no funcionan
correctamente y que dan
información contradictoria a las
diferentes partes del sistema.
https://www-inst.eecs.berkeley.e
du/~cs162/sp16/static/readings/
Original_Byzantine.pdf
Problema de
los reyes
bizantinos
Esta situación puede
expresarse
abstractamente en
términos de un grupo
de generales del
ejército bizantino
acampados con sus
tropas alrededor de
una ciudad enemiga.
● https://www.youtube.com/watc
h?v=hoUKt-W7hug&t=585s
Problema de
los reyes
bizantinos
Comunicándose sólo
por mensajero, los
generales deben
acordar un plan de
batalla común.
Problema de
los reyes
bizantinos
Sin embargo, uno o
más de ellos pueden
ser traidores que
intentarán confundir a
los demás.
https://www.youtube.com/watch?v=hoUKt
-W7hug&t=585s
Problema de
los reyes
bizantinos
El problema es
encontrar un algoritmo
que asegure que los
generales leales
lleguen a un acuerdo.
Tolerancia a faltas bizantinas
Tolerancia a fallas bizantinas

La solución al problema se basa en un


algoritmo que puede garantizar que:
● Todos los tenientes generales leales
deciden sobre el mismo plan de acción,
y
● Un pequeño número de traidores no
puede hacer que los tenientes leales
adopten un mal plan.
¿Qué es el consenso?

● El consenso es un problema
fundamental en los sistemas
distribuidos tolerantes a fallas. 
● El consenso involucra múltiples
servidores acordando
valores. Una vez que llegan a una
decisión sobre un valor, esa
decisión es definitiva. 
¿Qué es el consenso?

● Los algoritmos de consenso típicos


progresan cuando la mayoría de sus
servidores está disponible; por ejemplo,
un grupo de 5 servidores puede
continuar funcionando incluso si fallan 2
servidores. Si fallan más servidores,
dejan de avanzar (pero nunca
devolverán un resultado incorrecto).
https://medium.com/coinmonks/a-note-from-anthony-if-you-haven
t-already-please-read-the-article-gaining-clarity-on-key-78798910
7969
Consenso

Todos los nodos en el


sistema distribuido
deben acordar un
cierto conjunto de
reglas y poder avanzar
acordando una
evaluación particular
de una transacción
antes de agregarla a
la base de datos.
Fallas
Bizantinas
La tolerancia a fallas bizantinas
ha sido necesaria en los
sistemas de motores de
aviones, plantas de energía
nuclear y prácticamente en
cualquier sistema cuyas
acciones dependan de los
resultados de una gran cantidad
de sensores.
Dilema del prisionero
Aplicado en el Bitcoin
3) Mecanismos de consenso
criptoeconomía
Tipos de
algoritmos de
consenso
Diversos tipos de consensos

● PoWProof-of-Work
• DAG Directed Acyclic Graphs
● PoS Proof-of-Staked
• PoA Proof-of-Activity
● DPoS Delegated Proof-of-Stake
• PoI Proof-of-Importance
● lPoS Leased Proof-Of-Stake
● PoET • PoC Proof-of-Capacity
Proof of Elapsed Time
• PoB Proof-of-Burn
● BTF Practical Byzantine Fault Tolerance • PoWProof-of-Weight
● SBTF Simplified Byzantine Fault Tolerance • RAFT
● DBTF Delegated Byzantine Fault •
Tolerance Ripple Consensus Protocol
• Stellar Consensus Protocol
● SIEVE • Cardano's Ouroboros
● XFT Cross-Fault Tolerance
5) Protocolos y mecanismos de
consenso
La prueba de trabajo fue el
algoritmo de consenso inicial
para el trabajo de blockchain.
Se utiliza este algoritmo para
verificar una transacción y
agregar nuevos bloques a la
Cadena existente. En este
algoritmo, los mineros en el
red compiten entre sí con el fin
de ompletar la transacción y
ser recompensados. Una
prueba del algoritmo de trabajo
produce un problema difícil de
resolver, una ecuación
matemática o rompecabezas
BITCOIN que requiere mucho de la
potencia computacional
Proof-of-Work (PoW)
Proof of Work (Pow)

Los pasos para gestionar la red son como sigue:


1. Transacciones nuevas son emitidas a todos los nodos.
2. Cada nodo recolecta nuevas transacciones en un bloque.
3. Cada nodo trabaja en encontrar una prueba-de-trabajo difícil
para su bloque.
4. Cuando un nodo encuentra una prueba-de-trabajo, emite el
bloque a todos los nodos.
5. Los nodos aceptan el bloque si todas las transacciones en el
bloque son válidas y no se han gastado ya.
6. Los nodos expresan su aceptación del bloque al trabajar en
crear el próximo bloque en la cadena, utilizando el hash del
bloque aceptado como el hash previo.
Es un protocolo de consenso
para redes distribuidas que
asegura una red de una
criptomoneda mediante la
petición de pruebas de
posesión de dichas monedas.
Para decidir sobre el siguiente
bloque se hace una votación,
el peso del voto depende del
tamaño del depósito
(participación) del validador,
ventajas: seguridad, menor
riesgo de centralización y
eficiencia energética.
● Dash (DASH)
● Factom (FCT)
V. 1.0: Proof of Work (PoW) ● OkCash (OK)
● Nav Coin (NAV)
V. 2.0: Proof of Stake (PoS) ● BitShares (BTS)
Proof of Stake (PoS) - Casper
● un modelo de emisión de tokens basado en los
saldos individuales
● a mayor saldo mayor posibilidad de obtener
beneficios
● a diferencia de PoW penaliza los nodos que
selecciona el bloque incorrecto
● consume menos energía
● mayor cantidad de transacciones
● retienen los tokens hasta que se descarte
acciones deshonestas
● Economía de escala
PoET fue desarrollado por el
gigante fabricante de chips
Intel en 2016 como un
mecanismo de consenso
eficiente principalmente para
redes de blockchain con
permisos. PoET es ahora el
modelo de consenso elegido
para el marco modular de
Hyperledger Sawtooth y es
una herramienta popular para
implementar y experimentar
con sistemas de contabilidad
distribuidos

Proof of Enlasep Time (PoET)


La red está compuesta de
nodos opcionalmente
conectados . Los nodos
directamente conectados a un
nodo particular se llaman
pares.
El proceso de consenso para
decidir el siguiente bloque (a
cierta altura H ) se compone
de una o varias rondas .

BFT (Tolerancia a fallas


bizantinas)
Fue introducido por primera
vez por NEM. La prueba de
importancia es el mecanismo
que se utiliza para determinar
qué participantes de la red
(nodos) son elegibles para
agregar un bloque a la cadena
de bloques, un proceso que
NEM conoce como
"recolección". A cambio de la
recolección de un bloque, los
nodos pueden cobrar las
tarifas de transacción dentro
de ese bloque. Las cuentas
con una puntuación de mayor
importancia tendrán una mayor
probabilidad de ser elegidas
Proof Of Importance (PoI) para cosechar un bloque
o también conocido como
DAG es un tipo de grafo
dirigido sin ciclos, que utiliza
un ordenamiento topológico la
secuencia debe ser
exclusivamente te anterior o
posterior. Directed Acyclic
Graphs se usa mucho en la
programación, en el
procesamiento de datos, la
búsqueda de la mejor ruta y la
comprensión de datos (gráfico
acíclico dirigido)

DAG (Directed Acyclic


Graphs)
● Para crear la wallet: https://bctestnetwallet.xpxsirius.io
● Para transferir token a dirección de tu wallet: https://bctestnetfaucet.xpxsirius.io/#/
Muchas gracias

Ana María Moreno B.


TW: @anamamoreno
anamria@enredo.org
Telegram: UxTIC

También podría gustarte