บทเรียนที่ 2

Conceptos básicos de la cadena de bloques de Filecoin

This lesson dives into Filecoin's blockchain architecture, highlighting its secure, distributed database and the pivotal role of actors, akin to smart contracts. We'll explore the unique aspects of Filecoin, including its consensus mechanism, node roles, and the innovative tipset structure that underpins the network's efficiency and scalability.

Fundamentos de blockchain en Filecoin

La cadena de bloques Filecoin es una intrincada base de datos distribuida compartida entre una red de nodos informáticos. Cada nodo posee una copia de la cadena de bloques, lo que garantiza que cada transacción y obligación contractual en la red quede registrada y sea inmutable. Esto proporciona un libro de contabilidad confiable y seguro de todas las actividades dentro del ecosistema Filecoin.

Actores: los caballos de batalla de la cadena de bloques de Filecoin

Los actores en la cadena de bloques de Filecoin sirven como equivalentes a los contratos inteligentes en la máquina virtual Ethereum. Cada actor encapsula un conjunto de variables de estado y métodos para interactuar con la red Filecoin. Son esencialmente los agentes que realizan acciones en la cadena de bloques, como gestionar acuerdos de almacenamiento o facilitar transacciones.

Actores del sistema integrados

La red de Filecoin está impulsada por varios actores del sistema integrados que manejan funciones esenciales:

  • Actor del sistema: ejecuta operaciones generales de red.
  • Init Actor: Responsable de inicializar nuevos actores y gestionar las convenciones de nomenclatura de la red.
  • Cron Actor: actúa como el programador de la red, activando funciones esenciales en cada época.
  • Actor de cuenta: gestiona cuentas de usuario más allá del alcance del patrón singleton.
  • Actor minero de almacenamiento: coordina las operaciones de minería de almacenamiento y valida las pruebas de almacenamiento.
  • Actor del mercado de almacenamiento: gestiona acuerdos de almacenamiento dentro del mercado de la red.
  • Actor multifirma: maneja las operaciones relacionadas con la billetera multifirma de Filecoin.
  • Actor del Canal de Pago: Gestiona el establecimiento y liquidación de canales de pago.
  • Actor de Datacap: supervisa la asignación y gestión de tokens de Datacap.
  • Actor de Registro Verificado: Gestiona clientes verificados dentro de la red.
  • Actor de cuenta EVM: representa identidades externas de Ethereum, lo que facilita la interoperabilidad con sistemas basados en Ethereum.

Actores programables por el usuario

A medida que la máquina virtual Filecoin (FVM) madura, los desarrolladores tienen la oportunidad de escribir e implementar sus propios actores, de forma similar a los contratos inteligentes en otras cadenas de bloques. Estos actores programables por el usuario pueden interactuar con los actores integrados a través de API exportadas, lo que permite crear una amplia gama de aplicaciones y servicios sobre la red Filecoin.

Aleatoriedad distribuida en Filecoin

Filecoin utiliza un protocolo de aleatoriedad distribuido y verificable públicamente conocido como Drand como fuente de aleatoriedad para la elección del líder durante la producción de bloques. Esta aleatoriedad es esencial para garantizar que el proceso sea impredecible, imparcial y verificable, manteniendo la equidad y seguridad del proceso minero.

Nodos y sus funciones

Los nodos de la red Filecoin se clasifican principalmente según los servicios que brindan:

  • Nodos verificadores de cadena: valida la cadena de bloques y aplica reglas de consenso.
  • Nodos cliente: interactúan con la red para almacenar y recuperar datos.
  • Nodos proveedores de almacenamiento: ofrecen capacidad de almacenamiento a la red y demuestran almacenamiento continuo.
  • Nodos proveedores de recuperación: Sirve datos almacenados de forma rápida y confiable cuando se solicita.
  • Coexisten múltiples implementaciones del protocolo Filecoin para mejorar la seguridad y la resiliencia de la red, garantizando que no haya ningún punto único de falla y promoviendo una descentralización saludable.

Direcciones: Identificación de actores en Filecoin

