From f186b71ca51e83837db60de13322394bb5e6d348 Mon Sep 17 00:00:00 2001 From: murilo ijanc Date: Tue, 24 Mar 2026 21:41:06 -0300 Subject: Initial commit Import existing tesseras.net website content. --- pt-br/news/reed-solomon/index.html | 210 +++++++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 pt-br/news/reed-solomon/index.html (limited to 'pt-br/news/reed-solomon/index.html') diff --git a/pt-br/news/reed-solomon/index.html b/pt-br/news/reed-solomon/index.html new file mode 100644 index 0000000..8947909 --- /dev/null +++ b/pt-br/news/reed-solomon/index.html @@ -0,0 +1,210 @@ + + + + + + Reed-Solomon: Como o Tesseras Sobrevive à Perda de Dados — Tesseras + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ + + Tesseras + +

+ + +
+ +
+ +
+

Reed-Solomon: Como o Tesseras Sobrevive à Perda de Dados

+

2026-02-14

+

Seu disco rígido vai morrer. Seu provedor de nuvem vai pivotar. O array RAID no +seu armário vai sobreviver ao controlador, mas não ao dono. Se uma memória está +armazenada em exatamente um lugar, ela tem exatamente uma forma de se perder +para sempre.

+

Tesseras é uma rede que mantém memórias humanas vivas através de ajuda mútua. O +mecanismo central de sobrevivência é a codificação de apagamento +Reed-Solomon — uma técnica emprestada da comunicação espacial profunda que nos +permite reconstruir dados mesmo quando pedaços desaparecem.

+

O que é Reed-Solomon?

+

Reed-Solomon é uma família de códigos corretores de erros inventada por Irving +Reed e Gustave Solomon em 1960. O caso de uso original era corrigir erros em +dados transmitidos por canais ruidosos — pense na Voyager enviando fotos de +Júpiter, ou num CD tocando apesar de arranhões.

+

A ideia-chave: se você adicionar redundância cuidadosamente calculada aos seus +dados antes que algo dê errado, você pode recuperar o original mesmo depois de +perder alguns pedaços.

+

Eis a intuição. Suponha que você tenha um polinômio de grau 2 — uma parábola. +Você precisa de 3 pontos para defini-lo de forma única. Mas se você avaliá-lo em +5 pontos, pode perder quaisquer 2 desses 5 e ainda reconstruir o polinômio a +partir dos 3 restantes. Reed-Solomon generaliza essa ideia para trabalhar sobre +corpos finitos (corpos de Galois), onde o "polinômio" são seus dados e os +"pontos de avaliação" são seus fragmentos.

+

Em termos concretos:

+
    +
  1. Divida seus dados em k shards de dados
  2. +
  3. Calcule m shards de paridade a partir dos shards de dados
  4. +
  5. Distribua todos os k + m shards em diferentes locais
  6. +
  7. Reconstrua os dados originais a partir de quaisquer k dos k + m +shards
  8. +
+

Você pode perder até m shards — quaisquer m, de dados ou paridade, em +qualquer combinação — e ainda recuperar tudo.

+

Por que não simplesmente fazer cópias?

+

A abordagem ingênua para redundância é a replicação: faça 3 cópias, armazene-as +em 3 lugares. Isso dá tolerância a 2 falhas ao custo de 3x o seu armazenamento.

+

Reed-Solomon é dramaticamente mais eficiente:

+ + + + +
EstratégiaOverhead de armazenamentoFalhas toleradas
Replicação 3x200%2 de 3
Reed-Solomon (16,8)50%8 de 24
Reed-Solomon (48,24)50%24 de 72
+

Com 16 shards de dados e 8 de paridade, você usa 50% de armazenamento extra mas +pode sobreviver à perda de um terço de todos os fragmentos. Para alcançar a +mesma tolerância a falhas só com replicação, você precisaria de 3x o +armazenamento.

+

Para uma rede que visa preservar memórias ao longo de décadas e séculos, essa +eficiência não é um luxo — é a diferença entre um sistema viável e um que se +afoga no próprio overhead.

+

Como o Tesseras usa Reed-Solomon

+

Nem todos os dados merecem o mesmo tratamento. Uma memória de texto de 500 bytes +e um vídeo de 100 MB têm necessidades de redundância muito diferentes. O +Tesseras usa uma estratégia de fragmentação em três camadas:

+

Small (< 4 MB) — Replicação do arquivo inteiro para 7 pares. Para tesseras +pequenas, o overhead da codificação de apagamento (tempo de codificação, +gerenciamento de fragmentos, lógica de reconstrução) supera seus benefícios. +Cópias simples são mais rápidas e mais simples.

+

Medium (4–256 MB) — 16 shards de dados + 8 de paridade = 24 fragmentos no +total. Cada fragmento tem aproximadamente 1/16 do tamanho original. Quaisquer 16 +dos 24 fragmentos reconstroem o original. Distribuídos entre 7 pares.

+

