web3 Glosario rápido

Este glosario rápido contiene muchos términos relacionados con Ethereum. Estos términos se utilizan a lo largo de este libro, así que márquelos como referencia rápida.

Cuenta cuenta

Un objeto que contiene una dirección, saldo, nonce y, opcionalmente, almacenamiento y código. Una cuenta puede ser una cuenta de contrato o una cuenta de propiedad externa (EOA, cuenta de propiedad externa).

Dirección Dirección

En términos generales, esto representa un EOA o contrato, que puede recibir (dirección de destino) o enviar (dirección de origen) transacciones en la cadena de bloques. Más específicamente, son los 160 bits más a la derecha del hash Keccak de la clave pública ECDSA, representados como 40 caracteres en hexadecimal, precedidos por el carácter "0x".

Afirmar

En Solidity, assert(false) se compila en 0xfe , un código de operación no válido que consume todo el gas restante y revierte todos los cambios. Cuando una declaración de afirmación () falla, algo grave salió mal o se produjo una excepción, y debe corregir su código. Debe utilizar la afirmación para evitar condiciones que nunca deberían ocurrir.

big-endian big-endian

Una representación posicional de un valor con el bit más significativo primero. Corresponde a little-endian, con el bit menos significativo primero.

Propuestas de mejora de Bitcoin (BIP)

Propuestas de mejora de Bitcoin, Propuestas de mejora de Bitcoin. Un conjunto de propuestas presentadas por miembros de la comunidad Bitcoin para mejorar Bitcoin. Por ejemplo, BIP-21 es una propuesta para mejorar el esquema de identificador uniforme de recursos (URI) de Bitcoin.

bloque bloque

Un bloque es una colección de información requerida (encabezados de bloque) sobre las transacciones que contiene, junto con un conjunto de otros encabezados de bloque llamados ommers. Los mineros lo agregan a la red Ethereum.

cadena de bloques cadena de bloques

Una serie de bloques validados por el sistema de prueba de trabajo, cada bloque conectado a sus predecesores, hasta el bloque génesis. Esto difiere del protocolo de Bitcoin en que no tiene un límite de tamaño de bloque; en su lugar, utiliza un límite de gas diferente.

Tenedor de Bizancio

Bizancio es una de las dos bifurcaciones en la fase de desarrollo de la Metrópolis. Incluye EIP-649: Retraso de la bomba de dificultad metropolitana y reducción de la recompensa por bloque, donde la Edad de Hielo (ver más abajo) se retrasa 1 año y la recompensa por bloque se reduce de 5 ETH a 3 ETH.

Compilando

Convierta el código escrito en un lenguaje de programación de alto nivel (como Solidity) a un lenguaje de bajo nivel (como el código de bytes EVM)

Consenso

Una situación en la que una gran cantidad de nodos, generalmente la mayoría de los nodos en la red, tienen el mismo bloque en su mejor cadena de bloques validada localmente. No debe confundirse con las reglas de consenso.

Reglas de consenso

Para ser consistente con otros nodos, los nodos completos siguen las reglas de verificación de bloques. No debe confundirse con el consenso.

Constantinopla

La segunda parte de la fase Metropolitana, prevista para mediados de 2018. Se espera que incluya un cambio a un algoritmo de consenso híbrido de prueba de trabajo/prueba de participación, entre otros cambios.

Cuenta de contratoCuenta de contrato

Una cuenta que contiene código para ejecutar cada vez que recibe una transacción de otra cuenta (EOA o contrato).

Transacción de creación de contrato Transacción de creación de contrato

Se utiliza una transacción especial, con "dirección cero" como destinatario, para registrar el contrato y registrarlo en la cadena de bloques de Ethereum (ver "dirección cero").

Organismo Autónomo Descentralizado DAO

Organismo Autónomo Descentralizado Organismo Autónomo Descentralizado Empresas y otros organismos sin dirección jerárquica. También puede referirse al lanzamiento del 30 de abril de 2016 de un contrato llamado "The DAO", que fue pirateado en junio de 2016, que culminó en una bifurcación dura (nombre en código DAO) en el bloque 1,192,000, restauró el contrato DAO pirateado y resultó en dos sistemas competidores, Ethereum y Ethereum Classic.

