Урок 2

Blockchain Noções básicas de Filecoin

1

Fundamentos da Blockchain em Filecoin

A cadeia de blocos Filecoin é uma base de dados distribuída intrincada partilhada entre uma rede de nós de computador. Cada nó detém uma cópia da cadeia de blocos, garantindo que todas as transações e obrigações contratuais na rede sejam registadas e imutáveis. Isto fornece um registo fiável e seguro de todas as atividades dentro do ecossistema Filecoin.

Atores: Os Cavalos de Trabalho do Blockchain da Filecoin

Os atores na cadeia de blocos da Filecoin servem como o equivalente a contratos inteligentes na Máquina Virtual Ethereum. Cada ator encapsula um conjunto de variáveis de estado e métodos para interagir com a rede Filecoin. São essencialmente os agentes que executam ações na cadeia de blocos, tais como gerir negócios de armazenamento ou facilitar transações.

Atores de sistema incorporados

A rede do Filecoin é alimentada por vários atores de sistema integrados que lidam com funções essenciais:

  • System Actor: Executa operações gerais de rede.
  • Init Actor: Responsável por inicializar novos atores e gerir convenções de nomenclatura de rede.
  • Ator Cron: Atua como o agendador da rede, acionando funções essenciais em cada época.
  • Actor da conta: Gere contas de utilizador para além do âmbito do padrão singleton.
  • Storage Miner Actor: Coordena as operações de mineração de armazenamento e valida provas de armazenamento.
  • Ator do mercado de armazenamento: Gere negócios de armazenamento no mercado da rede.
  • Multisig Actor: Lide com operações envolvendo a carteira multi-assinatura da Filecoin.
  • Actor do Canal de Pagamento: Gere o estabelecimento e liquidação de canais de pagamento.
  • Datacap Actor: Supervisão da atribuição e gestão de tokens de datacap.
  • Ator de registo verificado: Gere clientes verificados dentro da rede.
  • Evm Account Actor: Representa identidades Ethereum externas, facilitando a interoperabilidade com sistemas baseados em Ethereum.

Atores programáveis pelo utilizador

À medida que a Máquina Virtual Filecoin (FVM) amadurece, os programadores têm a oportunidade de escrever e implementar os seus próprios atores, semelhante a contratos inteligentes noutras blockchains. Estes atores programáveis pelo usuário podem interagir com os atores integrados através de APIs exportadas, permitindo que uma ampla gama de aplicações e serviços sejam construídos no topo da rede Filecoin.

Aleatoriedade distribuída em Filecoin

O Filecoin utiliza um protocolo de aleatoriedade distribuído e publicamente verificável conhecido como Drand como a fonte de aleatoriedade para a eleição do líder durante a produção em bloco. Esta aleatoriedade é essencial para garantir que o processo é imprevisível, imparcial e verificável, mantendo a justiça e a segurança do processo de mineração.

Os nós e as suas funções

Os nós da rede Filecoin são classificados principalmente pelos serviços que prestam:

  • Nodos Verificadores de Cadeia: Valide a cadeia de blocos e impor regras de consenso.
  • Nodos do Cliente: Interaja com a rede para armazenar e recuperar dados.
  • Nodos do fornecedor de armazenamento: Ofereça capacidade de armazenamento à rede e comprove o armazenamento contínuo.
  • Nodos do Provedor de Recuperação: Servir os dados armazenados de forma rápida e fiável quando solicitado.
  • Várias implementações do protocolo Filecoin coexistem para aumentar a segurança e resiliência da rede, garantindo nenhum ponto único de falha e promovendo uma descentralização saudável.

Endereços: Identificação de Atores no Filecoin

Os endereços no Filecoin são cadeias alfanuméricas que identificam exclusivamente atores ou utilizadores na rede, facilitando interações como transações e execuções inteligentes de contratos. Estes endereços vêm em várias formas, refletindo os diferentes tipos de atores que representam:

  • Endereços de identificação (f0): Identificadores numéricos para atores, fornecendo uma maneira legível por humanos de fazer referência aos participantes da rede.
  • Secp256K1 Endereços (f1): Derivado de chaves públicas que utilizam o padrão de encriptação secp256k1, normalmente utilizado para carteiras.
  • Endereços do ator (f2): Atribuídos a contratos inteligentes e permanecem robustos em bifurcações de rede.
  • Endereços BLS (f3): Gerado a partir de chaves públicas BLS e utilizado para carteiras com encriptação BLS.
  • Endereços de Atores Definidos pelo Utilizador (f4): Endereços flexíveis que podem ser atribuídos por agentes de gestão de endereços definidos pelo utilizador, permitindo esquemas de endereçamento personalizados e extensíveis.
  • Cada tipo de endereço serve uma finalidade específica dentro do ecossistema da Filecoin, desde facilitar transações até gerir contratos inteligentes e interações com o utilizador.