Las direcciones en Filecoin son cadenas alfanuméricas que identifican de forma única a los actores o usuarios en la red, facilitando interacciones como transacciones y ejecuciones de contratos inteligentes. Estas direcciones se presentan en varias formas, reflejando los diferentes tipos de actores que representan:

  • Direcciones de identificación (f0): identificadores numéricos para actores, que proporcionan una forma legible por humanos para hacer referencia a los participantes de la red.
  • Direcciones Secp256k1 (f1): Derivadas de claves públicas que utilizan el estándar de cifrado secp256k1, comúnmente utilizado para billeteras.
  • Direcciones de actores (f2): asignadas a contratos inteligentes y permanecen sólidas en todas las bifurcaciones de la red.
  • Direcciones BLS (f3): generadas a partir de claves públicas BLS y utilizadas para billeteras con cifrado BLS.
  • Direcciones de actores definidas por el usuario (f4): direcciones flexibles que pueden ser asignadas por actores de administración de direcciones definibles por el usuario, lo que permite esquemas de direccionamiento personalizados y extensibles.
  • Cada tipo de dirección tiene un propósito específico dentro del ecosistema de Filecoin, desde facilitar transacciones hasta gestionar contratos inteligentes e interacciones de usuarios.

Consejos y bloques

La cadena de bloques de Filecoin se desvía de la norma de una secuencia lineal de bloques. Aquí, los bloques se agrupan en "conjuntos de consejos", que pueden considerarse instantáneas del estado de la red en cada época, o un intervalo de tiempo fijo en el lenguaje blockchain. Este modelo permite una cadena de bloques más flexible y eficiente al permitir que se produzcan múltiples bloques válidos al mismo tiempo.

La anatomía de un bloque de Filecoin

Cada bloque en Filecoin es un paquete que contiene un encabezado y una serie de mensajes que representan las acciones tomadas por los actores, como transacciones o acuerdos contractuales. El encabezado del bloque incluye metadatos como la dirección del minero, el ticket (prueba de trabajo) y los CID de los bloques principales. Los mensajes son la esencia del bloque y registran cambios de estado, como transferencias de tokens y llamadas de contratos. Los bloques están vinculados al menos a un bloque principal, formando una cadena continua hasta el bloque de génesis.

Blocktime: sincronizando el pulso de la red

El tiempo de bloqueo en Filecoin se establece en un promedio de 30 segundos. Este intervalo fue elegido estratégicamente para equilibrar la capacidad de respuesta de la red y los aspectos prácticos de su operación. Un tiempo de bloqueo más corto podría aumentar la velocidad de la red, pero también impondría mayores demandas de hardware y podría provocar fallas de tiempo de bloqueo más frecuentes. El tiempo de bloqueo de 30 segundos permite a los proveedores de almacenamiento tiempo suficiente para realizar las operaciones necesarias, como sellar sectores y generar pruebas, sin sobrecargar su hardware.

Conjuntos de consejos: maximizar la eficiencia y la recompensa

En una época determinada, es posible que varios proveedores de almacenamiento extraigan bloques con éxito. La estructura tipset de Filecoin se adapta a esto al agrupar todos los bloques válidos con la misma altura y padre en un solo grupo. Esto significa que todo trabajo válido contribuye al estado de la red y es recompensado, una característica importante que fomenta la participación y colaboración entre los mineros. También garantiza que la red pueda manejar bifurcaciones de manera eficiente, alcanzando rápidamente un consenso sobre la cadena canónica.

El sistema tipset ofrece varias ventajas sobre las cadenas de bloques tradicionales:

  • Mayor rendimiento de la red: al utilizar todos los bloques válidos para determinar el estado de la red, Filecoin puede procesar más datos y transacciones en cada época.
  • Recompensar el trabajo válido: cada proveedor de almacenamiento que produce un bloque válido recibe una recompensa, lo que incentiva a los mineros a contribuir a la red y desalienta la centralización.
  • Colaboración sobre competencia: se anima a los productores potenciales de bloques a colaborar, ya que la estructura tipset desincentiva la retención de bloques que podrían ser beneficiosos para el crecimiento de la red.
  • Resiliencia a las bifurcaciones: con la arquitectura tipset, Filecoin logra una convergencia más rápida durante las bifurcaciones, lo que garantiza la estabilidad de la red.
  • El Ethereum JSON-RPC y Filecoin

Vale la pena señalar que con la integración del tiempo de ejecución de Filecoin EVM y la adopción de los estándares JSON-RPC de Ethereum, la noción de "tipset" se vuelve aún más fácil de usar. En este contexto, cuando hablamos de un 'hash de bloque' en Ethereum JSON-RPC, en realidad nos referimos al hash de un conjunto de consejos, que abarca los cambios de estado combinados de todos los bloques dentro de ese conjunto de consejos.

