La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Blockchain Ethereum.

Presentaciones similares


Presentación del tema: "Blockchain Ethereum."— Transcripción de la presentación:

1 Blockchain Ethereum

2 Richard Buckminster Fuller
No es posible cambiar las cosas luchando con la realidad. Para cambiar algo, construye un modelo nuevo que deje obsoleto el modelo existente. Richard Buckminster Fuller

3 Bitcoin: sistema de dinero en efectivo electrónico
Inicio Blockchain ¿Quién? Artículo en 2008 Bitcoin Satoshi Nakamoto Bitcoin: sistema de dinero en efectivo electrónico peer-to-peer Nace en 2009

4 Blockchain Ledger o registro de transacciones y eventos digitales
Red Descentralizada BD distribuida que almacena cualquier transacción que represente valor

5 Características Imparable: Nadie tiene el control sobre la cadena de bloques. Accesible: Cualquier persona con acceso a internet puede interactuar en ella. Peer-to-Peer: El propio usuario que utiliza y comparte la red al mismo tiempo. Sistema Distribuido: Toda la información se almacena por igual en cada nodo de la red. Seguridad: Al estar la información en toda la red es prácticamente imposible de modificar la información. Inmutabilidad de los datos: Escritos los datos, jamás se pueden borrar o cambiarlos, beneficiando su propia auditoría. Democrático: La información se aprueba por consenso por los nodos.

6 ¿Cómo funciona? Transacción es:
Guarda los datos en la transacción. “Cada blockchain tiene su manera” Pasan a la red Peer-to-Peer La transacción se ejecuta y valida según los contratos y scripts precompartidos por la red. Nodos mismas reglas Transacción es: Es Atómica. Resultado se agrega a la blockchain Es Independiente a otras operaciones. Es Inmortal a no ser que esté la función eliminar programada.

7 ¿Actores en Blockchain?
Mineros: son un tipo de usuario que mediante al poder computacional de sus máquinas les permite participar en la verificación de bloques a través de la competición de prueba de trabajo (Proof or Work) Desarrolladores: son un grupo de personas encargadas de desarrollar el software que implementa el protocolo. Usuarios: son un grupo de personas que ejecutan un software en sus dispositivos, que les asigna una cuenta y pueden: Enviar o recibir divisas. Ejecutar transacciones. Sincronizar datos con el resto de la red.

8 Hashing Consiste en ejecutar un algoritmo matemático que crea un resultado con una longitud dada totalmente independiente al input. ¿Qué es el HASH? Es una función unidireccional que devuelve siempre resultado a una misma entrada, pero jamás permite averiguar la entrada según el resultado del algoritmo. Características: Seguridad Fácil comparación Consistencia Proceso rápido de calculo Ethereum usa el algoritmo KECCAK-512 KECCAK indica la familia del algoritmo 512indica la complejidad.

9 Bloque Agrupa transacciones en un orden temporal. Bloque X-1 Bloque X
Cabecera: Hash bloque X-2 Timestamp Nonce Difficulty Merkle Root Proof of work Cabecera: Hash bloque X-1 Timestamp Nonce Difficulty Merkle Root Proof of work Cabecera: Hash bloque X Timestamp Nonce Difficulty Merkle Root Proof of work Lista de transacciones Lista de transacciones Lista de transacciones Hash bloque X-1 Hash bloque X Hash bloque X+1

10 Principales campos de un Bloque
Timestamp: Fecha y hora en la cual se generó el bloque. Nonce: Solución aportada por el minero para encontrar un hash por debajo de la dificultad del bloque y asi resolver el problema matemático. Difficulty: Valor dificultad que tiene un cada bloque Transactions: Listado de las transacciones de un bloque. Hash: Identificador único del bloque. Mined By: Dirección Ethereum del minero que ganó el algoritmo de consenso (Proof of work). Gas used: Gas total gastado en comisiones por las transacciones del bloque. Gas Limit: Límite máximo establecido en el bloque. Block reward: Es la cantidad de ether y gas used ganada por el minero al validar el bloque.

