Diferencia entre revisiones de «Ethereum»
m (Corrección errata) |
|||
Línea 17: | Línea 17: | ||
Los contratos inteligentes son programas y protocolos que facilitan la ejecución automática de un contrato. Los contratos de Ethereum pueden ser implementados en varios lenguajes y compilados en bytecode para la Máquina Virtual de Ethereum (EVM) antes de ser distribuidos a la blockchain. | Los contratos inteligentes son programas y protocolos que facilitan la ejecución automática de un contrato. Los contratos de Ethereum pueden ser implementados en varios lenguajes y compilados en bytecode para la Máquina Virtual de Ethereum (EVM) antes de ser distribuidos a la blockchain. | ||
− | Cada contrato es ejecutado en cada nodo de la red Ethereum simultáneamente y el resultado es el consenso del output. Las notas en la documentación observan que realizar cálculos en la EVM es muy costoso y que "sólo podrás hacer cómputos equivalentes a los que podrías hacer en un teléfono móvil de 1999". Usos aceptables de la EVM incluyen la ejecución de [https://es.wikipedia.org/wiki/L%C3%B3gica_de_negocio lógica de negocios] ("si esto entonces aquello") y la verificación de de firmas y otros objetos criptográficos; usos inaceptables abarcan la utilización de la EVM como un almacén de archivos, email o sistemas de mensajería, y aplicaciones que encajan con el modelo de computación en la nube como algoritmos genéticos, análisis de grados o ''machine learning''. | + | Cada contrato es ejecutado en cada nodo de la red Ethereum simultáneamente y el resultado es el consenso del output. Las notas en la documentación observan que realizar cálculos en la EVM es muy costoso y que "sólo podrás hacer cómputos equivalentes a los que podrías hacer en un teléfono móvil de 1999". Usos aceptables de la EVM incluyen la ejecución de [https://es.wikipedia.org/wiki/L%C3%B3gica_de_negocio lógica de negocios] ("si esto entonces aquello") y la verificación de de firmas y otros objetos criptográficos; usos inaceptables abarcan la utilización de la EVM como un almacén de archivos, email o sistemas de mensajería, y aplicaciones que encajan con el modelo de computación en la nube como algoritmos genéticos, análisis de grados o ''machine learning''. Este tipo de usos son mas adecuados para [[Hyperledger]]. |
Para más información se puede consultar [https://github.com/ethereum/wiki/wiki/Ethereum-Development-Tutorial]. | Para más información se puede consultar [https://github.com/ethereum/wiki/wiki/Ethereum-Development-Tutorial]. |
Revisión de 21:10 22 ene 2017
Ethereum es una plataforma descentralizada sobre la cual se pueden ejecutar contratos inteligentes (smart contracts), estos son, aplicaciones cuyo comportamiento es exactamente el que anuncian, sin posibilidad de manipulación por terceros, caída o censura. Para ello, ofrece un lenguaje de programación, Solidity, con el que crear estos contratos.
En otras palabras, Ethereum ha sido concebido para permitir a la gente escribir fácilmente aplicaciones descentralizadas (Đapps) utilizando la tecnología del blockchain.
Para ejecutar los contratos, Ethereum usa ether, una criptomoneda descentralizada, que a diferencia de otras como Bitcoin, no solo reflejan transacciones de valor monetario, sino que alimentan los smart contracts. Con ellos, se pretende poder ejecutar de forma segura servicios como sistemas de votación, plataformas de crowdfunding e incluso contratos laborales.
Propósito
El propósito original del Ethereum Project era construir y difundir un reemplazo a la World Wide Web de forma que sea descentralizado y pseudónimo: publicación de contenido estático (Swarm), sistema de mensajería pseudónimo y de bajo nivel (Whisper), transacciones de confianza (Ethereum) y una interfaz de usuario integrada (Mist).
Para más información en cuanto al propósito de Ethereum, puede consultarse [1].
Contratos
Los contratos inteligentes son programas y protocolos que facilitan la ejecución automática de un contrato. Los contratos de Ethereum pueden ser implementados en varios lenguajes y compilados en bytecode para la Máquina Virtual de Ethereum (EVM) antes de ser distribuidos a la blockchain.
Cada contrato es ejecutado en cada nodo de la red Ethereum simultáneamente y el resultado es el consenso del output. Las notas en la documentación observan que realizar cálculos en la EVM es muy costoso y que "sólo podrás hacer cómputos equivalentes a los que podrías hacer en un teléfono móvil de 1999". Usos aceptables de la EVM incluyen la ejecución de lógica de negocios ("si esto entonces aquello") y la verificación de de firmas y otros objetos criptográficos; usos inaceptables abarcan la utilización de la EVM como un almacén de archivos, email o sistemas de mensajería, y aplicaciones que encajan con el modelo de computación en la nube como algoritmos genéticos, análisis de grados o machine learning. Este tipo de usos son mas adecuados para Hyperledger.
Para más información se puede consultar [2].
Desarrollo
A finales de 2013 comenzó el proyecto. Las primeras pruebas de concepto (en Go y C++) fueron publicadas en 2014. Desde entonces, varias PoCs han surgido, hasta que el 30 de julio de 2015 se hizo pública la blockchain de Ethereum.
Ethereum es un proyecto open source. La página de github puede consultarse en Repositorios de Ethereum. Señalamos algunos de ellos:
- Solidity: el lenguaje de programación orientado a contratos. Un ejemplo de contrato (de crowdfunding, en este caso), puede encontrarse en https://github.com/chriseth/cpp-ethereum/wiki/Crowdfunding-example-contract-in-Solidity. Hay que tener en cuenta que Solidity todavía no está especificado del todo.
- Mist: una herramienta para navegar y usar las dapps. Se encuentra en desarrollo temprano, aunque avanza rápidamente.
- Webthree-Umbrella: cliente de Ethereum en C++.
- Yellowpaper: la especificación formal de Ethereum. En formato .tex.
Algunos proyectos basados en Ethereum
Muchos de ellos se encuentran en desarrollo.
- Augur: predicciones descentralizadas acerca de cualquier tema.
- Colony: creación de compañías y asociaciones autónomas.
- BlockApps: creación de Dapps.
- EtherParty: servicios para smart contracts.
- HitFin: trading.