A medida que continuamos explorando la cadena de bloques de Filecoin, veremos cómo estos componentes interactúan para crear una red de almacenamiento descentralizada que es robusta, eficiente y preparada para el crecimiento futuro.

Consenso sobre Filecoin

El mecanismo de consenso de Filecoin, conocido como Consenso Esperado (EC), representa una piedra angular en su red de almacenamiento descentralizado. Este capítulo tiene como objetivo proporcionar una introducción a EC, profundizando en sus principios operativos, especificaciones técnicas y el papel que desempeña en el mantenimiento de la integridad y confiabilidad de la red Filecoin.

Filecoin opera con un mecanismo de consenso único denominado Consenso Esperado (CE). A diferencia de los protocolos tradicionales de blockchain que a menudo se basan en Prueba de trabajo (PoW) o Prueba de participación (PoS), EC combina elementos de aleatoriedad, poder de almacenamiento y tolerancia probabilística a fallas bizantinas. En esencia, EC está diseñado para alinear los incentivos con el objetivo principal de Filecoin: almacenar datos de manera eficiente y confiable.

La esencia de la CE

  • Descentralización y confiabilidad: el objetivo principal de EC es fomentar un entorno descentralizado donde el almacenamiento y la recuperación de datos sean confiables y verificables.
  • Enfoque centrado en el almacenamiento: a diferencia de las cadenas de bloques tradicionales que se centran en la potencia computacional o la tenencia de monedas, EC de Filecoin prioriza la potencia de almacenamiento: la capacidad de almacenar datos.

Mecánica central del consenso esperado

El marco operativo de EC gira en torno a varios componentes clave, cada uno de los cuales desempeña un papel vital en la funcionalidad de la red.

  1. Tolerancia probabilística a fallas bizantinas:
  • EC incorpora mecanismos bizantinos de tolerancia a fallas, lo que lo hace resistente a una variedad de condiciones adversas, incluidos los nodos que actúan de manera maliciosa o se desconectan.
  1. Elección de Líderes y Producción de Bloques:
  • En el corazón de la CE se encuentra el proceso de elección de líderes. A diferencia de los procesos deterministas que se ven en otras cadenas de bloques, EC emplea un método probabilístico para seleccionar líderes o mineros responsables de la creación de bloques.
  1. Anonimato hasta que se demuestre su elección:
  • Los mineros dentro de EC permanecen en el anonimato hasta que puedan demostrar su estado electoral a través de un 'ElectionProof'. Esta prueba es fundamental para garantizar la equidad y la imprevisibilidad en la producción de bloques.
  1. Prueba de almacenamiento:
  • Los mineros deben presentar un 'WinningPoSt' (Prueba de espacio-tiempo), validando su contribución a la capacidad de almacenamiento de la red.

Especificaciones técnicas de la CE

Los fundamentos técnicos de la CE son donde realmente brilla su naturaleza innovadora. A continuación, exploramos algunas de las especificaciones clave que definen este mecanismo de consenso:

Aleatoriedad vía DRAND:

  • EC utiliza DRAND, una baliza de aleatoriedad externa e imparcial, para facilitar varios aspectos del protocolo, incluida la elección del líder.

Función aleatoria verificable (VRF):

  • Los mineros utilizan un VRF, junto con la aleatoriedad obtenida de DRAND, para generar su ElectionProof.

Cadena ElectionProof y VRF:

  • ElectionProof es crucial para que los mineros demuestren que han sido elegidos legítimamente para producir un bloque.
  • Se mantiene una cadena VRF continua, que se extiende con cada nuevo bloque producido.

Potencia de almacenamiento y WinCount:

  • El poder de un minero en la red es proporcional a su capacidad de almacenamiento.
  • WinCount determina la cantidad de bloques que un minero puede producir, en función de su capacidad de almacenamiento y el resultado de su VRF.
  • Seguridad y equidad del consenso

La seguridad y la justicia son primordiales en la CE, y existen varios mecanismos para salvaguardar estos principios:

Faltas y sanciones de consenso:

La CE define tipos específicos de fallas de consenso (por ejemplo, minería de doble bifurcación, minería con compensación de tiempo) e impone sanciones para disuadir el comportamiento malicioso.

Fuente de las imágenes: Documentación de Filecoin aquí: https://spec.filecoin.io/algorithms/expected_consensus/