Aplicación descentralizada DApp

Aplicación descentralizada Aplicación descentralizada En un sentido estricto, es al menos un contrato inteligente y una interfaz de usuario web. En términos más generales, una DApp es una aplicación web basada en un servicio de infraestructura abierto, descentralizado y de igual a igual. Además, muchas DApps incluyen protocolos y plataformas de almacenamiento y/o mensajería descentralizados.

Escritura de contrato

El estándar de token no reemplazable se introduce en la propuesta ERC721. A diferencia de los tokens ERC20, las escrituras prueban la propiedad y no son fungibles, aunque todavía no están reconocidas como documentos legales en ninguna jurisdicción, al menos no todavía.

Dificultad

Una configuración de toda la red que controla cuántos cálculos se requieren para producir una prueba de trabajo.

Firma digitalFirma digital

Un algoritmo de firma digital es un proceso mediante el cual un usuario utiliza una clave privada para generar una cadena corta de datos denominada "firma" para un documento, de modo que cualquiera que tenga la firma, el documento y la clave pública correspondiente pueda verificar ( 1) que el documento fue creado por el propietario de la clave privada particular "firma", y (2) el documento no ha sido alterado desde que se firmó.

Algoritmo de firma digital de curva elíptica ECDSA

El algoritmo de firma digital de curva elíptica (ECDSA) es un algoritmo de cifrado utilizado por Ethereum para garantizar que los fondos solo puedan ser utilizados por propietarios legítimos.

Propuesta de mejora de Ethereum EIP

Propuestas de mejora de Ethereum, Propuestas de mejora de Ethereum, describen los estándares propuestos para la plataforma Ethereum. Un EIP es un documento de diseño que proporciona información a la comunidad de Ethereum, describiendo una nueva función, proceso o entorno. Consulte https://github.com/ethereum/EIPs para obtener más información (consulte también la definición de ERC a continuación).

Entropía Entropía

En criptografía, falta de previsibilidad o nivel de aleatoriedad. Al generar información secreta, como una clave privada maestra, los algoritmos a menudo se basan en fuentes de alta entropía para garantizar que la salida sea impredecible.

Servicio de nombres Ethereum ENS

Servicio de nombres de Ethereum, Servicio de nombres de Ethereum Para obtener más información, consulte https://github.com/ethereum/ens/ .

Cuenta de propiedad externa EOA

Cuenta de propiedad externa Una cuenta creada por o para un usuario real de Ethereum.

Solicitud de comentario de Ethereum ERC

Solicitud de comentarios de Ethereum Algunos EIP están marcados como ERC, lo que indica propuestas que intentan definir estándares específicos utilizados por Ethereum.

Ethash

Algoritmo de prueba de trabajo de Ethereum 1.0. Para obtener más información, consulte https://github.com/ethereum/wiki/wiki/Ethash .

Éter

Ether, la moneda nativa utilizada en el ecosistema Ethereum, tiene costos de gasolina al ejecutar contratos inteligentes. Su coincidencia es Ξ, el carácter Xi en mayúscula para geeks.

Evento

Los eventos permiten el uso de funciones de registro de EVM, que se pueden usar para llamar a devoluciones de llamada de JavaScript en la interfaz de usuario de la DApp para escuchar estos eventos. Consulte http://solidity.readthedocs.io/en/develop/contracts.html#events para obtener más información .

Máquina virtual Ethereum EVM

Ethereum Virtual Machine, una máquina virtual basada en pila que ejecuta bytecode. En Ethereum, el modelo de ejecución especifica cómo cambia el estado del sistema dada una secuencia de instrucciones de bytecode y una pequeña cantidad de datos ambientales. Esto se especifica a través de un modelo formal de la máquina de estado virtual.

Lenguaje ensamblador EVMLenguaje ensamblador EVM

Forma de bytecode legible por humanos.

Método de reserva Función de reserva

El método predeterminado para ejecutar cuando faltan datos o el nombre del método declarado.

Grifo

