¿Qué es Ethereum? Primeros pasos

Ethereum es una plataforma descentralizada que permite a cualquier persona crear y publicar sus propias aplicaciones bajo un seguido de normas fijadas en el código de la propia aplicación donde los smart-contracts tendrán un papel esencial.

Para que la red Ethereum funcione, se utilizará Ether que para que todo el mundo lo entienda, es el conbustible de toda la red Ethereum. Estos Ethers harán que se puedan ejecutar los Smart-Contracts (contratos inteligentes). De aquí ya podemos empezar a intuir que Ethereum no es en si un proyecto de moneda, o que sus Ether lo sean, si no que será la energía que hará que se mueva toda la red.

El proposito del Projecto Ethereum es el de “Descentralizar la web” introduciendo 4 componentes como muestra en su Roadmap:

  1. Static content Publication (publicación estática de contenido)
  2. Dynamic messages (mensajes dinámicos)
  3. Trustless transactions (transacciones de confianza)
  4. An integrated user-interface ( Interfaz de usuario integral)

La idea de este post es tenerlo todo organizado en los sucesivos Hilos que tengo intención de abrir para hablar de cada uno de los temas importantes de Ethereum. Esté será el hilo de discusión general y los otros hilos de información y avances.

Dicho esto, el primer punto a mirarse para empezar a entender Ethereum y demás AppCoins, Dapps o como cada uno quiera llamarlo, empieza en estos dos “Articulos”:

3 Me gusta

Conforme vayamos creando contenido, irémos añadiendo hilos nuevos y ampliando este para que todo el mundo pueda aprender a cerca de Ethereum

Ethereum.

La intención de Ethereum es crear un protocolo alternativo para construir aplicaciones descentralizadas, proporcionando un conjunto diferente de las compensaciones(1) que creemos que va a ser muy útil para una gran variedad de aplicaciones descentralizadas, con especial énfasis en las situaciones donde, un desarrollo veloz, la seguridad para apliciones pequeñas e inusuales y la habilidad de diferentes aplicaciones de interactuar eficientemente entre si, son importantes.

Ethereum hace esto mediante la construcción de lo que es esencialmente la capa fundacional: un blockchain (cadena de bloques) con un lenguaje de programación integrado Turing-completo(2), permitiendo que cualquiera pueda escribir contratos inteligentes y aplicaciones descentralizadas donde pueden crear sus propias reglas arbitrarias para la propiedad, formatos de transacción y funciones de transición de estado.

Una versión básica de Namecoin se puede escribir en dos líneas de código, y otros protocolos como monedas y sistemas de reputación se puede construir en menos de veinte lineas. Contratos inteligentes, “cajas” criptográficos que contienen valor y sólo desbloquearlo si se cumplen ciertas condiciones, también puede ser incorporado en la parte superior de la plataforma, con mucho más poder que el que ofrece el Scripting de Bitcoin debido a las funcionalidades añadidas de Turing-completo, Valor consciencia(3), blockchain-conciencia(4) y estado.

(1) Se refiere a que, añadir funciones extras al blockchain, tiene pros y contras. A esto lo llama compensaciones, quitar simplicidad pero añadir funcionalidad, por ejemplo.
(2) Se explicará que es esto más adelante, simplemente es nombrarlo.
(3) Tener consciencia de que algo tiene un valor.
(4) Puede tener varios conceptos, tener consciencia de que algo está en el blockchain y no será cambiado creo que es la mas adecuada.


Cuentas Ethereum

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

  • El valor de uso único, la evolución, un contador utilizado para asegurarse de que cada transacción sólo se puede procesar una vez
  • El saldo de Ether de la cuenta
  • Codigos de contrato si el poseedor de la cuenta los tiene.
  • Almacenamiento de la cuenta (vacío por defecto)

“Ether” es el principal cripto-combustible interno de Ethereum, y se utiliza para pagar los honorarios/gastos/comisiones de transacción. En general, hay dos tipos de cuentas:

  1. Cuentas de propiedad, controladas por las claves privadas
  2. Cuentas de contrato, controlados por el código del contrato que la ha creado.

Las cuentas de propiedad, o mejor dicho, las cuentas de los usuarios no tiene ningún código, y uno puede enviar mensajes desde una cuenta propia mediante la creación y la firma de una transacción. En una cuenta de contrato, cada vez que la cuenta de contrato recibe un mensaje determinado en su código se activa, lo que le permite leer y escribir en la memoria interna y enviar otros mensajes o crear contratos, en turno(5).

Tenga en cuenta que los “contratos” en Ethereum no deben ser vistos como algo que debe ser “cumplido” o “cumplido con”; más bien, son más como “agentes autónomos” que viven dentro del entorno de ejecución Ethereum, siempre que ejecutan una pieza específica de código cuando “se le avisa/se le da la orden/ se cumple la condición” por un mensaje o transacción, y que tienen control directo sobre su propio equilibrio ether y su propia llave/valor para realizar un seguimiento de las variables persistentes en el código.

(5) Es decir, enviar mensajes o crear otros contraros en base a que se den unas condiciones específicas. Si se cumple X en la cuenta contrato, esta cuenta realizará Y como en su código pone.


Mensajes y Transacciones

El término “transacción” se utiliza en Ethereum para referirse al paquete de datos firmado que almacena un mensaje para ser enviado desde una cuenta propiedad. Las transacciones contienen:

  • El destinatario del mensaje
  • Una firma identificación del remitente
  • La cantidad de éter para transferir desde el emisor al receptor
  • Un campo de datos opcional
  • Un valor STARTGAS, que representa el número máximo de pasos de cálculo de la ejecución de la transacción se le permite tomar
  • Un valor GASPRICE, lo que representa la cuota del remitente paga por paso computacional (es decir, la comisión de la red por realizar ese envio, lanzamiento de contrato, lanzamiento de aplicación o lo que el dueño de la cuenta requiera.)

