Como dimensionar Ethereum dApps
Em dezembro de 2017, CryptoKitties, o jogo online construído na blockchain Ethereum se tornou viral e causou um grande congestionamento na rede blockchain Ethereum. Isso trouxe o foco de volta na escalabilidade do blockchain em geral, e Ethereum DApps (aplicativos distribuídos) em particular. Observadores da indústria e entusiastas de blockchain se perguntam como as redes de blockchain vão lidar com aplicativos de negócios em tempo real usados por milhões se um jogo online pode congestionar a rede de forma tão perceptível? Então, como dimensionar dapps Ethereum? A maioria das redes blockchain em geral, incluindo a blockchain Ethereum, enfrenta problemas de escalabilidade, latência de transação e altas taxas de transação. Ethereum DApps são construídos no protocolo blockchain Ethereum, e a rede usa o algoritmo de consenso de “prova de trabalho” (POW), exigindo a validação da transação pela maioria dos nós participantes, resultando em problemas de escalabilidade. Limitações de tamanho de bloco e mineração de POW altamente competitiva resultam em inclusão atrasada de transações no próximo bloco, e os usuários precisam pagar uma quantidade cada vez maior de taxas aos mineiros para que suas transações sejam incluídas no próximo bloco. Comunidades de desenvolvedores Blockchain, incluindo desenvolvedores Ethereum, estão experimentando várias soluções para resolver esses problemas.
DAppChain como uma solução de dimensionamento para Ethereum DApps:
Entre as várias soluções que estão sendo exploradas por desenvolvedores Ethereum para escalonar Ethereum DApps, uma das mais proeminentes são as sidechains para DApps, também comumente chamadas de ‘DAppChains’. O conceito usa uma premissa básica de que nem todos os Ethereum DApps precisam do mesmo nível de segurança, por exemplo, um DApp usado para transferir milhares de Ether (ETH) exigirá recursos de segurança completos que um blockchain totalmente descentralizado com o algoritmo de consenso POW oferece, mas um DApp para microblog não atrairia hackers e, portanto, pode fazer com menos segurança. Os DApps que exigem menos descentralizado a segurança pode ser movida para ‘Sidechains’, que podem ter seus próprios conjuntos de regras customizados, e essas cadeias laterais podem ser usadas para descarregar a computação da cadeia principal. Um artigo publicado em 2014 por Adam Back e equipe, intitulado “Habilitando inovações Blockchain com Pegged Sidechains”, primeiro elaborado no conceito de cadeias laterais. Descreve um mecanismo denominado “cadeias laterais de duas vias”, em que o usuário pode provar que bloqueou alguns tokens criptográficos anteriormente mantidos por ela e, com base nisso, pode mover alguns outros tokens para uma cadeia lateral. As cadeias laterais não podem melhorar a escalabilidade. ilimitadamente, porque o conceito é como aumentar o tamanho do bloco, incluindo assim mais transações em um único bloco. Isso melhora a escala por enquanto, mas não é uma solução de escalabilidade automatizada. No entanto, as cadeias laterais permitem que os desenvolvedores do Ethereum conduzam mais experimentos. Por exemplo, um sidechain pode definir suas próprias regras, otimizadas para DApps que exigem uma velocidade muito alta, enquanto os DApps que exigem uma segurança muito alta ainda usarão a segurança totalmente descentralizada da cadeia principal. Os DApps em execução em sua sidechain específica, também chamada de “DAppChain”, pode trocar segurança e descentralização por mais rendimento. Por ex. um DAppChain pode optar por implementar o algoritmo de consenso de “prova delegada de aposta” (DPoS) na cadeia lateral, onde nós específicos assumem a responsabilidade pela validação da transação. Esses nós colocam seus tokens criptográficos para validação da transação e são chamados de ‘stakers’. Quanto mais token um nó aposta, e quanto mais longa é a duração de sua aposta, maior é a probabilidade de que esse nó seja escolhido para a validação da transação. Isso aumenta a escalabilidade e a velocidade da transação nesse DAppChain, uma vez que o algoritmo POW não é usado e todos os nós não estão envolvidos no processo de validação da transação. O desenvolvedor de um DApp precisa conduzir uma modelagem de ameaça do DApp e escolher a regra personalizada. conjunto ou algoritmo de consenso para seu DAppChain. A probabilidade de um invasor tentar hackear um sidechain executando um DApp com baixo valor econômico é menor, portanto, um modelo de segurança relaxado fornecendo alto rendimento de transação pode ser apropriado. No entanto, se um nó malicioso reunir muito poder de computação no DAppChain e começar a controlá-lo, a comunidade sempre terá a opção de hard fork. Se a mudança proposta pelo nó malicioso não obtiver consenso da comunidade, a comunidade pode, portanto, tomar o estado da sidechain antes da disputa e continuar trabalhando nisso.Loom Network está construindo um kit de desenvolvimento de software (SDK) que permitirá aos desenvolvedores construir seu DAppChain, que usará Ethereum como camada base. O DAppChains construído usando Loom SDK usará a tecnologia Plasma, permitindo a transferência de ativos e para trás da Ethereum. Plasma é uma infraestrutura de escalonamento que permite o descongestionamento da rede raiz Ethereum. Ele lida com contratos inteligentes assim como o Ethereum, no entanto, transmite apenas as transações concluídas para o blockchain público do Ethereum. Ele economiza uma quantidade significativa de poder de processamento e permite maior velocidade de transação, beneficiando assim os DApps.
Outras soluções em consideração para dimensionar Ethereum DApps:
Comunidades de desenvolvedores Ethereum também estão trabalhando em outras soluções para escalonar Ethereum DApps, por exemplo:(1) ‘Raiden Network’, como Lightning Network for Bitcoin, fornece uma rede de transferência fora da cadeia para crypto tokens construída nos padrões Ethereum ERC20. Ele está atualmente em desenvolvimento e usará a tecnologia de canal de pagamento, que permite a transferência fora da cadeia de tokens dentro da cadeia. As transações serão seguras, rápidas e mais baratas. (2) O roteiro de desenvolvimento de longo prazo da Ethereum prevê uma mudança para o algoritmo de prova de participação (PoS), que também permitirá a implementação de fragmentação. É originalmente um conceito de gerenciamento de banco de dados, onde fragmentação se refere ao particionamento do banco de dados em várias instâncias do servidor, melhorando assim o desempenho. No caso do blockchain, isso significará que as partes horizontais do blockchain serão armazenadas em grupos separados de nós, em vez de todos os nós manterem todo o histórico de transações do blockchain. Isso melhora a escalabilidade, no entanto, uma vez que nenhum nó mantém todo o banco de dados distribuído, o algoritmo de consenso POW envolvendo todos os nós na validação da transação não pode funcionar e o algoritmo PoS precisa ser usado. Você conseguiu dimensionar dapps ethereum usando outras ferramentas? Deixe-nos saber o seu feeback na seção de comentários abaixo.