A real necessidade da Blockchain no seu projeto?
Sua ideia de produto realmente precisa de Blockchain?
Nos primeiros dias do meu aprendizado sobre blockchain, eu flertei com a ideia de construir Uber descentralizado, Facebook — basicamente construindo todos os sites ou aplicativos populares em blockchain. À medida que me aprofundava no blockchain, percebi que o blockchain resolve alguns problemas muito bem — mas há um problema, o blockchain resolve apenas alguns problemas muito bem. Os restantes são melhores se forem resolvidos de maneiras tradicionais. Então, como sabemos quais problemas podem ser resolvidos usando blockchain?
Antes de responder a essa pergunta, vamos falar sobre o ‘Blockchain Trilema’. Primeiramente cunhado por Vitalik Buterin, o fundador da Ethereum, o trilema blockchain explica como os desenvolvedores de blockchain têm que se comprometer entre segurança, escalabilidade ou descentralização. Os aplicativos tradicionais se tornam escaláveis e seguros ao custo da descentralização. Considerando que as blockchains públicas atuais são seguras e descentralizadas ao custo de escalabilidade. Vamos dar um exemplo de um aplicativo que rodamos em nosso telefone como, digamos, Instagram. O Instagram é bem rápido (mais rápido que o Ethereum, com certeza, embora a comparação justa seja um pouco difícil) e quem quiser usar o Instagram pode baixá-lo na play store ou na loja do Mac, criar uma conta em poucos segundos e começar a usá-lo.
A seguir está uma versão extremamente simplificada de como funciona:
Como você pode ver, o controle do aplicativo está em um servidor onde os usuários podem acessar os dados e a lógica do aplicativo na medida em que têm direito. Sempre que um usuário quiser usar o aplicativo, tudo o que ele precisa fazer é enviar uma solicitação ao servidor e ele obterá o que deseja, e tudo que os desenvolvedores do Instagram precisam fazer é tornar o servidor seguro.
Em contraste com os modelos tradicionais, um blockchain público como o Ethereum se parece com o seguinte:
Nesse modelo, cada nó possui todos os dados e a lógica necessários para executar o aplicativo sozinho em sua máquina. E cada nó tenta se conectar a outros nós (ou peers) na rede para atualizar o estado do aplicativo (dados ou lógica ou ambos).
No primeiro caso, a aplicação foi totalmente centralizada com um servidor central tendo o controle sobre todos os dados e lógica. No segundo caso, o controle da aplicação é descentralizado entre todos os participantes da rede. Mas esse tipo de descentralização tem um custo. Como não podemos comprometer a segurança, as redes públicas de blockchain mais populares comprometem a escalabilidade. O Ethereum quase não é tão rápido quanto os sistemas de pagamentos tradicionais e é muito mais difícil integrar um usuário ao Ethereum como um nó do que obter um cartão de crédito (se considerarmos que nosso usuário é tecnologicamente agnóstico, qual é a maioria dos usuários).
A comunidade Ethereum está tentando resolver o problema de dimensionamento passando para a prova de trabalho e explorando várias outras soluções, como rollups, mas no contexto do nosso artigo, antes de decidir que você precisa usar blockchain, sua ideia ou solução pode precisar dos seguintes requisitos:
Você precisa armazenar dados : Se nosso aplicativo não precisa armazenar dados, não precisamos nos preocupar com muitas coisas, incluindo o uso de blockchain.
Vários usuários devem poder adicionar dados: Se você não puder gravar dados, não faz sentido hospedar os dados e a lógica do aplicativo em seu laptop, o mesmo vale para todos os outros usuários da rede.
Os usuários na rede não confiam uns nos outros ou se beneficiam explorando uns aos outros:
se todos os usuários da rede confiam uns nos outros, você realmente não precisa usar blockchain. Se Alice me pagou 10 Bitcoins e todos os usuários da rede bitcoin confiam que Alice não é um usuário mal-intencionado, então não precisamos realmente verificar se Alice tem 10 Bitcoins em primeiro lugar para pagar você ou não. No mundo real, você não pode confiar nas pessoas na internet para jogar limpo, especialmente quando elas podem se beneficiar economicamente de fraudar a rede.Os usuários na rede não podem confiar em um terceiro centralizado:
Este é provavelmente o fator mais importante que distingue o aplicativo Web2 do Web3. Nem todos os aplicativos precisam que o terceiro centralizado seja confiável — na maioria das vezes, se o terceiro centralizado não for confiável, eles perderão mais do que qualquer usuário individual do aplicativo.
Revendo os quatro pontos acima,
Se seu aplicativo precisa armazenar dados e vários (geralmente todos) os usuários da rede devem poder adicionar dados à rede e você não acredita em um terceiro centralizado para armazenar seus dados ou lógica do aplicativo, cada nó tem que armazenar os dados e a lógica da aplicação com eles mesmos em sua máquina e quando um usuário na rede adiciona novos dados à rede, tem que ser propagado para todos os outros usuários da rede.
Quando os usuários na rede não são confiáveis ou a rede é ‘sem confiança’, cada usuário precisa proteger os dados em sua máquina para evitar ataques de outros.
Se você der uma segunda olhada no diagrama de como o blockchain funciona acima, descobrirá que esse é exatamente o caso.
Este artigo foi publicado originalmente em
https://blockchainiseasy.in/
:
https://blockchainiseasy.in/Does-your-product-idea-really-need-blockchain-though/
Até a próxima vez!