Conjuntos de Tipsets e Blocos

A blockchain do Filecoin desvia-se da norma de uma sequência linear de blocos. Aqui, os blocos são agrupados em 'tipsets', que podem ser pensados como instantâneos do estado da rede em cada época, ou um intervalo de tempo fixo na jarraca de blockchain. Este modelo permite uma cadeia de blocos mais flexível e eficiente, permitindo que vários blocos válidos sejam produzidos ao mesmo tempo.

A anatomia de um bloco de Filecoin

Cada bloco no Filecoin é um pacote contendo um cabeçalho e uma série de mensagens que representam as ações tomadas pelos atores, tais como transações ou acordos contratuais. O cabeçalho do bloco inclui metadados como o endereço do mineiro, o bilhete (prova de trabalho) e os CIDs dos blocos pais. As mensagens são a carne do bloco, registando alterações de estado tais como transferências de token e chamadas de contrato. Os blocos estão ligados a pelo menos um bloco pai, formando uma cadeia contínua de volta ao bloco de génese.

Blocktime: Sincronizando o pulso da rede

O tempo de bloqueio no Filecoin é fixado numa média de 30 segundos. Este intervalo foi escolhido estrategicamente para equilibrar entre a capacidade de resposta da rede e os aspectos práticos do seu funcionamento. Um tempo de bloqueio mais curto poderia aumentar a velocidade da rede, mas também imporia maiores exigências de hardware e poderia levar a falhas de tempo de bloqueio mais frequentes. O tempo de bloqueio de 30 segundos permite aos fornecedores de armazenamento tempo suficiente para realizar as operações necessárias, tais como selar setores e gerar provas, sem sobrecarregar o seu hardware.

Conjuntos de Tipsets: Maximizar a Eficiência e a Recompensa

Numa determinada época, é possível que vários fornecedores de armazenamento extraiam blocos com sucesso. A estrutura de tipset do Filecoin acomoda isso agrupando todos os blocos válidos com a mesma altura e pai num único grupo. Isto significa que todo o trabalho válido contribui para o estado da rede e é recompensado, uma característica importante que incentiva a participação e a colaboração entre os mineiros. Também garante que a rede possa lidar eficientemente com bifurcações, alcançando rapidamente um consenso sobre a cadeia canónica.

O sistema tipset oferece várias vantagens em relação aos blockchains tradicionais:

  • Aumento do rendimento da rede: Ao usar todos os blocos válidos para determinar o estado da rede, o Filecoin pode processar mais dados e transações em cada época.
  • Recompensando o Trabalho Válido: Cada fornecedor de armazenamento que produz um bloco válido recebe uma recompensa, incentivando assim os mineiros a contribuir para a rede e desencorajando a centralização.
  • Colaboração sobre a concorrência: Os potenciais produtores de blocos são incentivados a colaborar, uma vez que a estrutura tipset desincentiva a retenção de blocos que podem ser benéficos para o crescimento da rede.
  • Resiliência a Forks: Com a arquitetura tipset, o Filecoin consegue uma convergência mais rápida durante as bifurcações, garantindo a estabilidade da rede.
  • O Ethereum JSON-RPC e Filecoin

Vale a pena notar que com a integração do tempo de execução do Filecoin EVM e a adoção dos padrões Ethereum JSON-RPC, a noção de 'tipset' torna-se ainda mais fácil de usar. Neste contexto, quando falamos de um 'block hash' no Ethereum JSON-RPC, estamos a referir-nos ao hash de um tipset, que engloba as alterações de estado combinadas de todos os blocos dentro desse conjunto de informações.

