Ethereum





 

¿Qué es Ethereum?

Ethereum es una plataforma descentralizada que ejecuta contratos inteligentes: aplicaciones que se ejecutan exactamente como se programaron sin posibilidad de tiempo de inactividad, censura, fraude o interferencia de terceros.

  • Ethereum
  • Filosofía
  • Cuentas Ethereum
  • Mensajes y transacciones
  • mensajes
  • Función de transición del estado de Ethereum
  • Ejecución del código
  • Blockchain and Mining

Ethereum es una Blockchain o Tecnología de Contabilidad Distribuida (DTL) con un lenguaje de programación Turing completo integrado, una computadora blockchain, que permite que cualquiera pueda escribir contratos inteligentes y aplicaciones descentralizadas simplemente escribiendo la lógica en unas pocas líneas de código.

Ethereum fue financiado por crowdfundments durante agosto de 2014 por admiradores de todo el mundo. Está desarrollado por ETHDEV con contribuciones de grandes mentes de todo el mundo.

El protocolo Ethereum fue concebido originalmente como una versión mejorada de la criptomoneda Bitcoin, para superar las limitaciones de su lenguaje de programación, proporcionando características avanzadas tales como custodia sobre la blockchain, límites de retiro, contratos financieros, mercado de juegos de azar y similares a través de un lenguaje de programación muy generalizado.

En Ethereum, una versión básica de Namecoin, la base de datos de registro de nombres descentralizada, se puede escribir en dos líneas de código, y otros protocolos como monedas y sistemas de reputación se pueden construir en menos de veinte líneas. Contratos inteligentes, “cajas” criptográficas que contienen valor y sólo se desbloquean si se cumplen ciertas condiciones, también pueden ser incorporados encima de la plataforma, con mucho más poder que la ofrecida por el script de Bitcoin debido al poder agregado del Turing completo.

El protocolo Ethereum no “soporta” cualquiera de las aplicaciones directamente, pero la existencia de un lenguaje de programación Turing completo permite que contratos arbitrarios teóricamente se puedan crear para cualquier tipo de transacción o aplicación. Lo que es más interesante de Ethereum, sin embargo, es que el protocolo Ethereum se mueve mucho más allá de la moneda. Protocolos alrededor de almacenamiento de archivos descentralizados, computación descentralizada y mercados de predicción descentralizados, entre docenas de otros conceptos similares, tienen el potencial para aumentar sustancialmente la eficiencia de la industria computacional, y proporcionar un gran impulso a otros protocolos peer-to-peer adicionando por primera vez una capa económica. Por último, también hay una variedad considerable de aplicaciones que no tienen nada que ver con el dinero en absoluto.

ETHER.

Ethereum-Criptomoneda_Blockchain




 

Ether es la criptomoneda de Ethereum, el combustible que impulsa esta plataforma de aplicaciones distribuidas. Es una criptomoneda utilizada por los clientes de la plataforma Ethereum para realizar pagos a otras personas o a máquinas que ejecutan operaciones solicitadas. Es decir, Ether es el incentivo que asegura que los desarrolladores escriban aplicaciones de calidad (la codificación innecesaria cuesta más) y que la red permanezca saludable (la gente es recompensada por los recursos aportados).

La oferta total de Ether y su tasa de emisión fue decidida en la preventa de 2014. Los datos claves son los siguientes:

60 millones de Ether fueron creados para los contribuyentes de la preventa. 12 millones fueron creados para el fondo de desarrollo, la mayoría de ellos fue a los primeros contribuyentes y a los desarrolladores y el resto a la Fundación Ethereum.

5 Ether son creados por cada bloque (cada 15-17 segundos) para los mineros de los bloques.
2-3 Ether son algunas veces enviados a otros mineros si ellos fueron capaces de encontrar una solución pero su bloque no fue incluido (llamada recompensa tío/tía).

De acuerdo a los términos acordados por todas las partes en la preventa de 2014, la emisión de Ether está limitada a 18 millones de Ether por año (25 % de la oferta inicial). Aunque esta tasa se espera no sea mantenida ya que en el 2017, Ethereum cambiará su esquema de minado de Prueba de Trabajo (PoW) a Prueba de Participación (PoS) bajo el nombre clave Casper.

GAS.

Con el fin de evitar bucles infinitos accidentales, hostiles, u otro desperdicio computacional en el código, cada transacción es obligada a establecer un límite al número de pasos computacionales de ejecución de código que ella puede utilizar. La unidad fundamental de computación es “gas”. Por lo general, un paso computacional cuesta 1 gas, pero algunas operaciones cuestan cantidades más altas de gas porque son más costosas computacionalmente, o porque aumentan la cantidad de datos que deben ser almacenados como parte del estado. También hay una tarifa de 5 gas por cada byte en los datos de transacción.


La intención del sistema de comisiones es obligar a un atacante a pagar proporcionalmente por cada recursos que consume, incluyendo computación, ancho de banda y almacenamiento. Por lo tanto, cualquier operación que conduzca a la red a consumir una mayor cantidad de cualquiera de estos recursos debe tener una comisión de gas más o menos proporcional al incremento.

>Ethereum