Ponderación y selección de cadenas:

  • El protocolo emplea un sistema de ponderación de cadena único, donde se favorece la cadena "más pesada", indicativa del mayor poder de almacenamiento acumulativo.

Finalidad suave:

  • EC emplea una forma de finalidad suave, rechazando bloques que se desvían significativamente de la cadena, lo que refuerza la estabilidad de la red.

Drand: aleatoriedad distribuida en Filecoin

Drand (aleatoriedad distribuida) es un componente crítico del mecanismo de consenso de Filecoin, que proporciona una fuente insesgable de entropía esencial para el proceso secreto de elección del líder de la red. Es un protocolo de baliza aleatoria verificable públicamente diseñado para generar una serie de valores aleatorios deterministas y verificables.

Cómo funciona Drand

  • Computaciones multipartitas (MPC): Drand ejecuta una serie de MPC para producir valores aleatorios. Después de una fase de configuración confiable, un grupo de nodos drand conocidos firman un mensaje determinado utilizando firmas BLS de umbral en rondas sucesivas que ocurren a intervalos regulares.
  • Firmas de umbral BLS: el proceso requiere una cantidad mínima de nodos (t-of-n) para firmar un mensaje. Cualquier nodo con t de firmas puede reconstruir la firma BLS completa. Esta firma, cuando se aplica un hash, produce un valor aleatorio colectivo que se puede verificar con la clave pública desde la fase de configuración.
  • Supuestos de seguridad: Drand supone que al menos t de los n nodos son honestos y están en línea. Si se rompe este umbral, el adversario puede detener la producción de aleatoriedad pero no puede sesgar la aleatoriedad.

Salidas de aleatoriedad Drand

Formato de valor Drand: los nodos de Filecoin obtienen valores Drand en un formato específico. Los componentes clave incluyen:

  • Firma: una firma BLS en el valor de firma anterior y el número de ronda actual.
  • Firma anterior: la firma BLS de la ronda Drand anterior.
  • Ronda: El índice de aleatoriedad en la secuencia producida por la red Drand.

Usando Drand en Filecoin

  • Elección de líder: Drand se utiliza para la elección de líder en Filecoin y proporciona un valor aleatorio en cada época. Esta aleatoriedad es fundamental para el algoritmo de Consenso Esperado (EC), ya que garantiza una selección de líderes justa e impredecible.
  • Obtención de valores de Drand: los nodos de Filecoin recuperan el último valor de aleatoriedad de Drand utilizando puntos finales específicos. Luego, esta información se integra con los datos en cadena para respaldar el mecanismo de consenso de Filecoin.

Pruebas: garantizar la integridad y la confianza

Las pruebas en Filecoin sirven para validar que los proveedores de almacenamiento almacenan datos correctamente según los estándares de la red. Estas pruebas son fundamentales para mantener la integridad y confiabilidad del sistema de almacenamiento descentralizado.

Tipos de pruebas en Filecoin

  • Prueba de replicación (PoRep): Utilizado en el momento del almacenamiento inicial de datos, PoRep verifica que un proveedor de almacenamiento haya creado y esté almacenando una copia única de los datos.
  • Prueba de espacio-tiempo (PoSt): verifica continuamente que el proveedor de almacenamiento mantiene los datos almacenados a lo largo del tiempo. PoSt se divide a su vez en WinningPoSt y WindowPoSt, y sirven para diferentes propósitos de validación en la red.

Papel de PoRep y PoSt

  • PoRep: valida la replicación inicial de datos por parte de un proveedor de almacenamiento, asegurando que los datos estén codificados y sellados de forma única.
  • PoSt: WinningPoSt se utiliza en el proceso de consenso de bloques, mientras que WindowPoSt audita continuamente a los proveedores de almacenamiento, garantizando el cumplimiento continuo de los acuerdos de almacenamiento.

El mecanismo de consenso de Filecoin, con su combinación única de EC, Drand y pruebas criptográficas, forma la columna vertebral de una red de almacenamiento descentralizada sólida y confiable. Estos elementos trabajan en conjunto para garantizar que la red siga siendo segura, eficiente y justa, fomentando un entorno donde la integridad de los datos es primordial. A medida que profundizamos en los matices de la cadena de bloques de Filecoin, el ingenio y la sofisticación de su modelo de consenso se vuelven cada vez más evidentes, lo que subraya el potencial de la red para revolucionar el panorama del almacenamiento digital.

ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn
แคตตาล็อก
บทเรียนที่ 2