À medida que continuamos a explorar a blockchain da Filecoin, veremos como esses componentes interagem para criar uma rede de armazenamento descentralizada que é robusta, eficiente e preparada para o crescimento futuro.

Consenso do Filecoin

O mecanismo de consenso da Filecoin, conhecido como Consenso Esperado (EC), representa uma pedra angular na sua rede de armazenamento descentralizada. Este capítulo tem como objetivo fornecer uma introdução à CE, aprofundando os seus princípios operacionais, especificações técnicas e o papel que desempenha na manutenção da integridade e fiabilidade da rede Filecoin.

O Filecoin opera com um mecanismo de consenso único denominado Consenso Esperado (CE). Ao contrário dos protocolos tradicionais de blockchain que muitas vezes dependem de Proof of Work (PoW) ou Proof of Stake (PoS), EC combina elementos de aleatoriedade, poder de armazenamento e tolerância probabilística a falhas bizantinas. Na sua essência, o EC foi concebido para alinhar os incentivos com o objetivo principal do Filecoin: armazenar dados de forma eficiente e fiável.

A Essência da CE

  • Descentralização e fiabilidade: O objetivo principal da CE é promover um ambiente descentralizado onde o armazenamento e a recuperação de dados sejam fiáveis e verificáveis.
  • Abordagem centrada no armazenamento: Ao contrário dos blockchains tradicionais que se concentram no poder computacional ou nas participações de moedas, o EC da Filecoin prioriza o poder de armazenamento - a capacidade de armazenar dados.

Mecânica Básica do Consenso Esperado

O quadro operacional da EC gira em torno de vários componentes-chave, cada um desempenhando um papel vital na funcionalidade da rede.

  1. Tolerância probabilística a falhas bizantinas:
  • A CE incorpora mecanismos bizantinos de tolerância a falhas, tornando-a resiliente a uma série de condições adversariais, incluindo nós que agem maliciosamente ou estão offline.
  1. Eleição de líder e produção de blocos:
  • No coração da CE está um processo eleitoral de líder. Ao contrário dos processos determinísticos vistos noutros blockchains, a EC emprega um método probabilístico para selecionar líderes ou mineradores responsáveis pela criação de blocos.
  1. Anonimato até Prova Eleita:
  • Os mineiros dentro da CE permanecem anónimos até poderem provar o seu estatuto eleitoral através de um 'ElectionProof'. Esta prova é fundamental para garantir a equidade e imprevisibilidade na produção em bloco.
  1. Prova de armazenamento:
  • Os mineiros são obrigados a apresentar um 'WinningPost' (Prova de Spacetime), validando a sua contribuição para a capacidade de armazenamento da rede.

Especificações técnicas da CE

Os alicerces técnicos da CE são onde a sua natureza inovadora realmente brilha. Aqui, exploramos algumas das principais especificações que definem este mecanismo de consenso:

Aleatoriedade via DRAND:

  • A CE usa o DRAND, um farol de aleatoriedade externo e imparciável, para facilitar vários aspectos do protocolo, incluindo a eleição do líder.

Função aleatória verificável (VRF):

  • Os mineiros utilizam um VRF, juntamente com a aleatoriedade obtida do DRAND, para gerar o seu ElectionProof.

ElectionProof e Cadeia VRF:

  • O ElectionProof é crucial para os mineiros demonstrarem que foram eleitos com razão para produzir um bloco.
  • É mantida uma cadeia VRF contínua, estendendo-se a cada novo bloco produzido.

Poder de armazenamento e WinCount:

  • O poder de um mineiro na rede é proporcional à sua capacidade de armazenamento.
  • O WinCount determina o número de blocos que um minerador pode produzir, com base no seu poder de armazenamento e no resultado do seu VRF.
  • Consenso, Segurança e Justiça

Segurança e equidade são fundamentais na CE, com vários mecanismos em vigor para salvaguardar estes princípios:

Falhas e penalidades de consenso:

A CE define tipos específicos de falhas de consenso (por exemplo, Double-Fork Mining, Time-Offset Mining) e impõe penalidades para deter comportamentos maliciosos.

Fonte das imagens: Documentação do Filecoin aqui: https://spec.filecoin.io/algorithms/expected_consensus/

Ponderação e Seleção da Cadeia:

  • O protocolo emprega um sistema único de ponderação em cadeia, onde a cadeia 'mais pesada', indicativa do poder de armazenamento mais cumulativo, é favorecida.

