Quando é hora de construir seu próprio Blockchain?

fonte: freecodecamp.org

Os aplicativos descentralizados (DApps) estão realmente começando a ganhar uma posição na Internet. Confiança interna, processamento de pagamentos, termos de contrato predefinidos e nenhum ponto central de falha tornam o blockchain uma proposta atraente para muitos desenvolvedores de aplicativos.

A maneira mais popular de liberar o DApps é em plataformas blockchain estabelecidas como a Ethereum. Redes sociais distribuídas, jogos e aplicativos de mensagens estão todos a bordo. O problema é que cada blockchain tem tradeoffs técnicos, gargalos e restrições. O que acontece com um DApp que não pode executar devido às limitações do blockchain que estão usando? Os blockchains Bitcoin e Ethereum já estão lutando para atender às necessidades de tráfego, transação e custo de vários desses aplicativos.

Construir um blockchain personalizado ou um atual, pode ser uma solução para esse problema. Mas você tem que ter certeza de acertar. Aqui estão as razões pelas quais um aplicativo pode precisar de seu próprio blockchain, as vantagens de ter um, e exemplos de DApps que já estão fazendo o switch.

Usando uma plataforma Blockchain

Neste momento, o Ethereum é o padrão ouro das plataformas blockchain. Bilhões de dólares arrecadados em ICOs e centenas de DApps colocam a Ethereum acima de qualquer outra plataforma blockchain / smart contract.

E há boas razões para isso. Usando o blockchain Ethereum, você obtém:

  • Uma plataforma completa para construir praticamente qualquer tipo de aplicativo
  • Uma criptomoeda nativa estabelecida (Ether)
  • Uma rede global para conectar diretamente
  • Um bom nível de descentralização
  • Atualizações e upgrades regulares para o código principal
  • Documentação e acesso a desenvolvedores com experiência

Outros blockchains como Stellar, NEO, Stratis e EOS oferecem algo semelhante, mas com diferenças tecnológicas e de protocolo.

Gargalos da plataforma

O trabalho dos sistemas Blockchain é construído como um protocolo. Isso significa que o desempenho é amplamente determinado por decisões e compensações técnicas. Por exemplo, os aplicativos blockchain geralmente têm um desempenho ruim em comparação aos centralizados. Atualmente, não há blockchain que possa executar um aplicativo do tamanho do Facebook. Isso ocorre porque a velocidade é negociada para descentralização . O Facebook é um sistema completamente centralizado, onde eles têm controle total sobre tudo. Isso significa que eles podem chegar rápido, mas os usuários não têm controle sobre o que acontece quando todos estamos começando a perceber .

Sistemas descentralizados permitem que uma rede de usuários faça um acordo sobre como as coisas devem funcionar e um mecanismo para chegar a um consenso sobre quais ações são válidas. Esse mecanismo é computacionalmente caro e diminui significativamente o sistema. Mas para alguns aplicativos, a remoção do intermediário vale a pena.

A maneira exata de estruturar esses mecanismos é o que determina o desempenho de uma plataforma descentralizada. Geralmente, os desenvolvedores precisam fazer trocas entre:

  • Descentralização
  • Escalabilidade
  • Segurança

Descentralização

As razões pelas quais as plataformas blockchain decolaram são por causa de sua natureza descentralizada. Já temos redes globais de pagamento como vistos rápidos e seguros. Mas eles são perfeitamente centralizados, o que significa que existe um único ponto de controle, censura e falha.

Na realidade, nenhum sistema é perfeitamente descentralizado, mas os sistemas blockchain são muito melhores do que as soluções antigas. Ethereum enfoca a descentralização como uma das suas principais características, embora sempre haja debate sobre o quão descentralizada ela realmente é . Algum nível de descentralização é crítico para qualquer sistema de blockchain, mas alcançar isso vem do custo.

Escalabilidade

Escalabilidade é a facilidade com que uma rede pode acomodar um número crescente de usuários sem degradar o desempenho. As principais medidas de desempenho são:

  • Tempo de confirmação
  • Volume de transações
  • Custo de transação

O tempo de confirmação é o tempo que leva para as transações passarem pela rede. Enviar Bitcoin para um amigo levará uma média de 10 minutos. Na rede Ethereum, a execução de uma transação de contrato inteligente levará de 10 a 20 segundos.