Un sitio web que ofrece recompensas en forma de pruebas gratuitas de éter para los desarrolladores que quieran probar en la red de prueba.

Frontera

La fase de desarrollo experimental de Ethereum, de julio de 2015 a marzo de 2016.

ganache

Una cadena de bloques de ethereum privada en la que puede probar, ejecutar comandos, verificar el estado mientras controla cómo funciona la cadena de bloques.

Gas

El gas virtual utilizado por Ethereum para ejecutar contratos inteligentes. La máquina virtual Ethereum utiliza un mecanismo de contabilidad para medir el consumo de gas y limitar el consumo de recursos informáticos. Consulte "Completitud de Turing". El gas es la unidad de cálculo que se genera para cada instrucción que ejecuta un contrato inteligente. El gas está vinculado a la criptomoneda ether. El gas es similar al tiempo aire en una red celular. Por lo tanto, el precio de una transacción en moneda fiduciaria es gas (ETH/gas) (moneda fiduciaria/ETH).

Límite de gas Límite de gas

Cuando se habla de bloques, también tienen un área llamada límite de gas. Define la cantidad máxima de gas que todas las transacciones en todo el bloque pueden consumir.

Bloque Génesis

El primer bloque de la cadena de bloques, que se utiliza para inicializar una red específica y una moneda digital cifrada.

Geth

Etéreo en Go. Una de las implementaciones más destacadas del protocolo Ethereum escrito en Go.

bifurcación dura bifurcación dura

Una bifurcación dura, también conocida como cambio de bifurcación dura, es una divergencia permanente en una cadena de bloques que generalmente ocurre cuando los nodos no actualizados no pueden validar los bloques creados por los nodos actualizados que siguen las nuevas reglas de consenso. No debe confundirse con bifurcaciones, bifurcaciones blandas, bifurcaciones de software o bifurcaciones Git.

valor hash

Huellas dactilares de longitud fija generadas mediante hashing para datos de tamaño variable.

Determinación jerárquica de monedero Monedero HD

Una billetera que utiliza un protocolo de transferencia y generación de claves deterministas en capas (BIP32).

Determinar jerárquicamente la semilla de la cartera HD semilla de la cartera

La semilla de la billetera HD o la semilla raíz es un valor posiblemente corto que se utiliza como semilla para generar la clave privada maestra y el código de cadena maestro de la billetera HD. Las semillas de billetera se pueden representar con palabras mnemotécnicas, lo que facilita que las personas copien, respalden y restauren claves privadas.

HomesteadHomestead

La segunda fase de desarrollo de Ethereum, que se lanzó en el bloque 1.150.000 en marzo de 2016.

Edad de Hielo Edad de Hielo

La bifurcación dura de Ethereum en el bloque 200 000, que proponía un aumento exponencial de la dificultad (también conocido como bomba de dificultad), desencadenó la transición a la prueba de participación.

Entorno de desarrollo integrado IDE (Entorno de desarrollo integrado)

Interfaz de usuario integrada que combina editor de código, compilador, tiempo de ejecución y depurador.

Problema de código implementado inmutable Problema de código implementado inmutable

Una vez que se implementa el código de un contrato (o biblioteca), se vuelve inmutable. Reparar posibles errores y agregar nuevas funciones es el quid del ciclo de desarrollo de software. Este es un desafío para el desarrollo de contratos inteligentes.

Protocolo de dirección de cliente entre intercambios (ICAP)

La codificación de direcciones de Ethereum, que es parcialmente compatible con la codificación del Número de cuenta bancaria internacional (IBAN), proporciona una codificación diversa, de suma de verificación e interoperable para las direcciones de Ethereum. Una dirección ICAP puede codificar una dirección de Ethereum o un nombre común registrado a través del Registro de nombres de Ethereum. Siempre comienzan con XE. Su propósito es introducir un nuevo código de país IBAN: XE, donde la X significa "extendido", más la E de Ethereum, para monedas no jurisdiccionales (por ejemplo, XBT, XRP, XCP).

Transacción interna (también "mensaje")

Una transacción enviada desde una dirección de contrato a otra dirección de contrato o EOA.

Keccak256