Los tres primeros son campos estándar que se esperan de cualquier Criptodivisa. El campo de datos no tiene ninguna función por defecto, pero la máquina virtual tiene un código de operación mediante la cual un contrato puede tener acceso a los datos; un ejemplo de uso sería: si un contrato está funcionando como un servicio de registro de dominios en blockchain, entonces se podría interpretar los datos que se pasan a ella como que contiene dos “campos”, el primer campo de ser un dominio a registrar y el segundo campo es la dirección IP para registrar ambos datos. El contrato leería estos valores a partir de los datos del mensaje y apropiadamente los colocaría en el almacenamiento.

Los campos STARTGAS y GASPRICE son cruciales para la lucha contra un ataque DDos (Ataque de denegación de servicio) a Ethereum. A fin de evitar bucles infinitos accidentales u hostiles u otro desperdicio computacional en el código, se requiere que cada transacción establezca un límite de número de pasos en el cálculo de la ejecución de código que se pueden llegar a utilizar. La unidad fundamental de la computación es gas; por lo general, un paso computacional cuesta 1 de gas, pero algunas operaciones de cuesta cantidades más altas de gas porque requieren más fuerza computacional, o aumentar la cantidad de datos que deben ser almacenados como parte del estado. También hay una tarifa de gas 5 para cada byte en los datos de la transacción, por poner otro ejemplo. La intención del sistema de tasas es exigir a un atacante que pague proporcionalmente para todos los recursos que consume, incluyendo computación, ancho de banda y almacenamiento (Un ataque solo es posible realizarlo desde dentro de la red Ethereum, no desde fuera); Por lo tanto, cualquier transacción en la red que consuma una mayor cantidad de recursos deberá tener una cuota de gas más o menos proporcional al sus propósitos u objetivos.

3 Me gusta

[Reservado 1]

[Reservado 2]

exelente , buena informacion tecnica, pero en terminos practicos como puede entender una persona comun que no tiene conocimientos informaticos, osea yo por ejemplo me resuena mucho bitcoin, ethereum y otras pero me parece que es prioritario que pueda ralentizarse la informacion de modo que la entienda la persona comun pues es lo que garantizaria que se genere una necesidad de uso y por consiguiente presion de compra, en ejemplos como yo un abogado o un doctor puede usar esto o solo es para desarrolladores , inversionistas y traders?

Hola @Sheila_Pimentel muy buena pregunta la que propones.

Lo primero que tienes que tener en cuenta es que Ethereum como plataforma descentralizada va a permitir automatizar todo lo automatizable, o por lo menos ese es el objetivo. Esto quiere decir que algo tan conocido y popular como el IoT podría correr sobre esta plataforma, es decir, vivir gracias al Blockchain de Ethereum. Pero no solo eso, si no que lo haría con un margen de error del 0% ya que todas las funciones que dependieran de Ethereum y su blockchain (smart contracts, DAPS, DAOS, etc) serían matemáticamente perfectos, es decir, cumplirían su función al 100%.

Con todo esto, quiero decir que gracias a la descentralización y los SmartContracts, el error o mala fe humana pasan a la historia siempre que las funciones matemáticas esten correctamente escritas y aceptadas por la contraparte.

Luego quedaría que la información que llegara de fuentes humanas, fuera correcta y honesta, como se busca con Augur.

Hay muchísimo que explicar y espero poder ir respondiendo las preguntas que se planteen.

no tienes idea de lo verde que soy en el tema y aun asi hice malabares para comprar bitcoin, pues es muy dificil te la ponen en china, le pregunto a casi todo mi alrrededor sabes lo que es un bitcoin? y me miran como extraterrestre, no solo aqui en mi pais tambien en pleno new york, participe en el crowdsale de iota sin idea de que hacer pero sigo mi instinto, osea lo que quiero decir es que hay una ausencia de educacion e informacion en el mundo que esta fuera de desarrollo de todas estas innovaciones, a proposito sera muy popular y todo pero yo no se que rayos es un IoT? y muchas gracias por este gran desafio de explicar estos temas version para dummies.

1 me gusta

Buenas compañeros! a ver si hay por aquí un alma caritativa que me explique como puedo hacer una backup de seguridad de mi monedero ethereum.

Soy nuevo en el tema y estoy un poco perdido…

Mil gracias de antemano…

Alguien me puede decir como compro moneda la Ether?

Muy sencillo, vas a un mercado por ejemplo: Kraken o Poliniex, ingresas dinero desde tu banco mediante tranferencia y allí pones una orden de compra al precio al que te interese comprar. En charts encuentras los precios disponibles de ventas y compras…

¿Dónde se puede mirar cual es la emisión total prevista de ETH? ¿Será fija o podría llegar a ser variable? El ritmo de emisión también estaría bien tenerlo controlado…

Gracias

1 me gusta

Criptonauta, la emisión de Ethereum es constante, a una tasa de 5 ETH por cada nuevo bloque (15 segundos)

3 Me gusta

Buenas, quiero pedir un favor a la comunidad, alguien que me ponga un ejemplo de lo que es el turing completo de ethereum y los smart contracts. La explicación informatica ya la he leido en varios sitios, pero sigo sin llegar a comprenderlo, por eso pido un ejemplo que yo creo que para las personas que no somos informaticos tendremos mayor facilidad de comprender esto.
Gracias

¿Quién dijo que ETH estaba muerto? ¿Quien?..