Finalidade suave:

  • A CE emprega uma forma de finalidade suave, rejeitando blocos que se desviam significativamente da cadeia, reforçando assim a estabilidade da rede.

Drand: Aleatoriedade distribuída em Filecoin

Drand (Randomness Distribuído) é um componente crítico do mecanismo de consenso do Filecoin, fornecendo uma fonte imparcial de entropia essencial para o processo de eleição do líder secreto da rede. É um protocolo de beacon aleatório publicamente verificável concebido para gerar uma série de valores aleatórios determinísticos e verificáveis.

Como funciona o Drand

  • Computações Multi-Party (MPCs): O Drand executa uma série de MPCs para produzir valores aleatórios. Após uma fase de configuração fidedigna, um grupo de nós drand conhecidos assinam uma determinada mensagem utilizando assinaturas BLS de limiar em rondas sucessivas que ocorrem em intervalos regulares.
  • Limiar de assinaturas BLS: O processo requer um número mínimo de nós (t-of-n) para assinar uma mensagem. Qualquer nó com t das assinaturas pode reconstruir a assinatura BLS completa. Esta assinatura, quando feita com hash, produz um valor aleatório coletivo que pode ser verificado em relação à chave pública a partir da fase de configuração.
  • Pressupostos de segurança: Drand assume que pelo menos t dos n nós são honestos e online. Se este limiar for quebrado, o adversário pode parar a produção de aleatoriedade mas não pode influenciar a aleatoriedade.

Saídas de aleatoriedade do Drand

Formato de valor Drand: Os nós Filecoin obtêm valores de drand num formato específico. Os principais componentes incluem:

  • Assinatura: Uma assinatura BLS no valor da assinatura anterior e no número redondo atual.
  • anteriorAssinatura: A assinatura BLS da ronda Drand anterior.
  • Rodada: O índice de aleatoriedade na sequência produzida pela rede Drand.

Utilizar o Drand no Filecoin

  • Eleição de Líder: O Drand é usado para a eleição do líder em Filecoin, fornecendo um valor aleatório em cada época. Esta aleatoriedade é crítica para o algoritmo de Consenso Esperado (EC), garantindo uma seleção justa e imprevisível do líder.
  • Obtendo valores de Drand: Os nós do Filecoin recuperam o valor de aleatoriedade mais recente do Drand usando endpoints específicos. Esta informação é então integrada com dados na cadeia para suportar o mecanismo de consenso do Filecoin.

Provas: Garantir Integridade e Confiança

As provas no Filecoin servem para validar se os fornecedores de armazenamento estão a armazenar corretamente os dados de acordo com os padrões da rede. Estas provas são críticas para manter a integridade e a fiabilidade do sistema de armazenamento descentralizado.

Tipos de Provas em Filecoin

  • Prova de replicação (PoRep): Usado no momento do armazenamento inicial de dados, o PoRep verifica se um fornecedor de armazenamento criou e está a armazenar uma cópia exclusiva dos dados.
  • Proof-of-Spacetime (PoST): Verifica continuamente se o fornecedor de armazenamento está a manter os dados armazenados ao longo do tempo. O POST é ainda dividido em WinningPost e WindowPost, servindo diferentes propósitos de validação na rede.

Função do PoReP e do PoST

  • PoRep: Valida a replicação inicial de dados por um fornecedor de armazenamento, garantindo que os dados são codificados e selados de forma única.
  • Post: O WinningPost é utilizado no processo de consenso em bloco, enquanto o WindowPost audita os fornecedores de armazenamento continuamente, garantindo a conformidade contínua com os contratos de armazenamento.

O mecanismo de consenso do Filecoin, com a sua mistura única de EC, Drand e provas criptográficas, forma a espinha dorsal de uma rede de armazenamento descentralizada robusta e fiável. Estes elementos funcionam em conjunto para garantir que a rede permaneça segura, eficiente e justa, promovendo um ambiente onde a integridade dos dados é primordial. À medida que nos aprofundamos nas nuances da blockchain da Filecoin, a engenhosidade e sofisticação do seu modelo de consenso tornam-se cada vez mais evidentes, sublinhando o potencial da rede para revolucionar o cenário do armazenamento digital.

Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.
Каталог
Урок 2

