Programa

Desarrollo con Blockchains

Programa Desarrollo con Blockchains

Aprendé los conceptos, lenguajes y herramientas de desarrollo en Blockchains, basadas en la plataforma más prometedora de estas tecnologías: Ethereum. Daearrollá apps descentralizadas en Solidity, estándar para aplicaciones de Smart Contracts.

En conjunto con

Duración: 16 semanas

Inicio: 21 de agosto

Modalidad: Presencial

Tipo: Programa Ejecutivo

Área: Tecnología

Lugar: Mario Bravo 1050

Introducción

Las tecnologías de blockchains están revolucionando las formas de transaccionar en la economía moderna. Esto parece exagerado pero no lo es. Las blockchains permiten distribuir la confianza entre una gran cantidad de pares, haciendo extremadamente difícil el fraude y la alteración de los registros de transacción, y haciendo innecesaria la mediación de entidades o autoridades de provisión de confianza.

Esto está alterando de manera tan profunda las bases sobre las que se construyen los sistemas y emprendimientos en Internet, que hace muy difícil pronosticar quiénes serán los futuros líderes de la economía digital. Sin embargo está claro que las tecnologías de blockchains serán el ingrediente principal de las soluciones y protagonistas que triunfen en esta evolución.

La cantidad de áreas de la economía que ya están siendo afectadas por estas tecnologías es muy grande. Algunos ejemplos son: alimentos y agricultura, energía, salud, elecciones y e-democracia, publicidad en Internet, sistemas de gestión y redes sociales.

La comprensión y las habilidades de los conceptos y herramientas de desarrollo asociadas a los blockchains son la llave para asomarse a la gran cantidad de oportunidades profesionales y de emprendimiento que existen y que se generarán en el futuro inmediato.

El Programa en Desarrollo con Blockchains de la Facultad de Ingeniería de la UP es una introducción a los conceptos, lenguajes y herramientas de desarrollo de Blockchains, basadas en la plataforma más prometedora de estas tecnologías, Ethereum, para trabajar con transacciones, criptomonedas, contratos inteligentes, emisión de valores y otras aplicaciones.

En este programa aprenderás a desarrollar aplicaciones descentralizadas en Solidity, estándar para aplicaciones de Smart Contracts, tanto en redes públicas como privadas. Se dará gran importancia a los aspectos de seguridad y optimización. Se incluye una introducción a los protocolos más importantes de seguridad y transacción digital, su evolución hasta las blockchains, las plataformas y emprendimientos que se perfilan como referentes en esta, transformación. El programa apunta a formar desarrolladores e innovadores de sistemas basados en blockchains, tiene un gran componente práctico, e incluye el desarrollo de un proyecto final.

A quién está dirigido

Está orientado a desarrolladores e innovadores de sistemas basados en blockchains, tiene un gran componente práctico e incluye el desarrollo de un proyecto final.

Se recomienda poseer conocimientos básicos sobre programación en alguno de los lenguajes modernos (Javascript, Java, o Python, o similar).

Cada alumno debe contar con su notebook para la realización de las prácticas en clase.

Plan de estudios

Módulo 1: Introducción a Blockchain

Perspectiva histórica. P2P. Problema de doble gasto. Problema de los generales bizantinos. Criptografía. Diversos métodos de consenso. Merkle tree. Dapp. Blockchain. Bitcoin. Ethereum. Monero. Zcash. Ripple. Wallets. Exchanges. Oráculos. Tokens. ICOs. Gobernabilidad. Aspectos legales y regulatorios.

Módulo 2: Ethereum y Smart Contracts en Solidity EVM 

Environment setup (Nodo + Web3 + Compilador + IDE), Data types, Operators, Functions, Visibility, ERC20 token standard interface, Events and logging, inheritance and polymorphism, Exceptions, Security concerns, Deployment on Ethereum blockchain, Wei vs Ether, Mnemonic Phrases, Ropsten. MetaMask.

Módulo 3: Limitaciones y Eficiencia

Costos de transacción o Gas, ejecución y almacenamiento. Cálculo del tiempo. Pseudo-Random numbers. Opcodes de la EVM. Uso de gas. Estructuras de datos más eficientes. Optimizaciones. Consecuencias no deseadas. No-String variables. Bounded loops. Quitar peso de cálculo.

Módulo 4: Seguridad

Conflicto de the Dao, Detectar vulnerabilidades de código, honeypot. Reentrancy Attacks. Call of the unknown. Exception disorder. Gasless Send / Transfer. Type Casts. Cast unknown. Keeping secrets. Inmutable Bugs. Ether lost in transfer. Stack size limit. Unpredictable state. Generating randomness. Mapping collisions.

