Ethereum y los contratos inteligentes (Parte 4)

En este apartado vamos a conocer más en profundidaz lo que es Ethereum y los contratos inteligentes que se implementan sobre la cadena de bloques de Ethereum.

¿Qué es Ethereum?

Ethereum, una red blockchain abierta distribuida, fue conceptualizada por Vitalik Buterin en noviembre de 2013. El desarrollo de un lenguaje Turing completo que permite el desarrollo de contratos inteligentes para blockchain y aplicaciones descentralizadas a diferencia de Bitcoin, que no es Turing. El “Ether” es la criptomoneda de Ethereum.

Contratos inteligentes:
los bloques fundamentales de programas compuestos para la plataforma ethereum se denominan “contratos inteligentes”. Se golpea un evento desencadenante y se ejecuta el contrato (programa).
Transacciones en Ethereum:
una transacción en un Ethereum se considera como el paquete de datos que se firma y contiene la información que se enviará desde una cuenta de bloque externa a otra cuenta de cualquier otro bloque que se encuentre en una red diferente.
Los bloques de Ethereum contienen tanto una lista de transacciones como el “estado” más reciente del libro mayor de estas transacciones. Los mineros deben aprobar y validar la transacción. Los mineros son recompensados en caso de que generen el bloque correcto y actualmente son 5 Ether para una minería exitosa.
Consenso en Ethereum:
El consenso es un mecanismo mediante el cual toda la red está de acuerdo sobre el suministro y la división de tokens. El protocal de prueba de trabajo llamado Ethash se usa en la red Ethereum, con la minería igual que Bitoin para encontrar un nonce que una vez haya codificado el resultado en un nivel de dificultad predeterminado. Ethereum usa SHA-3 para el cifrado.
Ethash hace que Ethereum sea resistente a los chips de minería de alta potencia y de fácil acceso a las implementaciones de clientes “ligeras” que permiten a los usuarios sin descargar la cadena de bloques Ethereum en su dispositivo. Sin embargo, los clientes ligeros descargan los encabezados de los bloques como referencia.

Clientes de Ethereum:
existen múltiples implementaciones de clientes en una variedad de diferentes sistemas operativos y lenguajes de programación. Esta diversidad de clientes es importante para la salud a largo plazo de la red Ethereum. Los clientes de Ethereum son como softwares que permiten a los usuarios:

  • Aprueba transacciones / bloques
  • Crear / administrar cuentas
  • Enviar / recibir transacciones desde / hacia sus cuentas de Ethereum
  • Implemente contratos inteligentes en la cadena de bloques
  • Éter “mío” en la cadena de bloques Ethereum

Pocos clientes de Ethereum son Go-Ethereum, Parity, Cpp-Ethereum, Ruby-ethereum, etc.
Solidez:
El lenguaje de programación nativo de Ethereum es Solidity. Solidity es una sintaxis “orientada a contratos”, tipada estáticamente, similar a la de JavaScript. Diseñado para apuntar a la máquina virtual Ethereum (EVM). Admite herencia, bibliotecas. Compila las instrucciones en código de bytes para que luego puedan ser leídas por la red. Los archivos de origen pueden tener definiciones de contrato que son aleatorios en número y esto también tiene las directivas y directivas pragma.
La versión pragma es “pragma solidity ^ 0.4.0;”
MetaMask:
MetaMask es un tipo de billetera Ethereum digital que ayuda a ejecutar Ethereum dApps directamente en su navegador. Configurar una cuenta en MetaMask permite enviar y recibir Ether y también permite implementar Smart Contracts. Para recibir un Ether, debe tener una cuenta Ethereum o una billetera Ethereum para enviar y recibir Ether.
Transacción de gas:
una vez que se ejecuta un contrato, Ethereum consume ‘gas’, estos son como tokens para ejecutar los cálculos. Una tarifa de transacción impuesta a los mineros se cobra como una cierta cantidad de Ether y se toma del saldo de la cuenta del originador de la transacción. Cuanto mayor sea la tarifa, mayores son las posibilidades de que los mineros recojan las transacciones para su inclusión en el bloque. Proporcionar muy poco gas resultará en una transacción fallida.

Relacionado

❌ React Native, crear aplicación como Netflix con Mario Díez

[no_toc] [expand title="Índice del Vídeotutorial"] 1. FlatList Horizontal 2. Componente Swiper 3. Menú Animado y Header 4. FlatList Grid 5. Más Flexbox, Tabs y Linear gradiantes 6. Reproductor de Vídeo 7. Share API 8. Animatable Header y NativeEvents 9. React Navigation 10. Header Múltiple con Animated 11. Modal con React Navigation 12. React Navigation con Redux 13. Servidor NodeJS con MongoDB para React Native 14. Conectando ¡SEGUIR LEYENDO!

❌ React Native con Mario Díez

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Instalación 2. Introducción 3. Props y State 4. Fetch Data 5. ListView 6. Fech Data 2 7. Navigator IOS 8. Navigator 9. Flexbox 10. PropTypes 11. TabBarIOS 12. Formularios 13. AsyncStorage 14. Recorriendo Arrays con Map 15. Notificaciones Push 16. Notificaciones Push desde NodeJS 17. Barra de Búsqueda en ListView 18. Utilización de CameraRoll 19. Children o Props 20. Diferenciar ¡SEGUIR LEYENDO!

❌ React Native con Iván B. Trujillo

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Primeros Pasos 2. Componentes, Botones y Alertas 3. Pantalla de Login, Navegador y Vistas 4. Navegación por Pestañas 5. Peticiones a API y ListView 6. Vista Detalles y Paso de Propiedades a Componente Hijo [/expand] [yotuwp type="playlist" id="PLuzQ5Ac_9_cI-ukaElfIFKXyhLsADBiJe" ] [expand title="Creador"] Editor del blog de Medium: Canarias JS [/expand]

❌ Javascript con Píldoras Informáticas

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Presentación. Vídeo 1 2. Introducción. Vídeo 2 3. Sintaxis Básica I. Ubicación del código. Vídeo 3 4. Sintaxis Básica II. Estructuras Básicas. Vídeo 4 5. Sintaxis Básica III. Operadores Básicos. Vídeo 5 6. Sintaxis Básica IV. Operadores y prompt. Vídeo 6 7. Sintaxis Básica V Arrays, Matrices, Arreglos. Vídeo 7 8. Sintaxis Básica V. Arrays, Matrices, Arreglos II. Vídeo 8 ¡SEGUIR LEYENDO!

❌ Javascript con Falcon Masters

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Introducción 2. Variables 3. Tipos de Dato 4. Arreglos 5. Metodos y propiedades para los Arreglos 6. Condicionales 7. Ciclo Fo 8. Ciclo While 9. Funciones 10. Ejercicio con Funciones y Formularios 11. Scope de Javascript (ámbito de las variables) 12. Metodos y propiedades para Cadenas de Texto 13. Introducción al DOM (Document Object Model) 14. Creando Nodos del DOM ¡SEGUIR LEYENDO!

Deja un comentario