Skip to content

Mastering Ethereum (Glosario - Parte 2)

Updated: at 02:00

⚠️ ¡Advertencia! este glosario está en constante actualización, por lo que algunos términos pueden no estar presentes o estar incompletos. Si tienes alguna sugerencia o corrección, no dudes en contactarme.

ICAP

Protocolo de Dirección de Cliente entre Intercambios. Una codificación de dirección de Ethereum parcialmente compatible con el Código Internacional de Cuenta Bancaria (IBAN), ofreciendo una codificación versátil, con comprobación de suma y interoperable para direcciones de Ethereum. Las direcciones ICAP utilizan un nuevo código pseudo-país IBAN: XE, que significa “eXtended Ethereum”, como se utiliza en monedas no jurisdiccionales (por ejemplo, XBT, XRP, XCP).

Immutable Deployed Code Problem

Una vez que el código de un contrato (o biblioteca) se implementa, se vuelve inmutable. Esto representa un desafío para el desarrollo de contratos inteligentes, ya que las prácticas estándar de desarrollo de software confían en la capacidad de corregir posibles errores y agregar nuevas funciones.

Internal Transaction (también “message”)

Una transacción enviada desde una cuenta de contrato a otra cuenta de contrato o a una cuenta propiedad externa (EOA).

IPFS

Sistema de Archivos Interplanetario. Un protocolo, red y proyecto de código abierto diseñado para crear un método de almacenamiento y compartición de hipermedios direccionable por contenido, punto a punto y distribuido.

KDF

Función de Derivación de Clave. También conocida como “algoritmo de estiramiento de contraseña”, se utiliza en formatos de almacenamiento de claves para proteger contra ataques de fuerza bruta, diccionario y tablas arco iris en el cifrado de contraseñas, repitiendo el hash de la contraseña.

Keccak-256

Función criptográfica de hash utilizada en Ethereum. Keccak-256 fue estandarizado como SHA-3.

Keystore File

Un archivo codificado en JSON que contiene una única clave privada (generada aleatoriamente), cifrada por una frase de contraseña para mayor seguridad.

LevelDB

Un almacén de clave y valor en disco de código abierto, implementado como una biblioteca ligera y de un solo propósito, con enlaces a muchas plataformas.

Library

Un tipo especial de contrato que no tiene funciones pagables, ninguna función por defecto y no tiene almacenamiento de datos. Por lo tanto, no puede recibir ni retener ether ni almacenar datos. Una biblioteca sirve como código ya implementado que otros contratos pueden llamar para realizar cálculos de solo lectura.

Lightweight Client

Un cliente Ethereum que no almacena una copia local de la cadena de bloques ni valida bloques y transacciones. Ofrece funciones de una billetera y puede crear y transmitir transacciones.

Merkle Patricia Tree

Una estructura de datos utilizada en Ethereum para almacenar eficientemente pares de clave-valor.

Message

Una transacción interna que nunca se serializa y solo se envía dentro de la EVM.

Message Call

La acción de pasar un mensaje de una cuenta a otra. Si la cuenta de destino está asociada con código EVM, se iniciará la VM con el estado de ese objeto y se actuará sobre el mensaje.

METoken

Token de Mastering Ethereum. Un token ERC20 utilizado con fines demostrativos en este libro.

Miner

Un nodo de red que encuentra una prueba de trabajo válida para nuevos bloques, mediante el hash repetido.

Mist

El primer navegador habilitado para Ethereum, construido por la Fundación Ethereum. Contiene una billetera basada en navegador que fue la primera implementación del estándar de tokens ERC20. Mist también fue la primera billetera en introducir la comprobación de suma camelCase (EIP-55).

Network

Refiriéndose a la red Ethereum, una red de pares a pares que propaga transacciones y bloques a cada nodo Ethereum (participante de la red).

NFT

Token no fungible (también conocido como “deed”). Este es un estándar de token introducido por la propuesta ERC721. Los NFT pueden rastrearse y comercializarse, pero cada token es único y distintivo; no son intercambiables como los tokens ERC20. Los NFT pueden representar la propiedad de activos digitales o físicos.

Node

Un cliente de software que participa en la red Ethereum.

Nonce

En criptografía, un valor que solo se puede usar una vez. Hay dos tipos de nonce utilizados en Ethereum: un nonce de cuenta es un contador de transacciones en cada cuenta, que se utiliza para evitar ataques de reproducción; un nonce de prueba de trabajo es el valor aleatorio en un bloque que se utilizó para satisfacer la prueba de trabajo.

Ommer

Un bloque secundario de un ancestro que no es en sí mismo un ancestro. Cuando un minero encuentra un bloque válido, otro minero puede haber publicado un bloque competidor que se agrega a la punta de la cadena de bloques. A diferencia de Bitcoin, los bloques huérfanos en Ethereum pueden ser incluidos por bloques más nuevos como ommer y recibir una recompensa parcial de bloque.

Private Key

Ver “secret key.”

Proof of Stake (PoS)

Un método mediante el cual un protocolo de cadena de bloques de criptomonedas busca lograr consenso distribuido. PoS solicita a los usuarios que demuestren la propiedad de una cierta cantidad de criptomonedas (su “participación” en la red) para poder participar en la validación de transacciones.