Blockchain Noções básicas de Filecoin

1

Fundamentos da Blockchain em Filecoin

A cadeia de blocos Filecoin é uma base de dados distribuída intrincada partilhada entre uma rede de nós de computador. Cada nó detém uma cópia da cadeia de blocos, garantindo que todas as transações e obrigações contratuais na rede sejam registadas e imutáveis. Isto fornece um registo fiável e seguro de todas as atividades dentro do ecossistema Filecoin.

Atores: Os Cavalos de Trabalho do Blockchain da Filecoin

Os atores na cadeia de blocos da Filecoin servem como o equivalente a contratos inteligentes na Máquina Virtual Ethereum. Cada ator encapsula um conjunto de variáveis de estado e métodos para interagir com a rede Filecoin. São essencialmente os agentes que executam ações na cadeia de blocos, tais como gerir negócios de armazenamento ou facilitar transações.

Atores de sistema incorporados

A rede do Filecoin é alimentada por vários atores de sistema integrados que lidam com funções essenciais:

  • System Actor: Executa operações gerais de rede.
  • Init Actor: Responsável por inicializar novos atores e gerir convenções de nomenclatura de rede.
  • Ator Cron: Atua como o agendador da rede, acionando funções essenciais em cada época.
  • Actor da conta: Gere contas de utilizador para além do âmbito do padrão singleton.
  • Storage Miner Actor: Coordena as operações de mineração de armazenamento e valida provas de armazenamento.
  • Ator do mercado de armazenamento: Gere negócios de armazenamento no mercado da rede.
  • Multisig Actor: Lide com operações envolvendo a carteira multi-assinatura da Filecoin.
  • Actor do Canal de Pagamento: Gere o estabelecimento e liquidação de canais de pagamento.
  • Datacap Actor: Supervisão da atribuição e gestão de tokens de datacap.
  • Ator de registo verificado: Gere clientes verificados dentro da rede.
  • Evm Account Actor: Representa identidades Ethereum externas, facilitando a interoperabilidade com sistemas baseados em Ethereum.

Atores programáveis pelo utilizador

À medida que a Máquina Virtual Filecoin (FVM) amadurece, os programadores têm a oportunidade de escrever e implementar os seus próprios atores, semelhante a contratos inteligentes noutras blockchains. Estes atores programáveis pelo usuário podem interagir com os atores integrados através de APIs exportadas, permitindo que uma ampla gama de aplicações e serviços sejam construídos no topo da rede Filecoin.

Aleatoriedade distribuída em Filecoin

O Filecoin utiliza um protocolo de aleatoriedade distribuído e publicamente verificável conhecido como Drand como a fonte de aleatoriedade para a eleição do líder durante a produção em bloco. Esta aleatoriedade é essencial para garantir que o processo é imprevisível, imparcial e verificável, mantendo a justiça e a segurança do processo de mineração.

Os nós e as suas funções

Os nós da rede Filecoin são classificados principalmente pelos serviços que prestam:

  • Nodos Verificadores de Cadeia: Valide a cadeia de blocos e impor regras de consenso.
  • Nodos do Cliente: Interaja com a rede para armazenar e recuperar dados.
  • Nodos do fornecedor de armazenamento: Ofereça capacidade de armazenamento à rede e comprove o armazenamento contínuo.
  • Nodos do Provedor de Recuperação: Servir os dados armazenados de forma rápida e fiável quando solicitado.
  • Várias implementações do protocolo Filecoin coexistem para aumentar a segurança e resiliência da rede, garantindo nenhum ponto único de falha e promovendo uma descentralização saudável.

Endereços: Identificação de Atores no Filecoin

Os endereços no Filecoin são cadeias alfanuméricas que identificam exclusivamente atores ou utilizadores na rede, facilitando interações como transações e execuções inteligentes de contratos. Estes endereços vêm em várias formas, refletindo os diferentes tipos de atores que representam:

  • Endereços de identificação (f0): Identificadores numéricos para atores, fornecendo uma maneira legível por humanos de fazer referência aos participantes da rede.
  • Secp256K1 Endereços (f1): Derivado de chaves públicas que utilizam o padrão de encriptação secp256k1, normalmente utilizado para carteiras.
  • Endereços do ator (f2): Atribuídos a contratos inteligentes e permanecem robustos em bifurcações de rede.
  • Endereços BLS (f3): Gerado a partir de chaves públicas BLS e utilizado para carteiras com encriptação BLS.
  • Endereços de Atores Definidos pelo Utilizador (f4): Endereços flexíveis que podem ser atribuídos por agentes de gestão de endereços definidos pelo utilizador, permitindo esquemas de endereçamento personalizados e extensíveis.
  • Cada tipo de endereço serve uma finalidade específica dentro do ecossistema da Filecoin, desde facilitar transações até gerir contratos inteligentes e interações com o utilizador.

