Disponibilidade de dados(DA) é uma tecnologia central na escalabilidade do Ethereum, permitindo que um nó verifique eficientemente se os dados estão disponíveis para a rede sem precisar hospedar os dados em questão. Isso é essencial para a construção eficiente de rollups e outras formas de escalonamento vertical, permitindo que nós de execução garantam que os dados da transação estão disponíveis durante o período de liquidação. Isso também é crucial para o shard e outras formas de escalonamento horizontal, uma atualização futura planejada para a rede Ethereum, pois os nós precisarão provar que os dados da transação estão disponíveis.blobsOs dados armazenados em fragmentos de rede estão realmente disponíveis para a rede.
Várias soluções de DA foram discutidas e lançadas recentemente (por exemplo, Celestia, EigenDA, Disponível) , todos com a intenção de fornecer infraestrutura eficiente e segura para aplicativos postarem DA.
A vantagem de uma solução DA externa em relação a um L1, como o Ethereum, é que ela oferece um veículo barato e eficiente para dados on-chain. As soluções DA frequentemente consistem em suas próprias blockchains públicas construídas para permitir armazenamento barato e sem permissão. Mesmo com modificações, o fato permanece que hospedar dados nativamente de uma blockchain é extremamente ineficiente.
Assim, descobrimos que é intuitivo explorar uma solução otimizada de armazenamento como FileCoinpara a base de uma camada DA. FileCoin usa sua blockchain para coordenar acordos de armazenamento entre clientes e provedores de armazenamento, mas permite que os dados sejam armazenados off-chain.
Neste post, investigamos a viabilidade de uma solução DA construída em cima de uma Rede de Armazenamento Distribuído (DSN). Consideramos o FileCoin especificamente, uma vez que é a DSN mais adotada até o momento. Esboçamos as oportunidades que tal solução ofereceria e os desafios que precisam ser superados para construí-la.
Uma camada DA fornece o seguinte para os serviços que dependem dela:
Tudo isso precisa ser feito de forma eficiente para possibilitar a escalabilidade. Uma camada DA fornece um desempenho superior a um custo menor nos três pontos acima. Por exemplo, qualquer nó pode solicitar uma cópia completa dos dados para comprovar a custódia, mas isso é ineficiente. Ao ter um sistema que fornece todos os três desses aspectos, alcançamos uma camada DA que fornece a segurança necessária para que os L2s coordenem com um L1, juntamente com limites inferiores mais fortes na presença de uma maioria maliciosa.
Dados enviados para um @vbuterin/proto_danksharding_faq#Se-os-dados-forem-deletados-após-30-dias-como-os-usuários-acessariam-blocos-antigos">Uma solução tem uma vida útil útil: tempo suficiente para resolver disputas ou verificar uma transição de estado. Os dados da transação precisam estar disponíveis apenas o tempo suficiente para verificar uma transição de estado correta ou dar aos validadores oportunidade suficiente para construir provas de fraude. No momento da escrita, os calldatas do Ethereum são a solução mais comum usada por projetos (rollups) que exigem disponibilidade de dados.
Amostragem de Disponibilidade de Dados (DAS) é o método padrão de resposta à pergunta de DA. Ele vem com benefícios de segurança adicionais, fortalecendo a capacidade dos atores da rede de verificar informações de estado de seus pares. No entanto, ele depende de nós para realizar amostragem: as solicitações de DAS devem ser respondidas para garantir que as transações mineradas não sejam rejeitadas, mas não há incentivo positivo ou negativo para um nó solicitar amostras. Do ponto de vista dos nós que solicitam amostras, não há penalidade negativa por não executar DAS. Como exemplo, a Celestia fornece a primeira e única implementação de cliente leve para realizar DAS, oferecendo suposições de segurança mais fortes aos usuários e reduzindo o custo da verificação de dados.
Um DA precisa fornecer acesso eficiente aos dados aos projetos que o utilizam. Um DA lento pode se tornar o gargalo para os serviços que dependem dele, causando ineficiências no melhor dos casos e falhas no sistema no pior dos casos.
Uma Rede de Armazenamento Descentralizado (DSN, conforme formalizado no Whitepaper do FileCoin¹) é uma rede sem permissão de provedores de armazenamento que oferecem serviços de armazenamento para usuários da rede. Informalmente, permite que provedores de armazenamento independentes coordenem negociações de armazenamento com clientes que precisam de serviços de armazenamento e fornece armazenamento de dados barato e resiliente para clientes que buscam serviços de armazenamento a baixo custo. Isso é coordenado por meio de um blockchain que registra negociações de armazenamento e permite a execução de contratos inteligentes.
Um esquema DSN é um conjunto de três protocolos: Put, Get e Manage. Este conjunto vem com propriedades como garantias de tolerância a falhas e incentivos à participação.
Coloque (dados) → chave
Os clientes executam Put para armazenar dados sob uma chave única. Isso é alcançado especificando a duração para a qual os dados serão armazenados na rede, o número de réplicas dos dados que devem ser armazenadas para redundância e um preço negociado com os provedores de armazenamento.
Obter(chave) → dados
Os clientes executam Get para recuperar dados que estão armazenados sob uma chave.
Gerenciar()
O protocolo Manage é chamado pelos participantes da rede para coordenar o espaço de armazenamento e os serviços disponibilizados pelos provedores e reparar falhas. No caso de FileCoin, isso é gerenciado por meio de uma blockchain. Esta blockchain registra transações de dados sendo feitas entre clientes e provedores de dados e provas de dados armazenados corretamente para garantir que as transações de dados estejam sendo cumpridas. Os dados armazenados corretamente são comprovados por meio da publicação de provas geradas pelos provedores de dados em resposta a desafios da rede. armazenamento falhaOcorre quando um fornecedor de armazenamento falha em gerar rapidamente uma Prova de Replicação ou Prova de Espaço-Tempo quando solicitado pelo protocolo Manage, o que resulta no corte da participação do fornecedor de armazenamento. Os negócios podem se auto-recuperar no caso de uma falha de armazenamento se mais de um fornecedor estiver hospedando uma cópia dos dados na rede, encontrando um novo fornecedor de armazenamento para honrar o acordo de armazenamento.
O trabalho feito até agora nos projetos DA foi transformar uma blockchain em uma plataforma para armazenamento quente. Como um DSN é otimizado para armazenamento, em vez de transformar uma blockchain em uma plataforma de armazenamento, podemos simplesmente transformar uma plataforma de armazenamento em uma que fornece disponibilidade de dados. O colateral dos provedores de armazenamento na forma de nativoFILo token pode fornecer segurança cripto-econômica que garante que os dados sejam armazenados. Finalmente, a programabilidade de negócios de armazenamento pode fornecer flexibilidade em relação aos termos de disponibilidade de dados.
A motivação mais convincente para transformar as capacidades de uma DSN para resolver DA é a redução de custos no armazenamento de dados sob a solução DA. Como discutiremos a seguir, o custo de armazenar dados no FileCoin é significativamente mais barato do que armazenar dados no Ethereum. Dado os preços atuais do Ether/USD, custa mais de 3 milhões de USD para gravar 1 GB de calldata no Ethereum, apenas para ser podado após 21 dias. Esse custo de calldata pode contribuir com mais da metade do custo de transação de um rollup baseado em Ethereum. No entanto, 1 GB de armazenamento no FileCoin custa menos de .0002 USD por mês. Garantir DA a esse preço ou a um preço semelhante reduziria os custos de transação para os usuários e contribuiria para o desempenho e escalabilidade do Web3.
No FileCoin, é necessário ter uma garantia para disponibilizar espaço de armazenamento. Essa garantia é cortada quando um provedor não cumpre seus acordos ou garanteias de rede. Um provedor de armazenamento que falha em fornecer serviços corre o risco de perder tanto sua garantia postada quanto qualquer lucro que teria sido obtido ao fornecer armazenamento.
Muitos dos incentivos do protocolo do FileCoin estão alinhados com os objetivos da DA.FileCoin fornece desincentivos para comportamento malicioso ou preguiçoso: os provedores de armazenamento devem fornecer ativamente provas de armazenamento durante o consenso na forma de Prova de RéplicaseProva de Espaço-Tempo, provando continuamente que o armazenamento existe sem assumir uma maioria honesta. A falha de um provedor de armazenamento em fornecer prova resulta em redução de participação e remoção do consenso, entre outras penalidades. As soluções DA atuais carecem de incentivo para que os nós executem o DAS, dependendo de comportamento altruístico ad hoc para a prova do DA.
A capacidade de personalizar acordos de dados também torna um DSN uma plataforma atraente para DA. Os acordos de dados podem ter durações variadas, permitindo que os usuários de um DA baseado em DSN paguem apenas pelo DA de que precisam. A tolerância a falhas também pode ser ajustada definindo o número de cópias que devem ser armazenadas em toda a rede. A personalização adicional é suportada por meio de contratos inteligentes no FileCoin (chamado Atores) que são executados no FEVM. Isso leva ao crescente ecossistema de DApps da FileCoin, de soluções de computação sobre armazenamento, como Bacalhaupara soluções DeFi e staking líquido, como Glif. Recuperarfaz uso de Atuadores FileCoin para fornecer recuperação alinhada a incentivos com árbitros autorizados. A programabilidade do FileCoin pode ser usada para adaptar os requisitos de DA necessários para diferentes soluções, de modo que as plataformas que dependem de DA não estejam pagando por mais DA do que precisam.
Em nossa investigação, identificamos desafios significativos que precisam ser superados antes que um serviço de DA possa ser construído em uma DSN. Agora, ao falarmos sobre a viabilidade da implementação, usaremos o FileCoin como nosso principal foco da discussão.
As provas criptográficas que garantem a integridade das transações e dos dados armazenados no FileCoin levam tempo para serem comprovadas. Quando os dados são comprometidos com a rede, eles são particionados em 32 gigabytes setoreseselado.” A selagem de dados é a base tanto para o Proof-of-Replication ( Prova de Espaço) que prova que um provedor de armazenamento está armazenando uma ou mais cópias únicas dos dados e Prova de Espaço-Tempo (PoST) que comprova que um provedor de armazenamento armazenou uma cópia única continuamente ao longo da duração do contrato de armazenamento. O selamento deve ser computacionalmente caro para garantir que os provedores de armazenamento não estejam selando dados sob demanda para minar o PoReP necessário. Quando o protocolo apresenta o desafio periódico a um provedor de armazenamento para fornecer prova de armazenamento único e contínuo, o selamento deve levar mais tempo com segurança do que a janela de resposta para que um provedor de armazenamento não possa falsificar provas ou réplicas no momento. Por esse motivo, os provedores podem levar aproximadamente três horas para selar um setor de dados.
Devido ao custo computacional da operação de selagem, o tamanho do setor dos dados a serem selados precisa ser economicamente viável. O preço do armazenamento precisa justificar o custo da selagem para o provedor de armazenamento, e da mesma forma, o custo resultante dos dados armazenados precisa ser baixo o suficiente em escala (neste caso, para um pedaço de aproximadamente 32GB) para que um cliente queira armazenar dados no FileCoin. Embora setores menores possam ser selados, isso aumentaria o preço do armazenamento para compensar os provedores de armazenamento. Para contornar isso,agregadores de dadoscoletar pequenas partes de dados dos usuários para serem comprometidas com o FileCoin como um chunk próximo de 32 GB. Os agregadores de dados se comprometem com os dados do usuário por meio de uma Prova de Inclusão de Segmento de Dados.PoDSI) que garante a inclusão dos dados de um usuário em um setor e um CID de subconjunto (pCID) que o usuário poderá usar para recuperar os dados da rede.
O mecanismo de consenso do FileCoin, Consensus Esperado, tem um tempo de bloco de 30 segundos e finalidade dentro de horas, o que pode melhorar em um futuro próximo (ver FIP-0086para uma finalização rápida no FileCoin). Isso geralmente é muito lento para suportar a taxa de transação necessária para uma Camada 2 que depende do DA para dados de transação. O tempo de bloco do FileCoin é limitado inferiormente pelo hardware do provedor de armazenamento; quanto menor o tempo de bloco, mais difícil é para os provedores de armazenamento gerar e fornecer provas de armazenamento, e mais provedores de armazenamento serão falsamente penalizados por perder a janela de prova para o armazenamento adequado de dados. Para superar isso, Sub-redes de Consenso Interplanetário (IPC)pode ser aproveitado para aproveitar tempos de consenso mais rápidos. IPC usaTendermintconsenso -like e DRANDpara aleatoriedade: no caso de DRAND ser o gargalo, seríamos capazes de alcançar um tempo de bloco de 3 segundos com uma sub-rede IPC. No caso de um gargalo do Tendermint, PoCs como Narvalconseguimos tempos de bloco na casa das centenas de milissegundos.
A barreira final a ser construída é a recuperação. A partir das limitações acima, podemos deduzir que o FileCoin é adequado para armazenamento offline ou morno. No entanto, os dados DA estão quentes e precisam suportar aplicativos de alto desempenho. A recuperação alinhada a incentivos é difícil no FileCoin; os dados precisam ser desbloqueados antes de serem servidos aos clientes, o que adiciona latência. Atualmente, a recuperação rápida é feita via SLAs ou o armazenamento de dados não selados ao lado de setores selados, nenhum dos quais pode ser confiável na arquitetura de um aplicativo seguro e sem permissão no FileCoin. Especialmente com Retrievdemonstrando que a recuperação pode ser garantida via FVM, a recuperação rápida alinhada com incentivos no FileCoin ainda é uma área a ser explorada.
Nesta seção, consideramos o custo decorrente dessas considerações de design. Mostramos o custo de armazenar 32GB como Ethereum calldata, Celestia blobdata, EigenDA blobdata e como um setor no FileCoin usando os preços de mercado quase atuais.
A análise destaca o preço dos dados de chamada do Ethereum: 100 milhões de USD por 32 GB de dados. Este preço mostra o custo da segurança por trás do consenso do Ethereum e está sujeito à volatilidade dos preços do Ether e do gás. A atualização Dencun, que introduziu o Proto-DankshardingEIP-4844) introduziu transações de blob com uma meta de 3 blobs por bloco de aproximadamente 125 KB cada e preços variáveis de blob de gás para manter a quantidade alvo de blobs por bloco. Esta atualização reduziu o custo dos dados DA do Ethereum em ⅕: 20 milhões de dólares para 32 GB de dados de blob.
Celestia e EigenDA fornecem melhorias significativas: 8.000 e 26.000 USD para 32 GB de dados, respectivamente. Ambos estão sujeitos à volatilidade dos preços de mercado e refletem em certa medida o custo de consenso para garantir seus dados: Celestia com sua nativa TIAtoken, e EigenDA com Ether.
Em todos os casos acima, os dados armazenados não são permanentes. O calldata do Ethereum é armazenado por 3 semanas, com blobs armazenados por 18 dias. O EigenDA armazena blobs por padrão de 14 dias. A partir da implementação atual da Celestia, os dados de blob são armazenados indefinidamente pelos nós de arquivo, mas apenas amostrados pelos nós leves por um máximo de 30 dias.
As duas tabelas finais são comparações diretas entre FileCoin e as soluções atuais de DA. A equivalência de custo primeiro lista o custo de um único byte de dados na plataforma fornecida. Em seguida, é mostrada a quantidade de bytes de FileCoin que podem ser armazenados pelo mesmo período de tempo pelo mesmo custo.
Isso mostra que o FileCoin é ordens de grandeza mais barato do que as soluções DA atuais, custando frações de centavos para armazenar a mesma quantidade de dados pelo mesmo período de tempo. Ao contrário dos nós do Ethereum e de outras soluções DA, os nós do FileCoin são otimizados para fornecer serviços de armazenamento, e seu sistema de prova permite que os nós provem o armazenamento, em vez de replicar o armazenamento em todos os nós da rede. Sem considerar a economia dos provedores de armazenamento (como o custo de energia para selar dados), mostra que o custo básico do processo de armazenamento no FileCoin é negligenciável. Isso mostra uma oportunidade de mercado na ordem de milhões de USD por gigabyte em comparação com o Ethereum para um sistema que pode fornecer serviços DA seguros e eficientes no FileCoin.
Abaixo, consideramos a capacidade das soluções DA e a demanda gerada pelos principais rollups da camada 2.
Porque o blockchain do FileCoin é organizado em tipsetscom vários blocos em cada altura de bloco, o número de transações que podem ser feitas não é restrito por consenso ou tamanho de bloco. A restrição de dados rigorosa do FileCoin é a capacidade de armazenamento em toda a rede, não o que é permitido por consenso.
Para a demanda diária de DA, extraímos dados deRollups DA e Execuçãode Terry Chung e Wei Dai, que inclui uma média diária ao longo de 30 dias e um dia amostrado singular. Isso nos permite considerar a demanda média sem deixar de observar as aberrações da média (por exemplo, a demanda da Optimism em 15/08/2023 de aproximadamente 261.000.000 bytes foi mais de 4 vezes a sua média de 30 dias de 64.000.000 bytes).
A partir desta seleção, vemos que, apesar da oportunidade de custo mais baixo de DA, precisaríamos de um aumento dramático na demanda de DA para fazer uso eficiente do tamanho do setor de 32 GB do FileCoin. Embora selar setores de 32 GB com menos de 32 GB de dados seria um desperdício de recursos, poderíamos fazê-lo enquanto ainda obtemos uma vantagem de custo.
Nesta seção, consideramos a arquitetura técnica que pode ser alcançada se fosse construída hoje. Vamos considerar esta arquitetura no contexto de aplicações L2 arbitrárias e uma cadeia L1 que o L2 está servindo. Como esta solução é uma solução DA externa, como a da Celestia e da EigenDA, não consideramos o FileCoin como exemplo de L1.
Mesmo em um nível elevado, um DA no FileCoin fará uso de muitos recursos diferentes do ecossistema do FileCoin.
Transações: Os usuários downstream realizam transações em uma plataforma que requer DA. Isso poderia ser um L2.
Plataformas que Usam DA: Estas são as plataformas que usam DA como um serviço. Isso poderia ser um L2 que envia dados de transação para o FileCoin DA e compromissos para um L1, como o Ethereum.
Camada 1: Isso é qualquer L1 que contenha compromissos apontando para dados na solução DA. Isso poderia ser Ethereum, suportando um L2 que alavanca a solução DA do FileCoin.
Aggregator: A interface do sistema de arquivamento descentralizado baseado em FileCoin é um agregador, um componente centralizado que recebe dados de transação de L2's e outros clientes DA e os agrega em setores de 32 GB adequados para selagem. Embora uma prova de conceito simples incluiria um agregador centralizado, plataformas que usam a solução DA também poderiam executar seu próprio agregador, por exemplo, como um anexo a um sequenciador L2. A centralização do agregador pode ser vista como semelhante à de um sequenciador L2 ou Dispersor da EigenDAUma vez que o agregador compilou um payload próximo a 32GB, ele faz um acordo de armazenamento com provedores de armazenamento para armazenar os dados. Os clientes recebem a garantia de que seus dados serão incluídos no setor na forma de um PoDSI (Prova de Inclusão de Segmento de Dados), e um pCID para identificar seus dados uma vez que estiverem na rede. Este pCID é o que seria incluído nos compromissos de estado no L1 para referenciar dados de transações de suporte.
Verificadores: Os verificadores solicitam os dados dos provedores de armazenamento para garantir a integridade dos compromissos de estado e construir provas de fraude, que são comprometidas com o L1 no caso de fraude comprovável.
Negócio de Armazenamento: Uma vez que o agregador compilou um payload perto de 32GB, o agregador fecha um negócio de armazenamento com provedores de armazenamento para armazenar os dados.
Publicação de blobs (Colocar): Para iniciar uma colocação, um cliente DA enviará seu blob contendo dados de transação para o agregador. Isso pode ser feito de forma off-chain, ou de forma on-chain via um oráculo de agregador on-chain. Para confirmar o recebimento do blob, o agregador retorna um PoDSI ao cliente para provar que seu blob está incluído no setor agregado que será comprometido com a sub-rede. Um pCID (Identificador de Conteúdo de Sub-peça) também é retornado. Isso é o que o cliente e qualquer outra parte interessada usarão para referenciar o blob uma vez que ele estiver sendo servido no FileCoin.
Negócios de dados apareceriam na cadeia dentro de minutos após o negócio ser feito. A maior barreira à latência é o tempo de selagem, que pode levar 3 horas. Isso significa que, embora o negócio tenha sido feito, e o cliente possa ter a certeza de que os dados aparecerão na rede, os dados não podem ser garantidos como consultáveis até que o processo de selagem esteja completo. Lotuso cliente possui umrecuperação rápidarecurso no qual uma cópia não selada dos dados é armazenada ao lado da cópia selada que pode ser servida assim que os dados não selados forem transferidos para o provedor de armazenamento de dados, desde que um acordo de recuperação não dependa da prova de que os dados selados apareçam na rede. No entanto, essa funcionalidade fica a critério do provedor de dados e não é garantida criptograficamente como parte do protocolo. Se uma garantia de recuperação rápida deve ser fornecida, seriam necessárias alterações nos mecanismos de consenso e de incentivo/desincentivo para aplicá-la.
Recuperando blobs (Obter): A recuperação é semelhante a uma operação de inserção. Um acordo de recuperação precisa ser feito, o que aparecerá na cadeia em questão de minutos. A latência de recuperação dependerá dos termos do acordo e se uma cópia não lacrada dos dados é armazenada para recuperação rápida. No caso de recuperação rápida, a latência dependerá das condições de rede. Sem recuperação rápida, os dados precisarão ser deslacrados antes de serem servidos ao cliente, o que leva o mesmo tempo que a lacração, em torno de 3 horas. Assim, sem otimizações, temos um tempo de ida e volta máximo de 6 horas, melhorias significativas na prestação de dados precisariam ser feitas antes que isso se torne um sistema viável para DA ou provas de fraude.
Prova de DA: a prova de DA pode ser considerada em duas etapas; via PoDSI que é dada quando os dados são comprometidos ao agregador enquanto o negócio está sendo feito e então o comprometimento contínuo de PoRep e PoST que os provedores de armazenamento fornecem através do mecanismo de consenso do FileCoin. Como discutido acima, o PoRep e PoST dão garantias agendadas e comprováveis de custódia e persistência de dados.
Essa solução fará uso intenso de pontes, já que qualquer cliente que dependa de DA (independentemente da construção de provas) precisará ser capaz de interagir com o FileCoin. No caso do pCID incluído na transição de estado que é postada no L1, um verificador pode fazer uma verificação inicial para garantir que um pCID falso não tenha sido comprometido. Existem várias maneiras de fazer isso, por exemplo, por meio de um oráculo que posta dados do FileCoin no L1 ou por meio de verificadores que verificam a existência de uma negociação de dados ou setor que corresponde ao pCID. Da mesma forma, a verificação de provas de validade ou fraude que são postadas no L1 podem precisar usar uma ponte para se convencer de uma prova. As pontes disponíveis atualmente são AxelareCeler.
A integridade do FileCoin é reforçada através do corte de garantias. As garantias podem ser cortadas em dois casos: falhas de armazenamentooufalhas de consenso. Um defeito de armazenamento corresponde a um provedor de armazenamento que não consegue fornecer prova de dados armazenados (seja PoRep ou PoST), o que se correlacionaria com uma falta de disponibilidade de dados em nosso modelo. Um defeito de consenso corresponde a uma ação maliciosa no consenso, o protocolo que gerencia o registro de transações a partir do qual o FEVM é abstraído.
BR(t) = ProjectedRewardFraction(t) * SectorQualityAdjustedPower
máx(SP(t), BR(StartEpoch, 20d) + BR(StartEpoch, 1d)fator de recompensa de términomin(SectorAgeInDays, 140))
A segurança fornecida pelo FileCoin é muito diferente daquela de outras blockchains. Enquanto os dados da blockchain geralmente são seguros por meio de consenso, o consenso do FileCoin apenas garante o registro de transações, não os dados referidos pela transação. Os dados armazenados no FileCoin têm apenas segurança suficiente para alinhar incentivos aos provedores de armazenamento. Isso significa que os dados armazenados no FileCoin são protegidos por meio de penalidades por falhas e incentivos comerciais, como reputação com os clientes. Em outras palavras, uma falha de dados em uma blockchain é equivalente a uma quebra de consenso e compromete a segurança da cadeia ou a validade das transações. O FileCoin é projetado para ser tolerante a falhas no armazenamento de dados e, portanto, usa seu consenso apenas para garantir seu livro de ofertas e atividades relacionadas a acordos. O custo de um minerador de armazenamento que não cumpre seu acordo de dados tem um máximo de 90 dias de recompensa de armazenamento em penalidades, e a perda da garantia oferecida pelo minerador para garantir o acordo.
Portanto, o custo de um ataque de retenção de dados lançado pelos provedores de FileCoin é simplesmente o custo de oportunidade de um acordo de recuperação. A recuperação de dados no FileCoin depende do minerador de armazenamento ser incentivado por uma taxa paga pelo cliente. No entanto, não há impacto negativo para um minerador que não responda a uma solicitação de recuperação de dados. Para mitigar o risco de um único minerador de armazenamento ignorar ou recusar acordos de recuperação de dados, os dados no FileCoin podem ser armazenados por vários mineradores.
Uma vez que a segurança econômica por trás dos dados armazenados no FileCoin é consideravelmente inferior à das soluções baseadas em blockchain, a prevenção da manipulação de dados também deve ser considerada. A manipulação de dados é protegida através do sistema de prova do FileCoin. Os dados são referenciados por meio de CIDs, através dos quais a corrupção de dados é imediatamente detectável. Portanto, um provedor não pode fornecer dados corrompidos, pois é fácil verificar se os dados obtidos correspondem ao CID solicitado. Os provedores de dados não podem armazenar dados corrompidos no lugar de dados não corrompidos. Após o recebimento dos dados do cliente, os provedores devem fornecer prova de um setor de dados selado corretamente para iniciar o acordo de dados (verifique isso). Portanto, um acordo de armazenamento não pode ser iniciado com dados corrompidos. Durante a vida útil do acordo de armazenamento, os PoSTs são fornecidos para comprovar a custódia (lembre-se de que isso comprova tanto a custódia do setor de dados selado quanto a custódia desde o último PoST). Uma vez que o PoST depende do setor selado no momento da geração da prova, um setor corrompido resultaria em um PoST falso, resultando em uma falha de setor. Portanto, um provedor de armazenamento não pode armazenar nem fornecer dados corrompidos, não pode reivindicar recompensa pelos serviços prestados para dados não corrompidos e não pode evitar ser penalizado por manipular os dados de um cliente.
A segurança pode ser reforçada através do aumento da garantia comprometida pelo provedor de armazenamento ao Ator do Mercado de Armazenamento, que atualmente é decidida pelo provedor de armazenamento e pelo cliente. Se assumirmos que isso foi suficientemente alto o bastante (por exemplo, a mesma participação de um validador Ethereum) para incentivar um provedor a não entrar em default, podemos pensar no que resta a ser garantido (mesmo que isso seja extremamente ineficiente em termos de capital, já que essa participação seria necessária para garantir cada bloco de transações ou setor com blocos agregados). Agora, um provedor de dados poderia optar por tornar os dados indisponíveis por períodos máximos de 41 dias antes que o acordo de armazenamento seja encerrado pelo Ator do Mercado de Armazenamento. Pressupondo um acordo de dados mais curto, poderíamos assumir que os dados podem ficar indisponíveis até o último dia do acordo. Na ausência de atores maliciosos coordenados, isso pode ser mitigado por meio da replicação em vários provedores de armazenamento para que os dados possam continuar sendo servidos.
Podemos considerar o custo de um atacante ignorando o consenso para aceitar uma prova falsa ou reescrever o histórico do livro-razão para remover uma transação do livro de ordens sem penalizar o provedor de armazenamento responsável. No entanto, vale ressaltar que, no caso de tal violação de segurança, um atacante seria capaz de manipular o livro-razão do FileCoin como desejar. Para que um atacante cometa esse tipo de ataque, seria necessário ter pelo menos uma participação majoritária na cadeia do FileCoin. A participação está relacionada ao armazenamento fornecido à rede; com um total atual de 25 EiB (10¹⁶ bytes) de dados protegendo a cadeia do FileCoin, seriam necessários pelo menos 12,5 EiB para que um ator malicioso ofereça sua própria cadeia que vença a regra de escolha do garfo. Isso é ainda mais mitigado pelo corte relacionado a falhas de consenso, para as quais a penalidade é a perda de todo o colateral prometido e das recompensas em bloco e a suspensão de participação no consenso.
Além disso: Retendo ataques a outras soluções de DA \
Embora o acima mostre que o FileCoin está carente na proteção de dados contra ataques de retenção, ele não está sozinho.
A recuperabilidade é necessária para a DA. Idealmente, as forças de mercado motivam mineradores economicamente racionais a aceitar acordos de recuperação e competir com outros mineradores para manter os preços baixos para os clientes. Assume-se que isso é suficiente para os provedores de dados fornecerem serviços de recuperação, no entanto, dada a importância da DA, é razoável exigir mais segurança.
A recuperação atualmente não é garantida através da segurança econômica estipulada acima. Isso ocorre porque é criptograficamente difícil provar que os dados não foram recebidos por um cliente (no caso em que um cliente precisa refutar a alegação de um minerador de armazenamento de dados) de maneira minimizada de confiança. Uma garantia nativa do protocolo de recuperação seria necessária para que a recuperação fosse assegurada através da segurança econômica do FileCoin. Com mudanças mínimas no protocolo, isso significa que a recuperação precisaria estar associada a uma falha de setor ou término do contrato.Retrievé uma prova de conceito que foi capaz de fornecer garantias de recuperação de dados usando "árbitros" confiáveis para mediar disputas de recuperação de dados.
Além disso: Recuperação em outras soluções de DA \
Como pode ser visto acima, o FileCoin não possui as garantias de recuperação nativas do protocolo necessárias para impedir que o armazenamento (ou provedores de recuperação) ajam de forma egoísta. No caso do Ethereum e do Celestia, a única maneira de garantir que os dados do protocolo possam ser lidos é hospedar um nó completo ou confiar em um SLA de um provedor de infraestrutura. Não é trivial garantir a recuperação como provedor de armazenamento do FileCoin; o cenário análogo no FileCoin seria se tornar um provedor de armazenamento (exigindo custo significativo de infraestrutura) e aceitar com sucesso o mesmo acordo de armazenamento como um provedor de armazenamento que foi publicado como um usuário, momento em que alguém estaria pagando a si mesmo para fornecer armazenamento a si mesmo.
A latência no FileCoin é determinada por vários fatores, como rede, topologia, configuração do cliente de mineração de armazenamento e capacidades de hardware. Fornecemos uma análise teórica que discute esses fatores e o desempenho que pode ser esperado pelo nosso construto.
Devido ao design do sistema de prova do FileCoin e à falta de incentivos de recuperação, o FileCoin não é otimizado para fornecer latência de ida e volta de alta performance desde a postagem inicial dos dados até a recuperação inicial dos dados. A recuperação de alto desempenho no FileCoin é uma área ativa de pesquisa que está em constante mudança à medida que os provedores de armazenamento aumentam suas capacidades e à medida que o FileCoin introduz novos recursos. Definimos uma “ida e volta” como o tempo desde a submissão de um contrato de dados até o momento mais precoce em que os dados enviados ao FileCoin podem ser baixados.
Tempo de Bloco \
No Consenso Esperado do FileCoin, negócios de dados podem ser incluídos dentro do tempo de bloco de 30 segundos. 1 hora é o tempo típico para a confirmação de dados sensíveis na cadeia (como transferências de moedas).
Processamento de Dados \
O tempo de processamento de dados varia amplamente entre os provedores de armazenamento e configurações. O processo de selagem é projetado para levar 3 horas com hardware de mineração de armazenamento padrão. Os mineiros frequentemente superam esse limite de 3 horas por meio de configurações especiais do cliente, paralelização e investimento em hardware mais capaz. Essa variação também afeta a duração do desencaixe de setor, que pode ser totalmente contornado por meio de opções de recuperação rápida nas implementações de cliente FileCoin, como Lotus. A configuração de recuperação rápida armazena uma cópia não selada dos dados ao lado dos dados selados, acelerando significativamente o tempo de recuperação. Com base nisso, podemos assumir um atraso no pior cenário de três horas desde a aceitação de um acordo de dados até que os dados estejam disponíveis na cadeia.
Este artigo explora a construção de um DA aproveitando um DSN existente, FileCoin. Consideramos os requisitos de um DA com relação ao seu papel como um elemento crítico da infraestrutura de dimensionamento no Ethereum. Consideramos a construção em cima do FileCoin para a viabilidade do DA em um DSN, e usamo-lo para considerar as oportunidades que uma solução no FileCoin proporcionaria ao ecossistema do Ethereum, ou a qualquer outro que se beneficiaria de uma camada de DA com custo eficaz.
O FileCoin prova que um DSN pode melhorar drasticamente a eficiência do armazenamento de dados em um sistema distribuído baseado em blockchain, com uma economia comprovada de 100 milhões de dólares por 32 GB gravados nos preços de mercado atuais. Mesmo que a demanda por DA ainda não seja alta o suficiente para preencher setores de 32 GB, a vantagem de custo de um DA ainda é válida se os setores vazios forem lacrados. Embora a latência atual de armazenamento e recuperação no FileCoin não seja adequada para as necessidades de armazenamento a quente, implementações específicas de mineradores de armazenamento podem fornecer desempenho razoável com dados disponíveis em menos de 3 horas.
A confiança crescente nos provedores de armazenamento do Filecoin pode ser ajustada através de garantia variável, como no EigenDA. O Filecoin estende essa segurança ajustável para permitir que um número de réplicas seja armazenado em toda a rede, adicionando tolerância a falhas ajustável. A recuperação de dados garantida e eficiente precisaria ser resolvida para dissuadir de forma robusta os ataques de retenção de dados, no entanto, como qualquer outra solução, a única maneira de garantir verdadeiramente a recuperabilidade é hospedar um nó ou confiar em provedores de infraestrutura.
Vemos oportunidades para DA no desenvolvimento adicional de PoDSI, que poderia ser usado (juntamente com as provas atuais do FileCoin) em vez de DAS para garantir a inclusão de dados em um setor selado maior. Dependendo de como isso parece, isso pode tornar a demora da data tolerável, já que as provas de fraude podem ser postadas em uma janela de 1 dia a 1 semana, enquanto o DA pode ser garantido sob demanda. PoDSIs ainda são novos e estão em desenvolvimento intenso, então ainda não fazemos nenhuma implicação sobre como um PoDSI eficiente poderia ser, ou sobre a maquinaria necessária para construir um sistema em torno disso. Como existem soluções para computação em cima dos dados do FileCoin, a ideia de uma solução que computa um PoDSI em dados selados ou não selados pode não estar fora do reino das possibilidades em um futuro próximo.
À medida que tanto o campo da DA quanto o FileCoin crescem, novas combinações de soluções e tecnologias habilitadoras podem possibilitar novas provas de conceito. As Integração da Solana com a rede FileCoinMostra que os DSNs têm potencial como tecnologia de escalonamento. O custo de armazenamento de dados no FileCoin oferece uma oportunidade aberta com uma grande janela de otimização. Embora os desafios discutidos neste artigo sejam apresentados no contexto de permitir o DA, sua eventual solução abrirá um grande número de novas ferramentas e sistemas a serem construídos além do DA.
Пригласить больше голосов
Содержание
Disponibilidade de dados(DA) é uma tecnologia central na escalabilidade do Ethereum, permitindo que um nó verifique eficientemente se os dados estão disponíveis para a rede sem precisar hospedar os dados em questão. Isso é essencial para a construção eficiente de rollups e outras formas de escalonamento vertical, permitindo que nós de execução garantam que os dados da transação estão disponíveis durante o período de liquidação. Isso também é crucial para o shard e outras formas de escalonamento horizontal, uma atualização futura planejada para a rede Ethereum, pois os nós precisarão provar que os dados da transação estão disponíveis.blobsOs dados armazenados em fragmentos de rede estão realmente disponíveis para a rede.
Várias soluções de DA foram discutidas e lançadas recentemente (por exemplo, Celestia, EigenDA, Disponível) , todos com a intenção de fornecer infraestrutura eficiente e segura para aplicativos postarem DA.
A vantagem de uma solução DA externa em relação a um L1, como o Ethereum, é que ela oferece um veículo barato e eficiente para dados on-chain. As soluções DA frequentemente consistem em suas próprias blockchains públicas construídas para permitir armazenamento barato e sem permissão. Mesmo com modificações, o fato permanece que hospedar dados nativamente de uma blockchain é extremamente ineficiente.
Assim, descobrimos que é intuitivo explorar uma solução otimizada de armazenamento como FileCoinpara a base de uma camada DA. FileCoin usa sua blockchain para coordenar acordos de armazenamento entre clientes e provedores de armazenamento, mas permite que os dados sejam armazenados off-chain.
Neste post, investigamos a viabilidade de uma solução DA construída em cima de uma Rede de Armazenamento Distribuído (DSN). Consideramos o FileCoin especificamente, uma vez que é a DSN mais adotada até o momento. Esboçamos as oportunidades que tal solução ofereceria e os desafios que precisam ser superados para construí-la.
Uma camada DA fornece o seguinte para os serviços que dependem dela:
Tudo isso precisa ser feito de forma eficiente para possibilitar a escalabilidade. Uma camada DA fornece um desempenho superior a um custo menor nos três pontos acima. Por exemplo, qualquer nó pode solicitar uma cópia completa dos dados para comprovar a custódia, mas isso é ineficiente. Ao ter um sistema que fornece todos os três desses aspectos, alcançamos uma camada DA que fornece a segurança necessária para que os L2s coordenem com um L1, juntamente com limites inferiores mais fortes na presença de uma maioria maliciosa.
Dados enviados para um @vbuterin/proto_danksharding_faq#Se-os-dados-forem-deletados-após-30-dias-como-os-usuários-acessariam-blocos-antigos">Uma solução tem uma vida útil útil: tempo suficiente para resolver disputas ou verificar uma transição de estado. Os dados da transação precisam estar disponíveis apenas o tempo suficiente para verificar uma transição de estado correta ou dar aos validadores oportunidade suficiente para construir provas de fraude. No momento da escrita, os calldatas do Ethereum são a solução mais comum usada por projetos (rollups) que exigem disponibilidade de dados.
Amostragem de Disponibilidade de Dados (DAS) é o método padrão de resposta à pergunta de DA. Ele vem com benefícios de segurança adicionais, fortalecendo a capacidade dos atores da rede de verificar informações de estado de seus pares. No entanto, ele depende de nós para realizar amostragem: as solicitações de DAS devem ser respondidas para garantir que as transações mineradas não sejam rejeitadas, mas não há incentivo positivo ou negativo para um nó solicitar amostras. Do ponto de vista dos nós que solicitam amostras, não há penalidade negativa por não executar DAS. Como exemplo, a Celestia fornece a primeira e única implementação de cliente leve para realizar DAS, oferecendo suposições de segurança mais fortes aos usuários e reduzindo o custo da verificação de dados.
Um DA precisa fornecer acesso eficiente aos dados aos projetos que o utilizam. Um DA lento pode se tornar o gargalo para os serviços que dependem dele, causando ineficiências no melhor dos casos e falhas no sistema no pior dos casos.
Uma Rede de Armazenamento Descentralizado (DSN, conforme formalizado no Whitepaper do FileCoin¹) é uma rede sem permissão de provedores de armazenamento que oferecem serviços de armazenamento para usuários da rede. Informalmente, permite que provedores de armazenamento independentes coordenem negociações de armazenamento com clientes que precisam de serviços de armazenamento e fornece armazenamento de dados barato e resiliente para clientes que buscam serviços de armazenamento a baixo custo. Isso é coordenado por meio de um blockchain que registra negociações de armazenamento e permite a execução de contratos inteligentes.
Um esquema DSN é um conjunto de três protocolos: Put, Get e Manage. Este conjunto vem com propriedades como garantias de tolerância a falhas e incentivos à participação.
Coloque (dados) → chave
Os clientes executam Put para armazenar dados sob uma chave única. Isso é alcançado especificando a duração para a qual os dados serão armazenados na rede, o número de réplicas dos dados que devem ser armazenadas para redundância e um preço negociado com os provedores de armazenamento.
Obter(chave) → dados
Os clientes executam Get para recuperar dados que estão armazenados sob uma chave.
Gerenciar()
O protocolo Manage é chamado pelos participantes da rede para coordenar o espaço de armazenamento e os serviços disponibilizados pelos provedores e reparar falhas. No caso de FileCoin, isso é gerenciado por meio de uma blockchain. Esta blockchain registra transações de dados sendo feitas entre clientes e provedores de dados e provas de dados armazenados corretamente para garantir que as transações de dados estejam sendo cumpridas. Os dados armazenados corretamente são comprovados por meio da publicação de provas geradas pelos provedores de dados em resposta a desafios da rede. armazenamento falhaOcorre quando um fornecedor de armazenamento falha em gerar rapidamente uma Prova de Replicação ou Prova de Espaço-Tempo quando solicitado pelo protocolo Manage, o que resulta no corte da participação do fornecedor de armazenamento. Os negócios podem se auto-recuperar no caso de uma falha de armazenamento se mais de um fornecedor estiver hospedando uma cópia dos dados na rede, encontrando um novo fornecedor de armazenamento para honrar o acordo de armazenamento.
O trabalho feito até agora nos projetos DA foi transformar uma blockchain em uma plataforma para armazenamento quente. Como um DSN é otimizado para armazenamento, em vez de transformar uma blockchain em uma plataforma de armazenamento, podemos simplesmente transformar uma plataforma de armazenamento em uma que fornece disponibilidade de dados. O colateral dos provedores de armazenamento na forma de nativoFILo token pode fornecer segurança cripto-econômica que garante que os dados sejam armazenados. Finalmente, a programabilidade de negócios de armazenamento pode fornecer flexibilidade em relação aos termos de disponibilidade de dados.
A motivação mais convincente para transformar as capacidades de uma DSN para resolver DA é a redução de custos no armazenamento de dados sob a solução DA. Como discutiremos a seguir, o custo de armazenar dados no FileCoin é significativamente mais barato do que armazenar dados no Ethereum. Dado os preços atuais do Ether/USD, custa mais de 3 milhões de USD para gravar 1 GB de calldata no Ethereum, apenas para ser podado após 21 dias. Esse custo de calldata pode contribuir com mais da metade do custo de transação de um rollup baseado em Ethereum. No entanto, 1 GB de armazenamento no FileCoin custa menos de .0002 USD por mês. Garantir DA a esse preço ou a um preço semelhante reduziria os custos de transação para os usuários e contribuiria para o desempenho e escalabilidade do Web3.
No FileCoin, é necessário ter uma garantia para disponibilizar espaço de armazenamento. Essa garantia é cortada quando um provedor não cumpre seus acordos ou garanteias de rede. Um provedor de armazenamento que falha em fornecer serviços corre o risco de perder tanto sua garantia postada quanto qualquer lucro que teria sido obtido ao fornecer armazenamento.
Muitos dos incentivos do protocolo do FileCoin estão alinhados com os objetivos da DA.FileCoin fornece desincentivos para comportamento malicioso ou preguiçoso: os provedores de armazenamento devem fornecer ativamente provas de armazenamento durante o consenso na forma de Prova de RéplicaseProva de Espaço-Tempo, provando continuamente que o armazenamento existe sem assumir uma maioria honesta. A falha de um provedor de armazenamento em fornecer prova resulta em redução de participação e remoção do consenso, entre outras penalidades. As soluções DA atuais carecem de incentivo para que os nós executem o DAS, dependendo de comportamento altruístico ad hoc para a prova do DA.
A capacidade de personalizar acordos de dados também torna um DSN uma plataforma atraente para DA. Os acordos de dados podem ter durações variadas, permitindo que os usuários de um DA baseado em DSN paguem apenas pelo DA de que precisam. A tolerância a falhas também pode ser ajustada definindo o número de cópias que devem ser armazenadas em toda a rede. A personalização adicional é suportada por meio de contratos inteligentes no FileCoin (chamado Atores) que são executados no FEVM. Isso leva ao crescente ecossistema de DApps da FileCoin, de soluções de computação sobre armazenamento, como Bacalhaupara soluções DeFi e staking líquido, como Glif. Recuperarfaz uso de Atuadores FileCoin para fornecer recuperação alinhada a incentivos com árbitros autorizados. A programabilidade do FileCoin pode ser usada para adaptar os requisitos de DA necessários para diferentes soluções, de modo que as plataformas que dependem de DA não estejam pagando por mais DA do que precisam.
Em nossa investigação, identificamos desafios significativos que precisam ser superados antes que um serviço de DA possa ser construído em uma DSN. Agora, ao falarmos sobre a viabilidade da implementação, usaremos o FileCoin como nosso principal foco da discussão.
As provas criptográficas que garantem a integridade das transações e dos dados armazenados no FileCoin levam tempo para serem comprovadas. Quando os dados são comprometidos com a rede, eles são particionados em 32 gigabytes setoreseselado.” A selagem de dados é a base tanto para o Proof-of-Replication ( Prova de Espaço) que prova que um provedor de armazenamento está armazenando uma ou mais cópias únicas dos dados e Prova de Espaço-Tempo (PoST) que comprova que um provedor de armazenamento armazenou uma cópia única continuamente ao longo da duração do contrato de armazenamento. O selamento deve ser computacionalmente caro para garantir que os provedores de armazenamento não estejam selando dados sob demanda para minar o PoReP necessário. Quando o protocolo apresenta o desafio periódico a um provedor de armazenamento para fornecer prova de armazenamento único e contínuo, o selamento deve levar mais tempo com segurança do que a janela de resposta para que um provedor de armazenamento não possa falsificar provas ou réplicas no momento. Por esse motivo, os provedores podem levar aproximadamente três horas para selar um setor de dados.
Devido ao custo computacional da operação de selagem, o tamanho do setor dos dados a serem selados precisa ser economicamente viável. O preço do armazenamento precisa justificar o custo da selagem para o provedor de armazenamento, e da mesma forma, o custo resultante dos dados armazenados precisa ser baixo o suficiente em escala (neste caso, para um pedaço de aproximadamente 32GB) para que um cliente queira armazenar dados no FileCoin. Embora setores menores possam ser selados, isso aumentaria o preço do armazenamento para compensar os provedores de armazenamento. Para contornar isso,agregadores de dadoscoletar pequenas partes de dados dos usuários para serem comprometidas com o FileCoin como um chunk próximo de 32 GB. Os agregadores de dados se comprometem com os dados do usuário por meio de uma Prova de Inclusão de Segmento de Dados.PoDSI) que garante a inclusão dos dados de um usuário em um setor e um CID de subconjunto (pCID) que o usuário poderá usar para recuperar os dados da rede.
O mecanismo de consenso do FileCoin, Consensus Esperado, tem um tempo de bloco de 30 segundos e finalidade dentro de horas, o que pode melhorar em um futuro próximo (ver FIP-0086para uma finalização rápida no FileCoin). Isso geralmente é muito lento para suportar a taxa de transação necessária para uma Camada 2 que depende do DA para dados de transação. O tempo de bloco do FileCoin é limitado inferiormente pelo hardware do provedor de armazenamento; quanto menor o tempo de bloco, mais difícil é para os provedores de armazenamento gerar e fornecer provas de armazenamento, e mais provedores de armazenamento serão falsamente penalizados por perder a janela de prova para o armazenamento adequado de dados. Para superar isso, Sub-redes de Consenso Interplanetário (IPC)pode ser aproveitado para aproveitar tempos de consenso mais rápidos. IPC usaTendermintconsenso -like e DRANDpara aleatoriedade: no caso de DRAND ser o gargalo, seríamos capazes de alcançar um tempo de bloco de 3 segundos com uma sub-rede IPC. No caso de um gargalo do Tendermint, PoCs como Narvalconseguimos tempos de bloco na casa das centenas de milissegundos.
A barreira final a ser construída é a recuperação. A partir das limitações acima, podemos deduzir que o FileCoin é adequado para armazenamento offline ou morno. No entanto, os dados DA estão quentes e precisam suportar aplicativos de alto desempenho. A recuperação alinhada a incentivos é difícil no FileCoin; os dados precisam ser desbloqueados antes de serem servidos aos clientes, o que adiciona latência. Atualmente, a recuperação rápida é feita via SLAs ou o armazenamento de dados não selados ao lado de setores selados, nenhum dos quais pode ser confiável na arquitetura de um aplicativo seguro e sem permissão no FileCoin. Especialmente com Retrievdemonstrando que a recuperação pode ser garantida via FVM, a recuperação rápida alinhada com incentivos no FileCoin ainda é uma área a ser explorada.
Nesta seção, consideramos o custo decorrente dessas considerações de design. Mostramos o custo de armazenar 32GB como Ethereum calldata, Celestia blobdata, EigenDA blobdata e como um setor no FileCoin usando os preços de mercado quase atuais.
A análise destaca o preço dos dados de chamada do Ethereum: 100 milhões de USD por 32 GB de dados. Este preço mostra o custo da segurança por trás do consenso do Ethereum e está sujeito à volatilidade dos preços do Ether e do gás. A atualização Dencun, que introduziu o Proto-DankshardingEIP-4844) introduziu transações de blob com uma meta de 3 blobs por bloco de aproximadamente 125 KB cada e preços variáveis de blob de gás para manter a quantidade alvo de blobs por bloco. Esta atualização reduziu o custo dos dados DA do Ethereum em ⅕: 20 milhões de dólares para 32 GB de dados de blob.
Celestia e EigenDA fornecem melhorias significativas: 8.000 e 26.000 USD para 32 GB de dados, respectivamente. Ambos estão sujeitos à volatilidade dos preços de mercado e refletem em certa medida o custo de consenso para garantir seus dados: Celestia com sua nativa TIAtoken, e EigenDA com Ether.
Em todos os casos acima, os dados armazenados não são permanentes. O calldata do Ethereum é armazenado por 3 semanas, com blobs armazenados por 18 dias. O EigenDA armazena blobs por padrão de 14 dias. A partir da implementação atual da Celestia, os dados de blob são armazenados indefinidamente pelos nós de arquivo, mas apenas amostrados pelos nós leves por um máximo de 30 dias.
As duas tabelas finais são comparações diretas entre FileCoin e as soluções atuais de DA. A equivalência de custo primeiro lista o custo de um único byte de dados na plataforma fornecida. Em seguida, é mostrada a quantidade de bytes de FileCoin que podem ser armazenados pelo mesmo período de tempo pelo mesmo custo.
Isso mostra que o FileCoin é ordens de grandeza mais barato do que as soluções DA atuais, custando frações de centavos para armazenar a mesma quantidade de dados pelo mesmo período de tempo. Ao contrário dos nós do Ethereum e de outras soluções DA, os nós do FileCoin são otimizados para fornecer serviços de armazenamento, e seu sistema de prova permite que os nós provem o armazenamento, em vez de replicar o armazenamento em todos os nós da rede. Sem considerar a economia dos provedores de armazenamento (como o custo de energia para selar dados), mostra que o custo básico do processo de armazenamento no FileCoin é negligenciável. Isso mostra uma oportunidade de mercado na ordem de milhões de USD por gigabyte em comparação com o Ethereum para um sistema que pode fornecer serviços DA seguros e eficientes no FileCoin.
Abaixo, consideramos a capacidade das soluções DA e a demanda gerada pelos principais rollups da camada 2.
Porque o blockchain do FileCoin é organizado em tipsetscom vários blocos em cada altura de bloco, o número de transações que podem ser feitas não é restrito por consenso ou tamanho de bloco. A restrição de dados rigorosa do FileCoin é a capacidade de armazenamento em toda a rede, não o que é permitido por consenso.
Para a demanda diária de DA, extraímos dados deRollups DA e Execuçãode Terry Chung e Wei Dai, que inclui uma média diária ao longo de 30 dias e um dia amostrado singular. Isso nos permite considerar a demanda média sem deixar de observar as aberrações da média (por exemplo, a demanda da Optimism em 15/08/2023 de aproximadamente 261.000.000 bytes foi mais de 4 vezes a sua média de 30 dias de 64.000.000 bytes).
A partir desta seleção, vemos que, apesar da oportunidade de custo mais baixo de DA, precisaríamos de um aumento dramático na demanda de DA para fazer uso eficiente do tamanho do setor de 32 GB do FileCoin. Embora selar setores de 32 GB com menos de 32 GB de dados seria um desperdício de recursos, poderíamos fazê-lo enquanto ainda obtemos uma vantagem de custo.
Nesta seção, consideramos a arquitetura técnica que pode ser alcançada se fosse construída hoje. Vamos considerar esta arquitetura no contexto de aplicações L2 arbitrárias e uma cadeia L1 que o L2 está servindo. Como esta solução é uma solução DA externa, como a da Celestia e da EigenDA, não consideramos o FileCoin como exemplo de L1.
Mesmo em um nível elevado, um DA no FileCoin fará uso de muitos recursos diferentes do ecossistema do FileCoin.
Transações: Os usuários downstream realizam transações em uma plataforma que requer DA. Isso poderia ser um L2.
Plataformas que Usam DA: Estas são as plataformas que usam DA como um serviço. Isso poderia ser um L2 que envia dados de transação para o FileCoin DA e compromissos para um L1, como o Ethereum.
Camada 1: Isso é qualquer L1 que contenha compromissos apontando para dados na solução DA. Isso poderia ser Ethereum, suportando um L2 que alavanca a solução DA do FileCoin.
Aggregator: A interface do sistema de arquivamento descentralizado baseado em FileCoin é um agregador, um componente centralizado que recebe dados de transação de L2's e outros clientes DA e os agrega em setores de 32 GB adequados para selagem. Embora uma prova de conceito simples incluiria um agregador centralizado, plataformas que usam a solução DA também poderiam executar seu próprio agregador, por exemplo, como um anexo a um sequenciador L2. A centralização do agregador pode ser vista como semelhante à de um sequenciador L2 ou Dispersor da EigenDAUma vez que o agregador compilou um payload próximo a 32GB, ele faz um acordo de armazenamento com provedores de armazenamento para armazenar os dados. Os clientes recebem a garantia de que seus dados serão incluídos no setor na forma de um PoDSI (Prova de Inclusão de Segmento de Dados), e um pCID para identificar seus dados uma vez que estiverem na rede. Este pCID é o que seria incluído nos compromissos de estado no L1 para referenciar dados de transações de suporte.
Verificadores: Os verificadores solicitam os dados dos provedores de armazenamento para garantir a integridade dos compromissos de estado e construir provas de fraude, que são comprometidas com o L1 no caso de fraude comprovável.
Negócio de Armazenamento: Uma vez que o agregador compilou um payload perto de 32GB, o agregador fecha um negócio de armazenamento com provedores de armazenamento para armazenar os dados.
Publicação de blobs (Colocar): Para iniciar uma colocação, um cliente DA enviará seu blob contendo dados de transação para o agregador. Isso pode ser feito de forma off-chain, ou de forma on-chain via um oráculo de agregador on-chain. Para confirmar o recebimento do blob, o agregador retorna um PoDSI ao cliente para provar que seu blob está incluído no setor agregado que será comprometido com a sub-rede. Um pCID (Identificador de Conteúdo de Sub-peça) também é retornado. Isso é o que o cliente e qualquer outra parte interessada usarão para referenciar o blob uma vez que ele estiver sendo servido no FileCoin.
Negócios de dados apareceriam na cadeia dentro de minutos após o negócio ser feito. A maior barreira à latência é o tempo de selagem, que pode levar 3 horas. Isso significa que, embora o negócio tenha sido feito, e o cliente possa ter a certeza de que os dados aparecerão na rede, os dados não podem ser garantidos como consultáveis até que o processo de selagem esteja completo. Lotuso cliente possui umrecuperação rápidarecurso no qual uma cópia não selada dos dados é armazenada ao lado da cópia selada que pode ser servida assim que os dados não selados forem transferidos para o provedor de armazenamento de dados, desde que um acordo de recuperação não dependa da prova de que os dados selados apareçam na rede. No entanto, essa funcionalidade fica a critério do provedor de dados e não é garantida criptograficamente como parte do protocolo. Se uma garantia de recuperação rápida deve ser fornecida, seriam necessárias alterações nos mecanismos de consenso e de incentivo/desincentivo para aplicá-la.
Recuperando blobs (Obter): A recuperação é semelhante a uma operação de inserção. Um acordo de recuperação precisa ser feito, o que aparecerá na cadeia em questão de minutos. A latência de recuperação dependerá dos termos do acordo e se uma cópia não lacrada dos dados é armazenada para recuperação rápida. No caso de recuperação rápida, a latência dependerá das condições de rede. Sem recuperação rápida, os dados precisarão ser deslacrados antes de serem servidos ao cliente, o que leva o mesmo tempo que a lacração, em torno de 3 horas. Assim, sem otimizações, temos um tempo de ida e volta máximo de 6 horas, melhorias significativas na prestação de dados precisariam ser feitas antes que isso se torne um sistema viável para DA ou provas de fraude.
Prova de DA: a prova de DA pode ser considerada em duas etapas; via PoDSI que é dada quando os dados são comprometidos ao agregador enquanto o negócio está sendo feito e então o comprometimento contínuo de PoRep e PoST que os provedores de armazenamento fornecem através do mecanismo de consenso do FileCoin. Como discutido acima, o PoRep e PoST dão garantias agendadas e comprováveis de custódia e persistência de dados.
Essa solução fará uso intenso de pontes, já que qualquer cliente que dependa de DA (independentemente da construção de provas) precisará ser capaz de interagir com o FileCoin. No caso do pCID incluído na transição de estado que é postada no L1, um verificador pode fazer uma verificação inicial para garantir que um pCID falso não tenha sido comprometido. Existem várias maneiras de fazer isso, por exemplo, por meio de um oráculo que posta dados do FileCoin no L1 ou por meio de verificadores que verificam a existência de uma negociação de dados ou setor que corresponde ao pCID. Da mesma forma, a verificação de provas de validade ou fraude que são postadas no L1 podem precisar usar uma ponte para se convencer de uma prova. As pontes disponíveis atualmente são AxelareCeler.
A integridade do FileCoin é reforçada através do corte de garantias. As garantias podem ser cortadas em dois casos: falhas de armazenamentooufalhas de consenso. Um defeito de armazenamento corresponde a um provedor de armazenamento que não consegue fornecer prova de dados armazenados (seja PoRep ou PoST), o que se correlacionaria com uma falta de disponibilidade de dados em nosso modelo. Um defeito de consenso corresponde a uma ação maliciosa no consenso, o protocolo que gerencia o registro de transações a partir do qual o FEVM é abstraído.
BR(t) = ProjectedRewardFraction(t) * SectorQualityAdjustedPower
máx(SP(t), BR(StartEpoch, 20d) + BR(StartEpoch, 1d)fator de recompensa de términomin(SectorAgeInDays, 140))
A segurança fornecida pelo FileCoin é muito diferente daquela de outras blockchains. Enquanto os dados da blockchain geralmente são seguros por meio de consenso, o consenso do FileCoin apenas garante o registro de transações, não os dados referidos pela transação. Os dados armazenados no FileCoin têm apenas segurança suficiente para alinhar incentivos aos provedores de armazenamento. Isso significa que os dados armazenados no FileCoin são protegidos por meio de penalidades por falhas e incentivos comerciais, como reputação com os clientes. Em outras palavras, uma falha de dados em uma blockchain é equivalente a uma quebra de consenso e compromete a segurança da cadeia ou a validade das transações. O FileCoin é projetado para ser tolerante a falhas no armazenamento de dados e, portanto, usa seu consenso apenas para garantir seu livro de ofertas e atividades relacionadas a acordos. O custo de um minerador de armazenamento que não cumpre seu acordo de dados tem um máximo de 90 dias de recompensa de armazenamento em penalidades, e a perda da garantia oferecida pelo minerador para garantir o acordo.
Portanto, o custo de um ataque de retenção de dados lançado pelos provedores de FileCoin é simplesmente o custo de oportunidade de um acordo de recuperação. A recuperação de dados no FileCoin depende do minerador de armazenamento ser incentivado por uma taxa paga pelo cliente. No entanto, não há impacto negativo para um minerador que não responda a uma solicitação de recuperação de dados. Para mitigar o risco de um único minerador de armazenamento ignorar ou recusar acordos de recuperação de dados, os dados no FileCoin podem ser armazenados por vários mineradores.
Uma vez que a segurança econômica por trás dos dados armazenados no FileCoin é consideravelmente inferior à das soluções baseadas em blockchain, a prevenção da manipulação de dados também deve ser considerada. A manipulação de dados é protegida através do sistema de prova do FileCoin. Os dados são referenciados por meio de CIDs, através dos quais a corrupção de dados é imediatamente detectável. Portanto, um provedor não pode fornecer dados corrompidos, pois é fácil verificar se os dados obtidos correspondem ao CID solicitado. Os provedores de dados não podem armazenar dados corrompidos no lugar de dados não corrompidos. Após o recebimento dos dados do cliente, os provedores devem fornecer prova de um setor de dados selado corretamente para iniciar o acordo de dados (verifique isso). Portanto, um acordo de armazenamento não pode ser iniciado com dados corrompidos. Durante a vida útil do acordo de armazenamento, os PoSTs são fornecidos para comprovar a custódia (lembre-se de que isso comprova tanto a custódia do setor de dados selado quanto a custódia desde o último PoST). Uma vez que o PoST depende do setor selado no momento da geração da prova, um setor corrompido resultaria em um PoST falso, resultando em uma falha de setor. Portanto, um provedor de armazenamento não pode armazenar nem fornecer dados corrompidos, não pode reivindicar recompensa pelos serviços prestados para dados não corrompidos e não pode evitar ser penalizado por manipular os dados de um cliente.
A segurança pode ser reforçada através do aumento da garantia comprometida pelo provedor de armazenamento ao Ator do Mercado de Armazenamento, que atualmente é decidida pelo provedor de armazenamento e pelo cliente. Se assumirmos que isso foi suficientemente alto o bastante (por exemplo, a mesma participação de um validador Ethereum) para incentivar um provedor a não entrar em default, podemos pensar no que resta a ser garantido (mesmo que isso seja extremamente ineficiente em termos de capital, já que essa participação seria necessária para garantir cada bloco de transações ou setor com blocos agregados). Agora, um provedor de dados poderia optar por tornar os dados indisponíveis por períodos máximos de 41 dias antes que o acordo de armazenamento seja encerrado pelo Ator do Mercado de Armazenamento. Pressupondo um acordo de dados mais curto, poderíamos assumir que os dados podem ficar indisponíveis até o último dia do acordo. Na ausência de atores maliciosos coordenados, isso pode ser mitigado por meio da replicação em vários provedores de armazenamento para que os dados possam continuar sendo servidos.
Podemos considerar o custo de um atacante ignorando o consenso para aceitar uma prova falsa ou reescrever o histórico do livro-razão para remover uma transação do livro de ordens sem penalizar o provedor de armazenamento responsável. No entanto, vale ressaltar que, no caso de tal violação de segurança, um atacante seria capaz de manipular o livro-razão do FileCoin como desejar. Para que um atacante cometa esse tipo de ataque, seria necessário ter pelo menos uma participação majoritária na cadeia do FileCoin. A participação está relacionada ao armazenamento fornecido à rede; com um total atual de 25 EiB (10¹⁶ bytes) de dados protegendo a cadeia do FileCoin, seriam necessários pelo menos 12,5 EiB para que um ator malicioso ofereça sua própria cadeia que vença a regra de escolha do garfo. Isso é ainda mais mitigado pelo corte relacionado a falhas de consenso, para as quais a penalidade é a perda de todo o colateral prometido e das recompensas em bloco e a suspensão de participação no consenso.
Além disso: Retendo ataques a outras soluções de DA \
Embora o acima mostre que o FileCoin está carente na proteção de dados contra ataques de retenção, ele não está sozinho.
A recuperabilidade é necessária para a DA. Idealmente, as forças de mercado motivam mineradores economicamente racionais a aceitar acordos de recuperação e competir com outros mineradores para manter os preços baixos para os clientes. Assume-se que isso é suficiente para os provedores de dados fornecerem serviços de recuperação, no entanto, dada a importância da DA, é razoável exigir mais segurança.
A recuperação atualmente não é garantida através da segurança econômica estipulada acima. Isso ocorre porque é criptograficamente difícil provar que os dados não foram recebidos por um cliente (no caso em que um cliente precisa refutar a alegação de um minerador de armazenamento de dados) de maneira minimizada de confiança. Uma garantia nativa do protocolo de recuperação seria necessária para que a recuperação fosse assegurada através da segurança econômica do FileCoin. Com mudanças mínimas no protocolo, isso significa que a recuperação precisaria estar associada a uma falha de setor ou término do contrato.Retrievé uma prova de conceito que foi capaz de fornecer garantias de recuperação de dados usando "árbitros" confiáveis para mediar disputas de recuperação de dados.
Além disso: Recuperação em outras soluções de DA \
Como pode ser visto acima, o FileCoin não possui as garantias de recuperação nativas do protocolo necessárias para impedir que o armazenamento (ou provedores de recuperação) ajam de forma egoísta. No caso do Ethereum e do Celestia, a única maneira de garantir que os dados do protocolo possam ser lidos é hospedar um nó completo ou confiar em um SLA de um provedor de infraestrutura. Não é trivial garantir a recuperação como provedor de armazenamento do FileCoin; o cenário análogo no FileCoin seria se tornar um provedor de armazenamento (exigindo custo significativo de infraestrutura) e aceitar com sucesso o mesmo acordo de armazenamento como um provedor de armazenamento que foi publicado como um usuário, momento em que alguém estaria pagando a si mesmo para fornecer armazenamento a si mesmo.
A latência no FileCoin é determinada por vários fatores, como rede, topologia, configuração do cliente de mineração de armazenamento e capacidades de hardware. Fornecemos uma análise teórica que discute esses fatores e o desempenho que pode ser esperado pelo nosso construto.
Devido ao design do sistema de prova do FileCoin e à falta de incentivos de recuperação, o FileCoin não é otimizado para fornecer latência de ida e volta de alta performance desde a postagem inicial dos dados até a recuperação inicial dos dados. A recuperação de alto desempenho no FileCoin é uma área ativa de pesquisa que está em constante mudança à medida que os provedores de armazenamento aumentam suas capacidades e à medida que o FileCoin introduz novos recursos. Definimos uma “ida e volta” como o tempo desde a submissão de um contrato de dados até o momento mais precoce em que os dados enviados ao FileCoin podem ser baixados.
Tempo de Bloco \
No Consenso Esperado do FileCoin, negócios de dados podem ser incluídos dentro do tempo de bloco de 30 segundos. 1 hora é o tempo típico para a confirmação de dados sensíveis na cadeia (como transferências de moedas).
Processamento de Dados \
O tempo de processamento de dados varia amplamente entre os provedores de armazenamento e configurações. O processo de selagem é projetado para levar 3 horas com hardware de mineração de armazenamento padrão. Os mineiros frequentemente superam esse limite de 3 horas por meio de configurações especiais do cliente, paralelização e investimento em hardware mais capaz. Essa variação também afeta a duração do desencaixe de setor, que pode ser totalmente contornado por meio de opções de recuperação rápida nas implementações de cliente FileCoin, como Lotus. A configuração de recuperação rápida armazena uma cópia não selada dos dados ao lado dos dados selados, acelerando significativamente o tempo de recuperação. Com base nisso, podemos assumir um atraso no pior cenário de três horas desde a aceitação de um acordo de dados até que os dados estejam disponíveis na cadeia.
Este artigo explora a construção de um DA aproveitando um DSN existente, FileCoin. Consideramos os requisitos de um DA com relação ao seu papel como um elemento crítico da infraestrutura de dimensionamento no Ethereum. Consideramos a construção em cima do FileCoin para a viabilidade do DA em um DSN, e usamo-lo para considerar as oportunidades que uma solução no FileCoin proporcionaria ao ecossistema do Ethereum, ou a qualquer outro que se beneficiaria de uma camada de DA com custo eficaz.
O FileCoin prova que um DSN pode melhorar drasticamente a eficiência do armazenamento de dados em um sistema distribuído baseado em blockchain, com uma economia comprovada de 100 milhões de dólares por 32 GB gravados nos preços de mercado atuais. Mesmo que a demanda por DA ainda não seja alta o suficiente para preencher setores de 32 GB, a vantagem de custo de um DA ainda é válida se os setores vazios forem lacrados. Embora a latência atual de armazenamento e recuperação no FileCoin não seja adequada para as necessidades de armazenamento a quente, implementações específicas de mineradores de armazenamento podem fornecer desempenho razoável com dados disponíveis em menos de 3 horas.
A confiança crescente nos provedores de armazenamento do Filecoin pode ser ajustada através de garantia variável, como no EigenDA. O Filecoin estende essa segurança ajustável para permitir que um número de réplicas seja armazenado em toda a rede, adicionando tolerância a falhas ajustável. A recuperação de dados garantida e eficiente precisaria ser resolvida para dissuadir de forma robusta os ataques de retenção de dados, no entanto, como qualquer outra solução, a única maneira de garantir verdadeiramente a recuperabilidade é hospedar um nó ou confiar em provedores de infraestrutura.
Vemos oportunidades para DA no desenvolvimento adicional de PoDSI, que poderia ser usado (juntamente com as provas atuais do FileCoin) em vez de DAS para garantir a inclusão de dados em um setor selado maior. Dependendo de como isso parece, isso pode tornar a demora da data tolerável, já que as provas de fraude podem ser postadas em uma janela de 1 dia a 1 semana, enquanto o DA pode ser garantido sob demanda. PoDSIs ainda são novos e estão em desenvolvimento intenso, então ainda não fazemos nenhuma implicação sobre como um PoDSI eficiente poderia ser, ou sobre a maquinaria necessária para construir um sistema em torno disso. Como existem soluções para computação em cima dos dados do FileCoin, a ideia de uma solução que computa um PoDSI em dados selados ou não selados pode não estar fora do reino das possibilidades em um futuro próximo.
À medida que tanto o campo da DA quanto o FileCoin crescem, novas combinações de soluções e tecnologias habilitadoras podem possibilitar novas provas de conceito. As Integração da Solana com a rede FileCoinMostra que os DSNs têm potencial como tecnologia de escalonamento. O custo de armazenamento de dados no FileCoin oferece uma oportunidade aberta com uma grande janela de otimização. Embora os desafios discutidos neste artigo sejam apresentados no contexto de permitir o DA, sua eventual solução abrirá um grande número de novas ferramentas e sistemas a serem construídos além do DA.