Proof of Work (PoW)

Un fragmento de datos (la prueba) que requiere una cantidad significativa de cómputo para encontrar. En Ethereum, los mineros deben encontrar una solución numérica para el algoritmo Ethash que cumpla con un objetivo de dificultad en toda la red.

Public Key

Un número, derivado mediante una función unidireccional de una clave privada, que se puede compartir públicamente y utilizar por cualquiera para verificar una firma digital realizada con la clave privada correspondiente.

Receipt

Datos devueltos por un cliente Ethereum para representar el resultado de una transacción particular, incluyendo un hash de la transacción, su número de bloque, la cantidad de gas utilizada y, en caso de despliegue de un contrato inteligente, la dirección del contrato.

Re-Entrancy Attack

Un ataque que consiste en que un contrato atacante llama a una función de un contrato víctima de tal manera que durante la ejecución, la víctima llama nuevamente al contrato atacante, de manera recursiva. Esto puede resultar, por ejemplo, en el robo de fondos al omitir partes del contrato víctima que actualizan saldos o cuentan cantidades de retiro.

Reward

Una cantidad de ether incluida en cada nuevo bloque como recompensa por el minero que encontró la solución de prueba de trabajo.

RLP

Prefijo de Longitud Recursiva. Un estándar de codificación diseñado por los desarrolladores de Ethereum para codificar y serializar objetos (estructuras de datos) de complejidad y longitud arbitrarias.

Satoshi Nakamoto

El nombre utilizado por la persona o personas que diseñaron Bitcoin, crearon su implementación de referencia original y fueron los primeros en resolver el problema de doble gasto para la moneda digital. Su verdadera identidad sigue siendo desconocida.

Secret Key (también clave privada)

El número secreto que permite a los usuarios de Ethereum demostrar la propiedad de una cuenta o contratos, al producir una firma digital (ver “clave pública”, “dirección”, “ECDSA”).

Serpent

Un lenguaje de programación procedural (imperativo) para contratos inteligentes con una sintaxis similar a Python.

SHA

Algoritmo Seguro de Hash. Una familia de funciones criptográficas de hash publicadas por el Instituto Nacional de Estándares y Tecnología (NIST).

Singleton

Un término de programación que describe un objeto del cual solo puede existir una instancia.

Smart Contract

Un programa que se ejecuta en la infraestructura informática de Ethereum.

Solidity

Un lenguaje de programación procedural (imperativo) con una sintaxis similar a JavaScript, C++ o Java. El lenguaje más popular y utilizado con mayor frecuencia para contratos inteligentes en Ethereum. Creado por el Dr. Gavin Wood (coautor de este libro).

Solidity Inline Assembly

Lenguaje ensamblador de EVM en un programa Solidity. El soporte de Solidity para el ensamblador en línea facilita la escritura de ciertas operaciones.

Swarm

Una red de almacenamiento descentralizado (P2P), utilizada junto con Web3 y Whisper para construir DApps.

Szabo

Una denominación de ether. 10^12 szabo = 1 ether.

Testnet

Abreviatura de “red de prueba”, una red utilizada para simular el comportamiento de la red principal de Ethereum.

Transaction

Datos comprometidos en la cadena de bloques de Ethereum, firmados por una cuenta de origen y dirigidos a una dirección específica. La transacción contiene metadatos como el límite de gas para esa transacción.

Truffle

Uno de los marcos de desarrollo Ethereum más utilizados.

Turing Complete

Un concepto nombrado en honor al matemático y científico de la computación inglés Alan Turing: un sistema de reglas de manipulación de datos (como el conjunto de instrucciones de una computadora, un lenguaje de programación o un autómata celular) se dice que es “Turing completo” o “universalmente computacional” si puede usarse para simular cualquier máquina de Turing.

Vyper

Un lenguaje de programación de alto nivel, similar a Serpent, con una sintaxis parecida a Python. Diseñado para acercarse a un lenguaje de programación funcional puro. Creado por Vitalik Buterin.

Wallet

Software que almacena claves secretas. Se utiliza para acceder y controlar cuentas de Ethereum e interactuar con contratos inteligentes. Las claves no necesitan almacenarse en una billetera y, en su lugar, pueden recuperarse de almacenamiento externo (por ejemplo, una tarjeta de memoria o papel) para una mayor seguridad. A pesar del nombre, las billeteras nunca almacenan las monedas o tokens reales.

Web3

La tercera versión de la web. Propuesta por el Dr. Gavin Wood, Web3 representa una nueva visión y enfoque para las aplicaciones web: desde aplicaciones centralmente propiedad y gestionadas, hasta aplicaciones construidas sobre protocolos descentralizados.

Wei

La denominación más pequeña de ether. 10^18 wei = 1 ether.

Whisper

Un servicio de mensajería descentralizado (P2P). Se utiliza junto con Web3 y Swarm para construir DApps.

Zero Address

Una dirección especial de Ethereum, compuesta íntegramente por ceros, que se especifica como la dirección de destino de una transacción de creación de contrato.