Conceptos básicos de la cadena de bloques de Filecoin

This lesson dives into Filecoin's blockchain architecture, highlighting its secure, distributed database and the pivotal role of actors, akin to smart contracts. We'll explore the unique aspects of Filecoin, including its consensus mechanism, node roles, and the innovative tipset structure that underpins the network's efficiency and scalability.

Fundamentos de blockchain en Filecoin

La cadena de bloques Filecoin es una intrincada base de datos distribuida compartida entre una red de nodos informáticos. Cada nodo posee una copia de la cadena de bloques, lo que garantiza que cada transacción y obligación contractual en la red quede registrada y sea inmutable. Esto proporciona un libro de contabilidad confiable y seguro de todas las actividades dentro del ecosistema Filecoin.

Actores: los caballos de batalla de la cadena de bloques de Filecoin

Los actores en la cadena de bloques de Filecoin sirven como equivalentes a los contratos inteligentes en la máquina virtual Ethereum. Cada actor encapsula un conjunto de variables de estado y métodos para interactuar con la red Filecoin. Son esencialmente los agentes que realizan acciones en la cadena de bloques, como gestionar acuerdos de almacenamiento o facilitar transacciones.

Actores del sistema integrados

La red de Filecoin está impulsada por varios actores del sistema integrados que manejan funciones esenciales:

  • Actor del sistema: ejecuta operaciones generales de red.
  • Init Actor: Responsable de inicializar nuevos actores y gestionar las convenciones de nomenclatura de la red.
  • Cron Actor: actúa como el programador de la red, activando funciones esenciales en cada época.
  • Actor de cuenta: gestiona cuentas de usuario más allá del alcance del patrón singleton.
  • Actor minero de almacenamiento: coordina las operaciones de minería de almacenamiento y valida las pruebas de almacenamiento.
  • Actor del mercado de almacenamiento: gestiona acuerdos de almacenamiento dentro del mercado de la red.
  • Actor multifirma: maneja las operaciones relacionadas con la billetera multifirma de Filecoin.
  • Actor del Canal de Pago: Gestiona el establecimiento y liquidación de canales de pago.
  • Actor de Datacap: supervisa la asignación y gestión de tokens de Datacap.
  • Actor de Registro Verificado: Gestiona clientes verificados dentro de la red.
  • Actor de cuenta EVM: representa identidades externas de Ethereum, lo que facilita la interoperabilidad con sistemas basados en Ethereum.

Actores programables por el usuario

A medida que la máquina virtual Filecoin (FVM) madura, los desarrolladores tienen la oportunidad de escribir e implementar sus propios actores, de forma similar a los contratos inteligentes en otras cadenas de bloques. Estos actores programables por el usuario pueden interactuar con los actores integrados a través de API exportadas, lo que permite crear una amplia gama de aplicaciones y servicios sobre la red Filecoin.

Aleatoriedad distribuida en Filecoin

Filecoin utiliza un protocolo de aleatoriedad distribuido y verificable públicamente conocido como Drand como fuente de aleatoriedad para la elección del líder durante la producción de bloques. Esta aleatoriedad es esencial para garantizar que el proceso sea impredecible, imparcial y verificable, manteniendo la equidad y seguridad del proceso minero.

Nodos y sus funciones

Los nodos de la red Filecoin se clasifican principalmente según los servicios que brindan:

  • Nodos verificadores de cadena: valida la cadena de bloques y aplica reglas de consenso.
  • Nodos cliente: interactúan con la red para almacenar y recuperar datos.
  • Nodos proveedores de almacenamiento: ofrecen capacidad de almacenamiento a la red y demuestran almacenamiento continuo.
  • Nodos proveedores de recuperación: Sirve datos almacenados de forma rápida y confiable cuando se solicita.
  • Coexisten múltiples implementaciones del protocolo Filecoin para mejorar la seguridad y la resiliencia de la red, garantizando que no haya ningún punto único de falla y promoviendo una descentralización saludable.

Direcciones: Identificación de actores en Filecoin

Las direcciones en Filecoin son cadenas alfanuméricas que identifican de forma única a los actores o usuarios en la red, facilitando interacciones como transacciones y ejecuciones de contratos inteligentes. Estas direcciones se presentan en varias formas, reflejando los diferentes tipos de actores que representan:

  • Direcciones de identificación (f0): identificadores numéricos para actores, que proporcionan una forma legible por humanos para hacer referencia a los participantes de la red.
  • Direcciones Secp256k1 (f1): Derivadas de claves públicas que utilizan el estándar de cifrado secp256k1, comúnmente utilizado para billeteras.
  • Direcciones de actores (f2): asignadas a contratos inteligentes y permanecen sólidas en todas las bifurcaciones de la red.
  • Direcciones BLS (f3): generadas a partir de claves públicas BLS y utilizadas para billeteras con cifrado BLS.
  • Direcciones de actores definidas por el usuario (f4): direcciones flexibles que pueden ser asignadas por actores de administración de direcciones definibles por el usuario, lo que permite esquemas de direccionamiento personalizados y extensibles.
  • Cada tipo de dirección tiene un propósito específico dentro del ecosistema de Filecoin, desde facilitar transacciones hasta gestionar contratos inteligentes e interacciones de usuarios.

Consejos y bloques

La cadena de bloques de Filecoin se desvía de la norma de una secuencia lineal de bloques. Aquí, los bloques se agrupan en "conjuntos de consejos", que pueden considerarse instantáneas del estado de la red en cada época, o un intervalo de tiempo fijo en el lenguaje blockchain. Este modelo permite una cadena de bloques más flexible y eficiente al permitir que se produzcan múltiples bloques válidos al mismo tiempo.

La anatomía de un bloque de Filecoin

Cada bloque en Filecoin es un paquete que contiene un encabezado y una serie de mensajes que representan las acciones tomadas por los actores, como transacciones o acuerdos contractuales. El encabezado del bloque incluye metadatos como la dirección del minero, el ticket (prueba de trabajo) y los CID de los bloques principales. Los mensajes son la esencia del bloque y registran cambios de estado, como transferencias de tokens y llamadas de contratos. Los bloques están vinculados al menos a un bloque principal, formando una cadena continua hasta el bloque de génesis.

Blocktime: sincronizando el pulso de la red

El tiempo de bloqueo en Filecoin se establece en un promedio de 30 segundos. Este intervalo fue elegido estratégicamente para equilibrar la capacidad de respuesta de la red y los aspectos prácticos de su operación. Un tiempo de bloqueo más corto podría aumentar la velocidad de la red, pero también impondría mayores demandas de hardware y podría provocar fallas de tiempo de bloqueo más frecuentes. El tiempo de bloqueo de 30 segundos permite a los proveedores de almacenamiento tiempo suficiente para realizar las operaciones necesarias, como sellar sectores y generar pruebas, sin sobrecargar su hardware.

Conjuntos de consejos: maximizar la eficiencia y la recompensa

En una época determinada, es posible que varios proveedores de almacenamiento extraigan bloques con éxito. La estructura tipset de Filecoin se adapta a esto al agrupar todos los bloques válidos con la misma altura y padre en un solo grupo. Esto significa que todo trabajo válido contribuye al estado de la red y es recompensado, una característica importante que fomenta la participación y colaboración entre los mineros. También garantiza que la red pueda manejar bifurcaciones de manera eficiente, alcanzando rápidamente un consenso sobre la cadena canónica.

El sistema tipset ofrece varias ventajas sobre las cadenas de bloques tradicionales:

  • Mayor rendimiento de la red: al utilizar todos los bloques válidos para determinar el estado de la red, Filecoin puede procesar más datos y transacciones en cada época.
  • Recompensar el trabajo válido: cada proveedor de almacenamiento que produce un bloque válido recibe una recompensa, lo que incentiva a los mineros a contribuir a la red y desalienta la centralización.
  • Colaboración sobre competencia: se anima a los productores potenciales de bloques a colaborar, ya que la estructura tipset desincentiva la retención de bloques que podrían ser beneficiosos para el crecimiento de la red.
  • Resiliencia a las bifurcaciones: con la arquitectura tipset, Filecoin logra una convergencia más rápida durante las bifurcaciones, lo que garantiza la estabilidad de la red.
  • El Ethereum JSON-RPC y Filecoin

Vale la pena señalar que con la integración del tiempo de ejecución de Filecoin EVM y la adopción de los estándares JSON-RPC de Ethereum, la noción de "tipset" se vuelve aún más fácil de usar. En este contexto, cuando hablamos de un 'hash de bloque' en Ethereum JSON-RPC, en realidad nos referimos al hash de un conjunto de consejos, que abarca los cambios de estado combinados de todos los bloques dentro de ese conjunto de consejos.