Conjuntos de Tipsets e Blocos

A blockchain do Filecoin desvia-se da norma de uma sequência linear de blocos. Aqui, os blocos são agrupados em 'tipsets', que podem ser pensados como instantâneos do estado da rede em cada época, ou um intervalo de tempo fixo na jarraca de blockchain. Este modelo permite uma cadeia de blocos mais flexível e eficiente, permitindo que vários blocos válidos sejam produzidos ao mesmo tempo.

A anatomia de um bloco de Filecoin

Cada bloco no Filecoin é um pacote contendo um cabeçalho e uma série de mensagens que representam as ações tomadas pelos atores, tais como transações ou acordos contratuais. O cabeçalho do bloco inclui metadados como o endereço do mineiro, o bilhete (prova de trabalho) e os CIDs dos blocos pais. As mensagens são a carne do bloco, registando alterações de estado tais como transferências de token e chamadas de contrato. Os blocos estão ligados a pelo menos um bloco pai, formando uma cadeia contínua de volta ao bloco de génese.

Blocktime: Sincronizando o pulso da rede

O tempo de bloqueio no Filecoin é fixado numa média de 30 segundos. Este intervalo foi escolhido estrategicamente para equilibrar entre a capacidade de resposta da rede e os aspectos práticos do seu funcionamento. Um tempo de bloqueio mais curto poderia aumentar a velocidade da rede, mas também imporia maiores exigências de hardware e poderia levar a falhas de tempo de bloqueio mais frequentes. O tempo de bloqueio de 30 segundos permite aos fornecedores de armazenamento tempo suficiente para realizar as operações necessárias, tais como selar setores e gerar provas, sem sobrecarregar o seu hardware.

Conjuntos de Tipsets: Maximizar a Eficiência e a Recompensa

Numa determinada época, é possível que vários fornecedores de armazenamento extraiam blocos com sucesso. A estrutura de tipset do Filecoin acomoda isso agrupando todos os blocos válidos com a mesma altura e pai num único grupo. Isto significa que todo o trabalho válido contribui para o estado da rede e é recompensado, uma característica importante que incentiva a participação e a colaboração entre os mineiros. Também garante que a rede possa lidar eficientemente com bifurcações, alcançando rapidamente um consenso sobre a cadeia canónica.

O sistema tipset oferece várias vantagens em relação aos blockchains tradicionais:

  • Aumento do rendimento da rede: Ao usar todos os blocos válidos para determinar o estado da rede, o Filecoin pode processar mais dados e transações em cada época.
  • Recompensando o Trabalho Válido: Cada fornecedor de armazenamento que produz um bloco válido recebe uma recompensa, incentivando assim os mineiros a contribuir para a rede e desencorajando a centralização.
  • Colaboração sobre a concorrência: Os potenciais produtores de blocos são incentivados a colaborar, uma vez que a estrutura tipset desincentiva a retenção de blocos que podem ser benéficos para o crescimento da rede.
  • Resiliência a Forks: Com a arquitetura tipset, o Filecoin consegue uma convergência mais rápida durante as bifurcações, garantindo a estabilidade da rede.
  • O Ethereum JSON-RPC e Filecoin

Vale a pena notar que com a integração do tempo de execução do Filecoin EVM e a adoção dos padrões Ethereum JSON-RPC, a noção de 'tipset' torna-se ainda mais fácil de usar. Neste contexto, quando falamos de um 'block hash' no Ethereum JSON-RPC, estamos a referir-nos ao hash de um tipset, que engloba as alterações de estado combinadas de todos os blocos dentro desse conjunto de informações.