El método de hashing criptográfico utilizado por Ethereum. Aunque escrito como SHA-3 en el código Ethereum inicial, Keccak256 es diferente del estándar NIST-SHA3 porque NIST ajustó el algoritmo de relleno cuando se estandarizó SHA-3 en agosto de 2015. Ethereum también comenzó a reemplazar SHA-3 con Keccak256 en códigos posteriores.

Método de derivación de claves Función de derivación de claves (KDF)

También conocido como el algoritmo de expansión de contraseñas, lo utiliza el formato de almacén de claves para evitar ataques de fuerza bruta, diccionario o tabla de arcoíris en el cifrado de contraseñas. Hash repetidamente la contraseña.

Archivo de almacén de claves

Archivo codificado en JSON que contiene una clave privada (generada aleatoriamente), cifrada con una frase de contraseña para mayor seguridad.

NivelDB

LevelDB es un sistema de almacenamiento de clave-valor en disco de código abierto. LevelDB es una biblioteca de persistencia liviana de un solo objetivo que admite muchas plataformas.

BibliotecaBiblioteca

Las bibliotecas en Ethereum son tipos especiales de contratos que no tienen métodos de pago, métodos alternativos ni almacenamiento de datos. Por lo tanto, no puede recibir ni almacenar éter ni almacenar datos. Las bibliotecas se utilizan como código previamente implementado y otros contratos pueden invocar cálculos de solo lectura.

Cliente ligero Cliente ligero

Un cliente ligero es un cliente de Ethereum que no almacena una copia local de la cadena de bloques y no valida bloques ni transacciones. Proporciona la funcionalidad de una billetera para crear y transmitir transacciones.

Mensaje Mensaje

Transacciones internas, nunca serializadas, solo enviadas en la EVM.

Escenario Metrópolis

Metropolis es la tercera fase de desarrollo de Ethereum, lanzada en octubre de 2017.

token

Mastering Ethereum Token El token ERC20 utilizado con fines de demostración en este libro.

Minero

Encuentre nodos de red de prueba de trabajo válidos para nuevos bloques repitiendo cálculos hash.

Neblina

Mist es el primer navegador Ethereum creado por la Fundación Ethereum. También incluye una billetera basada en navegador, la primera implementación del estándar de token ERC20 (Fabian Vogelsteller, autor de ERC20 y desarrollador principal de Mist). Mist también es la primera billetera en introducir la suma de verificación camelCase (EIP-155). Mist ejecuta un nodo completo, proporciona un navegador DApp completo, admite almacenamiento basado en Swarm y direcciones ENS

Red Red

Propaga transacciones y bloques a una red peer-to-peer de cada nodo Ethereum (participante de la red).

NodoNodo

Un cliente de software que participa en una red de igual a igual.

Número aleatorio Nonce

En criptografía, un número aleatorio se refiere a un valor que solo se puede usar una vez. En Ethereum se utilizan dos tipos de números aleatorios.

  • Account Nonce: esto es solo un recuento de transacciones para una cuenta.

  • Nonce de prueba de trabajo: un valor aleatorio en el bloque utilizado para obtener la prueba de trabajo (dependiendo de la dificultad en ese momento).

Ommer

Un nodo hijo de un nodo abuelo, pero no un nodo padre en sí mismo. Cuando un minero encuentra un bloque válido, es posible que otro minero haya publicado un bloque de la competencia y lo haya agregado a la parte superior de la cadena de bloques. Al igual que Bitcoin, los bloques huérfanos en Ethereum pueden incluirse como ommers por bloques nuevos y recibir una recompensa parcial. El término "ommer" es un término de género neutral para los nodos hermanos de un nodo principal, pero también puede significar "tío".

Paridad

Una de las implementaciones más destacadas del software cliente de Ethereum que admite la interoperabilidad (firma múltiple).

Prueba de participación (PoS)

La prueba de participación es un método mediante el cual los protocolos de cadena de bloques de criptomonedas tienen como objetivo lograr un consenso distribuido. La prueba de participación requiere que los usuarios demuestren la propiedad de una cierta cantidad de criptomonedas ("participaciones" en la red) para poder participar en la verificación de transacciones.