A medida que continuamos explorando la cadena de bloques de Filecoin, veremos cómo estos componentes interactúan para crear una red de almacenamiento descentralizada que es robusta, eficiente y preparada para el crecimiento futuro.

Consenso sobre Filecoin

El mecanismo de consenso de Filecoin, conocido como Consenso Esperado (EC), representa una piedra angular en su red de almacenamiento descentralizado. Este capítulo tiene como objetivo proporcionar una introducción a EC, profundizando en sus principios operativos, especificaciones técnicas y el papel que desempeña en el mantenimiento de la integridad y confiabilidad de la red Filecoin.

Filecoin opera con un mecanismo de consenso único denominado Consenso Esperado (CE). A diferencia de los protocolos tradicionales de blockchain que a menudo se basan en Prueba de trabajo (PoW) o Prueba de participación (PoS), EC combina elementos de aleatoriedad, poder de almacenamiento y tolerancia probabilística a fallas bizantinas. En esencia, EC está diseñado para alinear los incentivos con el objetivo principal de Filecoin: almacenar datos de manera eficiente y confiable.

La esencia de la CE

  • Descentralización y confiabilidad: el objetivo principal de EC es fomentar un entorno descentralizado donde el almacenamiento y la recuperación de datos sean confiables y verificables.
  • Enfoque centrado en el almacenamiento: a diferencia de las cadenas de bloques tradicionales que se centran en la potencia computacional o la tenencia de monedas, EC de Filecoin prioriza la potencia de almacenamiento: la capacidad de almacenar datos.

Mecánica central del consenso esperado

El marco operativo de EC gira en torno a varios componentes clave, cada uno de los cuales desempeña un papel vital en la funcionalidad de la red.

  1. Tolerancia probabilística a fallas bizantinas:
  • EC incorpora mecanismos bizantinos de tolerancia a fallas, lo que lo hace resistente a una variedad de condiciones adversas, incluidos los nodos que actúan de manera maliciosa o se desconectan.
  1. Elección de Líderes y Producción de Bloques:
  • En el corazón de la CE se encuentra el proceso de elección de líderes. A diferencia de los procesos deterministas que se ven en otras cadenas de bloques, EC emplea un método probabilístico para seleccionar líderes o mineros responsables de la creación de bloques.
  1. Anonimato hasta que se demuestre su elección:
  • Los mineros dentro de EC permanecen en el anonimato hasta que puedan demostrar su estado electoral a través de un 'ElectionProof'. Esta prueba es fundamental para garantizar la equidad y la imprevisibilidad en la producción de bloques.
  1. Prueba de almacenamiento:
  • Los mineros deben presentar un 'WinningPoSt' (Prueba de espacio-tiempo), validando su contribución a la capacidad de almacenamiento de la red.

Especificaciones técnicas de la CE

Los fundamentos técnicos de la CE son donde realmente brilla su naturaleza innovadora. A continuación, exploramos algunas de las especificaciones clave que definen este mecanismo de consenso:

Aleatoriedad vía DRAND:

  • EC utiliza DRAND, una baliza de aleatoriedad externa e imparcial, para facilitar varios aspectos del protocolo, incluida la elección del líder.

Función aleatoria verificable (VRF):

  • Los mineros utilizan un VRF, junto con la aleatoriedad obtenida de DRAND, para generar su ElectionProof.

Cadena ElectionProof y VRF:

  • ElectionProof es crucial para que los mineros demuestren que han sido elegidos legítimamente para producir un bloque.
  • Se mantiene una cadena VRF continua, que se extiende con cada nuevo bloque producido.

Potencia de almacenamiento y WinCount:

  • El poder de un minero en la red es proporcional a su capacidad de almacenamiento.
  • WinCount determina la cantidad de bloques que un minero puede producir, en función de su capacidad de almacenamiento y el resultado de su VRF.
  • Seguridad y equidad del consenso

La seguridad y la justicia son primordiales en la CE, y existen varios mecanismos para salvaguardar estos principios:

Faltas y sanciones de consenso:

La CE define tipos específicos de fallas de consenso (por ejemplo, minería de doble bifurcación, minería con compensación de tiempo) e impone sanciones para disuadir el comportamiento malicioso.

Fuente de las imágenes: Documentación de Filecoin aquí: https://spec.filecoin.io/algorithms/expected_consensus/