O volume de transações é o número de transações que podem acontecer em uma rede por segundo. Bitcoin e Ethereum obtêm entre 7 e 20 transações por segundo, respectivamente. Isso é desanimador comparado aos 65.000 por segundo que a Visa pode suportar.

O custo de transação é quanto custa um usuário fazer alterações no blockchain. Isso pode variar muito e, à medida que as redes se tornam mais congestionadas, o custo por transação pode disparar. Vimos isso acontecer em dezembro de 2017, quando o custo da transação do Bitcoin subiu para mais de US $ 20 e quando a popularidade dos Cryptokitties fez com que as taxas da Ethereum saltassem .

Segurança

A segurança de uma rede é a robustez de seus algoritmos criptográficos contra falhas. Em geral, quanto mais seguro um protocolo é, mais tempo leva para executar uma transação.

Negociando Off

Essa ideia de sacrificar o desempenho em uma área para melhorar a outra é porque nunca haverá uma plataforma “bala de prata” que faça tudo perfeitamente. Quer uma plataforma que seja rápida, barata e segura? Então não vai ser muito descentralizado. Precisa de uma plataforma completamente descentralizada com segurança ultra-rígida? Vai ficar mais lento e mais caro à medida que você adiciona mais usuários.

Na realidade, uma rede blockchain terá que escolher um compromisso entre esses fatores. Por exemplo:

  • Bitcoin alcança segurança ao comprometer tempos de bloco lentos
  • Ethereum alcança a descentralização ao custo da escalabilidade
  • O Ripple , o EOS e o NEO alcançam a escalabilidade sacrificando alguma descentralização

Claro, estes estão todos em debate. É fácil, afinal, argumentar que os pools de mineração concentrados em Bitcoin e Ethereum são uma forma de centralização. Os avanços tecnológicos podem levar a melhorias em várias categorias (por exemplo, algoritmo de prova de jogo ), mas, em geral, todo protocolo tem compromissos.

Escolher uma plataforma blockchain para o seu aplicativo distribuído significa estabelecer o conjunto de descentralização, escalabilidade e segurança que a plataforma assume.

E se seus requisitos não coincidirem?

Ethereum é uma ótima plataforma para alguns DApps. Mas para outros, falha antes mesmo de começar. Se o seu aplicativo precisar executar mais de 20 transações blockchain por segundo, até mesmo toda a largura de banda da rede Ethereum não será suficiente. Depois, há o custo da transação. Se você estiver iniciando uma rede social, será difícil adquirir novos usuários se eles tiverem que pagar US $ 1 apenas para atualizar seu status.

Existem alternativas blockchain, como Stellar , IOTA , Ripple , EOS , NEM , NEO e muito mais. Mas todos eles têm suas compensações. Algumas são centralizadas, algumas têm limitações de recursos e outras ainda precisam provar seu valor. Pode haver vários motivos pelos quais nenhuma blockchain estabelecida atende às suas necessidades de DApps.

Se este for o caso, pode haver apenas uma solução.

Construindo seu próprio Blockchain

Criando um blockchain personalizado dá flexibilidade final. Você recebe:

  • Escolha do algoritmo de consenso
  • Seu próprio equilíbrio de segurança, escalabilidade e descentralização para atender às suas necessidades
  • Escolha da linguagem de programação
  • Controle de codebase
  • Capacidade de atualizar como e quando quiser
  • Flexibilidade final

Claro, isso pode ser um pouco esmagador. Mas a boa notícia para os construtores blockchain é que você nem precisa começar do zero.

Bifurcando um blockchain estabelecido

O código do protocolo Blockchain geralmente é de código aberto, o que significa que você pode copiá-lo e usá-lo da maneira que quiser. É assim que surgem cadeias como o Bitcoin Cash e o Ethereum Classic . Um grupo de desenvolvedores decidiu alterar a base de código do blockchain para começar a usar e extrair sua própria versão do projeto.

É claro que criar sua própria blockchain também tem tradeoffs (muitas compensações!). A codificação é difícil e construir uma rede de usuários é ainda mais difícil. Seu protocolo blockchain pode ter os algoritmos mais descentralizados e seguros codificados, mas se você não tiver mineiros em sua rede, não é descentralizado ou seguro. Você também precisará atualizar e manter o código por conta própria.