Prueba de trabajo (PoW)

Una pieza de datos (prueba) que requiere mucho cálculo para encontrar. En Ethereum, los mineros deben encontrar una solución numérica para el algoritmo Ethash que cumpla con el objetivo de dificultad de la red.

Recibo

Datos devueltos por un cliente de Ethereum que representan el resultado de una transacción en particular, incluido el hash de la transacción, su número de bloque, la cantidad de gas utilizada y la dirección del contrato cuando se implementó el contrato inteligente.

Ataque de reingreso Ataque de reingreso

Este ataque puede repetirse cuando el Atacante contrata los métodos de llamada de los contratos de la Víctima. Llamémoslo victim.withdraw(), y antes de que se complete la llamada original a la función de contrato, se vuelve a llamar al método victim.withdraw(), y continúa llamándose a sí mismo recursivamente. Las llamadas recursivas se pueden realizar a través de métodos alternativos del contrato del atacante. El único truco que tiene que hacer el atacante es interrumpir la llamada recursiva antes de quedarse sin gasolina y evitar que se restablezca el ether robado.

Requerir

En Solidity, require(false) compila a 0xfd , que es el código de operación REVERT. La instrucción REVERT proporciona una forma de detener la ejecución y reanudar los cambios de estado sin consumir todo el gas proporcionado y poder devolver la razón. La función require debe usarse para garantizar que se cumplan condiciones válidas, como variables de estado de entrada o de contrato, o para validar valores de retorno de llamadas a contratos externos. Antes de que se actualizara la red *Bizantina*, había dos formas prácticas de revertir las transacciones: quedarse sin combustible o ejecutar instrucciones no válidas. Ambas opciones consumen todo el gas restante. Antes de la actualización de la red *Byzantium*, este código de operación no se podía encontrar en el *papel amarillo* y, como no se especificaba el código de operación, se generaba un error de código de operación no válido cuando el EVM lo ejecutaba .

Revertir Revertir

Use revert() cuando necesite manejar los mismos casos que require() , pero con una lógica más compleja. Por ejemplo, si su código tiene un flujo lógico si/si no anidado, puede encontrar razonable usar require() en lugar de require().

Recompensas

Cantidad de Ether (ETH), la cantidad incluida en cada nuevo bloque como recompensa de la red para los mineros que encuentran una solución de prueba de trabajo.

Prefijo de longitud recursiva (RLP)

RLP es 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

Satoshi Nakamoto es el nombre del individuo o equipo que diseñó Bitcoin y su implementación original, Bitcoin Core. Como parte de su implementación, también diseñaron la primera cadena de bloques. En el proceso, fueron los primeros en resolver el problema del doble gasto de las monedas digitales. Sus verdaderas identidades siguen siendo un misterio hasta el día de hoy.

Vitalik Buterín

Vitalik Buterin es un programador y escritor ruso-canadiense, cofundador de Ethereum y Bitcoin Magazine.

gavin madera

Gavin Wood es un programador con sede en el Reino Unido, cofundador y ex CTO de Ethereum. En agosto de 2014 propuso Solidity, un lenguaje de programación orientado a contratos para escribir contratos inteligentes.

Clave secreta (también conocida como clave privada)

Un número criptográfico que permite a los usuarios de Ethereum demostrar la propiedad de una cuenta o contrato mediante la creación de una firma digital (ver clave pública, dirección, ECDSA).

SHA

Secure Hash Algorithm, SHA es una serie de funciones hash criptográficas publicadas por el Instituto Nacional de Estándares y Tecnología (NIST).

Código de operación de AUTODESTRUCCIÓN

Los contratos inteligentes existirán y serán exigibles mientras exista toda la red. Si están programados para autodestruirse o usan una llamada delegada o un código de llamada para hacerlo, desaparecerán de la cadena de bloques. Una vez que se realiza la operación de autodestrucción, el Ether restante almacenado en la dirección del contrato se enviará a otra dirección y el almacenamiento y el código se eliminarán del estado. Aunque este es el comportamiento esperado, los clientes de Ethereum pueden o no implementar la poda de contratos autodestructivos. SELFDESTRUCT se llamaba anteriormente SUICIDE, y en EIP6, SUICIDE pasó a llamarse SELFDESTRUCT.

