Disponibilidade de dados(DA) é uma tecnologia central na escalabilidade do Ethereum, permitindo a um nó verificar eficientemente que os dados estão disponíveis na rede sem ter de hospedar os dados em questão. Isto é essencial para a construção eficiente de rollups e outras formas de escalabilidade vertical, permitindo que os nós de execução garantam que os dados da transação estão disponíveis durante o período de resolução. Isto é também crucial para o shard e outras formas de escalabilidade horizontal, uma atualização futura planeada para a rede Ethereum, uma vez que os nós terão de provar que os dados da transação (oublobsOs dados armazenados em fragmentos de rede estão realmente disponíveis para a rede.
Várias soluções de DA têm sido discutidas e lançadas recentemente (por exemplo, Celestia, EigenDA, Disponível) todas com a intenção de fornecer uma infraestrutura eficiente e segura para aplicações publicarem DA.
A vantagem de uma solução DA externa sobre um L1 como o Ethereum é que fornece um veículo barato e eficiente para os dados on-chain. As soluções DA frequentemente consistem nas suas próprias cadeias públicas construídas para permitir armazenamento barato e sem permissões. 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. O FileCoin usa sua blockchain para coordenar acordos de armazenamento entre clientes e provedores de armazenamento, mas permite que os dados sejam armazenados fora da cadeia.
Nesta publicação, investigamos a viabilidade de uma solução de DA construída em cima de uma Rede de Armazenamento Distribuído (DSN). Consideramos especificamente o FileCoin, pois é a DSN mais adotada até à data. Destacamos as oportunidades que tal solução ofereceria e os desafios que precisam ser superados para construí-la.
Uma camada DA fornece o seguinte aos serviços que dependem dela:
Tudo isso precisa ser feito de forma eficiente para permitir a escalabilidade. Uma camada DA oferece melhor desempenho 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, 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-apagados-após-30-dias-como-os-utilizadores-acessariam-os-blocos-mais-antigos">Uma solução de DA 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 oportunidades suficientes 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 responder à pergunta do DA. Ele vem com benefícios adicionais de segurança, fortalecendo a capacidade dos atores da rede de verificar informações de estado de seus pares. No entanto, depende dos 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 realizar DAS. Como exemplo, a Celestia fornece a primeira e única implementação de cliente leve para realizar DAS, proporcionando 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 tornar-se o gargalo para os serviços que dependem dele, causando ineficiências no melhor cenário e falhas no sistema no pior cenário.
Uma Rede de Armazenamento Descentralizado (DSN, conforme formalizado no Whitepaper do FileCoin¹) é uma rede sem permissão de fornecedores de armazenamento que oferecem serviços de armazenamento para usuários da rede. Informalmente, permite que fornecedores de armazenamento independentes coordenem negócios de armazenamento com clientes que precisam de serviços de armazenamento e fornece armazenamento de dados barato e resiliente para clientes que procuram serviços de armazenamento a baixo custo. Isso é coordenado por meio de uma blockchain que registra negócios 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.
Colocar (dados) → chave
Os clientes executam Put para armazenar dados sob uma chave única. Isso é conseguido especificando a duração durante a qual os dados serão armazenados na rede, o número de réplicas dos dados que serão armazenadas para redundância e um preço negociado com os fornecedores de armazenamento.
Obter(chave) → dados
Os clientes executam Get para recuperar dados que estão a ser armazenados sob uma chave.
Gerir()
O protocolo Manage é chamado pelos participantes da rede para coordenar o espaço de armazenamento e os serviços disponibilizados pelos fornecedores e reparar falhas. No caso de FileCoin, isto é gerido através de uma blockchain. Esta blockchain regista negociações de dados entre clientes e fornecedores de dados e provas de dados armazenados corretamente para garantir que as negociações de dados estão a ser cumpridas. Os dados armazenados corretamente são comprovados através da publicação de provas geradas pelos fornecedores de dados em resposta a desafios da rede. A falha de armazenamentoocorre 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 na redução 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 negócio de armazenamento.
O trabalho realizado até agora nos projetos de DA tem sido transformar uma blockchain numa plataforma para armazenamento a quente. Uma vez que um DSN é otimizado para armazenamento, em vez de transformar uma blockchain numa plataforma de armazenamento, podemos simplesmente transformar uma plataforma de armazenamento numa que forneça disponibilidade de dados. O colateral dos fornecedores de armazenamento na forma de nativo FILtoken pode fornecer segurança cripto-económica que garante que os dados sejam armazenados. Finalmente, a programabilidade dos acordos de armazenamento pode proporcionar flexibilidade em torno dos 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 discutimos abaixo, o custo de armazenar dados no FileCoin é significativamente mais barato do que armazenar dados no Ethereum. Dados os preços atuais do Ether/USD, custa mais de 3 milhões de USD para escrever 1 GB de calldata no Ethereum, apenas para ser podado após 21 dias. Essa despesa de calldata pode contribuir com mais da metade do custo da transação de um rollup baseado no Ethereum. No entanto, 1 GB de armazenamento no FileCoin custa menos de .0002 USD por mês. Garantir DA a este ou a um preço semelhante reduziria os custos de transação para os usuários e contribuiria para o desempenho e escalabilidade da Web3.
No FileCoin, é necessário ter garantia para disponibilizar espaço de armazenamento. Esta garantia é reduzida quando um fornecedor não cumpre os seus contratos ou as garantias da rede. Um fornecedor de armazenamento que não presta os serviços arrisca-se a perder tanto a garantia depositada como os lucros que teriam sido obtidos com a prestação de armazenamento.
Muitos dos incentivos do protocolo FileCoin estão alinhados com os objetivos da DA.FileCoin fornece desincentivos para comportamento malicioso ou preguiçoso: os fornecedores de armazenamento devem fornecer ativamente provas de armazenamento durante o consenso sob a forma de Prova de RéplicaseProva de Espaço-Tempo, provando continuamente que o armazenamento existe sem assumir a maioria honesta. O fracasso de um fornecedor de armazenamento em fornecer prova resulta em redução de participação e remoção do consenso, entre outras penalidades. As atuais soluções de DA carecem de incentivo para que os nós executem DAS, confiando no comportamento altruísta ad hoc para a prova de DA.
A capacidade de personalizar os negócios de dados também torna um DSN uma plataforma atraente para DA. Os negócios de dados podem ter diferentes durações, permitindo aos utilizadores de um DA baseado em DSN pagar apenas pelo DA de que precisam. A tolerância a falhas também pode ser ajustada ao definir o número de cópias a serem armazenadas em toda a rede. Mais personalização é suportada através de contratos inteligentes no FileCoin (chamado Atores) que são executadas no FEVM. Isso leva ao crescente ecossistema de DApps do FileCoin, de soluções de computação sobre armazenamento como Bacalhaupara soluções DeFi e staking líquido como Glif. Recuperarfaz uso dos Atuadores FileCoin para fornecer recuperação alinhada com incentivos com árbitros autorizados. A programabilidade do FileCoin pode ser usada para adaptar os requisitos do DA necessários para diferentes soluções, de modo que plataformas que dependem do DA não estejam pagando mais pelo DA do que precisam.
Na nossa investigação, identificamos desafios significativos que precisam ser superados antes de um serviço DA poder ser construído numa 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 provadas. Quando os dados são comprometidos com a rede, são particionados em 32 gigabytes setores e “seladoA selagem de dados é a base tanto da Prova de Replicação (PoRep) que prova que um fornecedor de armazenamento está a armazenar uma ou mais cópias únicas dos dados, e Prova-de-Espaço-Tempo (PoST) que prova que um provedor de armazenamento armazenou uma cópia única continuamente durante a duração do contrato de armazenamento. A selagem tem que ser computacionalmente cara 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, a selagem tem que 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 instantaneamente. 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 tem que ser economicamente viável. O preço do armazenamento tem que justificar o custo da selagem para o provedor de armazenamento, e da mesma forma, o custo resultante dos dados armazenados tem que ser baixo o suficiente em escala (neste caso, para um pedaço de aproximadamente 32GB) para um cliente querer armazenar dados no FileCoin. Embora setores menores pudessem ser selados, isso aumentaria o preço do armazenamento para compensar os provedores de armazenamento. Para contornar isso,agregadores de dadosrecolher pequenas partes de dados dos utilizadores para serem comprometidas com o FileCoin como um chunk perto de 32 GB. Os agregadores de dados comprometem-se com os dados do utilizador através de uma Prova de Inclusão de Segmento de DadosPoDSI) que garante a inclusão dos dados de um utilizador num setor e um CID de sub-peça (pCID) que o utilizador poderá utilizar para recuperar os dados da rede.
mecanismo de consenso do FileCoin, Consentimento Esperado , tem um tempo de bloco de 30 segundos e finalidade dentro de horas, o que pode melhorar num futuro próximo (ver FIP-0086para uma finalidade 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 os dados da transação. O tempo de bloco do FileCoin é limitado 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 dos dados. Para superar isso, Sub-redes de Consenso Interplanetário (IPC)pode ser aproveitado para tirar partido de tempos de consenso mais rápidos. IPC usaTendermintconsenso -like e DRANDpara aleatoriedade: no caso de a 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 ordem dos centenas de milissegundos.
A barreira final a ser construída é a recuperação. A partir das restrições acima, podemos deduzir que o FileCoin é adequado para armazenamento a frio ou morno. No entanto, os dados DA estão quentes e precisam suportar aplicações 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 por meio de SLAs ou do armazenamento de dados não selados ao lado de setores selados, em nenhuma das quais se pode confiar na arquitetura de uma aplicação segura e sem permissão no FileCoin. Especialmente com Retrievdemonstrando que a recuperação pode ser garantida através do FVM, a recuperação rápida alinhada com incentivos no FileCoin continua a ser uma área a ser explorada.
Nesta secção, consideramos o custo que advém destas considerações de design. Mostramos o custo de armazenar 32GB como dados de calldata Ethereum, dados de blobdata Celestia, dados de blobdata EigenDA e como um setor no FileCoin usando preços de mercado quase atuais.
A análise destaca o preço do Ethereum calldata: 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 do Ether e dos preços do gás. A atualização Dencun, que introduziu o Proto-Danksharding (EIP-4844) introduziu transações de blob com um alvo de 3 blobs por bloco de aproximadamente 125 KB cada, e preços de blob de gás variáveis para manter a quantidade alvo de blobs por bloco. Este upgrade reduziu o custo do Ethereum DA em ⅕: 20 milhões de USD por 32 GB de dados de blob.
Celestia e EigenDA proporcionam melhorias significativas: 8.000 e 26.000 USD para 32 GB de dados, respetivamente. Ambos estão sujeitos à volatilidade dos preços de mercado e refletem, até certo ponto, o custo do consenso que assegura seus dados: Celestia com sua nativa TIAtoken e EigenDA com Ether.
Em todos os casos acima, os dados armazenados não são permanentes. Os dados da Ethereum calldata são armazenados por 3 semanas, com blobs armazenados por 18 dias. EigenDA armazena blobs por padrão de14 dias. No âmbito 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 de luz por um máximo de 30 dias.
As duas últimas tabelas são comparações diretas entre o FileCoin e as soluções DA atuais. A equivalência de custos lista primeiro o custo de um único byte de dados na plataforma fornecida. Em seguida, é mostrada a quantidade de bytes do 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 um cêntimo para armazenar a mesma quantidade de dados pelo mesmo período de tempo. Ao contrário dos nodos do Ethereum e de outras soluções DA, os nodos do FileCoin são otimizados para fornecer serviços de armazenamento, e seu sistema de prova permite aos nodos provar o armazenamento, em vez de replicar o armazenamento em todos os nodos da rede. Sem considerar a economia dos fornecedores de armazenamento (como o custo energético para selar os dados), mostra-se que o custo básico do processo de armazenamento no FileCoin é negligenciável. Isso revela uma oportunidade de mercado de milhões de USD por gigabyte em comparação com o Ethereum para um sistema que possa 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 a blockchain do FileCoin está organizada emtipsetscom vários blocos em cada altura do bloco, o número de negócios que podem ser feitos não é restrito pelo consenso ou tamanho do bloco. A restrição rígida de dados do FileCoin é a capacidade de armazenamento em toda a rede, não o que é permitido via consenso.
Para a procura 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 negligenciar as aberrações em relação à média (por exemplo, a demanda do 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 um custo de DA mais baixo, precisaríamos de um aumento dramático na procura de DA para fazer um uso eficiente do tamanho de setor de 32 GB do FileCoin. Embora selar setores de 32 GB com menos de 32 GB de dados seja um desperdício de recursos, poderíamos fazê-lo enquanto ainda obtivéssemos uma vantagem de custo.
Nesta secção, consideramos a arquitetura técnica que pode ser alcançada se construirmos isto hoje. Vamos considerar esta arquitetura no contexto de aplicações L2 arbitrárias e uma cadeia L1 que o L2 está a servir. Uma vez que esta solução é uma solução DA externa, como a da Celestia e EigenDA, não consideramos o FileCoin como exemplo de L1.
Mesmo a um nível elevado, um DA no FileCoin fará uso de muitas características diferentes do ecossistema FileCoin.
Transações: Os utilizadores a jusante realizam transações numa plataforma que requer DA. Isto poderia ser um L2.
Plataformas que Usam DA: Estas são as plataformas que utilizam DA como um serviço. Isto pode ser um L2 que envia dados de transação para o FileCoin DA e compromissos para um L1, como o Ethereum.
Camada 1: Este é 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.
Agregador: O frontend da solução DA baseada em FileCoin é um agregador, um componente centralizado que recebe dados de transações de L2 e de outros clientes DA e os agrega em setores de 32 GB adequados para selagem. Embora um simples protótipo possa incluir um agregador centralizado, plataformas que utilizam a solução DA também podem executar seu próprio agregador, por exemplo, como um acessório para um sequenciador L2. A centralização do agregador pode ser vista como semelhante à de um sequenciador L2 ou disperseiro da EigenDA. Uma vez que o agregador compilou um payload perto de 32GB, faz um acordo de armazenamento com fornecedores de armazenamento para armazenar os dados. Os clientes recebem uma 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 estiver na rede. Este pCID é o que seria incluído nos compromissos de estado no L1 para referenciar dados de transação de suporte.
Verificadores: Os verificadores solicitam os dados aos fornecedores 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.
Acordo de armazenamento: Uma vez que o agregador tenha compilado uma carga útil próxima de 32 GB, o agregador faz um acordo de armazenamento com provedores de armazenamento para armazenar os dados.
Publicação de blobs (Put): Para iniciar um put, um cliente DA enviará o seu blob contendo dados de transação para o agregador. Isso pode ser feito de forma off-chain, ou de forma on-chain através de um oráculo de agregador on-chain. Para confirmar o recebimento do blob, o agregador retorna um PoDSI ao cliente para provar que o 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. Este é o que o cliente e qualquer outra parte interessada usarão para referenciar o blob uma vez que esteja sendo servido no FileCoin.
Os negócios de dados seriam registados na cadeia em minutos após o negócio ser feito. A maior barreira à latência é o tempo de selagem, que pode levar 3 horas. Isto 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 tem umrecuperação rápidafuncionalidade em que 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 for fornecida, seria necessário fazer mudanças no consenso e nos mecanismos de incentivo/desincentivo para aplicá-la.
Recuperar blobs (Obter): A recuperação é semelhante a uma operação de inserção. Um acordo de recuperação precisa ser feito, que aparecerá na cadeia dentro de minutos. A latência de recuperação dependerá dos termos do acordo e se uma cópia não selada dos dados está armazenada para recuperação rápida. No caso de recuperação rápida, a latência dependerá das condições da rede. Sem recuperação rápida, os dados precisarão ser desbloqueados antes de serem servidos ao cliente, o que leva o mesmo tempo que a selagem, cerca de 3 horas. Assim, sem otimizações, temos um tempo de ida e volta máximo de 6 horas, melhorias significativas no serviço de dados precisariam ser feitas antes que este se torne um sistema viável para DA ou provas de fraude.
Prova de DA: a prova de DA pode ser considerada em dois passos; através do PoDSI que é dado quando os dados são comprometidos com o agregador enquanto o acordo está sendo feito e depois o compromisso 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 o PoST dão garantias agendadas e comprováveis de custódia e persistência de dados.
Esta solução fará um uso intensivo de pontes, uma vez que qualquer cliente que dependa de DA (independentemente da construção de provas) precisará de interagir com o FileCoin. No caso do pCID incluído na transição de estado que é publicada no L1, um verificador pode fazer uma verificação inicial para garantir que não foi cometido um pCID falso. Existem várias maneiras de fazer isso, por exemplo, através de um oráculo que publica dados do FileCoin no L1 ou através de verificadores que verificam a existência de um negócio de dados ou setor que corresponde ao pCID. Da mesma forma, a verificação de provas de validade ou fraude que são publicadas no L1 pode precisar de usar uma ponte para se convencer de uma prova. As pontes atualmente disponíveis são AxelareCeler.
A integridade do FileCoin é reforçada através da redução de colaterais. O colateral pode ser reduzido em dois casos: armazenamento falhasoufalhas de consenso. Um erro de armazenamento corresponde a um fornecedor de armazenamento que não consegue fornecer prova de dados armazenados (seja PoRep ou PoST), o que se correlacionaria com a falta de disponibilidade de dados em nosso modelo. Um erro 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
max(SP(t), BR(StartEpoch, 20d) + BR(StartEpoch, 1d)fator de recompensa de terminaçãomin(SectorAgeInDays, 140))
A segurança fornecida pelo FileCoin é muito diferente daquela de outras blockchains. Enquanto os dados da blockchain são tipicamente protegidos por consenso, o consenso do FileCoin apenas garante o livro-razão das transações, não os dados referidos pela transação. Os dados armazenados no FileCoin possuem apenas segurança suficiente para alinhar os incentivos dos fornecedores de armazenamento. Isso significa que os dados armazenados no FileCoin são protegidos por penalidades por falhas e incentivos comerciais, como reputação com os clientes. Em outras palavras, uma falha nos dados em uma blockchain é equivalente a uma quebra de consenso e compromete a segurança da cadeia ou sua noção de 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 ofertas. 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 fornecida pelo minerador para garantir o acordo.
Portanto, o custo de um ataque de retenção de dados lançado a partir de fornecedores de FileCoin é simplesmente o custo de oportunidade de um contrato de recuperação. A recuperação de dados no FileCoin depende do incentivo do minerador de armazenamento pago pelo cliente. No entanto, não há impacto negativo para um minerador que não responda a um pedido de recuperação de dados. Para mitigar o risco de um único minerador de armazenamento ignorar ou recusar contratos 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 menor do que a 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 através 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 negócio de dados (verifique isso). Portanto, um negócio de armazenamento não pode ser iniciado com dados corrompidos. Durante a vida útil do negócio de armazenamento, os PoSTs são fornecidos para provar 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 do 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 fornecedor de armazenamento ao Ator do Mercado de Armazenamento, que é atualmente decidida pelo fornecedor de armazenamento e pelo cliente. Se assumirmos que esta garantia é suficientemente alta (por exemplo, o mesmo valor que um validador Ethereum) para incentivar um fornecedor a não falhar, podemos pensar no que resta para garantir (mesmo que isso seja extremamente ineficiente em termos de capital, já que essa garantia seria necessária para garantir cada bloco de transação ou setor com blocos agregados). Agora, um fornecedor de dados poderia optar por tornar os dados indisponíveis por um máximo de parcelas de 41 dias antes do acordo de armazenamento ser terminado pelo Ator do Mercado de Armazenamento. Pressupondo um acordo de dados mais curto, poderíamos assumir que os dados podem ficar indisponíveis até ao último dia do acordo. Na ausência de atores maliciosos coordenados, isso pode ser mitigado através da replicação em vários fornecedores de armazenamento para que os dados possam continuar a ser servidos.
Podemos considerar o custo de um atacante que substitui o consenso para aceitar uma prova falsa ou reescrever o histórico do razão para remover uma transação do livro de ordens sem penalizar o fornecedor 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 razão do FileCoin como desejar. Para que um atacante cometa tal ataque, seria necessário ter pelo menos uma participação majoritária na cadeia FileCoin. A participação está relacionada ao armazenamento fornecido à rede; com atuais 25 EiB (10¹⁶ bytes) de dados assegurando a cadeia FileCoin, seria necessário pelo menos 12,5 EiB para que um ator malicioso oferecesse sua própria cadeia que venceria a regra de escolha de bifurcação. Isso é ainda mais mitigado pelo corte relacionado a falhas de consenso, para o qual a penalidade é a perda de todo o colateral prometido e recompensas de bloco e toda a suspensão da participação no consenso.
Além disso: Abster-se de ataques a outras soluções de DA
Embora o acima mostre que o FileCoin está faltando na proteção de dados contra ataques de retenção, não está sozinho.
A recuperabilidade é necessária para o Armazenamento a frio. Idealmente, as forças de mercado motivam mineiros economicamente racionais a aceitar acordos de recuperação e competir com outros mineiros para manter os preços baixos para os clientes. Assume-se que isso é suficiente para os fornecedores de dados fornecerem serviços de recuperação, no entanto, dada a importância do Armazenamento a frio, é razoável exigir mais segurança.
A recuperação atualmente não é garantida através da segurança econômica estipulada acima. Isto acontece 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 forma minimizada em confiança. Uma garantia de recuperação nativa do protocolo seria necessária para que a recuperação fosse assegurada através da segurança econômica do FileCoin. Com alterações mínimas no protocolo, isso significa que a recuperação precisaria estar associada a uma falha de setor ou término do contrato.Recuperaré uma prova de conceito que conseguiu 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 (requerendo custo significativo de infraestrutura) e aceitar com sucesso o mesmo acordo de armazenamento como fornecedor de armazenamento que foi publicado como usuário, momento em que se estaria a pagar a si próprio para fornecer armazenamento a si próprio.
A latência na FileCoin é determinada por vários fatores, como rede, topologia, configuração do cliente de mineração de armazenamento e recursos de hardware. Apresentamos uma análise teórica que discute esses fatores e o desempenho que pode ser esperado pelo nosso constructo.
Devido ao design do sistema de prova do FileCoin e à falta de incentivos de recuperação, o FileCoin não está otimizado para fornecer latência de ida e volta de alto desempenho 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 o FileCoin introduz novos recursos. Definimos uma 'ida e volta' como o tempo desde a submissão de um acordo de dados até o momento mais precoce em que os dados submetidos ao FileCoin podem ser baixados.
Tempo de Bloqueio \
No Consenso Esperado do FileCoin, as negociações de dados podem ser incluídas 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 através de configurações especiais do cliente, paralelização e investimento em hardware mais capaz. Essa variação também afeta a duração da des-selagem do setor, o que pode ser contornado por completo por opções rápidas de recuperação nas implementações do 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 máximo de três horas desde a aceitação de um contrato de dados até que os dados estejam disponíveis na cadeia.
Este artigo explora a construção de um DA através da alavancagem de uma DSN existente, FileCoin. Consideramos os requisitos de um DA em relação ao seu papel como elemento crítico da infraestrutura de escalabilidade na Ethereum. Consideramos a construção em cima do FileCoin para a viabilidade de um DA numa DSN, e usamo-lo para considerar as oportunidades que uma solução no FileCoin proporcionaria ao ecossistema Ethereum, ou qualquer outro que beneficiasse de uma camada de DA económica.
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 USD por 32 GB escritos a preços atuais de mercado. Embora 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 se mantém se os setores vazios forem selados. Embora a latência atual de armazenamento e recuperação em FileCoin não seja apropriada para as necessidades de armazenamento a quente, implementações específicas de minerador de armazenamento podem fornecer um desempenho razoável com dados disponíveis em menos de 3 horas.
A confiança aumentada nos fornecedores de armazenamento do FileCoin pode ser ajustada via 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 pela rede, adicionando tolerância byzantina ajustável. A recuperação de dados garantida e eficaz precisaria ser resolvida para dissuadir robustamente ataques de retenção de dados, no entanto, como qualquer outra solução, o único caminho para garantir verdadeiramente a recuperabilidade é hospedar um nó ou confiar nos fornecedores de infraestrutura.
Vemos oportunidades para DA no desenvolvimento adicional de PoDSI, que poderia ser usado (juntamente com as provas atuais do FileCoin) no lugar de DAS para garantir a inclusão de dados num setor selado maior. Dependendo de como isto se apresenta, isso pode tornar a volta lenta dos dados tolerável, pois as provas de fraude poderiam ser publicadas numa janela de 1 dia a 1 semana, enquanto DA poderia ser garantido sob demanda. PoDSIs ainda são novos e estão em desenvolvimento intenso, portanto, ainda não fazemos nenhuma implicação sobre como um PoDSI eficiente poderia ser, ou 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 calcula um PoDSI em dados selados ou não selados pode não estar fora do âmbito das possibilidades próximas do futuro.
À medida que tanto o campo da DA como o FileCoin crescem, novas combinações de soluções e tecnologias habilitadoras podem permitir novas provas de conceito. À medida que Integração da Solana com a rede FileCoinMostra que os DSNs têm potencial como tecnologia de escalabilidade. O custo do 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 possibilitar o DA, a sua solução eventual abrirá uma infinidade de novas ferramentas e sistemas a serem construídos para além do DA.
分享
目录
Disponibilidade de dados(DA) é uma tecnologia central na escalabilidade do Ethereum, permitindo a um nó verificar eficientemente que os dados estão disponíveis na rede sem ter de hospedar os dados em questão. Isto é essencial para a construção eficiente de rollups e outras formas de escalabilidade vertical, permitindo que os nós de execução garantam que os dados da transação estão disponíveis durante o período de resolução. Isto é também crucial para o shard e outras formas de escalabilidade horizontal, uma atualização futura planeada para a rede Ethereum, uma vez que os nós terão de provar que os dados da transação (oublobsOs dados armazenados em fragmentos de rede estão realmente disponíveis para a rede.
Várias soluções de DA têm sido discutidas e lançadas recentemente (por exemplo, Celestia, EigenDA, Disponível) todas com a intenção de fornecer uma infraestrutura eficiente e segura para aplicações publicarem DA.
A vantagem de uma solução DA externa sobre um L1 como o Ethereum é que fornece um veículo barato e eficiente para os dados on-chain. As soluções DA frequentemente consistem nas suas próprias cadeias públicas construídas para permitir armazenamento barato e sem permissões. 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. O FileCoin usa sua blockchain para coordenar acordos de armazenamento entre clientes e provedores de armazenamento, mas permite que os dados sejam armazenados fora da cadeia.
Nesta publicação, investigamos a viabilidade de uma solução de DA construída em cima de uma Rede de Armazenamento Distribuído (DSN). Consideramos especificamente o FileCoin, pois é a DSN mais adotada até à data. Destacamos as oportunidades que tal solução ofereceria e os desafios que precisam ser superados para construí-la.
Uma camada DA fornece o seguinte aos serviços que dependem dela:
Tudo isso precisa ser feito de forma eficiente para permitir a escalabilidade. Uma camada DA oferece melhor desempenho 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, 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-apagados-após-30-dias-como-os-utilizadores-acessariam-os-blocos-mais-antigos">Uma solução de DA 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 oportunidades suficientes 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 responder à pergunta do DA. Ele vem com benefícios adicionais de segurança, fortalecendo a capacidade dos atores da rede de verificar informações de estado de seus pares. No entanto, depende dos 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 realizar DAS. Como exemplo, a Celestia fornece a primeira e única implementação de cliente leve para realizar DAS, proporcionando 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 tornar-se o gargalo para os serviços que dependem dele, causando ineficiências no melhor cenário e falhas no sistema no pior cenário.
Uma Rede de Armazenamento Descentralizado (DSN, conforme formalizado no Whitepaper do FileCoin¹) é uma rede sem permissão de fornecedores de armazenamento que oferecem serviços de armazenamento para usuários da rede. Informalmente, permite que fornecedores de armazenamento independentes coordenem negócios de armazenamento com clientes que precisam de serviços de armazenamento e fornece armazenamento de dados barato e resiliente para clientes que procuram serviços de armazenamento a baixo custo. Isso é coordenado por meio de uma blockchain que registra negócios 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.
Colocar (dados) → chave
Os clientes executam Put para armazenar dados sob uma chave única. Isso é conseguido especificando a duração durante a qual os dados serão armazenados na rede, o número de réplicas dos dados que serão armazenadas para redundância e um preço negociado com os fornecedores de armazenamento.
Obter(chave) → dados
Os clientes executam Get para recuperar dados que estão a ser armazenados sob uma chave.
Gerir()
O protocolo Manage é chamado pelos participantes da rede para coordenar o espaço de armazenamento e os serviços disponibilizados pelos fornecedores e reparar falhas. No caso de FileCoin, isto é gerido através de uma blockchain. Esta blockchain regista negociações de dados entre clientes e fornecedores de dados e provas de dados armazenados corretamente para garantir que as negociações de dados estão a ser cumpridas. Os dados armazenados corretamente são comprovados através da publicação de provas geradas pelos fornecedores de dados em resposta a desafios da rede. A falha de armazenamentoocorre 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 na redução 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 negócio de armazenamento.
O trabalho realizado até agora nos projetos de DA tem sido transformar uma blockchain numa plataforma para armazenamento a quente. Uma vez que um DSN é otimizado para armazenamento, em vez de transformar uma blockchain numa plataforma de armazenamento, podemos simplesmente transformar uma plataforma de armazenamento numa que forneça disponibilidade de dados. O colateral dos fornecedores de armazenamento na forma de nativo FILtoken pode fornecer segurança cripto-económica que garante que os dados sejam armazenados. Finalmente, a programabilidade dos acordos de armazenamento pode proporcionar flexibilidade em torno dos 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 discutimos abaixo, o custo de armazenar dados no FileCoin é significativamente mais barato do que armazenar dados no Ethereum. Dados os preços atuais do Ether/USD, custa mais de 3 milhões de USD para escrever 1 GB de calldata no Ethereum, apenas para ser podado após 21 dias. Essa despesa de calldata pode contribuir com mais da metade do custo da transação de um rollup baseado no Ethereum. No entanto, 1 GB de armazenamento no FileCoin custa menos de .0002 USD por mês. Garantir DA a este ou a um preço semelhante reduziria os custos de transação para os usuários e contribuiria para o desempenho e escalabilidade da Web3.
No FileCoin, é necessário ter garantia para disponibilizar espaço de armazenamento. Esta garantia é reduzida quando um fornecedor não cumpre os seus contratos ou as garantias da rede. Um fornecedor de armazenamento que não presta os serviços arrisca-se a perder tanto a garantia depositada como os lucros que teriam sido obtidos com a prestação de armazenamento.
Muitos dos incentivos do protocolo FileCoin estão alinhados com os objetivos da DA.FileCoin fornece desincentivos para comportamento malicioso ou preguiçoso: os fornecedores de armazenamento devem fornecer ativamente provas de armazenamento durante o consenso sob a forma de Prova de RéplicaseProva de Espaço-Tempo, provando continuamente que o armazenamento existe sem assumir a maioria honesta. O fracasso de um fornecedor de armazenamento em fornecer prova resulta em redução de participação e remoção do consenso, entre outras penalidades. As atuais soluções de DA carecem de incentivo para que os nós executem DAS, confiando no comportamento altruísta ad hoc para a prova de DA.
A capacidade de personalizar os negócios de dados também torna um DSN uma plataforma atraente para DA. Os negócios de dados podem ter diferentes durações, permitindo aos utilizadores de um DA baseado em DSN pagar apenas pelo DA de que precisam. A tolerância a falhas também pode ser ajustada ao definir o número de cópias a serem armazenadas em toda a rede. Mais personalização é suportada através de contratos inteligentes no FileCoin (chamado Atores) que são executadas no FEVM. Isso leva ao crescente ecossistema de DApps do FileCoin, de soluções de computação sobre armazenamento como Bacalhaupara soluções DeFi e staking líquido como Glif. Recuperarfaz uso dos Atuadores FileCoin para fornecer recuperação alinhada com incentivos com árbitros autorizados. A programabilidade do FileCoin pode ser usada para adaptar os requisitos do DA necessários para diferentes soluções, de modo que plataformas que dependem do DA não estejam pagando mais pelo DA do que precisam.
Na nossa investigação, identificamos desafios significativos que precisam ser superados antes de um serviço DA poder ser construído numa 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 provadas. Quando os dados são comprometidos com a rede, são particionados em 32 gigabytes setores e “seladoA selagem de dados é a base tanto da Prova de Replicação (PoRep) que prova que um fornecedor de armazenamento está a armazenar uma ou mais cópias únicas dos dados, e Prova-de-Espaço-Tempo (PoST) que prova que um provedor de armazenamento armazenou uma cópia única continuamente durante a duração do contrato de armazenamento. A selagem tem que ser computacionalmente cara 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, a selagem tem que 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 instantaneamente. 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 tem que ser economicamente viável. O preço do armazenamento tem que justificar o custo da selagem para o provedor de armazenamento, e da mesma forma, o custo resultante dos dados armazenados tem que ser baixo o suficiente em escala (neste caso, para um pedaço de aproximadamente 32GB) para um cliente querer armazenar dados no FileCoin. Embora setores menores pudessem ser selados, isso aumentaria o preço do armazenamento para compensar os provedores de armazenamento. Para contornar isso,agregadores de dadosrecolher pequenas partes de dados dos utilizadores para serem comprometidas com o FileCoin como um chunk perto de 32 GB. Os agregadores de dados comprometem-se com os dados do utilizador através de uma Prova de Inclusão de Segmento de DadosPoDSI) que garante a inclusão dos dados de um utilizador num setor e um CID de sub-peça (pCID) que o utilizador poderá utilizar para recuperar os dados da rede.
mecanismo de consenso do FileCoin, Consentimento Esperado , tem um tempo de bloco de 30 segundos e finalidade dentro de horas, o que pode melhorar num futuro próximo (ver FIP-0086para uma finalidade 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 os dados da transação. O tempo de bloco do FileCoin é limitado 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 dos dados. Para superar isso, Sub-redes de Consenso Interplanetário (IPC)pode ser aproveitado para tirar partido de tempos de consenso mais rápidos. IPC usaTendermintconsenso -like e DRANDpara aleatoriedade: no caso de a 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 ordem dos centenas de milissegundos.
A barreira final a ser construída é a recuperação. A partir das restrições acima, podemos deduzir que o FileCoin é adequado para armazenamento a frio ou morno. No entanto, os dados DA estão quentes e precisam suportar aplicações 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 por meio de SLAs ou do armazenamento de dados não selados ao lado de setores selados, em nenhuma das quais se pode confiar na arquitetura de uma aplicação segura e sem permissão no FileCoin. Especialmente com Retrievdemonstrando que a recuperação pode ser garantida através do FVM, a recuperação rápida alinhada com incentivos no FileCoin continua a ser uma área a ser explorada.
Nesta secção, consideramos o custo que advém destas considerações de design. Mostramos o custo de armazenar 32GB como dados de calldata Ethereum, dados de blobdata Celestia, dados de blobdata EigenDA e como um setor no FileCoin usando preços de mercado quase atuais.
A análise destaca o preço do Ethereum calldata: 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 do Ether e dos preços do gás. A atualização Dencun, que introduziu o Proto-Danksharding (EIP-4844) introduziu transações de blob com um alvo de 3 blobs por bloco de aproximadamente 125 KB cada, e preços de blob de gás variáveis para manter a quantidade alvo de blobs por bloco. Este upgrade reduziu o custo do Ethereum DA em ⅕: 20 milhões de USD por 32 GB de dados de blob.
Celestia e EigenDA proporcionam melhorias significativas: 8.000 e 26.000 USD para 32 GB de dados, respetivamente. Ambos estão sujeitos à volatilidade dos preços de mercado e refletem, até certo ponto, o custo do consenso que assegura seus dados: Celestia com sua nativa TIAtoken e EigenDA com Ether.
Em todos os casos acima, os dados armazenados não são permanentes. Os dados da Ethereum calldata são armazenados por 3 semanas, com blobs armazenados por 18 dias. EigenDA armazena blobs por padrão de14 dias. No âmbito 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 de luz por um máximo de 30 dias.
As duas últimas tabelas são comparações diretas entre o FileCoin e as soluções DA atuais. A equivalência de custos lista primeiro o custo de um único byte de dados na plataforma fornecida. Em seguida, é mostrada a quantidade de bytes do 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 um cêntimo para armazenar a mesma quantidade de dados pelo mesmo período de tempo. Ao contrário dos nodos do Ethereum e de outras soluções DA, os nodos do FileCoin são otimizados para fornecer serviços de armazenamento, e seu sistema de prova permite aos nodos provar o armazenamento, em vez de replicar o armazenamento em todos os nodos da rede. Sem considerar a economia dos fornecedores de armazenamento (como o custo energético para selar os dados), mostra-se que o custo básico do processo de armazenamento no FileCoin é negligenciável. Isso revela uma oportunidade de mercado de milhões de USD por gigabyte em comparação com o Ethereum para um sistema que possa 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 a blockchain do FileCoin está organizada emtipsetscom vários blocos em cada altura do bloco, o número de negócios que podem ser feitos não é restrito pelo consenso ou tamanho do bloco. A restrição rígida de dados do FileCoin é a capacidade de armazenamento em toda a rede, não o que é permitido via consenso.
Para a procura 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 negligenciar as aberrações em relação à média (por exemplo, a demanda do 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 um custo de DA mais baixo, precisaríamos de um aumento dramático na procura de DA para fazer um uso eficiente do tamanho de setor de 32 GB do FileCoin. Embora selar setores de 32 GB com menos de 32 GB de dados seja um desperdício de recursos, poderíamos fazê-lo enquanto ainda obtivéssemos uma vantagem de custo.
Nesta secção, consideramos a arquitetura técnica que pode ser alcançada se construirmos isto hoje. Vamos considerar esta arquitetura no contexto de aplicações L2 arbitrárias e uma cadeia L1 que o L2 está a servir. Uma vez que esta solução é uma solução DA externa, como a da Celestia e EigenDA, não consideramos o FileCoin como exemplo de L1.
Mesmo a um nível elevado, um DA no FileCoin fará uso de muitas características diferentes do ecossistema FileCoin.
Transações: Os utilizadores a jusante realizam transações numa plataforma que requer DA. Isto poderia ser um L2.
Plataformas que Usam DA: Estas são as plataformas que utilizam DA como um serviço. Isto pode ser um L2 que envia dados de transação para o FileCoin DA e compromissos para um L1, como o Ethereum.
Camada 1: Este é 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.
Agregador: O frontend da solução DA baseada em FileCoin é um agregador, um componente centralizado que recebe dados de transações de L2 e de outros clientes DA e os agrega em setores de 32 GB adequados para selagem. Embora um simples protótipo possa incluir um agregador centralizado, plataformas que utilizam a solução DA também podem executar seu próprio agregador, por exemplo, como um acessório para um sequenciador L2. A centralização do agregador pode ser vista como semelhante à de um sequenciador L2 ou disperseiro da EigenDA. Uma vez que o agregador compilou um payload perto de 32GB, faz um acordo de armazenamento com fornecedores de armazenamento para armazenar os dados. Os clientes recebem uma 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 estiver na rede. Este pCID é o que seria incluído nos compromissos de estado no L1 para referenciar dados de transação de suporte.
Verificadores: Os verificadores solicitam os dados aos fornecedores 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.
Acordo de armazenamento: Uma vez que o agregador tenha compilado uma carga útil próxima de 32 GB, o agregador faz um acordo de armazenamento com provedores de armazenamento para armazenar os dados.
Publicação de blobs (Put): Para iniciar um put, um cliente DA enviará o seu blob contendo dados de transação para o agregador. Isso pode ser feito de forma off-chain, ou de forma on-chain através de um oráculo de agregador on-chain. Para confirmar o recebimento do blob, o agregador retorna um PoDSI ao cliente para provar que o 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. Este é o que o cliente e qualquer outra parte interessada usarão para referenciar o blob uma vez que esteja sendo servido no FileCoin.
Os negócios de dados seriam registados na cadeia em minutos após o negócio ser feito. A maior barreira à latência é o tempo de selagem, que pode levar 3 horas. Isto 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 tem umrecuperação rápidafuncionalidade em que 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 for fornecida, seria necessário fazer mudanças no consenso e nos mecanismos de incentivo/desincentivo para aplicá-la.
Recuperar blobs (Obter): A recuperação é semelhante a uma operação de inserção. Um acordo de recuperação precisa ser feito, que aparecerá na cadeia dentro de minutos. A latência de recuperação dependerá dos termos do acordo e se uma cópia não selada dos dados está armazenada para recuperação rápida. No caso de recuperação rápida, a latência dependerá das condições da rede. Sem recuperação rápida, os dados precisarão ser desbloqueados antes de serem servidos ao cliente, o que leva o mesmo tempo que a selagem, cerca de 3 horas. Assim, sem otimizações, temos um tempo de ida e volta máximo de 6 horas, melhorias significativas no serviço de dados precisariam ser feitas antes que este se torne um sistema viável para DA ou provas de fraude.
Prova de DA: a prova de DA pode ser considerada em dois passos; através do PoDSI que é dado quando os dados são comprometidos com o agregador enquanto o acordo está sendo feito e depois o compromisso 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 o PoST dão garantias agendadas e comprováveis de custódia e persistência de dados.
Esta solução fará um uso intensivo de pontes, uma vez que qualquer cliente que dependa de DA (independentemente da construção de provas) precisará de interagir com o FileCoin. No caso do pCID incluído na transição de estado que é publicada no L1, um verificador pode fazer uma verificação inicial para garantir que não foi cometido um pCID falso. Existem várias maneiras de fazer isso, por exemplo, através de um oráculo que publica dados do FileCoin no L1 ou através de verificadores que verificam a existência de um negócio de dados ou setor que corresponde ao pCID. Da mesma forma, a verificação de provas de validade ou fraude que são publicadas no L1 pode precisar de usar uma ponte para se convencer de uma prova. As pontes atualmente disponíveis são AxelareCeler.
A integridade do FileCoin é reforçada através da redução de colaterais. O colateral pode ser reduzido em dois casos: armazenamento falhasoufalhas de consenso. Um erro de armazenamento corresponde a um fornecedor de armazenamento que não consegue fornecer prova de dados armazenados (seja PoRep ou PoST), o que se correlacionaria com a falta de disponibilidade de dados em nosso modelo. Um erro 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
max(SP(t), BR(StartEpoch, 20d) + BR(StartEpoch, 1d)fator de recompensa de terminaçãomin(SectorAgeInDays, 140))
A segurança fornecida pelo FileCoin é muito diferente daquela de outras blockchains. Enquanto os dados da blockchain são tipicamente protegidos por consenso, o consenso do FileCoin apenas garante o livro-razão das transações, não os dados referidos pela transação. Os dados armazenados no FileCoin possuem apenas segurança suficiente para alinhar os incentivos dos fornecedores de armazenamento. Isso significa que os dados armazenados no FileCoin são protegidos por penalidades por falhas e incentivos comerciais, como reputação com os clientes. Em outras palavras, uma falha nos dados em uma blockchain é equivalente a uma quebra de consenso e compromete a segurança da cadeia ou sua noção de 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 ofertas. 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 fornecida pelo minerador para garantir o acordo.
Portanto, o custo de um ataque de retenção de dados lançado a partir de fornecedores de FileCoin é simplesmente o custo de oportunidade de um contrato de recuperação. A recuperação de dados no FileCoin depende do incentivo do minerador de armazenamento pago pelo cliente. No entanto, não há impacto negativo para um minerador que não responda a um pedido de recuperação de dados. Para mitigar o risco de um único minerador de armazenamento ignorar ou recusar contratos 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 menor do que a 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 através 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 negócio de dados (verifique isso). Portanto, um negócio de armazenamento não pode ser iniciado com dados corrompidos. Durante a vida útil do negócio de armazenamento, os PoSTs são fornecidos para provar 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 do 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 fornecedor de armazenamento ao Ator do Mercado de Armazenamento, que é atualmente decidida pelo fornecedor de armazenamento e pelo cliente. Se assumirmos que esta garantia é suficientemente alta (por exemplo, o mesmo valor que um validador Ethereum) para incentivar um fornecedor a não falhar, podemos pensar no que resta para garantir (mesmo que isso seja extremamente ineficiente em termos de capital, já que essa garantia seria necessária para garantir cada bloco de transação ou setor com blocos agregados). Agora, um fornecedor de dados poderia optar por tornar os dados indisponíveis por um máximo de parcelas de 41 dias antes do acordo de armazenamento ser terminado pelo Ator do Mercado de Armazenamento. Pressupondo um acordo de dados mais curto, poderíamos assumir que os dados podem ficar indisponíveis até ao último dia do acordo. Na ausência de atores maliciosos coordenados, isso pode ser mitigado através da replicação em vários fornecedores de armazenamento para que os dados possam continuar a ser servidos.
Podemos considerar o custo de um atacante que substitui o consenso para aceitar uma prova falsa ou reescrever o histórico do razão para remover uma transação do livro de ordens sem penalizar o fornecedor 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 razão do FileCoin como desejar. Para que um atacante cometa tal ataque, seria necessário ter pelo menos uma participação majoritária na cadeia FileCoin. A participação está relacionada ao armazenamento fornecido à rede; com atuais 25 EiB (10¹⁶ bytes) de dados assegurando a cadeia FileCoin, seria necessário pelo menos 12,5 EiB para que um ator malicioso oferecesse sua própria cadeia que venceria a regra de escolha de bifurcação. Isso é ainda mais mitigado pelo corte relacionado a falhas de consenso, para o qual a penalidade é a perda de todo o colateral prometido e recompensas de bloco e toda a suspensão da participação no consenso.
Além disso: Abster-se de ataques a outras soluções de DA
Embora o acima mostre que o FileCoin está faltando na proteção de dados contra ataques de retenção, não está sozinho.
A recuperabilidade é necessária para o Armazenamento a frio. Idealmente, as forças de mercado motivam mineiros economicamente racionais a aceitar acordos de recuperação e competir com outros mineiros para manter os preços baixos para os clientes. Assume-se que isso é suficiente para os fornecedores de dados fornecerem serviços de recuperação, no entanto, dada a importância do Armazenamento a frio, é razoável exigir mais segurança.
A recuperação atualmente não é garantida através da segurança econômica estipulada acima. Isto acontece 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 forma minimizada em confiança. Uma garantia de recuperação nativa do protocolo seria necessária para que a recuperação fosse assegurada através da segurança econômica do FileCoin. Com alterações mínimas no protocolo, isso significa que a recuperação precisaria estar associada a uma falha de setor ou término do contrato.Recuperaré uma prova de conceito que conseguiu 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 (requerendo custo significativo de infraestrutura) e aceitar com sucesso o mesmo acordo de armazenamento como fornecedor de armazenamento que foi publicado como usuário, momento em que se estaria a pagar a si próprio para fornecer armazenamento a si próprio.
A latência na FileCoin é determinada por vários fatores, como rede, topologia, configuração do cliente de mineração de armazenamento e recursos de hardware. Apresentamos uma análise teórica que discute esses fatores e o desempenho que pode ser esperado pelo nosso constructo.
Devido ao design do sistema de prova do FileCoin e à falta de incentivos de recuperação, o FileCoin não está otimizado para fornecer latência de ida e volta de alto desempenho 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 o FileCoin introduz novos recursos. Definimos uma 'ida e volta' como o tempo desde a submissão de um acordo de dados até o momento mais precoce em que os dados submetidos ao FileCoin podem ser baixados.
Tempo de Bloqueio \
No Consenso Esperado do FileCoin, as negociações de dados podem ser incluídas 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 através de configurações especiais do cliente, paralelização e investimento em hardware mais capaz. Essa variação também afeta a duração da des-selagem do setor, o que pode ser contornado por completo por opções rápidas de recuperação nas implementações do 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 máximo de três horas desde a aceitação de um contrato de dados até que os dados estejam disponíveis na cadeia.
Este artigo explora a construção de um DA através da alavancagem de uma DSN existente, FileCoin. Consideramos os requisitos de um DA em relação ao seu papel como elemento crítico da infraestrutura de escalabilidade na Ethereum. Consideramos a construção em cima do FileCoin para a viabilidade de um DA numa DSN, e usamo-lo para considerar as oportunidades que uma solução no FileCoin proporcionaria ao ecossistema Ethereum, ou qualquer outro que beneficiasse de uma camada de DA económica.
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 USD por 32 GB escritos a preços atuais de mercado. Embora 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 se mantém se os setores vazios forem selados. Embora a latência atual de armazenamento e recuperação em FileCoin não seja apropriada para as necessidades de armazenamento a quente, implementações específicas de minerador de armazenamento podem fornecer um desempenho razoável com dados disponíveis em menos de 3 horas.
A confiança aumentada nos fornecedores de armazenamento do FileCoin pode ser ajustada via 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 pela rede, adicionando tolerância byzantina ajustável. A recuperação de dados garantida e eficaz precisaria ser resolvida para dissuadir robustamente ataques de retenção de dados, no entanto, como qualquer outra solução, o único caminho para garantir verdadeiramente a recuperabilidade é hospedar um nó ou confiar nos fornecedores de infraestrutura.
Vemos oportunidades para DA no desenvolvimento adicional de PoDSI, que poderia ser usado (juntamente com as provas atuais do FileCoin) no lugar de DAS para garantir a inclusão de dados num setor selado maior. Dependendo de como isto se apresenta, isso pode tornar a volta lenta dos dados tolerável, pois as provas de fraude poderiam ser publicadas numa janela de 1 dia a 1 semana, enquanto DA poderia ser garantido sob demanda. PoDSIs ainda são novos e estão em desenvolvimento intenso, portanto, ainda não fazemos nenhuma implicação sobre como um PoDSI eficiente poderia ser, ou 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 calcula um PoDSI em dados selados ou não selados pode não estar fora do âmbito das possibilidades próximas do futuro.
À medida que tanto o campo da DA como o FileCoin crescem, novas combinações de soluções e tecnologias habilitadoras podem permitir novas provas de conceito. À medida que Integração da Solana com a rede FileCoinMostra que os DSNs têm potencial como tecnologia de escalabilidade. O custo do 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 possibilitar o DA, a sua solução eventual abrirá uma infinidade de novas ferramentas e sistemas a serem construídos para além do DA.