À medida que continuamos a explorar a blockchain da Filecoin, veremos como esses componentes interagem para criar uma rede de armazenamento descentralizada que é robusta, eficiente e preparada para o crescimento futuro.

Consenso do Filecoin

O mecanismo de consenso da Filecoin, conhecido como Consenso Esperado (EC), representa uma pedra angular na sua rede de armazenamento descentralizada. Este capítulo tem como objetivo fornecer uma introdução à CE, aprofundando os seus princípios operacionais, especificações técnicas e o papel que desempenha na manutenção da integridade e fiabilidade da rede Filecoin.

O Filecoin opera com um mecanismo de consenso único denominado Consenso Esperado (CE). Ao contrário dos protocolos tradicionais de blockchain que muitas vezes dependem de Proof of Work (PoW) ou Proof of Stake (PoS), EC combina elementos de aleatoriedade, poder de armazenamento e tolerância probabilística a falhas bizantinas. Na sua essência, o EC foi concebido para alinhar os incentivos com o objetivo principal do Filecoin: armazenar dados de forma eficiente e fiável.

A Essência da CE

  • Descentralização e fiabilidade: O objetivo principal da CE é promover um ambiente descentralizado onde o armazenamento e a recuperação de dados sejam fiáveis e verificáveis.
  • Abordagem centrada no armazenamento: Ao contrário dos blockchains tradicionais que se concentram no poder computacional ou nas participações de moedas, o EC da Filecoin prioriza o poder de armazenamento - a capacidade de armazenar dados.

Mecânica Básica do Consenso Esperado

O quadro operacional da EC gira em torno de vários componentes-chave, cada um desempenhando um papel vital na funcionalidade da rede.

  1. Tolerância probabilística a falhas bizantinas:
  • A CE incorpora mecanismos bizantinos de tolerância a falhas, tornando-a resiliente a uma série de condições adversariais, incluindo nós que agem maliciosamente ou estão offline.
  1. Eleição de líder e produção de blocos:
  • No coração da CE está um processo eleitoral de líder. Ao contrário dos processos determinísticos vistos noutros blockchains, a EC emprega um método probabilístico para selecionar líderes ou mineradores responsáveis pela criação de blocos.
  1. Anonimato até Prova Eleita:
  • Os mineiros dentro da CE permanecem anónimos até poderem provar o seu estatuto eleitoral através de um 'ElectionProof'. Esta prova é fundamental para garantir a equidade e imprevisibilidade na produção em bloco.
  1. Prova de armazenamento:
  • Os mineiros são obrigados a apresentar um 'WinningPost' (Prova de Spacetime), validando a sua contribuição para a capacidade de armazenamento da rede.

Especificações técnicas da CE

Os alicerces técnicos da CE são onde a sua natureza inovadora realmente brilha. Aqui, exploramos algumas das principais especificações que definem este mecanismo de consenso:

Aleatoriedade via DRAND:

  • A CE usa o DRAND, um farol de aleatoriedade externo e imparciável, para facilitar vários aspectos do protocolo, incluindo a eleição do líder.

Função aleatória verificável (VRF):

  • Os mineiros utilizam um VRF, juntamente com a aleatoriedade obtida do DRAND, para gerar o seu ElectionProof.

ElectionProof e Cadeia VRF:

  • O ElectionProof é crucial para os mineiros demonstrarem que foram eleitos com razão para produzir um bloco.
  • É mantida uma cadeia VRF contínua, estendendo-se a cada novo bloco produzido.

Poder de armazenamento e WinCount:

  • O poder de um mineiro na rede é proporcional à sua capacidade de armazenamento.
  • O WinCount determina o número de blocos que um minerador pode produzir, com base no seu poder de armazenamento e no resultado do seu VRF.
  • Consenso, Segurança e Justiça

Segurança e equidade são fundamentais na CE, com vários mecanismos em vigor para salvaguardar estes princípios:

Falhas e penalidades de consenso:

A CE define tipos específicos de falhas de consenso (por exemplo, Double-Fork Mining, Time-Offset Mining) e impõe penalidades para deter comportamentos maliciosos.

Fonte das imagens: Documentação do Filecoin aqui: https://spec.filecoin.io/algorithms/expected_consensus/

Ponderação e Seleção da Cadeia:

  • O protocolo emprega um sistema único de ponderação em cadeia, onde a cadeia 'mais pesada', indicativa do poder de armazenamento mais cumulativo, é favorecida.

