Este tema se me hace muy emocionante, y no hablo por las criptomonedas o la emoción de la inversión, a mi me eriza la piel es pensar en las capacidades y proyectos que se pueden montar sobre la blockchain, como seguimiento de cadenas de suministro, el tan ansiado voto electrónico, gestión de identidad, seguros, sistemas de financiación descentralizados entre otros. Los contratos inteligentes abren un mundo de posibilidades y me pregunte que necesito aprende, así que aquí va el resumen.
¿Qué es Ethereum?
Ethereum es una plataforma de software de código abierto que se basa en la tecnología blockchain, al igual que Bitcoin. Sin embargo, en contraste con Bitcoin, que se diseñó principalmente como una moneda digital, Ethereum se concibió para ser una plataforma mucho más amplia que permite la creación y ejecución de aplicaciones descentralizadas (dApps) y contratos inteligentes.
¿Por qué elegir Ethereum?
Resumido, básicamente por que es la puerta de entrada mas accesible para aprender, dependiendo de como nos vaya exploraremos otras opciones. Te dejo una lista detalla de las razones:
- Comunidad y ecosistema: Ethereum tiene una comunidad de desarrolladores grande y activa, con una amplia gama de recursos disponibles, como tutoriales, bibliotecas y herramientas. Esto facilita el aprendizaje y la obtención de ayuda.
- Lenguaje de programación: Solidity, el lenguaje de programación principal para contratos inteligentes en Ethereum, es relativamente fácil de aprender para los programadores con experiencia en otros lenguajes como JavaScript o Python.
- Soporte: Ethereum tiene un fuerte soporte por parte de empresas y organizaciones líderes en la industria, lo que aumenta la confianza en la plataforma a largo plazo.
- Flexibilidad: Ethereum es una plataforma versátil que se puede utilizar para crear una amplia gama de aplicaciones descentralizadas, desde finanzas descentralizadas (DeFi) hasta juegos y mercados de predicción.
- Madurez: Ethereum es la plataforma blockchain más madura y estable, con una larga trayectoria y un historial probado de seguridad.
- Escalabilidad: Ethereum está trabajando activamente en soluciones de escalabilidad, como Ethereum 2.0, que tiene el potencial de aumentar significativamente la capacidad de procesamiento de la red.
- Oportunidades: El ecosistema de Ethereum está en constante expansión, con nuevas aplicaciones y proyectos lanzados continuamente, lo que ofrece una gran cantidad de oportunidades para los desarrolladores.
¿Qué es un SmartContract?
Un Smart Contract, o contrato inteligente, es un programa informático que se ejecuta en la blockchain esto asegura que se cumpla y ejecuta acuerdos entre dos o más partes. Se trata de un código autoejecutable que define las reglas de un contrato y las ejecuta automáticamente cuando se cumplen las condiciones predefinidas.
El código se compila en bytecode, un formato que la blockchain puede entender y ejecutar. Una vez que el contrato inteligente se implementa se convierte en un programa inmutable y transparente que no puede ser modificado por ninguna de las partes involucradas.
¿Qué es Solidity?
Solidity es un lenguaje de programación de alto nivel y tipado estáticamente diseñado específicamente para escribir contratos inteligentes. Como mencionamos, estos son a prueba de manipulaciones, transparentes y seguros debido a la naturaleza de la tecnología blockchain.
El código Solidity se compila a código de máquina, que puede ser entendido y ejecutado por la Máquina Virtual Ethereum (EVM), un entorno de ejecución descentralizado dentro de la blockchain Ethereum. Sin embargo no estamos amarrados a Ethereum, ya que podemos utilizar la EVM en otras blockchains compatibles:
- Polygon: Es una plataforma blockchain compatible con EVM que ofrece mayor escalabilidad y menores costos de transacción que Ethereum.
- Binance Smart Chain (BSC): Otra plataforma blockchain compatible con EVM, BSC también permite el desarrollo de contratos inteligentes con Solidity, es muy popular para el trading de criptomonedas.
- Avalanche: Es una plataforma de blockchain de capa 1 que también admite la Máquina Virtual Ethereum, lo que permite la ejecución de contratos inteligentes Solidity. Es decir, no se basa en otra blockchain para su funcionamiento.
Algo importante que también debemos tener en cuenta es que, existen herramientas que te permiten compilar código Solidity a C++. Esto nos permite tener un mayor control donde se requiere un alto rendimiento o una integración especifica.