La intención de Ethereum es crear un protocolo alternativo para la construcción de aplicaciones descentralizadas, proporcionando un conjunto diferente de concesiones que creemos serán muy útiles para una gran clase de aplicaciones descentralizadas, con énfasis particular en situaciones donde el tiempo de desarrollo es rápido, la seguridad para pequeños y aplicaciones poco utilizadas, y la capacidad de diferentes aplicaciones para interactuar de manera muy eficiente, son importantes. Ethereum hace esto al construir lo que es esencialmente la última capa fundamental abstracta: una cadena de bloques con un lenguaje de programación completo de Turing, que permite a cualquiera escribir contratos inteligentes y aplicaciones descentralizadas donde pueden crear sus propias reglas arbitrarias de propiedad, formatos de transacción y funciones de transición de estado. Una versión escueta de Namecoin se puede escribir en dos líneas de código, y otros protocolos como monedas y sistemas de reputación se pueden construir en menos de veinte. Los contratos inteligentes, “cajas” criptográficas que contienen valor y solo lo desbloquean si se cumplen ciertas condiciones, también se pueden construir en la parte superior de la plataforma, con mucha más potencia que la ofrecida por Bitcoin scripting debido a los poderes adicionales de Turing-completitud. valor-conciencia, blockchain-awareness y estado.

Filosofía:

El diseño detrás de Ethereum tiene la intención de seguir los siguientes principios:

Simplicidad :

El protocolo de Ethereum debe ser lo más simple posible, incluso a costa de algún almacenamiento de datos o ineficiencia de tiempo. fn. 3 Un programador promedio idealmente debería ser capaz de seguir e implementar toda la especificación, fn. 4 a fin de realizar plenamente el potencial democratizador sin precedentes que aporta la criptomoneda y promover la visión de Ethereum como un protocolo abierto a todos. Cualquier optimización que agregue complejidad no debe incluirse a menos que esa optimización proporcione un beneficio muy sustancial.

Universalidad :

Una parte fundamental de la filosofía de diseño de Ethereum es que Ethereum no tiene “características”. fn. 5 En cambio, Ethereum proporciona un lenguaje de scripting interno de Turing completo, que un programador puede usar para construir cualquier contrato inteligente o tipo de transacción que se pueda definir matemáticamente. ¿Quieres inventar tu propio derivado financiero? Con Ethereum, puedes. ¿Quieres hacer tu propia moneda? Configurar como un contrato de Ethereum. ¿Desea configurar un Daemon o Skynet a gran escala? Es posible que necesite tener unos miles de contratos interconectados, y asegúrese de alimentarlos generosamente, para hacer eso, pero nada lo detiene con Ethereum a su alcance.
Modularidad : las partes del protocolo de Ethereum deben diseñarse para que sean lo más modulares y separables posible. En el transcurso del desarrollo, nuestro objetivo es crear un programa en el que, si se hiciera una pequeña modificación de protocolo en un lugar, la pila de aplicaciones siguiera funcionando sin más modificaciones. Innovaciones como Ethash (ver el Apéndice de Yellow Paper o el artículo de wiki ), árboles de Patricia modificados ( Yellow Paper , wiki ) y RLP ( YP , wiki)) deberían ser, y son, implementadas como bibliotecas separadas, de características completas. Esto es así a pesar de que se utilizan en Ethereum, incluso si Ethereum no requiere ciertas características, tales características todavía se pueden usar en otros protocolos también. El desarrollo de Ethereum debe realizarse al máximo para beneficiar a todo el ecosistema de criptomonedas, no solo a sí mismo.

Agilidad :

Los detalles del protocolo de Ethereum no están escritos en piedra. Aunque seremos extremadamente juiciosos sobre la realización de modificaciones a los constructos de alto nivel, por ejemplo con la hoja de ruta de fragmentación , la ejecución de abstracción, con solo la disponibilidad de datos consagrada en consenso. Las pruebas computacionales posteriores en el proceso de desarrollo pueden llevarnos a descubrir que ciertas modificaciones, por ejemplo, a la arquitectura del protocolo o a la Máquina Virtual Ethereum (EVM), mejorarán sustancialmente la escalabilidad o la seguridad. Si se encuentran tales oportunidades, las explotaremos.

No discriminación y no censura : el protocolo no debe intentar restringir o prevenir activamente categorías específicas de uso. Todos los mecanismos reguladores en el protocolo deben diseñarse para regular directamente el daño y no intentar oponerse a aplicaciones indeseables específicas. Un programador puede incluso ejecutar un script de bucle infinito encima de Ethereum mientras estén dispuestos a seguir pagando la tarifa de transacción por paso computacional.

Cuentas Ethereum

En Ethereum, el estado se compone de objetos llamados “cuentas”, cada cuenta tiene una dirección de 20 bytes y las transiciones de estado son transferencias directas de valor e información entre cuentas. Una cuenta Ethereum contiene cuatro campos:

El nonce , un contador utilizado para asegurarse de que cada transacción solo se pueda procesar una vez

El balance de éter actual de la cuenta
El código de contrato de la cuenta , si está presente
El almacenamiento de la cuenta (vacío por defecto)

“Ether” es el principal criptosembolizador interno de Ethereum, y se utiliza para pagar tarifas de transacción. En general, hay dos tipos de cuentas: cuentas de propiedad externa , controladas por claves privadas y cuentas de contrato , controladas por su código de contrato. Una cuenta de propiedad externa no tiene código, y uno puede enviar mensajes desde una cuenta externa creando y firmando una transacción; en una cuenta de contrato, cada vez que la cuenta del contrato recibe un mensaje, su código se activa, lo que le permite leer y escribir en el almacenamiento interno y enviar otros mensajes o crear contratos por turno.

Tenga en cuenta que los “contratos” en Ethereum no deben verse como algo que debería “cumplirse” o “cumplirse”; más bien, son más como “agentes autónomos” que viven dentro del entorno de ejecución de Ethereum, siempre ejecutando una pieza específica de código cuando son “empujados” por un mensaje o transacción, y tienen control directo sobre su propio equilibrio de éter y su propia clave / almacenar valor para realizar un seguimiento de las variables persistentes.




Fuente: Ethereum white paper