Finalidade suave:

  • A CE emprega uma forma de finalidade suave, rejeitando blocos que se desviam significativamente da cadeia, reforçando assim a estabilidade da rede.

Drand: Aleatoriedade distribuída em Filecoin

Drand (Randomness Distribuído) é um componente crítico do mecanismo de consenso do Filecoin, fornecendo uma fonte imparcial de entropia essencial para o processo de eleição do líder secreto da rede. É um protocolo de beacon aleatório publicamente verificável concebido para gerar uma série de valores aleatórios determinísticos e verificáveis.

Como funciona o Drand

  • Computações Multi-Party (MPCs): O Drand executa uma série de MPCs para produzir valores aleatórios. Após uma fase de configuração fidedigna, um grupo de nós drand conhecidos assinam uma determinada mensagem utilizando assinaturas BLS de limiar em rondas sucessivas que ocorrem em intervalos regulares.
  • Limiar de assinaturas BLS: O processo requer um número mínimo de nós (t-of-n) para assinar uma mensagem. Qualquer nó com t das assinaturas pode reconstruir a assinatura BLS completa. Esta assinatura, quando feita com hash, produz um valor aleatório coletivo que pode ser verificado em relação à chave pública a partir da fase de configuração.
  • Pressupostos de segurança: Drand assume que pelo menos t dos n nós são honestos e online. Se este limiar for quebrado, o adversário pode parar a produção de aleatoriedade mas não pode influenciar a aleatoriedade.

Saídas de aleatoriedade do Drand

Formato de valor Drand: Os nós Filecoin obtêm valores de drand num formato específico. Os principais componentes incluem:

  • Assinatura: Uma assinatura BLS no valor da assinatura anterior e no número redondo atual.
  • anteriorAssinatura: A assinatura BLS da ronda Drand anterior.
  • Rodada: O índice de aleatoriedade na sequência produzida pela rede Drand.

Utilizar o Drand no Filecoin

  • Eleição de Líder: O Drand é usado para a eleição do líder em Filecoin, fornecendo um valor aleatório em cada época. Esta aleatoriedade é crítica para o algoritmo de Consenso Esperado (EC), garantindo uma seleção justa e imprevisível do líder.
  • Obtendo valores de Drand: Os nós do Filecoin recuperam o valor de aleatoriedade mais recente do Drand usando endpoints específicos. Esta informação é então integrada com dados na cadeia para suportar o mecanismo de consenso do Filecoin.

Provas: Garantir Integridade e Confiança

As provas no Filecoin servem para validar se os fornecedores de armazenamento estão a armazenar corretamente os dados de acordo com os padrões da rede. Estas provas são críticas para manter a integridade e a fiabilidade do sistema de armazenamento descentralizado.

Tipos de Provas em Filecoin

  • Prova de replicação (PoRep): Usado no momento do armazenamento inicial de dados, o PoRep verifica se um fornecedor de armazenamento criou e está a armazenar uma cópia exclusiva dos dados.
  • Proof-of-Spacetime (PoST): Verifica continuamente se o fornecedor de armazenamento está a manter os dados armazenados ao longo do tempo. O POST é ainda dividido em WinningPost e WindowPost, servindo diferentes propósitos de validação na rede.

Função do PoReP e do PoST

  • PoRep: Valida a replicação inicial de dados por um fornecedor de armazenamento, garantindo que os dados são codificados e selados de forma única.
  • Post: O WinningPost é utilizado no processo de consenso em bloco, enquanto o WindowPost audita os fornecedores de armazenamento continuamente, garantindo a conformidade contínua com os contratos de armazenamento.

O mecanismo de consenso do Filecoin, com a sua mistura única de EC, Drand e provas criptográficas, forma a espinha dorsal de uma rede de armazenamento descentralizada robusta e fiável. Estes elementos funcionam em conjunto para garantir que a rede permaneça segura, eficiente e justa, promovendo um ambiente onde a integridade dos dados é primordial. À medida que nos aprofundamos nas nuances da blockchain da Filecoin, a engenhosidade e sofisticação do seu modelo de consenso tornam-se cada vez mais evidentes, sublinhando o potencial da rede para revolucionar o cenário do armazenamento digital.

Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.