Serenidad

La cuarta y última fase de desarrollo de Ethereum. Serenity aún no tiene fecha de lanzamiento prevista.

Serpiente

Un lenguaje de programación procedimental (imperativo) con una sintaxis similar a Python. También se puede usar para escribir código funcional (declarativo), aunque no está completamente libre de efectos secundarios. Creado por primera vez por Vitalik Buterin.

Contrato inteligenteContrato inteligente

Programas ejecutados en el marco informático de Ethereum.

Solidez

Un lenguaje de programación procedimental (imperativo) con una sintaxis similar a Javascript, C++ o Java. El lenguaje más popular y de uso común para los contratos inteligentes de Ethereum. Creado por primera vez por Gavin Wood (coautor de este libro)

Montaje en línea Solidity

Ensamblaje en línea Código contenido en Solidity que usa ensamblaje EVM (la forma legible por humanos del código EVM). El ensamblaje en línea intenta resolver las dificultades inherentes y otros problemas que se encuentran al escribir manualmente el ensamblaje.

Dragón espurio

Bifurcación dura en el bloque #2,675,00 para abordar más vectores de ataque de denegación de servicio y otra purga estatal. También hay un mecanismo de protección contra ataques de retransmisión.

Enjambre

Una red de almacenamiento descentralizada (P2P). Funciona con Web3 y Whisper para crear DApps.

Silbato de mandarina

Bifurcación dura en el bloque #2,463,00 que cambia la forma en que se calcula el gas para ciertas operaciones intensivas de E/S y borra el estado acumulado de los ataques de denegación de servicio que aprovechan el bajo costo del gas de estas operaciones.

Red de prueba Red de prueba

Una red de prueba (testnet para abreviar) que simula el comportamiento de la red principal de Ethereum.

Transacción Transacción

Datos enviados a la cadena de bloques de Ethereum firmados por la cuenta original y dirigidos a una dirección específica. Las transacciones contienen metadatos como el límite de gasolina para la transacción.

Trufa

Uno de los marcos de desarrollo de Ethereum más utilizados. Contiene algunos paquetes de NodeJS que se pueden instalar con Node Package Manager (NPM).

Turing completo Turing completo

En la teoría de la computación, se denomina Turing completo o computacionalmente universal si las reglas para la manipulación de datos (como el conjunto de instrucciones de una computadora, el lenguaje de programación o los autómatas celulares) se pueden usar para simular cualquier máquina de Turing. El concepto lleva el nombre del matemático e informático británico Alan Turing.

víbora

Un lenguaje de programación de alto nivel, similar a Serpent, con una sintaxis similar a Python que pretende acercarse a un lenguaje puramente funcional. Creado por primera vez por Vitalik Buterin.

MonederoMonedero

El software que guarda todas tus llaves. Sirve como interfaz para acceder y controlar cuentas de Ethereum e interactuar con contratos inteligentes. Tenga en cuenta que las claves no necesitan almacenarse en su billetera y pueden recuperarse de un almacenamiento fuera de línea, como una unidad flash USB o papel para mayor seguridad. A pesar del nombre de la billetera, nunca almacena monedas o tokens reales.

Web3

La tercera versión de la web. Propuesto por primera vez por Gavin Wood, Web3 representa una nueva visión y enfoque para las aplicaciones web: desde aplicaciones administradas y de propiedad central hasta aplicaciones descentralizadas basadas en protocolos.

Wei

La unidad más pequeña de éter, 10 18 wei = 1 éter.

Susurro

Un sistema de mensajería descentralizado (P2P). Úselo con Web3 y Swarm para crear DApps.

dirección cero dirección cero

Una dirección especial de Ethereum, todas compuestas por 0 (es decir, 0x0000000000000000000000000000000000000000 ), se designa como la dirección de destino (es decir , el valor del parámetro to ) de la transacción (Transacción) iniciada mediante la creación de un contrato inteligente .

Supongo que te gusta

Origin blog.csdn.net/qq_27246521/article/details/128579047
Recomendado
Clasificación