La tecnología de BlockchainDiego Martín Moreno 16 julio, 2019 En el anterior artículo hablamos de los conceptos básicos del blockchain, y en este segundo artículo nos centraremos en las tecnologías actuales para implementar una solución con blockchain. Blockchain y los Smart Contract nacieron en los 90 conceptualmente, pero ha sido en los últimos 9 años cuando han aparecido diferentes soluciones tecnológicas, en este momento existen multitud de implementaciones, pero podemos destacar tres: 1. Por un lado tenemos Corda R3, que es un blockchain creado en 2014, enfocado sobre todo para el sector financiero, donde no existe el concepto moneda y existe el concepto de notario. 2. Tenemos también Hyperledger, es un blockchain que nace en 2015 y es de uso más general, con un diseño modular, sin moneda, y donde la cadena o ledger que creemos está muy pegado al diseño de nuestro smart contract. 3. Y por último podemos hablar de Ethereum, que es un blockchain que también nace en 2015, con un diseño más generalista, con su propia moneda, el ether, y donde la red está enfocado su diseño a los aplicaciones Dapp (decentralized application), para poder crear aplicaciones descentralizadas que se ejecutan dentro de Ethereum. Para la tecnología nos vamos centrar en Ethereum, como ejemplo de cómo podemos construir una aplicación en blockchain, ya que es una red más flexible, y además existen entornos de test públicos, donde podemos construir nuestra aplicaciones sin prácticamente costes. Para empezar debemos hablar de Ethereum, que es una red con su propia moneda, el ether, y que es el elemento clave de todo el sistema. Para poder ejecutar los smart contract necesitamos disponer de Gas, que se consigue a través del Ether, que está en nuestra cuentas dentro de Ethereum, para poder pagar a los mineros que nos minan o ejecuten nuestros smart contract. Además del ether, Ethereum dispone de un segundo componente básico en la red y es la Ethereum Virtual Machine (EVM), que es el software que ejecutan todos los nodos de la red, y que permite ejecutar los smart contract con seguridad. Esta EVM puede estar implementada en diferentes lenguajes, simplemente hace falta cumplir las especificaciones del Ethereum Yellow Paper. En este momento existen dos grandes implementaciones, por una lado Geth, que es la implementación en Go de la EVM y Parity por otro, que es la implementación en Rust. Las grandes ventajas de la EVM son: Es determinista. Siempre nos devolverá el mismo resultado, para los mismos datos y las mismas operaciones, es decir 2 más 2 siempre será 4.Es terminable. Nuestras operaciones no podrán ejecutar indefinidamente, ya que todas las instrucciones ejecutadas en la EVM tienen un coste de gas y tenemos un límite de gasto para cualquier smart contract.Está aislado. Nadie puede manipular la ejecución del smart contract. Los nodos y el ether son la base del sistema, ahora ya podemos desplegar nuestros smart contract, que son programas que pueden desarrollarse en distintos lenguajes aunque todos se ejecutan en la misma red. En este momento en Ethereum, el principal lenguaje de programación de Smart Contract es Solidity, que es una mezcla entre C y Javascript. Ya tenemos todos los elementos para construir nuestra aplicaciones en Ethereum, una red con nodos para ejecutar los contratos, moneda para pagar las transacción y un lenguaje para construir los smart contract, y ahora surge la pregunta, ¿que tipo de blockchain quiero utilizar? ¿Qué son Blockchain y los Smart Contracts? Cuando hablamos de redes dentro de blockchain tenemos tres tipo de redes dependiendo del tipo de privacidad de las mismas: Redes públicas. Estas son las red donde cualquier persona se puede unir a la red, en el caso de Ethereum se denomina Mainnet, también existiendo redes de pruebas públicas como la red Ropsten. Su principal característica es que la información que esté en esta red será pública. Este tipo de redes está orientado sobre todo a acuerdos públicos, certificados o cual tipo de funcionalidad que necesite ser de dominio público, y donde los costes económicos son más elevados que en otro tipo de redes. Redes semipúblicas. Este tipo de redes son las que están orientadas para el intercambio de información entre distintas organizaciones, y donde los smart contract se encarga de gestionar las relaciones entre los miembros, de un modo automático y sin necesitar supervisión, lo cual mejora los procesos productivos. Una de las ventajas de estas redes es que no necesitan tantos recursos como las redes públicas. Existe ya implementacion sobre Ethereum que es Quorum, de JP Morgan, específico para redes semipúblicas. En el caso de España tenemosAlastria como red semipública implementada sobre Quorum. Redes privadas. El último tipo de red, que sería el desplegado dentro de una empresa y que no se tiene que comunicar con el exterior, donde queremos simplificar procesos y donde además tenemos toda la información auditada. Como vemos tenemos distintos tipos de redes para cada tipo de uso, y donde dependiendo de nuestro caso de uso deberemos ir a un tipo de red. Y todo esto es hoy en día, pero tenemos que estar preparados para los futuros cambios y las mejoras de las tecnologías existentes, como por ejemplo los futuros cambios en la red Ethereum. En Ethereum tenemos varios proyectos para mejorar la red, por un lado Plasma, un proyecto para mejorar la capacidad de Ethereum de tratar más transacciones por segundo, por otro Casper que nace con la idea de disminuir el consumo de la red con un nuevo protocolo que una el algoritmo Proof-Of-Stake (PoS) y Proof-of-Work (PoW). Como hemos visto en estos dos artículos, blockchain es un tecnología joven, que irá mejorando y cambiando con el tiempo, pero que ha venido para quedarse y modificar en muchos casos las soluciones que podemos dar, igual que ocurrió con las tecnologías de Big Data. Para mantenerte al día con LUCA visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn o YouTube. La expansión y el futuro de Aura, la Inteligencia Artificial de Telefónica¿Qué emoji eres? La Inteligencia Artificial te responde
Nacho Palou 5G: cuatro casos de uso reales y prácticos El último informe “La Sociedad Digital en España 2022” [1] de Fundación Telefónica confirma la consolidación de los procesos de digitalización en la sociedad española. En este sentido, cabe...
Nacho Palou Cursos gratuitos online para aprender IoT (Internet de las Cosas) en 2023 Internet de las Cosas (IoT) es una de las tecnologías digitales de nueva generación con un impacto significativo en múltiples sectores, desde la industria a la agricultura, pasando por...
Fran Ramírez Mujeres que cambiaron las Matemáticas Por Fran Ramírez y Fran Fenoll Aprovechando que en marzo también se celebra el día Internacional de las Matemáticas, hemos querido rendir con esta recopilación un pequeño homenaje a mujeres que...
Nacho Palou #MujeresHacker de Telefónica Tech: Jess Woods, experta en Cloud Con motivo del Día de la Mujer, iniciamos una serie de entrevistas protagonizadas por #MujeresHacker de Telefónica Tech. Mujeres que, con su trabajo y esfuerzo, nos convierten en una...
Sergio Piorno Güemes Un nuevo paradigma financiero: la tokenización de activos En los últimos años se ha acelerado la digitalización del ecosistema financiero gracias a la adopción generalizada de internet y su consecuente desarrollo. Esto, junto con el auge de los dispositivos móviles,...
Nacho Palou MWC: Todas las innovaciones y el conocimiento experto que hemos compartido Después de cuatro intensos días, Mobile Word Congress (MWC) 2023 se despide hoy hasta el año que viene. Desde el pasado lunes, los asistentes han tenido ocasión de ver...