11 Cálculo Hash para un bloque
Función unidireccional que devuelve siempre resultado a una misma entrada, pero jamás permite averiguar la entrada según el resultado del algoritmo. Difficulty Target: es la dificultad que puede tener un Hash establecido en cada bloque. Nonce: número arbitrario que tiene cada bloque. ¿Cómo calculamos un hash? Consiste en cambiar el valor del Nonce hasta tener un valor del hash resultante inferior a la dificultad objetivo. Hash= contenido del bloque + Nonce If (hash < dificulty target) return BloqueValido

12 Proof of Work Consiste cuando los mineros resuelven complicados acertijos criptográficos para validar transacciones y agregar un nuevo bloque a la cadena. En Ethereum cada 15 segundos se agrega un nuevo bloque a la cadena de bloques donde los mineros buscan un nonce que ayuda a generar un valor de hash de bloque.  El sistema de manera autónoma aumenta o disminuye la dificultad de cada bloque en función del tiempo de resolución. Mayor tiempo de resolución menor dificultad del bloque. Menor tiempo de resolución mayor dificultad del bloque. Este sistema es eficaz porque proporciona seguridad a la red y consistencia de los datos, pero no es tan eficiente en la utilización óptima de los recursos (gran consumo de energía). 

13 Los Mineros Nonce Encuentran Envían a la red y los nodos lo verifican
Insert Coin Es correcto Gana el block reward Introduce una transacción en el bloque

14 Transacciones y Estructura
Una transacción consiste en un paquete de datos firmados que almacena un mensaje enviado desde una cuenta externa. Estructura: El receptor del mensaje. Firma digital que identifica al emisor. Cantidad de fondos ether que se transfieren desde la cuenta del emisor a la del receptor. Un campo opcional de datos. Valor STARTGAS: máximo número de pasos computacionales que se permite ejecutar a la transacción. Valor GAS PRICE.

15 Smart Contract Según sus fundadores un Smart Contract es:
“Los smart contracts son una forma para que personas de todo el mundo hagan negocios entre sí, incluso si no hablan el mismo idioma o no utilizan la misma moneda”. En otras palabras podemos definirlos como programas que se almacenan dentro de una cada de bloques. Estos programas se componen de una serie de reglas que una vez desplegadas en la red no pueden ser modificados.

16 Cómo desarrollar Smart Contract en Ethereum
Convierte a Con una transacción se instancia Ejecuta ByteCode Solidity Código Máquina Red Ethereum Ethereum VM

17 Remix Calculadora en Solidity pragma solidity ^0.4.24;
     contract Calculator {     //Atributos     int private _suma;     int private _resta;     int private _multipli;     int private _div;     address private _owner;         //Constructor     constructor() public {         _owner=msg.sender;     }     //Metodos     function getSuma()  public view returns(int) {         return _suma;     function getresta()  public view returns(int) {         return _resta;     function getMultipli()  public view returns(int) {         return _multipli;     function getDiv()  public view returns(int) {         return _div;     function getOwner() public view returns(address) {         return _owner;     //Funciones     function add(int a, int b)   public returns (int) {_suma=a + b;}     function resta(int a, int b) public returns (int) {_resta=a - b;}     function multi(int a, int b) public returns (int) {_multipli= a * b;}     function div(int a, int b)   public returns (int) {_div= a / b;} } Calculadora en Solidity

18 ¿Pública o Privada? Publica: Privada: Democrática
Disponible para todo el mundo Difícil de atacar Consenso de la comunidad Elevado coste transacciones y almacenamiento Privada: Semejanza a bases de datos distribuidas y compartidas Se tiene el control sobre quién accede a la blockchain Menos nodos, más fácil de atacar Costes controlados al ser cada uno el propietario Ayuda al control del almacenamiento de datos confidenciales

19 IoT Usos del Blockchain Certificaciones Productos Digitales
Monedas digitales Vida Útil de Productos Certificaciones Productos Digitales IoT

20 GRACIAS


Descargar ppt "Blockchain Ethereum."

Presentaciones similares


Anuncios Google