Módulo 5: Futuro

Innovaciones. RSK. Cardano. Algorand. Spectre, Avalanche, DFINITY. Exchanges descentralizados. marketplaces. Securitización de activos.

Aranceles vigentes al .

Introducción

Las tecnologías de blockchains están revolucionando las formas de transaccionar en la economía moderna. Esto parece exagerado pero no lo es. Las blockchains permiten distribuir la confianza entre una gran cantidad de pares, haciendo extremadamente difícil el fraude y la alteración de los registros de transacción, y haciendo innecesaria la mediación de entidades o autoridades de provisión de confianza.

Esto está alterando de manera tan profunda las bases sobre las que se construyen los sistemas y emprendimientos en Internet, que hace muy difícil pronosticar quiénes serán los futuros líderes de la economía digital. Sin embargo está claro que las tecnologías de blockchains serán el ingrediente principal de las soluciones y protagonistas que triunfen en esta evolución.

La cantidad de áreas de la economía que ya están siendo afectadas por estas tecnologías es muy grande. Algunos ejemplos son: alimentos y agricultura, energía, salud, elecciones y e-democracia, publicidad en Internet, sistemas de gestión y redes sociales.

La comprensión y las habilidades de los conceptos y herramientas de desarrollo asociadas a los blockchains son la llave para asomarse a la gran cantidad de oportunidades profesionales y de emprendimiento que existen y que se generarán en el futuro inmediato.

El Programa en Desarrollo con Blockchains de la Facultad de Ingeniería de la UP es una introducción a los conceptos, lenguajes y herramientas de desarrollo de Blockchains, basadas en la plataforma más prometedora de estas tecnologías, Ethereum, para trabajar con transacciones, criptomonedas, contratos inteligentes, emisión de valores y otras aplicaciones.

En este programa aprenderás a desarrollar aplicaciones descentralizadas en Solidity, estándar para aplicaciones de Smart Contracts, tanto en redes públicas como privadas. Se dará gran importancia a los aspectos de seguridad y optimización. Se incluye una introducción a los protocolos más importantes de seguridad y transacción digital, su evolución hasta las blockchains, las plataformas y emprendimientos que se perfilan como referentes en esta, transformación. El programa apunta a formar desarrolladores e innovadores de sistemas basados en blockchains, tiene un gran componente práctico, e incluye el desarrollo de un proyecto final.

A quién está dirigido

Está orientado a desarrolladores e innovadores de sistemas basados en blockchains, tiene un gran componente práctico e incluye el desarrollo de un proyecto final.

Se recomienda poseer conocimientos básicos sobre programación en alguno de los lenguajes modernos (Javascript, Java, o Python, o similar).

Cada alumno debe contar con su notebook para la realización de las prácticas en clase.

Plan de estudios

Módulo 1: Introducción a Blockchain

Perspectiva histórica. P2P. Problema de doble gasto. Problema de los generales bizantinos. Criptografía. Diversos métodos de consenso. Merkle tree. Dapp. Blockchain. Bitcoin. Ethereum. Monero. Zcash. Ripple. Wallets. Exchanges. Oráculos. Tokens. ICOs. Gobernabilidad. Aspectos legales y regulatorios.

Módulo 2: Ethereum y Smart Contracts en Solidity EVM 

Environment setup (Nodo + Web3 + Compilador + IDE), Data types, Operators, Functions, Visibility, ERC20 token standard interface, Events and logging, inheritance and polymorphism, Exceptions, Security concerns, Deployment on Ethereum blockchain, Wei vs Ether, Mnemonic Phrases, Ropsten. MetaMask.

Módulo 3: Limitaciones y Eficiencia

Costos de transacción o Gas, ejecución y almacenamiento. Cálculo del tiempo. Pseudo-Random numbers. Opcodes de la EVM. Uso de gas. Estructuras de datos más eficientes. Optimizaciones. Consecuencias no deseadas. No-String variables. Bounded loops. Quitar peso de cálculo.

Módulo 4: Seguridad

Conflicto de the Dao, Detectar vulnerabilidades de código, honeypot. Reentrancy Attacks. Call of the unknown. Exception disorder. Gasless Send / Transfer. Type Casts. Cast unknown. Keeping secrets. Inmutable Bugs. Ether lost in transfer. Stack size limit. Unpredictable state. Generating randomness. Mapping collisions.

Módulo 5: Futuro

Innovaciones. RSK. Cardano. Algorand. Spectre, Avalanche, DFINITY. Exchanges descentralizados. marketplaces. Securitización de activos.