Tengo más de 15 años de experiencia en desarrollo web y de aplicaciones y desde hace algunos años también me he interesado en el desarrollo relacionado con blockchain.
Ethereum es una plataforma blockchain con su propia criptomoneda, llamada Ether (ETH) o Ethereum, y su propio lenguaje de programación, llamado Solidity.
Como red blockchain, Ethereum es un libro de contabilidad público descentralizado para verificar y registrar transacciones. Los usuarios de la red pueden crear, publicar, monetizar y usar aplicaciones en la plataforma y usar su criptomoneda Ether como pago. Los iniciados llaman a las aplicaciones descentralizadas en la red "dApps".
Un "contrato inteligente" es un programa que se ejecuta en la cadena de bloques Ethereum. Es una colección de código (sus funciones) y datos (su estado) que reside en una dirección específica en la cadena de bloques Ethereum. Los contratos inteligentes son un tipo de cuenta Ethereum. Esto significa que tienen saldo y pueden enviar transacciones a través de la red. Sin embargo, no están controlados por un usuario, sino que se distribuyen a través de la red y se ejecutan según lo planeado. Las cuentas de usuario pueden interactuar con un contrato inteligente enviando transacciones que realizan una función definida en el contrato inteligente. Los contratos inteligentes pueden definir reglas, como un contrato normal, y aplicarlas automáticamente a través del código. Los contratos inteligentes no se pueden eliminar de forma predeterminada y las interacciones con ellos son irreversibles.
Una aplicación descentralizada (dapp) es una aplicación construida en una red descentralizada que combina un contrato inteligente y una interfaz de usuario frontend. Un dapp tiene su código de backend ejecutándose en una red de igual a igual descentralizada. Por lo tanto, es diferente de una aplicación, donde el código de backend se ejecuta en servidores centralizados. Una dapp puede tener un código de interfaz e interfaces de usuario escritas en cualquier idioma (como una aplicación) que puede realizar llamadas a su backend. Además, su interfaz se puede alojar en un almacenamiento descentralizado como IPFS.
Ethereum no es la única cadena de bloques con la que trabajo como desarrollador