Armazenamento Descentralizado
Ao contrário de um servidor localizado centralmente operado por uma única empresa ou organização, os sistemas de armazenamento descentralizado consistem em uma rede ponto a ponto de usuários operadores que mantêm uma parte dos dados gerais, criando um sistema resiliente de armazenamento e compartilhamento de arquivos. Elas podem ser em um aplicativo baseado em cadeia de blocos ou qualquer rede baseada em peer-to-peer.
O Ethereum em si pode ser usado como um sistema de armazenamento descentralizado, e é quando se trata de codificar o armazenamento em todos os contratos inteligentes. No entanto, quando se trata de grandes quantidades de dados, para as quais a Ethereum não foi projetada. A corrente está crescendo constantemente, mas no momento da escrita, a cadeia Ethereum é de cerca de 500GB - 1TB (dependendo do cliente(opens in a new tab)), e cada nó da rede precisa ser capaz de armazenar todos os dados. Se a cadeia fosse expandir para grandes quantidades de dados (diga 5TBs) não seria viável que todos os nós continuassem a rodar. Além disso, o custo de implantar essa quantidade de dados para a rede principal seria proibitivamente caro devido às taxas de gás.
Devido a essas restrições, precisamos de uma cadeia ou metodologia diferente para armazenar grandes quantidades de dados de forma descentralizada.
Ao olhar para opções de armazenamento descentralizado (dStorage), existem algumas coisas que o usuário deve ter em mente.
- Mecanismo de persistência / estrutura de incentivo
- Execução de retenção de dados
- Descentralizada
- Consenso
Mecanismo de persistência / estrutura de incentivo
Baseado em cadeia de blocos
Para que uma peça de dados se mantenha para sempre, precisamos utilizar um mecanismo de persistência. Por exemplo, no Ethereum, o mecanismo de persistência é que toda a cadeia precisa ser contabilizada ao executar um nó. Novos dados são empilhados no final da cadeia, continuando a crescer - exigindo que cada nó replique todos os dados embutidos.
Isto é conhecido como uma persistência baseada em cadeia de blocos.
A problema com persistência baseada em cadeia de blocos é que a cadeia pode ficar muito grande para manter e armazenar todos os dados viáveis (por exemplo, muitas fontes(opens in a new tab) estimam que a Internet precisa de mais de 40 Zetabytes de capacidade de armazenamento).
A cadeia de blocos também deve ter algum tipo de estrutura de incentivo. Para persistência baseada em cadeia de blocos, há um pagamento feito para o minerador. Quando os dados são adicionados à cadeia, os nós são pagos para adicionar os dados.
Plataformas com persistência baseada em cadeia de blocos:
- Ethereum
- Arweave(opens in a new tab)
Baseado em contratos
A persistência baseada em contrato tem a intuição de que os dados não podem ser replicados por todos os nós e mantidos para sempre, senão que, ao invés disso, devem ser mantidos com acordos de contrato. Trata-se de acordos celebrados com vários nós que prometeram a conservação de dados por um período de tempo. Devem ser reembolsados ou renovados sempre que se esgotem para manter os dados persistentes.
Na maioria dos casos, em vez de armazenar todos os dados em cadeia, o hash de onde os dados estão localizados em uma cadeia fica armazenado. Dessa forma, a cadeia inteira não precisará escalar para guardar todos os dados.
Plataformas com persistência baseada em cadeia de blocos:
- Filecoin(opens in a new tab)
- Skynet(opens in a new tab)
- Storj(opens in a new tab)
- 0Chain(opens in a new tab)
Considerações finais
IPFS é um sistema distribuído para armazenamento e acesso a arquivos, sites, aplicações e dados. Ele não tem um esquema baseado em incentivos, mas pode ser usado com qualquer uma das soluções acima baseadas em contratos de incentivos para persistências de longo prazo. Outra maneira de persistir dados no IPFS é trabalhar com um serviço fixo, que permita "fixar" seus dados para você. Você pode até mesmo rodar seu próprio nó IPFS e contribuir para a rede para persistir seus dados ou os de outra pessoa de forma gratuita!
- IPFS(opens in a new tab)
- Pinata(opens in a new tab) (serviço de fixação IPFS)
- web3.storage(opens in a new tab) (serviço de fixação IPFS/Filecoin)
- Infura(opens in a new tab) (serviço de fixação IPFS)
Retenção de dados
A fim de conservar dados, os sistemas devem dispor de algum tipo de mecanismo para garantir a conservação dos dados.
Mecanismo de desafio
Uma das maneiras mais populares de garantir que os dados sejam mantidos, é usar algum tipo de desafio criptográfico que é emitido aos nós para ter certeza que eles ainda possuem os dados. Uma pessoa simples é olhar para a prova de acesso da Arweave. Eles lançam um desafio aos nós para ver se eles têm os dados tanto no bloco mais recente quanto em um bloco aleatório no passado. Se o nó não conseguir dar a resposta, ele será penalizado.
Tipos de dStorage com um mecanismo de desafio:
- 0Chain
- Skynet
- Arweave
- Filecoin
Descentralização
Não há ótimas ferramentas para medir o nível de descentralização das plataformas, mas, em geral, você vai querer usar ferramentas que não têm nenhuma forma de KYC para fornecer evidências que não estão centralizadas.
Ferramentas descentralizadas sem KYC:
- 0Chain (implementação de uma edição não-KYC)
- Skynet
- Arweave
- Filecoin
- IPFS
- Ethereum
Consenso
A maioria dessas ferramentas tem sua própria versão de um mecanismo de consenso mas, geralmente, elas são baseadas em proof-of-work ou proof-of-stake (PoS).
Baseado no PoW:
- Skynet
- Arweave
- Ethereum
Baseado no PoS:
- A Beacon Chain
- Filecoin
- 0Chain
Ferramentas relacionadas
IPFS - InterPlanetary File System é um sistema descentralizado de armazenamento e referenciamento de arquivos para a Ethereum.
Storj DCS - Armazenamento descentralizado e compatível com a S3-Cloud para desenvolvedores.
Skynet - O Skynet é uma cadeia descentralizada de PoW dedicada a uma web descentralizada.
Filecoin - Filecoin foi criado pela mesma equipe por trás do IPFS. É uma camada de incentivo no topo dos ideais IPFS.
Arweave - Arweave é uma plataforma de dStorage para armazenar dados.
0chain - 0Chain é uma plataforma de prova de participação dStorage com fragmentação e blobbers.
Swarm - Uma plataforma de armazenamento distribuída e serviço de distribuição de conteúdo para a pilha Ethereum web3.
OrbitDB - Um banco de dados descentralizado peer-to-peer em cima do IPFS.
Aleph.im - Projeto na nuvem descentralizado (banco de dados, armazenamento de arquivos, computação e DID). Uma combinação única de tecnologia offchain e peer-to-peer. IPFS e compatibilidade multi-chain.
Ceramic - Armazenamento de banco de dados IPFS controlado pelo usuário para aplicativos ricos em dados e envolventes.
Filebase - The first S3-compatible object storage platform that allows you to store data across multiple decentralized storage networks including IPFS, Sia, Skynet, and Storj.
Leitura adicional
- O que é armazenamento descentralizado?(opens in a new tab) - CoinMarketCap
- Cinco Mitos Comuns sobre o Armazenamento Descentrado(opens in a new tab) - Storj
Conhece algum recurso da comunidade que o ajudou? Edite essa página e adicione!