Ponderación y selección de cadenas:

  • El protocolo emplea un sistema de ponderación de cadena único, donde se favorece la cadena "más pesada", indicativa del mayor poder de almacenamiento acumulativo.

Finalidad suave:

  • EC emplea una forma de finalidad suave, rechazando bloques que se desvían significativamente de la cadena, lo que refuerza la estabilidad de la red.

Drand: aleatoriedad distribuida en Filecoin

Drand (aleatoriedad distribuida) es un componente crítico del mecanismo de consenso de Filecoin, que proporciona una fuente insesgable de entropía esencial para el proceso secreto de elección del líder de la red. Es un protocolo de baliza aleatoria verificable públicamente diseñado para generar una serie de valores aleatorios deterministas y verificables.

Cómo funciona Drand

  • Computaciones multipartitas (MPC): Drand ejecuta una serie de MPC para producir valores aleatorios. Después de una fase de configuración confiable, un grupo de nodos drand conocidos firman un mensaje determinado utilizando firmas BLS de umbral en rondas sucesivas que ocurren a intervalos regulares.
  • Firmas de umbral BLS: el proceso requiere una cantidad mínima de nodos (t-of-n) para firmar un mensaje. Cualquier nodo con t de firmas puede reconstruir la firma BLS completa. Esta firma, cuando se aplica un hash, produce un valor aleatorio colectivo que se puede verificar con la clave pública desde la fase de configuración.
  • Supuestos de seguridad: Drand supone que al menos t de los n nodos son honestos y están en línea. Si se rompe este umbral, el adversario puede detener la producción de aleatoriedad pero no puede sesgar la aleatoriedad.

Salidas de aleatoriedad Drand

Formato de valor Drand: los nodos de Filecoin obtienen valores Drand en un formato específico. Los componentes clave incluyen:

  • Firma: una firma BLS en el valor de firma anterior y el número de ronda actual.
  • Firma anterior: la firma BLS de la ronda Drand anterior.
  • Ronda: El índice de aleatoriedad en la secuencia producida por la red Drand.

Usando Drand en Filecoin

  • Elección de líder: Drand se utiliza para la elección de líder en Filecoin y proporciona un valor aleatorio en cada época. Esta aleatoriedad es fundamental para el algoritmo de Consenso Esperado (EC), ya que garantiza una selección de líderes justa e impredecible.
  • Obtención de valores de Drand: los nodos de Filecoin recuperan el último valor de aleatoriedad de Drand utilizando puntos finales específicos. Luego, esta información se integra con los datos en cadena para respaldar el mecanismo de consenso de Filecoin.

Pruebas: garantizar la integridad y la confianza

Las pruebas en Filecoin sirven para validar que los proveedores de almacenamiento almacenan datos correctamente según los estándares de la red. Estas pruebas son fundamentales para mantener la integridad y confiabilidad del sistema de almacenamiento descentralizado.

Tipos de pruebas en Filecoin

  • Prueba de replicación (PoRep): Utilizado en el momento del almacenamiento inicial de datos, PoRep verifica que un proveedor de almacenamiento haya creado y esté almacenando una copia única de los datos.
  • Prueba de espacio-tiempo (PoSt): verifica continuamente que el proveedor de almacenamiento mantiene los datos almacenados a lo largo del tiempo. PoSt se divide a su vez en WinningPoSt y WindowPoSt, y sirven para diferentes propósitos de validación en la red.

Papel de PoRep y PoSt

  • PoRep: valida la replicación inicial de datos por parte de un proveedor de almacenamiento, asegurando que los datos estén codificados y sellados de forma única.
  • PoSt: WinningPoSt se utiliza en el proceso de consenso de bloques, mientras que WindowPoSt audita continuamente a los proveedores de almacenamiento, garantizando el cumplimiento continuo de los acuerdos de almacenamiento.

El mecanismo de consenso de Filecoin, con su combinación única de EC, Drand y pruebas criptográficas, forma la columna vertebral de una red de almacenamiento descentralizada sólida y confiable. Estos elementos trabajan en conjunto para garantizar que la red siga siendo segura, eficiente y justa, fomentando un entorno donde la integridad de los datos es primordial. A medida que profundizamos en los matices de la cadena de bloques de Filecoin, el ingenio y la sofisticación de su modelo de consenso se vuelven cada vez más evidentes, lo que subraya el potencial de la red para revolucionar el panorama del almacenamiento digital.

ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn