En aproximadamente un mes, #Bitcoinestá a punto de comenzar su próximo halving. Sin embargo, el autor cree que la visión de Satoshi Nakamoto, el consenso accesible para todos a través de la CPU, aún no se ha realizado. En este sentido, los mecanismos iterativos de Arweave pueden alinearse de manera más fiel con la visión original de Nakamoto, con la versión 2.6 representando un paso significativo hacia la realización de sus expectativas. Esta versión aporta mejoras sustanciales respecto a sus predecesoras, con el objetivo de:
Basado en los objetivos anteriores, el mecanismo de la versión 2.6 es aproximadamente el siguiente:
Gráfico 1: Esquema del Mecanismo de Consenso en la Versión 2.6
Vamos a familiarizarnos con varios términos y conceptos que aparecen en este mecanismo:
Datos de Arweave: También conocido como la “Red Weave”. Todos los datos en la red se dividen en bloques de datos individuales, llamados Chunks (los bloques se asemejan a una “pared de ladrillos” en el diagrama). Estos bloques se distribuyen de manera uniforme en toda la red de Arweave y se direccionan utilizando una estructura de árbol de Merkle (también conocida como Desplazamiento Global), lo que permite la identificación de la posición de cualquier bloque de datos dentro de la Red Weave.
Chunk: Cada bloque de datos suele tener un tamaño de 256 KB. Los mineros deben empaquetar y hashear los bloques de datos correspondientes para ganar el derecho a minar, demostrando que almacenan copias de los datos durante el proceso de minería SPoRA.
Partición: "Partición" es un nuevo concepto introducido en la versión 2.6. Cada partición abarca 3.6TB de datos. Las particiones están numeradas desde el inicio de la Red Weave (índice 0) hasta el número total de particiones que cubren toda la Red Weave.
Rango de Recuperación: El Rango de Recuperación es otro nuevo concepto en la versión 2.6. Representa una serie de bloques de datos contiguos (Chunks) en la Red Weave, comenzando desde un desplazamiento específico y con una longitud de 100MB. Con cada bloque de datos siendo de 256 KB, un Rango de Recuperación incluye 400 bloques de datos. En este mecanismo, hay dos Rangos de Recuperación, como se explica en detalle a continuación.
Soluciones potenciales: Cada bloque de datos de 256KB dentro del Rango de Recuerdo se considera una solución potencial para ganar el derecho a minar. Como parte del proceso de minería, cada bloque de datos se hash para probar si cumple con los requisitos de dificultad de la red. Si tiene éxito, el minero gana el derecho a minar y recibe recompensas de minería. Si no tiene éxito, el minero continúa intentando el siguiente bloque de 256KB dentro del Rango de Recuerdo.
Cadena de hash: La Cadena de hash es una actualización clave en la versión 2.6, agregando un reloj encriptado al anterior SPoRA, limitando la velocidad máxima de hash. La Cadena de hash genera una secuencia de hashes al hacer hash consecutivamente de un trozo de datos usando la función SHA-256. Este proceso no puede ser paralelizado (fácilmente alcanzable con CPUs de consumo), logrando un retraso de 1 segundo al realizar un cierto número de operaciones de hash consecutivas.
Hash de minería: Después de un número suficiente de operaciones de hash consecutivas (es decir, después de un retraso de 1 segundo), la Cadena de Hash produce un valor de hash considerado válido para la minería. Es notable que el hash de minería es consistente en todos los mineros, y todos los mineros pueden verificarlo.
Ahora que hemos introducido todos los términos necesarios, podemos entender mejor cómo opera la Versión 2.6 al discutir las estrategias óptimas para obtenerla.
El objetivo general de Arweave ha sido presentado varias veces antes, que es maximizar el número de réplicas de datos almacenadas en la red. Pero ¿qué almacenar? ¿Cómo almacenarlo? Hay muchos requisitos e intrincaciones involucrados. Aquí, discutiremos cómo adoptar una estrategia de mejores prácticas.
Replicas vs Copias
Desde la versión 2.6, he encontrado con frecuencia dos términos en varios documentos técnicos: Replicas y Copias. Ambos conceptos pueden traducirse como "copias" en chino, pero en realidad, existen diferencias significativas entre ellos, lo que también me causó algunos obstáculos para entender el mecanismo. Para facilitar la comprensión, prefiero traducir Replicas como "副本" (replicas) y Copias como "备份" (respaldos).
Las copias se refieren simplemente a copiar los datos, donde no hay diferencia entre las copias de seguridad de los mismos datos.
Por otro lado, las réplicas enfatizan la singularidad. Se refiere al acto de almacenar datos después de que ha pasado por un proceso de singularidad. La red de Arweave fomenta el almacenamiento de réplicas en lugar de simples copias de seguridad.
Nota: En la versión 2.7, el mecanismo de consenso ha cambiado a SPoRes, que significa Pruebas Concisas de Replicaciones, basado en el almacenamiento de réplicas. Proporcionaré una interpretación más detallada en el futuro.
Empaquetando Replicas Únicas
Las réplicas únicas son cruciales en el mecanismo de Arweave. Los mineros deben empaquetar todos los datos en un formato específico para formar sus réplicas únicas como requisito previo para ganar el derecho a minar.
Si desea ejecutar un nuevo nodo y está pensando en copiar directamente los datos que otros mineros ya han empaquetado, no funcionará. Primero, debe descargar y sincronizar los datos originales de la Red de Tejido Arweave (por supuesto, no desea descargar todo, también es factible descargar solo una parte, y puede establecer sus propias políticas de datos para filtrar datos riesgosos). Luego, use la función RandomX para empaquetar cada bloque de datos de los datos originales, convirtiéndolos en posibles soluciones de minería.
El proceso de empaquetado implica proporcionar una Clave de Empaquetado a la función RandomX, lo que le permite generar resultados a través de múltiples cálculos para empaquetar los bloques de datos originales. El proceso de desempaquetar los bloques de datos ya empaquetados es el mismo: proporcionar la clave de empaquetado y usar los resultados generados a través de múltiples cálculos para desempaquetar los bloques de datos.
En la versión 2.5, la copia de seguridad de la clave de empaquetado es un hash SHA256 asociado con chunk_offset (el desplazamiento del bloque de datos, también entendido como el parámetro de posición del bloque de datos) y tx_root (raíz de transacción). Esto asegura que cada solución minera extraída provenga de una réplica única de bloques de datos dentro de un bloque específico. Si un bloque de datos tiene múltiples copias de seguridad en diferentes ubicaciones en la red rota, cada copia de seguridad debe respaldarse por separado como una réplica única.
En la versión 2.6, esta clave de respaldo se extiende a un hash SHA256 asociado con chunk_offset, tx_root y miner_address (dirección del minero). Esto significa que cada réplica también es única para cada dirección de minería.
Ventajas de almacenar réplicas completas
El algoritmo sugiere que los mineros deben construir una réplica completa única en lugar de réplicas parcialmente replicadas, lo que garantiza una distribución uniforme de datos en toda la red.
¿Cómo debemos entender esto? Entendamos a través de una comparación de las siguientes dos imágenes.
Primero, supongamos que toda la red fragmentada de Arweave ha producido un total de 16 particiones de datos.
Escenario 1:
Figura 2: La estrategia "inteligente" de Bob: primer escenario
Segundo Escenario:
Ahora, echemos un vistazo al segundo escenario. Debido a la disposición de dos rangos de recuperación, una estrategia más óptima es almacenar réplicas únicas de los datos con más problemas. Esto se ilustra en la Figura 3.
Figura 3: la estrategia de Alice tiene mayores ventajas
El papel de los rangos de recuperación
Puede que te preguntes por qué, antes de la versión 2.5, un solo desplazamiento de bloque de recuperación era aleatoriamente hasheado por una función para permitir a los mineros buscar y proporcionar pruebas de almacenamiento, mientras que en la versión 2.6, hashea un rango de recuperación en su lugar.
La razón es bastante simple: un rango de llamada está compuesto por bloques de datos contiguos, y esta estructura sirve a un propósito principal: minimizar el movimiento de la cabeza de lectura de los discos duros mecánicos (HDD). Este método de optimización física permite que el rendimiento de lectura de los HDD esté a la par con los más caros discos de estado sólido (SSD). Es como atar una mano y un pie de un SSD; por supuesto, aún puede tener una ligera ventaja de velocidad al poder transferir cuatro rangos de llamada por segundo. Sin embargo, en comparación con los más baratos HDD, su conteo será la métrica clave que impulsará las elecciones de los mineros.
Ahora vamos a discutir la verificación de un nuevo bloque.
Para aceptar un nuevo bloque, los validadores necesitan validar el nuevo bloque recibido del productor de bloques, lo cual se puede hacer usando su hash de minería generado para verificar el hash de minería del nuevo bloque.
Si un validador no está en la cabeza actual de la cadena de hash, cada hash de minería incluye 25 checkpoints de 40 milisegundos. Estos checkpoints son los resultados consecutivos de hashing durante 40 milisegundos, y juntos representan un intervalo de un segundo a partir del hash de minería anterior.
Antes de propagar el bloque recién recibido a otros nodos, los validadores completarán rápidamente la verificación de los primeros 25 checkpoints en 40 milisegundos. Si la verificación es exitosa, desencadena la propagación del bloque y continúa validando los checkpoints restantes.
Los puntos de control completos se completan validando todos los puntos de control restantes. Después de los primeros 25 puntos de control, hay 500 puntos de control de verificación, seguidos por otros 500 puntos de control de verificación, con el intervalo duplicándose para cada grupo subsiguiente de 500 puntos de control.
Si bien la cadena hash debe avanzar secuencialmente en la generación de hash de minería, los validadores pueden realizar la verificación de hash al validar los puntos de control, lo que puede acortar el tiempo para verificar bloques y mejorar la eficiencia.
Figura 4: Proceso de verificación de la cadena de hash
Semilla de la Cadena de Hash
Si un minero o grupo minero tiene capacidades de hash SHA256 más rápidas, su cadena de hash puede avanzar por delante de otros nodos en la red. Con el tiempo, esta ventaja de velocidad de bloque puede acumularse en un desfase significativo de la cadena de hash, lo que provoca que los hashes minados estén fuera de sincronía con el resto de los validadores. Esto podría llevar a una serie de bifurcaciones y reorganizaciones incontrolables.
Para reducir la probabilidad de tales desplazamientos en la cadena de hash, Arweave sincroniza la cadena de hash global utilizando fichas de bloques históricos a intervalos fijos. Esto proporciona regularmente nuevas semillas para la cadena de hash, garantizando la sincronización de las cadenas de hash entre varios mineros con un bloque validado.
El intervalo para las semillas de la cadena de hash es cada 50 * 120 hashes minados (50 representa el número de bloques, y 120 representa el número de hashes minados dentro de un ciclo de producción de bloques de 2 minutos) para seleccionar un nuevo bloque de semilla. Esto significa que los bloques de semilla aparecen aproximadamente cada ~50 bloques de Arweave, pero debido a variaciones en los tiempos de bloque, los bloques de semilla pueden aparecer ligeramente antes o después de 50 bloques.
Figura 5: Método de generación de semillas de cadena de hash
El contenido anterior extraído de la especificación de la versión 2.6 por el autor ilustra que Arweave ha implementado mecanismos descentralizados de baja potencia para operar toda la red a partir de la versión 2.6. La visión de Satoshi Nakamoto encuentra una realización práctica en Arweave.
Arweave 2.6: https://2-6-spec.arweave.dev/
Declaración:
Este artículo originalmente titulado "Arweave 2.6 也许更符合中本聪的愿景" es reproducido de [PermaDAO]. Todos los derechos de autor pertenecen al autor original [Arweave Oasis]. If you have any objection to the reprint, please contact Gate Learnequipo, el equipo se encargará de ello lo antes posible.
Descargo de responsabilidad: Las opiniones y puntos de vista expresados en este artículo representan solo las opiniones personales del autor y no constituyen ningún consejo de inversión.
Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
En aproximadamente un mes, #Bitcoinestá a punto de comenzar su próximo halving. Sin embargo, el autor cree que la visión de Satoshi Nakamoto, el consenso accesible para todos a través de la CPU, aún no se ha realizado. En este sentido, los mecanismos iterativos de Arweave pueden alinearse de manera más fiel con la visión original de Nakamoto, con la versión 2.6 representando un paso significativo hacia la realización de sus expectativas. Esta versión aporta mejoras sustanciales respecto a sus predecesoras, con el objetivo de:
Basado en los objetivos anteriores, el mecanismo de la versión 2.6 es aproximadamente el siguiente:
Gráfico 1: Esquema del Mecanismo de Consenso en la Versión 2.6
Vamos a familiarizarnos con varios términos y conceptos que aparecen en este mecanismo:
Datos de Arweave: También conocido como la “Red Weave”. Todos los datos en la red se dividen en bloques de datos individuales, llamados Chunks (los bloques se asemejan a una “pared de ladrillos” en el diagrama). Estos bloques se distribuyen de manera uniforme en toda la red de Arweave y se direccionan utilizando una estructura de árbol de Merkle (también conocida como Desplazamiento Global), lo que permite la identificación de la posición de cualquier bloque de datos dentro de la Red Weave.
Chunk: Cada bloque de datos suele tener un tamaño de 256 KB. Los mineros deben empaquetar y hashear los bloques de datos correspondientes para ganar el derecho a minar, demostrando que almacenan copias de los datos durante el proceso de minería SPoRA.
Partición: "Partición" es un nuevo concepto introducido en la versión 2.6. Cada partición abarca 3.6TB de datos. Las particiones están numeradas desde el inicio de la Red Weave (índice 0) hasta el número total de particiones que cubren toda la Red Weave.
Rango de Recuperación: El Rango de Recuperación es otro nuevo concepto en la versión 2.6. Representa una serie de bloques de datos contiguos (Chunks) en la Red Weave, comenzando desde un desplazamiento específico y con una longitud de 100MB. Con cada bloque de datos siendo de 256 KB, un Rango de Recuperación incluye 400 bloques de datos. En este mecanismo, hay dos Rangos de Recuperación, como se explica en detalle a continuación.
Soluciones potenciales: Cada bloque de datos de 256KB dentro del Rango de Recuerdo se considera una solución potencial para ganar el derecho a minar. Como parte del proceso de minería, cada bloque de datos se hash para probar si cumple con los requisitos de dificultad de la red. Si tiene éxito, el minero gana el derecho a minar y recibe recompensas de minería. Si no tiene éxito, el minero continúa intentando el siguiente bloque de 256KB dentro del Rango de Recuerdo.
Cadena de hash: La Cadena de hash es una actualización clave en la versión 2.6, agregando un reloj encriptado al anterior SPoRA, limitando la velocidad máxima de hash. La Cadena de hash genera una secuencia de hashes al hacer hash consecutivamente de un trozo de datos usando la función SHA-256. Este proceso no puede ser paralelizado (fácilmente alcanzable con CPUs de consumo), logrando un retraso de 1 segundo al realizar un cierto número de operaciones de hash consecutivas.
Hash de minería: Después de un número suficiente de operaciones de hash consecutivas (es decir, después de un retraso de 1 segundo), la Cadena de Hash produce un valor de hash considerado válido para la minería. Es notable que el hash de minería es consistente en todos los mineros, y todos los mineros pueden verificarlo.
Ahora que hemos introducido todos los términos necesarios, podemos entender mejor cómo opera la Versión 2.6 al discutir las estrategias óptimas para obtenerla.
El objetivo general de Arweave ha sido presentado varias veces antes, que es maximizar el número de réplicas de datos almacenadas en la red. Pero ¿qué almacenar? ¿Cómo almacenarlo? Hay muchos requisitos e intrincaciones involucrados. Aquí, discutiremos cómo adoptar una estrategia de mejores prácticas.
Replicas vs Copias
Desde la versión 2.6, he encontrado con frecuencia dos términos en varios documentos técnicos: Replicas y Copias. Ambos conceptos pueden traducirse como "copias" en chino, pero en realidad, existen diferencias significativas entre ellos, lo que también me causó algunos obstáculos para entender el mecanismo. Para facilitar la comprensión, prefiero traducir Replicas como "副本" (replicas) y Copias como "备份" (respaldos).
Las copias se refieren simplemente a copiar los datos, donde no hay diferencia entre las copias de seguridad de los mismos datos.
Por otro lado, las réplicas enfatizan la singularidad. Se refiere al acto de almacenar datos después de que ha pasado por un proceso de singularidad. La red de Arweave fomenta el almacenamiento de réplicas en lugar de simples copias de seguridad.
Nota: En la versión 2.7, el mecanismo de consenso ha cambiado a SPoRes, que significa Pruebas Concisas de Replicaciones, basado en el almacenamiento de réplicas. Proporcionaré una interpretación más detallada en el futuro.
Empaquetando Replicas Únicas
Las réplicas únicas son cruciales en el mecanismo de Arweave. Los mineros deben empaquetar todos los datos en un formato específico para formar sus réplicas únicas como requisito previo para ganar el derecho a minar.
Si desea ejecutar un nuevo nodo y está pensando en copiar directamente los datos que otros mineros ya han empaquetado, no funcionará. Primero, debe descargar y sincronizar los datos originales de la Red de Tejido Arweave (por supuesto, no desea descargar todo, también es factible descargar solo una parte, y puede establecer sus propias políticas de datos para filtrar datos riesgosos). Luego, use la función RandomX para empaquetar cada bloque de datos de los datos originales, convirtiéndolos en posibles soluciones de minería.
El proceso de empaquetado implica proporcionar una Clave de Empaquetado a la función RandomX, lo que le permite generar resultados a través de múltiples cálculos para empaquetar los bloques de datos originales. El proceso de desempaquetar los bloques de datos ya empaquetados es el mismo: proporcionar la clave de empaquetado y usar los resultados generados a través de múltiples cálculos para desempaquetar los bloques de datos.
En la versión 2.5, la copia de seguridad de la clave de empaquetado es un hash SHA256 asociado con chunk_offset (el desplazamiento del bloque de datos, también entendido como el parámetro de posición del bloque de datos) y tx_root (raíz de transacción). Esto asegura que cada solución minera extraída provenga de una réplica única de bloques de datos dentro de un bloque específico. Si un bloque de datos tiene múltiples copias de seguridad en diferentes ubicaciones en la red rota, cada copia de seguridad debe respaldarse por separado como una réplica única.
En la versión 2.6, esta clave de respaldo se extiende a un hash SHA256 asociado con chunk_offset, tx_root y miner_address (dirección del minero). Esto significa que cada réplica también es única para cada dirección de minería.
Ventajas de almacenar réplicas completas
El algoritmo sugiere que los mineros deben construir una réplica completa única en lugar de réplicas parcialmente replicadas, lo que garantiza una distribución uniforme de datos en toda la red.
¿Cómo debemos entender esto? Entendamos a través de una comparación de las siguientes dos imágenes.
Primero, supongamos que toda la red fragmentada de Arweave ha producido un total de 16 particiones de datos.
Escenario 1:
Figura 2: La estrategia "inteligente" de Bob: primer escenario
Segundo Escenario:
Ahora, echemos un vistazo al segundo escenario. Debido a la disposición de dos rangos de recuperación, una estrategia más óptima es almacenar réplicas únicas de los datos con más problemas. Esto se ilustra en la Figura 3.
Figura 3: la estrategia de Alice tiene mayores ventajas
El papel de los rangos de recuperación
Puede que te preguntes por qué, antes de la versión 2.5, un solo desplazamiento de bloque de recuperación era aleatoriamente hasheado por una función para permitir a los mineros buscar y proporcionar pruebas de almacenamiento, mientras que en la versión 2.6, hashea un rango de recuperación en su lugar.
La razón es bastante simple: un rango de llamada está compuesto por bloques de datos contiguos, y esta estructura sirve a un propósito principal: minimizar el movimiento de la cabeza de lectura de los discos duros mecánicos (HDD). Este método de optimización física permite que el rendimiento de lectura de los HDD esté a la par con los más caros discos de estado sólido (SSD). Es como atar una mano y un pie de un SSD; por supuesto, aún puede tener una ligera ventaja de velocidad al poder transferir cuatro rangos de llamada por segundo. Sin embargo, en comparación con los más baratos HDD, su conteo será la métrica clave que impulsará las elecciones de los mineros.
Ahora vamos a discutir la verificación de un nuevo bloque.
Para aceptar un nuevo bloque, los validadores necesitan validar el nuevo bloque recibido del productor de bloques, lo cual se puede hacer usando su hash de minería generado para verificar el hash de minería del nuevo bloque.
Si un validador no está en la cabeza actual de la cadena de hash, cada hash de minería incluye 25 checkpoints de 40 milisegundos. Estos checkpoints son los resultados consecutivos de hashing durante 40 milisegundos, y juntos representan un intervalo de un segundo a partir del hash de minería anterior.
Antes de propagar el bloque recién recibido a otros nodos, los validadores completarán rápidamente la verificación de los primeros 25 checkpoints en 40 milisegundos. Si la verificación es exitosa, desencadena la propagación del bloque y continúa validando los checkpoints restantes.
Los puntos de control completos se completan validando todos los puntos de control restantes. Después de los primeros 25 puntos de control, hay 500 puntos de control de verificación, seguidos por otros 500 puntos de control de verificación, con el intervalo duplicándose para cada grupo subsiguiente de 500 puntos de control.
Si bien la cadena hash debe avanzar secuencialmente en la generación de hash de minería, los validadores pueden realizar la verificación de hash al validar los puntos de control, lo que puede acortar el tiempo para verificar bloques y mejorar la eficiencia.
Figura 4: Proceso de verificación de la cadena de hash
Semilla de la Cadena de Hash
Si un minero o grupo minero tiene capacidades de hash SHA256 más rápidas, su cadena de hash puede avanzar por delante de otros nodos en la red. Con el tiempo, esta ventaja de velocidad de bloque puede acumularse en un desfase significativo de la cadena de hash, lo que provoca que los hashes minados estén fuera de sincronía con el resto de los validadores. Esto podría llevar a una serie de bifurcaciones y reorganizaciones incontrolables.
Para reducir la probabilidad de tales desplazamientos en la cadena de hash, Arweave sincroniza la cadena de hash global utilizando fichas de bloques históricos a intervalos fijos. Esto proporciona regularmente nuevas semillas para la cadena de hash, garantizando la sincronización de las cadenas de hash entre varios mineros con un bloque validado.
El intervalo para las semillas de la cadena de hash es cada 50 * 120 hashes minados (50 representa el número de bloques, y 120 representa el número de hashes minados dentro de un ciclo de producción de bloques de 2 minutos) para seleccionar un nuevo bloque de semilla. Esto significa que los bloques de semilla aparecen aproximadamente cada ~50 bloques de Arweave, pero debido a variaciones en los tiempos de bloque, los bloques de semilla pueden aparecer ligeramente antes o después de 50 bloques.
Figura 5: Método de generación de semillas de cadena de hash
El contenido anterior extraído de la especificación de la versión 2.6 por el autor ilustra que Arweave ha implementado mecanismos descentralizados de baja potencia para operar toda la red a partir de la versión 2.6. La visión de Satoshi Nakamoto encuentra una realización práctica en Arweave.
Arweave 2.6: https://2-6-spec.arweave.dev/
Declaración:
Este artículo originalmente titulado "Arweave 2.6 也许更符合中本聪的愿景" es reproducido de [PermaDAO]. Todos los derechos de autor pertenecen al autor original [Arweave Oasis]. If you have any objection to the reprint, please contact Gate Learnequipo, el equipo se encargará de ello lo antes posible.
Descargo de responsabilidad: Las opiniones y puntos de vista expresados en este artículo representan solo las opiniones personales del autor y no constituyen ningún consejo de inversión.
Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.