Large (≥ 256 MB) — 48 shards de dados + 24 de paridade = 72 fragmentos no +total. Maior contagem de shards significa fragmentos individuais menores (mais +fáceis de transferir e armazenar) e maior tolerância absoluta a falhas. Também +distribuídos entre 7 pares.

+

A implementação usa o crate reed-solomon-erasure operando sobre GF(2⁸) — o +mesmo corpo de Galois usado em códigos QR e CDs. Cada fragmento carrega um +checksum BLAKE3 para que a corrupção seja detectada imediatamente, não propagada +silenciosamente.

+
Tessera (álbum de fotos de 120 MB)
+    ↓ codificar
+16 shards de dados (7,5 MB cada) + 8 shards de paridade (7,5 MB cada)
+    ↓ distribuir
+24 fragmentos entre 7 pares (diversidade de sub-rede)
+    ↓ quaisquer 16 fragmentos
+Tessera original recuperada
+
+

Os desafios

+

Reed-Solomon resolve o problema matemático da redundância. Os desafios de +engenharia estão em tudo ao redor.

+

Rastreamento de fragmentos

+

Cada fragmento precisa ser localizável. O Tesseras usa uma DHT Kademlia para +descoberta de pares e mapeamento de fragmentos para pares. Quando um nó fica +offline, seus fragmentos precisam ser recriados e distribuídos para novos pares. +Isso significa rastrear quais fragmentos existem, onde estão e se ainda estão +intactos — numa rede sem autoridade central.

+

Corrupção silenciosa

+

Um fragmento que retorna dados errados é pior que um ausente — pelo menos um +fragmento ausente é honestamente ausente. O Tesseras aborda isso com +verificações de saúde baseadas em atestação: o loop de reparo periodicamente +pede aos detentores de fragmentos que provem posse retornando checksums BLAKE3. +Se um checksum não bater, o fragmento é tratado como perdido.

+

Falhas correlacionadas

+

Se todos os 24 fragmentos de uma tessera caírem em máquinas no mesmo datacenter, +uma única queda de energia os elimina todos. A matemática do Reed-Solomon assume +falhas independentes. O Tesseras impõe diversidade de sub-rede durante a +distribuição: no máximo 2 fragmentos por sub-rede /24 IPv4 (ou prefixo /48 +IPv6). Isso espalha fragmentos por diferentes infraestruturas físicas.

+

Velocidade de reparo vs. carga na rede

+

Quando um par fica offline, o relógio começa a contar. Fragmentos perdidos +precisam ser recriados antes que mais falhas se acumulem. Mas reparo agressivo +inunda a rede. O Tesseras equilibra isso com um loop de reparo configurável +(padrão: a cada 24 horas com 2 horas de jitter) e limites de transferências +simultâneas (padrão: 4 transferências simultâneas). O jitter previne tempestades +de reparo onde cada nó verifica seus fragmentos no mesmo momento.

+

Gerenciamento de chaves a longo prazo

+

Reed-Solomon protege contra perda de dados, não contra perda de acesso. Se uma +tessera é criptografada (visibilidade privada ou selada), você precisa da chave +de descriptografia para tornar os dados recuperados úteis. O Tesseras separa +essas preocupações: codificação de apagamento cuida da disponibilidade, enquanto +o Compartilhamento de Segredo de Shamir (uma fase futura) cuidará da +distribuição de chaves entre herdeiros. A filosofia de design do projeto — +criptografar o mínimo possível — mantém o problema de gerenciamento de chaves +pequeno.

+

Limitações do corpo de Galois

+

O corpo GF(2⁸) limita o número total de shards a 255 (dados + paridade +combinados). Para o Tesseras, isso não é uma restrição prática — mesmo a camada +Large usa apenas 72 shards. Mas significa que arquivos extremamente grandes com +milhares de fragmentos exigiriam um corpo diferente ou um esquema de codificação +em camadas.

+

Compatibilidade evolutiva do codec

+

Uma tessera codificada hoje precisa ser decodificável em 50 anos. Reed-Solomon +sobre GF(2⁸) é um dos algoritmos mais amplamente implementados na computação — +está em todo leitor de CD, em todo scanner de código QR, em toda sonda espacial. +Essa ubiquidade é em si uma estratégia de sobrevivência. O algoritmo não será +esquecido porque metade da infraestrutura do mundo depende dele.

+

O quadro geral

+

Reed-Solomon é uma peça de um quebra-cabeça maior. Ele trabalha em conjunto com:

+ +

Nenhuma técnica isolada faz memórias sobreviverem. Reed-Solomon garante que +dados podem ser recuperados. A DHT garante que fragmentos podem ser +encontrados. A reciprocidade garante que pares querem ajudar. O reparo +garante que nada disso se degrade com o tempo.

+

Uma tessera é uma aposta de que a soma desses mecanismos, rodando em muitas +máquinas independentes operadas por muitas pessoas independentes, é mais durável +que qualquer instituição isolada. Reed-Solomon é a fundação matemática dessa +aposta.

+ +
+ +
+ + + + -- cgit v1.2.3