From 8668f626ee4c27956de3647a36003fa60bb4c298 Mon Sep 17 00:00:00 2001 From: Nadai2010 Date: Thu, 27 Jul 2023 10:29:30 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=84=20Add=20Secuencer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +- book/404.html | 2 +- book/Appchain_Paradex.html | 2 +- book/Arquitectura_Cairo.html | 2 +- book/Arquitectura_Herodotus.html | 2 +- book/Arquitectura_Starknet.html | 69 +- "book/Bases_Criptogr\303\241ficas.html" | 2 +- book/Cairo.html | 2 +- book/Cairo_Native.html | 2 +- book/Cairo_Verifier_Rust.html | 6 +- book/Cairov2.html | 2 +- book/Casos_de_uso.html | 2 +- book/Chainlink.html | 2 +- book/Commitments_Inbox.html | 2 +- book/Componentes.html | 2 +- "book/Conclusi\303\263n.html" | 2 +- ...riptograf\303\255a_Asim\303\251trica.html" | 2 +- .../Criptograf\303\255a_H\303\255bridas.html" | 2 +- ...Criptograf\303\255a_Sim\303\251trica.html" | 2 +- book/DA.html | 2 +- book/{.Deoxys.html => Deoxys.html} | 2 +- book/EOA_AA.html | 2 +- book/EVM_zkEVM.html | 2 +- book/Ejemplos_Storage_Proof.html | 2 +- book/Estado_Oracle_Starknet.html | 2 +- book/Facts_Registry.html | 2 +- book/Firmas_Digitales.html | 2 +- book/Fullnode.html | 2 +- book/Funciones_Hash.html | 2 +- book/Generador_de_Claves.html | 2 +- book/Grover.html | 2 +- book/Hashing_Array.html | 2 +- book/Headers_Store.md.html | 2 +- book/Herodotus_Turbo.html | 2 +- "book/Introducci\303\263n.html" | 2 +- "book/Introducci\303\263n2.html" | 2 +- "book/Introducci\303\263n3.html" | 2 +- book/Juno.html | 6 +- book/Kakarot_Base.html | 2 +- book/Keccak.html | 2 +- book/Keccak_Starknet.html | 2 +- book/Kyber_Crystal.html | 2 +- book/Lattice.html | 2 +- book/Madara_Base.html | 2 +- book/Merkle_Mountain_Ranges.html | 2 +- book/Merkle_Tree_en_Blockchain.html | 2 +- book/Node_Guardians.html | 2 +- book/Otras_Arquitecturas.html | 2 +- book/Papyrus.html | 6 +- book/Pathfinder.html | 2 +- book/Patricia_Merkle_Trie.html | 2 +- book/Pedersen_Starknet.html | 2 +- book/Playground.html | 2 +- book/Poseidon_Starknet.html | 2 +- book/Pragma.html | 2 +- book/Proyectos_Storage_Proof.html | 2 +- .../{.Quantum_Leap.html => Quantum_Leap.html} | 2 +- book/Quantum_Secure.html | 2 +- book/SHARP.html | 2 +- book/SHARP_Componentes.html | 2 +- book/SHARP_Recursividad.html | 2 +- book/Secp256r1.html | 2 +- book/Secuenciadores.html | 2 +- book/Secuenciadores_Rust.html | 2 +- book/Sha256.html | 2 +- book/Shor.html | 2 +- book/Sierra.html | 2 +- book/Sintaxis_Basica.html | 2 +- book/Stark_Curve.html | 2 +- book/Stark_Key.html | 2 +- book/Starknet_AA.html | 2 +- book/Starknet_Stack.html | 2 +- book/Starknet_funciones_hash.html | 2 +- book/Starks.html | 2 +- book/Starks_Aritmetizacion.html | 2 +- book/Starks_Bajo.html | 2 +- book/Starks_Creacion.html | 2 +- book/Starks_Eficientes.html | 2 +- book/Starks_Fri.html | 2 +- book/Starks_Iops.html | 2 +- book/Starks_Polinomios.html | 2 +- book/Starks_Propiedades.html | 2 +- book/Starks_Traza.html | 2 +- book/Storage_Proof.html | 2 +- book/Storage_Proof_Oracle.html | 2 +- book/VM_Cairo.html | 2 +- book/Versiones.html | 6 +- book/index.html | 2 +- book/print.html | 73 +- book/searchindex.js | 2 +- book/searchindex.json | 2 +- docs/404.html | 2 +- docs/Appchain_Paradex.html | 2 +- docs/Arquitectura_Cairo.html | 2 +- docs/Arquitectura_Herodotus.html | 2 +- docs/Arquitectura_Starknet.html | 69 +- "docs/Bases_Criptogr\303\241ficas.html" | 2 +- docs/Cairo.html | 2 +- docs/Cairo_Native.html | 2 +- docs/Cairo_Verifier_Rust.html | 6 +- docs/Cairov2.html | 2 +- docs/Casos_de_uso.html | 2 +- docs/Chainlink.html | 2 +- docs/Commitments_Inbox.html | 2 +- docs/Componentes.html | 2 +- "docs/Conclusi\303\263n.html" | 2 +- ...riptograf\303\255a_Asim\303\251trica.html" | 2 +- .../Criptograf\303\255a_H\303\255bridas.html" | 2 +- ...Criptograf\303\255a_Sim\303\251trica.html" | 2 +- docs/DA.html | 2 +- docs/{.Deoxys.html => Deoxys.html} | 2 +- docs/EOA_AA.html | 2 +- docs/EVM_zkEVM.html | 2 +- docs/Ejemplos_Storage_Proof.html | 2 +- docs/Estado_Oracle_Starknet.html | 2 +- docs/Facts_Registry.html | 2 +- docs/Firmas_Digitales.html | 2 +- docs/Fullnode.html | 2 +- docs/Funciones_Hash.html | 2 +- docs/Generador_de_Claves.html | 2 +- docs/Grover.html | 2 +- docs/Hashing_Array.html | 2 +- docs/Headers_Store.md.html | 2 +- docs/Herodotus_Turbo.html | 2 +- "docs/Introducci\303\263n.html" | 2 +- "docs/Introducci\303\263n2.html" | 2 +- "docs/Introducci\303\263n3.html" | 2 +- docs/Juno.html | 6 +- docs/Kakarot_Base.html | 2 +- docs/Keccak.html | 2 +- docs/Keccak_Starknet.html | 2 +- docs/Kyber_Crystal.html | 2 +- docs/Lattice.html | 2 +- docs/Madara_Base.html | 2 +- docs/Merkle_Mountain_Ranges.html | 2 +- docs/Merkle_Tree_en_Blockchain.html | 2 +- docs/Node_Guardians.html | 2 +- docs/Otras_Arquitecturas.html | 2 +- docs/Papyrus.html | 6 +- docs/Pathfinder.html | 2 +- docs/Patricia_Merkle_Trie.html | 2 +- docs/Pedersen_Starknet.html | 2 +- docs/Playground.html | 2 +- docs/Poseidon_Starknet.html | 2 +- docs/Pragma.html | 2 +- docs/Proyectos_Storage_Proof.html | 2 +- .../{.Quantum_Leap.html => Quantum_Leap.html} | 2 +- docs/Quantum_Secure.html | 2 +- docs/SHARP.html | 2 +- docs/SHARP_Componentes.html | 2 +- docs/SHARP_Recursividad.html | 2 +- docs/Secp256r1.html | 2 +- docs/Secuenciadores.html | 2 +- docs/Secuenciadores_Rust.html | 2 +- docs/Sha256.html | 2 +- docs/Shor.html | 2 +- docs/Sierra.html | 2 +- docs/Sintaxis_Basica.html | 2 +- docs/Stark_Curve.html | 2 +- docs/Stark_Key.html | 2 +- docs/Starknet_AA.html | 2 +- docs/Starknet_Stack.html | 2 +- docs/Starknet_funciones_hash.html | 2 +- docs/Starks.html | 2 +- docs/Starks_Aritmetizacion.html | 2 +- docs/Starks_Bajo.html | 2 +- docs/Starks_Creacion.html | 2 +- docs/Starks_Eficientes copy.html | 208 --- docs/Starks_Eficientes.html | 4 +- docs/Starks_Fri.html | 2 +- docs/Starks_Iops.html | 2 +- docs/Starks_Polinomios.html | 2 +- docs/Starks_Propiedades.html | 2 +- docs/Starks_Traza.html | 2 +- docs/Storage_Proof.html | 2 +- docs/Storage_Proof_Oracle.html | 2 +- docs/VM_Cairo.html | 2 +- docs/Versiones.html | 6 +- docs/index.html | 2 +- docs/print copy.html | 1566 ----------------- docs/print.html | 75 +- docs/searchindex.js | 2 +- docs/searchindex.json | 2 +- src/Arquitectura_Starknet.md | 87 +- src/Deoxys.md | 1 + src/Quantum_Leap.md | 1 + src/SUMMARY.md | 4 +- 187 files changed, 501 insertions(+), 2044 deletions(-) rename book/{.Deoxys.html => Deoxys.html} (74%) rename book/{.Quantum_Leap.html => Quantum_Leap.html} (74%) rename docs/{.Deoxys.html => Deoxys.html} (74%) rename docs/{.Quantum_Leap.html => Quantum_Leap.html} (74%) delete mode 100644 docs/Starks_Eficientes copy.html delete mode 100644 docs/print copy.html create mode 100644 src/Deoxys.md create mode 100644 src/Quantum_Leap.md diff --git a/README.md b/README.md index 4901bc2..247dc5c 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,11 @@ Libro de L2 en Español con Información en general del ecosistema de Starkware mdBook es una herramienta que te permite crear libros y documentación en formato HTML a partir de archivos Markdown. -1. **Instala Rust**: mdBook está escrito en Rust, por lo que primero debes asegurarte de tener Rust y su herramienta de gestión de paquetes, Cargo, instalados en tu sistema. Puedes instalar Rust utilizando rustup siguiendo las instrucciones en [rustup.rs](https://rustup.rs/). +1. **Instala Rust**: mdBook está escrito en Rust, por lo que primero debes asegurarte de tener Rust y su herramienta de gestión de paquetes, Cargo, instalados en tu sistema. Puedes instalar Rust utilizando rustup siguiendo las instrucciones en [rustup.rs](https://rustup.rs/), aunque el comando que puede utilizar previo revisar documentación: + + ``` + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + ``` 2. **Instala mdBook**: Con Rust y Cargo instalados, ahora puedes instalar mdBook. Abre una terminal o línea de comandos y ejecuta el siguiente comando: diff --git a/book/404.html b/book/404.html index 8a346c4..9fd882b 100644 --- a/book/404.html +++ b/book/404.html @@ -84,7 +84,7 @@ diff --git a/book/Appchain_Paradex.html b/book/Appchain_Paradex.html index 1851865..59feeec 100644 --- a/book/Appchain_Paradex.html +++ b/book/Appchain_Paradex.html @@ -83,7 +83,7 @@ diff --git a/book/Arquitectura_Cairo.html b/book/Arquitectura_Cairo.html index 012da94..616600b 100644 --- a/book/Arquitectura_Cairo.html +++ b/book/Arquitectura_Cairo.html @@ -83,7 +83,7 @@ diff --git a/book/Arquitectura_Herodotus.html b/book/Arquitectura_Herodotus.html index 46e5a5e..7fe7089 100644 --- a/book/Arquitectura_Herodotus.html +++ b/book/Arquitectura_Herodotus.html @@ -83,7 +83,7 @@ diff --git a/book/Arquitectura_Starknet.html b/book/Arquitectura_Starknet.html index 82c043d..b3e616b 100644 --- a/book/Arquitectura_Starknet.html +++ b/book/Arquitectura_Starknet.html @@ -83,7 +83,7 @@ @@ -145,32 +145,73 @@

L2 Book

Arquitectura Starknet y Cairo

-

Starknet es una solución de de capa 2 para ETH, que aprovecha la tecnología de zk-STARKs para lograr escalabilidad, privacidad y seguridad. Como solución de escalabilidad de Capa 2 para Ethereum, Starknet ofrece transacciones rápidas, seguras y de bajo costo. Funciona como un Validity Rollup (comúnmente conocido como Rollup de conocimiento cero) que utiliza sistemas criptográficos llamados STARKs para reducir los costos de computación.

+

Starknet es una solución escalabilidad de de capa 2 para ETH que ofrece transacciones rápidas, seguras y de bajo costo. Funciona como un Validity Rollup (comúnmente conocido como Rollup de conocimiento cero) que utiliza sistemas criptográficos llamados STARKs para reducir los costos de computación.

+

Starknet introduce una innovadora solución de Capa 2 para ETH, que aprovecha la tecnología de zk-STARKs para revolucionar la escalabilidad y seguridad. En este documento ofreceremos información sobre la estructura de Starknet y Cairo, en los primeros capítulos daremos una visión técnica detallada de la arquitectura de la red Starknet y sus componentes clave Sequencers, Provers y Nodes. Estos actores trabajan en armonía, impulsando el procesamiento eficiente de la red y asegurando la integridad de las transacciones. Aunque Starknet se encamina hacia la descentralización total, actualmente se enfoca en el desarrollo para alcanzar este objetivo final.

Características Generales de Starknet

-

Veamos algunas caráteristicas báscicas antes de pasar cada componente de su arquitectura.

+

Veamos algunas caráteristicas básicas antes de pasar a componente y su arquitectura.

  • Bajos costos de transacción: Los costos de transacción en Starknet son significativamente inferiores a los de Ethereum. Con próximas mejoras como Volition (disponibilidad de datos fuera de la cadena) y la implementación de EIP 4844 en L1, se espera que estos costos disminuyan aún más.
  • Plataforma amigable para desarrolladores: Starknet proporciona un entorno que empodera a los desarrolladores para construir aplicaciones descentralizadas utilizando STARKs y el lenguaje de programación Cairo.
  • Alto rendimiento y baja latencia: Las futuras versiones de Starknet tienen como objetivo aumentar el rendimiento de la red, reducir la latencia de las transacciones y disminuir los costos de las mismas.
  • -
  • La Filosofía de Starknet: Un Enfoque Amigable para Desarrolladores -La filosofía de Starknet se centra en ser amigable para los desarrolladores. La red está diseñada con un claro enfoque en proporcionar a los desarrolladores una plataforma robusta, segura y poderosa para construir el futuro de la infraestructura y las aplicaciones descentralizadas. Los principios fundamentales de este enfoque incluyen:
  • +
  • La Filosofía de Starknet: La filosofía de Starknet se centra en ser amigable para los desarrolladores. La red está diseñada con un claro enfoque en proporcionar a los desarrolladores una plataforma robusta, segura y poderosa para construir el futuro de la infraestructura y las aplicaciones descentralizadas.
  • Rendimiento: Starknet ofrece mayor rendimiento, menor latencia y costos de transacción reducidos, facilitando así la creación de aplicaciones intensivas en cómputo.
  • Cairo: El lenguaje de programación central de Starknet, Cairo, se actualiza constantemente y se mejora para brindar a los desarrolladores las mejores herramientas para aprovechar las pruebas de validez y la tecnología zk-STARKs.
  • Enfoque en la comunidad: Starknet mantiene canales activos de comunicación y retroalimentación con la comunidad de desarrolladores a través de plataformas como Telegram y Discord.
  • Creatividad: Starknet tiene como objetivo eliminar limitaciones y empoderar a los desarrolladores para construir el futuro de las aplicaciones descentralizadas. Permite crear cosas que nunca antes se pudieron construir debido a las limitaciones de la tecnología subyacente.
  • Herramientas: Starknet se compromete a proporcionar una amplia gama de herramientas de desarrollo, incluyendo SDKs para diversos lenguajes, un marco de pruebas e implementación inspirado en Foundry (Protostar) y administradores de paquetes (Scarb).
-

En este apartado exploraremos la arquitectura de Starknet y sus componentes fundamentales para comprender como es la construcción de aplicaciones web3 escalables. Te proporcionaremos un conocimiento profundo de los elementos clave de Starknet, permitiéndote desarrollar e implementar dApps de manera eficiente.

-

A lo largo de este documento, abordaremos los siguientes temas: (MAL)

+

En la próxima sección, nos sumergiremos en la arquitectura de Starknet y sus componentes fundamentales para comprender cómo construir aplicaciones web3 escalables. Te proporcionaremos un conocimiento profundo de los elementos clave de Starknet, lo que te permitirá desarrollar e implementar dApps de manera eficiente. Comencemos con una breve descripción de los componentes fundamentales que desempeñarán un papel crucial en el funcionamiento de la red y asegurarán que el ciclo de las transacciones sea escalable, rápido y económico.

+

Sequencers:

+

Los Secuenciadores (Sequencers) son componentes esenciales de la red Starknet y juegan un papel central al actuar como puntos de entrada para las transacciones. Son comparables a los validadores en Ethereum, y los ZK Rollups tienen la capacidad única de delegar ciertas tareas de la red, como la agregación y el procesamiento de transacciones, a entidades especializadas. Sin embargo, este proceso demanda recursos significativos debido a los altos requisitos de capacidad y continuidad.

+

En el ecosistema de Starknet y otras plataformas con ZK Rollups, se observa un paralelo similar. Estas redes externalizan el procesamiento de transacciones a estas entidades especializadas, denominadas Sequencers, quienes luego verifican su trabajo. La delegación de tareas a los Sequencers es clave para que los ZK Rollups puedan manejar una gran cantidad de transacciones sin poner en riesgo la seguridad de la red subyacente, y así los Sequencers desempeñan un papel esencial para lograr una mayor escalabilidad en Ethereum.

+

A diferencia de los mineros, cuya función es brindar seguridad en otras redes, los Sequencers no aportan seguridad, sino que ofrecen capacidad de transacción. Su labor consiste en agrupar múltiples transacciones en un solo batch, procesarlas y generar un bloque. Este bloque será luego verificado por el Verificador, al cual se le proporcionará una zk Proof que garantiza la Validez o Integridad de los datos, conocida como Validity Proof, y más concretamente un STARK específico de Starknet. El Prover es el encargado de generar este STARK y se asegura de que todos los datos de las transacciones sean correctos. Posteriormente, el Sequencer enviará todo a la red de Capa 1 como un rollup, una prueba única y compacta para que el Verificador compruebe que los datos son correctos y actualice el nuevo estado de la red.

+

Los Sequencers siguen un método sistemático para el procesamiento de transacciones:

+
    +
  1. Agregación: Recopilan transacciones de los usuarios.
  2. +
  3. Procesamiento: Los Sequencers procesan estas transacciones de acuerdo con las reglas definidas por la red.
  4. +
  5. Agrupación: Las transacciones se agrupan en batchs o bloques para mayor eficiencia.
  6. +
  7. Producción de Bloques: Los Sequencers producen bloques que contienen lotes de transacciones procesadas.
  8. +
+

Los Sequencers deben ser confiables y estar altamente disponibles, ya que su función es fundamental para el buen funcionamiento de la red. Necesitan máquinas potentes y bien conectadas para desempeñar su papel de manera efectiva, ya que deben procesar transacciones de manera rápida y continua.

+

La hoja de ruta actual de Starknet incluye la descentralización del rol de secuenciador. Este cambio hacia la descentralización permitirá que más participantes se conviertan en Sequencers, contribuyendo a la robustez y seguridad de la red.

+

Provers:

+

En Starknet, el SHARP (Shared Prover) desempeña un papel esencial al realizar múltiples tareas, incluida la generación de la Validity Proof. Detallaremos estas diversas funciones en capítulos posteriores para comprender su importancia. Podemos entender al Prover como un componente que actúa en la segunda línea de verificación del sistema, y una de sus tareas principales es validar el trabajo de los Sequencers, especialmente cuando estos reciben el bloque producido por el Sequencers. Además, los Provers también tienen la responsabilidad de generar pruebas que demuestren que todos estos procesos se llevaron a cabo de manera correcta.

+

Los Provers necesitan incluso más potencia computacional que los Sequencers, ya que deben calcular y generar pruebas, un proceso que es computacionalmente pesado. Sin embargo, el trabajo de los Provers se puede dividir en varias partes, lo que permite la paralelización y la generación eficiente de pruebas. El proceso de generación de pruebas es asincrónico, lo que significa que no es necesario que ocurra de inmediato o en tiempo real. Esta flexibilidad permite distribuir la carga de trabajo entre varios Provers, cada uno trabajando en un bloque diferente, lo que facilita la paralelización y una generación más eficiente de pruebas.

+

El diseño de Starknet se basa en dos tipos de actores: los Sequencers y los Provers, que trabajan en conjunto para garantizar un procesamiento eficiente y una verificación segura de las transacciones.

+

En cuanto a las funciones de un Prover, podemos destacar:

+
    +
  1. Recepción de Bloques: Los Provers obtienen bloques de transacciones procesadas de los Sequencers.
  2. +
  3. Procesamiento: Los Provers vuelven a procesar estos bloques para asegurarse de que todas las transacciones dentro del bloque se hayan manejado correctamente.
  4. +
  5. Generación de Pruebas: Después del procesamiento, los Provers generan una Validity Proof que demuestra el correcto procesamiento de las transacciones.
  6. +
  7. Envío de Prueba a Ethereum: Finalmente, la Validity Proof se envía a la red de Ethereum para su validación. Si la Validity Proof es correcta, la red Ethereum acepta el bloque de transacciones.
  8. +
+

Nodos:

+

Cuando se trata de definir qué hacen los nodos en Bitcoin o Ethereum, a menudo se interpreta erróneamente su papel como mantener un registro de cada transacción dentro de la red. Sin embargo, esto no es del todo preciso.

+

Los nodos actúan como auditores de la red, manteniendo el estado de la red, como cuánto Bitcoin posee cada participante o el estado actual de un contrato inteligente específico. Logran esto procesando transacciones y conservando un registro de todas las transacciones, pero eso es un medio para un fin, no el fin en sí mismo.

+

En el caso de Validity Rollup, específicamente dentro de Starknet, este concepto se invierte en cierta medida. Los nodos no necesariamente tienen que procesar todas las transacciones para obtener el estado. A diferencia de Ethereum o Bitcoin, los nodos de Starknet no están obligados a procesar cada transacción para mantener el estado de la red.

+

Existen dos formas principales de acceder a los datos del estado de la red:

    -
  • Nodos de L2: Una descripción general de los diferentes nodos de Starknet (Secuenciador, Verificador, Nodos completos e Indexador) y sus roles dentro de la red.
  • -
  • Ciclo de vida de las transacciones: Una explicación detallada de los diferentes estados por los que pasa una transacción de capa 2, discutiendo los beneficios y riesgos de considerar un estado en particular como "finalidad".
  • -
  • Starknet OS: Una exploración de cómo el Secuenciador valida y ejecuta transacciones, y su conexión con la AA.
  • -
  • SHARP: Un exámen del flujo de trabajo del Verificador para generar pruebas para Starknet y Starkex utilizando la recursividad, centrándose en el flujo de trabajo en lugar de las matemáticas detrás de STARKs.
  • -
  • DA o Disponibilidad de datos: Una discusión sobre la Disponibilidad de Datos en Starknet en diversos modos.
  • -
  • Componentes de L1: Un análisis exhaustivo del Verificador en la cadena y el Registro de Hechos,
  • -
  • Puentes: Una explicación de cómo funciona la comunicación entre capa 1 y capa 2, y cómo se pueden crear puentes entre redes.
  • +
  • A través de una puerta de enlace de API.
  • +
  • Mediante el protocolo RPC para comunicarse con un nodo.
+

Operar su propio nodo suele ser más rápido que usar una arquitectura compartida, como la puerta de enlace. A medida que avanza el tiempo, Starknet planea descontinuar las API y reemplazarlas por un estándar JSON RPC, lo que hará que operar su propio nodo sea aún más beneficioso.

+

Vale la pena señalar que alentar a más personas a ejecutar nodos aumenta la resistencia de la red y evita la sobrecarga del servidor, un problema que ha afectado a otras redes de Capa 2.

+

Actualmente, existen principalmente tres métodos principales para que un nodo lleve un registro del estado de la red:

+
    +
  1. Reproducción de Transacciones Antiguas: Al igual que en Ethereum o Bitcoin, un nodo puede tomar todas las transacciones y volver a ejecutarlas. Aunque este enfoque es preciso, no es escalable a menos que se tenga una máquina potente capaz de manejar la carga. Si se pueden volver a reproducir todas las transacciones, el nodo puede convertirse en un Sequencer, como puede ser el caso del nuevo enfoque adaptado a Madara con Substrate, actuando como un Sequencer, Full Node o mucho más como veremos en su momento.
  2. +
  3. Confiar en el Consenso de Capa 2: Los nodos pueden confiar en que los Secuencer ejecutan la red correctamente. Cuando el Secuencer actualiza el estado y agrega un nuevo bloque, los nodos aceptan la actualización como precisa.
  4. +
  5. Verificación de la Validación de Pruebas en L1: Los nodos pueden monitorear el estado de la red observando L1 y asegurándose de que cada vez que se envía una prueba, reciben el estado actualizado. De esta manera, no tienen que confiar en nadie y solo necesitan realizar un seguimiento de la última transacción válida para Starknet.
  6. +
+

Podemos encontrarnos una variedad de tipos de nodos, cada uno desempeñando un papel esencial en el funcionamiento y cada tipo de configuración de nodo presenta sus propios desafíos y oportunidades, ya que vienen acompañados de requisitos de hardware y suposiciones de confianza únicas.

+

A medida que nos adentramos en este universo descentralizado, es crucial entender cómo estos nodos interactúan y cómo contribuyen a la eficiencia y seguridad de Starknet. Desde aquellos que reproducen transacciones con potencia de procesamiento masiva, hasta los que confían en el consenso de Capa 2 con menor carga computacional, y aquellos que verifican la validación de pruebas en L1 con una huella más liviana, cada nodo tiene su lugar y su relevancia en esta red en constante evolución.

+

Nodos que Reproducen Transacciones:

+

Los nodos que reproducen transacciones requieren máquinas potentes para rastrear y ejecutar todas las transacciones. Estos nodos no tienen suposiciones de confianza, únicamente confían en las transacciones que ejecutan, garantizando que el estado en cualquier momento sea válido.

+

Nodos que Confian en el Consenso de Capa 2:

+

Los nodos que confían en el consenso de Capa 2 representan una opción de menor exigencia en cuanto a potencia computacional. Aunque necesitan un almacenamiento adecuado para mantener el estado, su carga de procesamiento de transacciones es más liviana, dado que se basan en una suposición de confianza. Inicialmente, Starknet estuvo centrado en un solo secuenciador, pero ha evolucionado hacia una red más descentralizada con la incorporación de componentes como Madara y Secuencers de Rust mejorados por Lambda, entre otros, los cuales serán detallados en la sección de Sequencers.

+

En este contexto, estos nodos depositan su confianza en que Starkware no interferirá con la red. Sin embargo, a medida que se implemente un mecanismo de consenso y selección de líderes entre los Sequencers, el nivel de confianza se modificará. En ese futuro escenario, los nodos solo necesitarán confiar en que un Sequencer que ha comprometido su participación para producir un bloque no estará dispuesto a perderla.

+

Nodos que Verifican la Validación de Pruebas en L1:

+

Los nodos que actualizan su estado basándose únicamente en la validación de pruebas en L1 requieren menos hardware y comparten los mismos requisitos que un nodo de Ethereum. Con la futura existencia de nodos ligeros de Ethereum, mantener un nodo de este tipo podría ser tan sencillo como usar un teléfono inteligente. No obstante, existe un compromiso a considerar la latencia. Las pruebas no se envían a Ethereum en cada bloque de manera constante, sino de forma intermitente, lo que provoca actualizaciones de estado retrasadas.

+

Para aumentar la frecuencia de las pruebas, incluso si no se envían a Ethereum de inmediato, se espera que un avance en el futuro permita que estos nodos reduzcan significativamente su latencia. Sin embargo, es importante tener en cuenta que este desarrollo aún está lejos en la hoja de ruta de Starknet

diff --git "a/book/Bases_Criptogr\303\241ficas.html" "b/book/Bases_Criptogr\303\241ficas.html" index e9b1e2c..9d9c4e1 100644 --- "a/book/Bases_Criptogr\303\241ficas.html" +++ "b/book/Bases_Criptogr\303\241ficas.html" @@ -83,7 +83,7 @@ diff --git a/book/Cairo.html b/book/Cairo.html index ce06afe..a570940 100644 --- a/book/Cairo.html +++ b/book/Cairo.html @@ -83,7 +83,7 @@ diff --git a/book/Cairo_Native.html b/book/Cairo_Native.html index 79cd963..bfaa091 100644 --- a/book/Cairo_Native.html +++ b/book/Cairo_Native.html @@ -83,7 +83,7 @@ diff --git a/book/Cairo_Verifier_Rust.html b/book/Cairo_Verifier_Rust.html index 02100a4..5109c9b 100644 --- a/book/Cairo_Verifier_Rust.html +++ b/book/Cairo_Verifier_Rust.html @@ -83,7 +83,7 @@ @@ -154,7 +154,7 @@

L2 Book

- @@ -168,7 +168,7 @@

L2 Book

- diff --git a/book/Cairov2.html b/book/Cairov2.html index 0862fea..bd73917 100644 --- a/book/Cairov2.html +++ b/book/Cairov2.html @@ -83,7 +83,7 @@ diff --git a/book/Casos_de_uso.html b/book/Casos_de_uso.html index de440d6..4137c91 100644 --- a/book/Casos_de_uso.html +++ b/book/Casos_de_uso.html @@ -83,7 +83,7 @@ diff --git a/book/Chainlink.html b/book/Chainlink.html index 9a53e3c..50ae275 100644 --- a/book/Chainlink.html +++ b/book/Chainlink.html @@ -83,7 +83,7 @@ diff --git a/book/Commitments_Inbox.html b/book/Commitments_Inbox.html index 30befb0..2c0832e 100644 --- a/book/Commitments_Inbox.html +++ b/book/Commitments_Inbox.html @@ -83,7 +83,7 @@ diff --git a/book/Componentes.html b/book/Componentes.html index aa8883d..45f604a 100644 --- a/book/Componentes.html +++ b/book/Componentes.html @@ -83,7 +83,7 @@ diff --git "a/book/Conclusi\303\263n.html" "b/book/Conclusi\303\263n.html" index 032e9f9..e79fafe 100644 --- "a/book/Conclusi\303\263n.html" +++ "b/book/Conclusi\303\263n.html" @@ -83,7 +83,7 @@ diff --git "a/book/Criptograf\303\255a_Asim\303\251trica.html" "b/book/Criptograf\303\255a_Asim\303\251trica.html" index b80a863..381b13b 100644 --- "a/book/Criptograf\303\255a_Asim\303\251trica.html" +++ "b/book/Criptograf\303\255a_Asim\303\251trica.html" @@ -83,7 +83,7 @@ diff --git "a/book/Criptograf\303\255a_H\303\255bridas.html" "b/book/Criptograf\303\255a_H\303\255bridas.html" index 0239fd2..6dba5af 100644 --- "a/book/Criptograf\303\255a_H\303\255bridas.html" +++ "b/book/Criptograf\303\255a_H\303\255bridas.html" @@ -83,7 +83,7 @@ diff --git "a/book/Criptograf\303\255a_Sim\303\251trica.html" "b/book/Criptograf\303\255a_Sim\303\251trica.html" index 1cf6bd5..0dbd955 100644 --- "a/book/Criptograf\303\255a_Sim\303\251trica.html" +++ "b/book/Criptograf\303\255a_Sim\303\251trica.html" @@ -83,7 +83,7 @@ diff --git a/book/DA.html b/book/DA.html index 3980002..714667e 100644 --- a/book/DA.html +++ b/book/DA.html @@ -83,7 +83,7 @@ diff --git a/book/.Deoxys.html b/book/Deoxys.html similarity index 74% rename from book/.Deoxys.html rename to book/Deoxys.html index c37f5b7..6afd55e 100644 --- a/book/.Deoxys.html +++ b/book/Deoxys.html @@ -83,7 +83,7 @@ diff --git a/book/EOA_AA.html b/book/EOA_AA.html index f7e04a5..72c5417 100644 --- a/book/EOA_AA.html +++ b/book/EOA_AA.html @@ -83,7 +83,7 @@ diff --git a/book/EVM_zkEVM.html b/book/EVM_zkEVM.html index 46925cb..161df1b 100644 --- a/book/EVM_zkEVM.html +++ b/book/EVM_zkEVM.html @@ -83,7 +83,7 @@ diff --git a/book/Ejemplos_Storage_Proof.html b/book/Ejemplos_Storage_Proof.html index 6505f69..ca5fedb 100644 --- a/book/Ejemplos_Storage_Proof.html +++ b/book/Ejemplos_Storage_Proof.html @@ -83,7 +83,7 @@ diff --git a/book/Estado_Oracle_Starknet.html b/book/Estado_Oracle_Starknet.html index 528baa7..c6ea740 100644 --- a/book/Estado_Oracle_Starknet.html +++ b/book/Estado_Oracle_Starknet.html @@ -83,7 +83,7 @@ diff --git a/book/Facts_Registry.html b/book/Facts_Registry.html index 41b868e..de81910 100644 --- a/book/Facts_Registry.html +++ b/book/Facts_Registry.html @@ -83,7 +83,7 @@ diff --git a/book/Firmas_Digitales.html b/book/Firmas_Digitales.html index d9ea95c..ef29c0d 100644 --- a/book/Firmas_Digitales.html +++ b/book/Firmas_Digitales.html @@ -83,7 +83,7 @@ diff --git a/book/Fullnode.html b/book/Fullnode.html index 667d21c..e2052ba 100644 --- a/book/Fullnode.html +++ b/book/Fullnode.html @@ -83,7 +83,7 @@ diff --git a/book/Funciones_Hash.html b/book/Funciones_Hash.html index 9448359..6feb5f5 100644 --- a/book/Funciones_Hash.html +++ b/book/Funciones_Hash.html @@ -83,7 +83,7 @@ diff --git a/book/Generador_de_Claves.html b/book/Generador_de_Claves.html index 5a6094d..5acb2cd 100644 --- a/book/Generador_de_Claves.html +++ b/book/Generador_de_Claves.html @@ -83,7 +83,7 @@ diff --git a/book/Grover.html b/book/Grover.html index db0ec76..3736a45 100644 --- a/book/Grover.html +++ b/book/Grover.html @@ -83,7 +83,7 @@ diff --git a/book/Hashing_Array.html b/book/Hashing_Array.html index ced2e85..036bf3a 100644 --- a/book/Hashing_Array.html +++ b/book/Hashing_Array.html @@ -83,7 +83,7 @@ diff --git a/book/Headers_Store.md.html b/book/Headers_Store.md.html index 65dfd01..a4a76fd 100644 --- a/book/Headers_Store.md.html +++ b/book/Headers_Store.md.html @@ -83,7 +83,7 @@ diff --git a/book/Herodotus_Turbo.html b/book/Herodotus_Turbo.html index b7770bd..1668950 100644 --- a/book/Herodotus_Turbo.html +++ b/book/Herodotus_Turbo.html @@ -83,7 +83,7 @@ diff --git "a/book/Introducci\303\263n.html" "b/book/Introducci\303\263n.html" index f80a350..301332f 100644 --- "a/book/Introducci\303\263n.html" +++ "b/book/Introducci\303\263n.html" @@ -83,7 +83,7 @@ diff --git "a/book/Introducci\303\263n2.html" "b/book/Introducci\303\263n2.html" index 2502abc..e8c4d86 100644 --- "a/book/Introducci\303\263n2.html" +++ "b/book/Introducci\303\263n2.html" @@ -83,7 +83,7 @@ diff --git "a/book/Introducci\303\263n3.html" "b/book/Introducci\303\263n3.html" index 470ca00..f9872a6 100644 --- "a/book/Introducci\303\263n3.html" +++ "b/book/Introducci\303\263n3.html" @@ -83,7 +83,7 @@ diff --git a/book/Juno.html b/book/Juno.html index 5340f17..ea9502c 100644 --- a/book/Juno.html +++ b/book/Juno.html @@ -83,7 +83,7 @@ @@ -154,7 +154,7 @@

Juno

- @@ -168,7 +168,7 @@

Juno

- diff --git a/book/Kakarot_Base.html b/book/Kakarot_Base.html index af654d4..6b612f2 100644 --- a/book/Kakarot_Base.html +++ b/book/Kakarot_Base.html @@ -83,7 +83,7 @@ diff --git a/book/Keccak.html b/book/Keccak.html index 470d622..ed1b3e8 100644 --- a/book/Keccak.html +++ b/book/Keccak.html @@ -83,7 +83,7 @@ diff --git a/book/Keccak_Starknet.html b/book/Keccak_Starknet.html index 31ad1f6..afaa68a 100644 --- a/book/Keccak_Starknet.html +++ b/book/Keccak_Starknet.html @@ -83,7 +83,7 @@ diff --git a/book/Kyber_Crystal.html b/book/Kyber_Crystal.html index 9fcf550..461d716 100644 --- a/book/Kyber_Crystal.html +++ b/book/Kyber_Crystal.html @@ -83,7 +83,7 @@ diff --git a/book/Lattice.html b/book/Lattice.html index 69053a5..da0eb92 100644 --- a/book/Lattice.html +++ b/book/Lattice.html @@ -83,7 +83,7 @@ diff --git a/book/Madara_Base.html b/book/Madara_Base.html index 8d4d619..db1c012 100644 --- a/book/Madara_Base.html +++ b/book/Madara_Base.html @@ -83,7 +83,7 @@ diff --git a/book/Merkle_Mountain_Ranges.html b/book/Merkle_Mountain_Ranges.html index 15566ff..53ce3e9 100644 --- a/book/Merkle_Mountain_Ranges.html +++ b/book/Merkle_Mountain_Ranges.html @@ -83,7 +83,7 @@ diff --git a/book/Merkle_Tree_en_Blockchain.html b/book/Merkle_Tree_en_Blockchain.html index b773179..168d766 100644 --- a/book/Merkle_Tree_en_Blockchain.html +++ b/book/Merkle_Tree_en_Blockchain.html @@ -83,7 +83,7 @@ diff --git a/book/Node_Guardians.html b/book/Node_Guardians.html index 3a01156..cbf2339 100644 --- a/book/Node_Guardians.html +++ b/book/Node_Guardians.html @@ -83,7 +83,7 @@ diff --git a/book/Otras_Arquitecturas.html b/book/Otras_Arquitecturas.html index 0f7dece..59bb01b 100644 --- a/book/Otras_Arquitecturas.html +++ b/book/Otras_Arquitecturas.html @@ -83,7 +83,7 @@ diff --git a/book/Papyrus.html b/book/Papyrus.html index 9cc6787..1d86ac4 100644 --- a/book/Papyrus.html +++ b/book/Papyrus.html @@ -83,7 +83,7 @@ @@ -150,7 +150,7 @@

Papyrus