Exemplos de projetos construindo seus próprios blockchains

Existem alguns exemplos de projetos DApp que já estão experimentando a ideia de construir seu próprio blockchain.

Howdoo

O Howdoo é uma plataforma descentralizada de influenciadores sociais que procura dar o controle das mídias sociais de volta ao povo. A plataforma destina-se a construir todo um ecossistema social que o torna único. O Howdoo tem alguns recursos exclusivos:

  • Pagamentos de criptomoeda
  • Os usuários têm controle de seus dados pessoais
  • Os usuários podem regular o número de anúncios que veem e realmente ganham dinheiro ao receber anúncios
  • Mais receita de anúncios para os criadores de conteúdo
  • Moderação de conteúdo com base na comunidade

Mas a execução de uma rede social é muito exigente na infraestrutura de TI. Potencialmente, milhões de usuários desejam fazer dezenas de solicitações por dia e de graça. Isso simplesmente não é possível no Ethereum. Você pode imaginar ter que pagar para atualizar seu status no Facebook ou enviar um vídeo? A plataforma do Howdoo cobrirá streaming, mensagens, armazenamento, etc. – também existe o plano de construir sua própria carteira, que pode gerenciar múltiplas moedas criptografadas.

O Howdoo será executado inicialmente no blockchain do Ethereum, mas a equipe deve criar seu próprio blockchain personalizado para atender a essas necessidades.

  • É streaming próprio descentralizado
  • Plataforma de armazenamento de dados distribuída usando o IPFS
  • É próprio blockchain com seu próprio token Howdoo

O objetivo é estabelecer um ecossistema onde os parceiros possam lançar seus próprios DApps e emitir seus próprios tokens, aproveitando assim sua camada social. Resolverá o problema do Ethereum, suportando uma escala maciça e tendo baixa latência com taxas zero. O projeto já assinou seu primeiro DApp com o Drophead Games.

Parente

Kin é a criptomoeda do Kik, o aplicativo de mensagens sociais focado na privacidade popular entre os jovens e adolescentes. Kik vem experimentando moedas digitais desde 2014 com o experimento “Kik Points”. Tudo correu tão bem que agora eles estão construindo sua própria criptografia descentralizada para uso dentro e fora de seu aplicativo móvel.

O projeto começou (como a maioria) como um token ERC-20 Ethereum ICO em setembro de 2017. Ele ficou aquém da meta, mas ainda foi um grande sucesso e arrecadou mais de US $ 50 milhões.

O experimento Kik Points teve um volume de transações de aproximadamente 300.000 transações por dia ; muito acima do que Ethereum pode lidar agora. Para resolver isso, grande parte do trabalho de perna para Kin originalmente aconteceu na blockchain.

Agora, a Kik está procurando uma solução mais elegante para sua moeda. Primeiro, o blockchain Stellar está sendo integrado ao lado do Ethereum, então ambos podem trabalhar em conjunto e ajudar a escalar o Kin. No entanto, as transações no blockchain Stellar ainda têm um pequeno custo que deve ser pago no Stellar Lumens. Para reduzir esse custo a zero, Kik está forçando o blockchain Stellar a executar sua própria versão quase idêntica do código.

O CEO da Kik, Ted Livingston, diz que a mudança lhes dará mais capacidade de combater o spam, bem como a opção de oferecer transações gratuitas.

Conclusão

Aplicativos descentralizados estão explodindo em popularidade. Os blockchains estabelecidos, como o Ethereum, oferecem uma plataforma completa testada em batalha para criar aplicativos descentralizados. Mas, embora forneçam muitas funcionalidades prontas para uso e economizem muito tempo e energia em codificação e testes, os aplicativos populares de blockchain têm seu próprio conjunto de compensações e não necessariamente atendem às necessidades de todos.

Diversos DApps possuem requisitos que simplesmente não são atendidos por qualquer plataforma atual. Os exemplos mais óbvios são aplicativos sociais como Kin e Howdoo. Nesses casos, construir um blockchain personalizado ou bifurcar um atual pode ser o caminho a percorrer.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *