A história interna da crise de congestionamento dos CryptoKitties
NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressboletins informativos
Assine a nossa newsletter.
Endereço de email
Nós respeitamos sua privacidade
HomeBlogNews
A história interna da crise de congestionamento dos CryptoKitties
Nas palavras dos desenvolvedores que colaboraram para resolvê-lo, descubra o que acontece quando um dapp fica tão grande que obstrui toda a rede. Por ConsenSys 20 de fevereiro de 2018Postado em 20 de fevereiro de 2018
Quando o estúdio de risco baseado em Vancouver Axiom Zen lançado CryptoKitties em outubro de 2017, pretendia ser um experimento divertido de tecnologia de blockchain em estágio inicial. Os usuários do CryptoKitties criam e comercializam gatinhos digitais exclusivos, votam positivamente e se envolvem com a comunidade e deleitam-se com a alegria ainda nova de um aplicativo totalmente funcional desenvolvido em uma rede distribuída. Conceitualmente em algum lugar entre Neopets e negociação de futuros, o jogo CryptoKitties simples e desarmante capturou a imaginação da comunidade emergente de blockchain e além. Em pouco tempo, a mania dos CryptoKitties cresceu além das expectativas de qualquer pessoa – para o melhor e para o pior.
No início de dezembro, os CryptoKitties haviam virado sensação viral, enviando os preços de alguns gatinhos bem para os seis dígitos, ganhando menções levemente confusas na mídia principal e obstruindo a rede Ethereum com tantas transações – um aumento de seis vezes no total de solicitações da rede só na primeira semana de dezembro – que muitos temiam que toda a cadeia de blocos Ethereum parasse antes mesmo de ter a chance de cumprir sua promessa.
Em resposta ao que estava se revelando um dilema de toda a indústria, uma força-tarefa improvisada de desenvolvedores Ethereum de projetos como MetaMask, Infura, e Rede+ juntaram-se e juntaram-se à equipe da CryptoKitties na formulação de otimizações de curto prazo e soluções de escalonamento de longo prazo que não apenas aliviaram o perigo imediato, mas traçaram roteiros para um futuro mais funcional. Talvez ainda mais importante, a saga destaca a natureza notavelmente colaborativa e cooperativa do espaço do blockchain e da comunidade de desenvolvedores.
Em suas próprias palavras, aqui está a história interna da CryptoKitties Congestion Crisis de 2017 …
Bryce Bladon, cofundador da CryptoKitties: “Embora não tivéssemos buscado o projeto CryptoKitties se não quiséssemos que fosse um sucesso, não esperávamos que pegasse fogo como aconteceu. E quero dizer isso no sentido metafórico e, potencialmente, no sentido literal. Lançamos um alfa soft na ETH Waterloo, a versão mais básica do jogo possível no Rinkeby Testnet. Todos os sinais estavam ótimos. Pensamos ter detectado todos os bugs e problemas. Esperávamos ter que lidar com coisas como dimensionamento em algum momento. Não esperávamos que fosse na primeira semana … ”
Dan Finlay, MetaMask: “Quando fui para a ETH Waterloo, conheci uma equipe fragmentada que me deu um cartão de visita impresso no verso de um cartão de Pokémon. Eu sempre disse sobre este espaço: é tão jovem e imaturo que deveríamos tentar coisas pequenas e estúpidas primeiro para que possamos aprender como fazê-lo bem. Como quando o DAO aconteceu, por exemplo. As apostas eram tão altas que não fazia sentido. Então, eu gostava de CryptoKitties e twittei sobre o projeto em troca de nomear um gato. Eles claramente tinham algum conhecimento de mídia social e estavam entrando em contato com muitas pessoas, promovendo a ideia. ”
Bryce Bladon, CryptoKitties: “Menos de uma semana depois, lançamos e ficou imediatamente claro que estávamos em uma trajetória ascendente. No final da semana, sabíamos que o dimensionamento seria nosso problema número um em um futuro previsível. ”
Dan Finlay, MetaMask: “Quando os CryptoKitties finalmente aconteceram, eles foram lançados em uma sexta-feira, e tínhamos agendado um retiro de design thinking para aquela semana. Estávamos todos em Nova York, basicamente em check-out, sem ninguém na equipe. Enquanto estávamos lá, as pessoas continuaram falando sobre CryptoKitties, mostrando-nos suas coleções, e muito rapidamente as coisas aumentaram a tal ponto que as pessoas que conhecemos estavam pagando parte de suas dívidas com a faculdade lançando gatos. Eu estava apenas tentando criar um gato de aparência engraçada! Logo quando essa mania começou a acontecer, começamos a receber relatórios de grandes congestionamentos, problemas, nada funcionando. ”
Michael Wuehler, Infura: “Inicialmente, os CryptoKitties tomaram a decisão de depender completamente do MetaMask e canalizar todos através do navegador MetaMask para usar o dApp, e todo esse tráfego passa por nós do Infura no backend. Como resultado, estávamos dando suporte a todo esse tráfego. A rede começou a ficar muito obstruída. Toda a atividade de leitura do blockchain fez com que nossos pedidos diários explodissem de 2 bilhões / dia para mais de 4 bilhões / dia … durante a noite! Além disso, a fila de transações pendentes continuou aumentando, o que significa que a rede não estava processando rápido o suficiente para limpar novas solicitações. Quando isso acontece, os mineiros reajustam o preço do gás para fazer com que as transações custem mais, e então as forças do mercado controlarão a fila. Então, de repente, as taxas para comprar o gatinho custam mais do que o próprio ativo. Isso não foi bom e foi o gatilho que tivemos um problema. Isso ameaçou matar completamente os CryptoKitties, porque quando as taxas são tão inibidoras, o jogo acabou. ”
Alex Miller, Grid+: “Eu ouvi falar sobre CryptoKitties antes de ser lançado. Eu fui um dos primeiros usuários lá. Eles fizeram toda a arte, o site, redigiram os contratos inteligentes. Foi o primeiro tipo de aplicativo mainstream que apareceu e pode ser usado desde o primeiro dia. O escopo não era enorme, é muito bem executado. Do lado do contrato, existem algumas ineficiências, mas, no geral, está bem feito. Foi muito divertido, mas obstruiu a rede rapidamente quando se tornou viral. Estava basicamente inutilizável, assim como toda a rede naquele ponto. ”
Dan Finlay, Metamask: “A rede não era usada tão intensamente há algum tempo. Não houve crowdsales que quebrassem totalmente tudo, porque muitos deles tinham se tornado muito mais táticos sobre gás e congestionamento. Tínhamos visto como era uma reserva ruim antes, e eles sempre vinham em picos. Nossa solução alternativa para nossos usuários sempre foi – apenas espere! Alguns dias, no máximo. Parecia que isso poderia se tornar um problema muito maior. Houve manchetes dizendo que a rede Ethereum havia sido destruída por CryptoKitties. Foi isso que nos deu um momento de despertar. Não era mais um backlog de dois dias, como as vendas Bancor ou Status. Este pode ser o novo normal para a rede. Parecia uma verdadeira crise da rede para muitas pessoas. Sempre há alguém que vai tentar pagar 1Gwei por um gatinho! ”
Bryce Bladon, CryptoKitties: “A resposta foi uma mistura de euforia e pânico. Blockchain é uma tecnologia em que acreditamos totalmente. Ela pode mudar a maneira como muitas estruturas legadas na sociedade funcionam. Mas, ao mesmo tempo, há essa sensação de conquista – e horror – que podemos ter quebrado um dos exemplos mais notáveis do mundo de blockchain. Por mais que queiramos impulsionar a tecnologia, não queremos empurrar os outros para fora do caminho. Especialmente porque a comunidade e a cooperação são algo em que acreditamos tão fortemente. Vemos isso como se outras pessoas neste espaço estivessem empurrando isso ao nosso lado, então a última coisa que queríamos fazer era pisar em seus pés. Dito isso, Ethereum, MetaMask e nossos próprios servidores foram as três principais estruturas que ditam como isso funcionaria. É muito assustador ter duas dessas estruturas fora do nosso controle – é por isso que a cooperação era tão importante! Cada interação que tivemos com a Fundação Ethereum foi nada além de positiva. Trabalhamos com o MetaMask como uma ferramenta desde o Alpha, então tínhamos entrado em contato com eles. Estendemos a mão para todos que pudemos. ”
As solicitações executadas por meio de nós do Infura aumentaram no início de dezembro, quando os CryptoKitties decolaram.
Dan Finlay, Metamask: “A equipe do CryptoKitties chegou a algo como,‘ bem, o que fazemos agora? ’Tivemos sorte que MetaMask, Infura e Kyokan, que também trabalham no MetaMask, estavam todos em um lugar no retiro de design. Houve uma noite em que todo mundo estava festejando, jogando jogos de bebida, e éramos cinco sentados em um canto resolvendo o problema até depois da meia-noite. Foi um momento divertido. Estávamos em contato com eles constantemente, por meio de chats de vídeo, Slack, tweets. Eu olhei para o código deles, e nem tudo precisava estar na cadeia, você poderia cortar o número de transações pela metade. O principal problema era que os usuários estavam enviando uma transação que estava subvalorizada no gás, já que o mercado havia subido sem eles, e estavam esperando por dias para que ela ocorresse. Mas eles não sabiam disso, e parecia que toda a rede Ethereum estava quebrada. ”
Bryce Bladon, CryptoKitties: “Fizemos algumas coisas muito básicas do lado do usuário para comunicar alguns desafios. A tecnologia do blockchain se move muito mais devagar do que uma internet normal, então muitas pessoas que eram novas no espaço ficavam muito confusas e preocupadas quando as coisas não eram instantâneas. A educação tornou-se uma prioridade chave de curto prazo. Nosso processo de integração teve que antecipar os problemas. Adicionamos um recurso ao site que gravava ao vivo o status da Rede Ethereum. Adicionamos uma fila transacional. Rufflet, que construímos para o hackathon ETH Waterloo, provou ser uma ferramenta analítica incrivelmente útil. Muito disso estava relacionado à experiência do usuário e garantir que as pessoas não batessem repetidamente na rede quando fosse um momento ruim ou usando cálculos terríveis de taxa de gás, comunicando os pontos e tempos de obstrução da rede … ”
Dan Finlay, Metamask: “No curto prazo, eles adicionaram indicadores para acalmar as pessoas. Isso é tudo que eles podiam fazer, eles foram bloqueados por nós. Criamos uma pequena solução no MetaMask: para transações que estavam demorando muito, mostramos um botão que permitia que as pessoas reenviassem a transação com preços de gás mais altos. Esse pequeno botão basicamente resolveu todo o problema. Isso permitiu que as pessoas participassem do leilão de gás. A longo prazo, é importante que estejamos capacitando os usuários a não serem passageiros passivos nos jogos de criptoeconomia, mas sim jogadores ativos. Aprendemos que não é possível simplificar o leilão de gás. Às vezes, as pessoas precisam de poder para licitar mais alto. ”
Uma sensação global, CryptoKitties recentemente ascendeu ao status de “meme de pico” na Rússia.
Alex Miller, Grid +: “Eles estavam apenas tentando passar o dia com algumas otimizações que reduziriam a sobrecarga para os usuários, mas isso desencadeou uma ideia com a qual eu estava brincando alguns meses antes para uma correção de longo prazo. Se tivermos até mesmo alguns aplicativos bem-sucedidos na mesma rede, rapidamente se tornará insustentável. Eu estava tendo essa ideia para Relayers confiáveis, mas a situação aumentou a urgência disso. A ideia é que você conecte várias cadeias laterais à Ethereum MainNet, e os usuários possam se mover entre as cadeias. É muito semelhante ao Plasma, mas há uma diferença que você está apenas retransmitindo cabeçalhos e não estados. CryptoKitties gostou da ideia de mudar para uma cadeia lateral em algum momento. É uma técnica que estamos muito interessados em implementar no Grid + para nossos dispositivos de agente físico e é apenas uma das muitas soluções de escalonamento promissoras que estão sendo trabalhadas neste momento. ”
[Leia “Apresentando Relayers Confiáveis” de Alex Miller no Grid + Medium]
Bryce Bladon, CryptoKitties: “Uma das grandes coisas que aprendemos foi que, embora muitos dos aspectos muito interessantes da tecnologia de blockchain tenham a ver com descentralização. Ao mesmo tempo, acreditamos que certos recursos centralizados podem ser uma forma de aliviar a demanda descentralizada, e ter grande parte do peso transacional vinculado a uma solução de dimensionamento em cadeia lateral é uma opção muito interessante. Embora a interação com o blockchain seja o que torna isso interessante, não é necessariamente tudo. Descobrimos que havia muitos usuários que compram e criam gatos – coisas que exigem transações diretas na rede – mas também há usuários que querem apenas navegar, votar positivamente ou se envolver com a comunidade. ”
Dan Finlay, MetaMask: “O que trabalhamos naquela semana não foi como uma solução de dimensionamento, no sentido em que as pessoas costumam pensar em dimensionamento, que é a taxa de transferência total da rede. Mas esse é outro tipo de escala, como a experiência do usuário dessas soluções. Eu penso nisso o tempo todo. Criamos esses jogos criptoeconômicos que são teoricamente perfeitos, mas se as pessoas não sabem como jogá-los, eles são inúteis. A MetaMask está em uma posição engraçada porque não trabalhamos na camada de protocolo, mas somos totalmente responsáveis por como as pessoas percebem o protocolo. E a percepção do protocolo muitas vezes acaba definindo-o. ”
Alex Miller, Grid +: “Depois disso, a onda inicial diminuiu um pouco. Há algum nível de permanência para a base de usuários do CryptoKitties, mas é muito menor do que o período em que se tornou viral. Agora, a rede está em equilíbrio. As taxas são altas, mas não estão aumentando drasticamente agora. Só será necessário outro aplicativo viral para ultrapassar a barreira, mas por enquanto estamos bem. Muitas soluções de escalonamento estão surgindo, então esperamos ver algumas melhorias na infraestrutura antes que a rede veja outra onda de adoção. ”
Bryce Bladon, CryptoKitties: “Alguns dizem que essas dores de crescimento são necessárias. Outros podem dizer que eles poderiam ter sido menos dolorosos. E ainda não terminamos tudo. Estamos planejando o lançamento na China nos próximos tempos. Esperamos que a rede tenha amadurecido o suficiente e tenhamos nossas próprias soluções de otimização, mas tudo o que podemos fazer é estar melhor equipados para apagar incêndios, não necessariamente impedir que os incêndios existam. ”
Michael Wuehler, Infura: “Uma das coisas que torna a comunidade Ethereum diferente: todos, mesmo que estejam trabalhando em projetos potencialmente concorrentes, trabalham juntos para descobrir as coisas. Vai contra o mundo capitalista das startups, onde todos estão tentando derrotar todos. Nunca vi nada assim em nenhuma outra comunidade criptográfica tão grande. ”
Alex Miller, Grid +: “Acho que a natureza colaborativa é única. É muito mais colaborativo do que a maioria dos espaços, e muito disso tem a ver com incentivos econômicos compartilhados. Todos os proprietários do Ether são incentivados a tornar o sistema melhor. Quando você coloca um grupo de pessoas inteligentes com conjuntos de habilidades técnicas no mesmo ecossistema com incentivos compartilhados, pode iterar muito rapidamente e construir coisas interessantes. Acho que é um grande motivo pelo qual estamos vendo a adoção do Ethereum aumentar muito rapidamente. ”
Dan Finlay, MetaMask: “No mundo do blockchain, todos nós queremos ver seu funcionamento. Estamos compartilhando este blockchain, esta fonte da verdade, então precisamos ver isso funcionando sem problemas. Isso cria um espaço comum onde temos incentivos para resolver os problemas juntos. Se outras pessoas soubessem como contribuir, teriam ficado felizes em fazê-lo. ”
Bryce Bladon, CryptoKitties: “Projetamos os CryptoKitties de forma que outros projetos também pudessem florescer no espaço. É uma API pública, as pessoas podem procurar o token ERC-721 no Github. Nós vimos todos os tipos de extensões e projetos de fãs construídos em cima dos nossos. A comunidade impulsionou o crescimento inicial para este projeto e cada grande sucesso e obstáculo foi impulsionado pelo fervor da comunidade, então estamos tentando alavancar isso de forma mais eficaz e formalizar algumas das ferramentas e processos para isso. Toda a experiência foi fenomenal. Não apenas em termos do que as pessoas construíram nos CryptoKitties, mas também de que todas as pessoas que conhecemos, até mesmo concorrentes em potencial, estão agindo como amigos. Estamos todos avançando e é uma sensação muito boa. Assim que ficar estagnado e não houver grandes problemas para resolver, é quando as coisas podem começar a ficar um pouco mais violentas. Mas, por enquanto, os desenvolvedores vão desenvolver e vão ajudar uns aos outros ao longo do caminho. E eu não poderia estar mais feliz com isso. ”
Alex Miller, Grid +: “Eles estavam apenas tentando passar o dia com algumas otimizações que reduziriam a sobrecarga para os usuários, mas isso desencadeou uma ideia com a qual eu estava brincando alguns meses antes para uma correção de longo prazo. Se tivermos até mesmo alguns aplicativos bem-sucedidos na mesma rede, rapidamente se tornará insustentável. Eu estava tendo essa ideia para Relayers confiáveis, mas a situação aumentou a urgência disso. A ideia é que você conecte várias cadeias laterais à Ethereum MainNet, e os usuários possam se mover entre as cadeias. É muito semelhante ao Plasma, mas há uma diferença que você está apenas retransmitindo cabeçalhos e não estados. CryptoKitties gostou da ideia de mudar para uma cadeia lateral em algum momento. É uma técnica que estamos muito interessados em implementar no Grid + para nossos dispositivos de agente físico e é apenas uma das muitas soluções de escalonamento promissoras que estão sendo trabalhadas neste momento. ”
Bryce Bladon, CryptoKitties: “Uma das grandes coisas que aprendemos foi que, embora muitos dos aspectos muito interessantes da tecnologia de blockchain tenham a ver com descentralização. Ao mesmo tempo, acreditamos que certos recursos centralizados podem ser uma forma de aliviar a demanda descentralizada, e ter grande parte do peso transacional vinculado a uma solução de dimensionamento em cadeia lateral é uma opção muito interessante. Embora a interação com o blockchain seja o que torna isso interessante, não é necessariamente tudo. Descobrimos que havia muitos usuários que compram e criam gatos – coisas que exigem transações diretas na rede – mas também há usuários que querem apenas navegar, votar positivamente ou se envolver com a comunidade. ”
Dan Finlay, MetaMask: “O que trabalhamos naquela semana não foi como uma solução de dimensionamento, no sentido em que as pessoas costumam pensar em dimensionamento, que é o throughput total da rede. Mas esse é outro tipo de escala, como a experiência do usuário dessas soluções. Eu penso nisso o tempo todo. Criamos esses jogos criptoeconômicos que são teoricamente perfeitos, mas se as pessoas não sabem como jogá-los, eles são inúteis. A MetaMask está em uma posição engraçada porque não trabalhamos na camada de protocolo, mas somos totalmente responsáveis por como as pessoas percebem o protocolo. E a percepção do protocolo muitas vezes acaba definindo-o. ”
Alex Miller, Grid +: “Depois disso, a onda inicial diminuiu um pouco. Há algum nível de permanência para a base de usuários do CryptoKitties, mas é muito menor do que o período em que se tornou viral. Agora, a rede está em equilíbrio. As taxas são altas, mas não estão aumentando drasticamente agora. Só será necessário outro aplicativo viral para ultrapassar a barreira, mas por enquanto estamos bem. Muitas soluções de escalonamento estão surgindo, então esperamos ver algumas melhorias na infraestrutura antes que a rede veja outra onda de adoção. ”
Bryce Bladon, CryptoKitties: “Alguns dizem que essas dores de crescimento são necessárias. Outros podem dizer que eles poderiam ter sido menos dolorosos. E ainda não terminamos tudo. Estamos planejando o lançamento na China nos próximos tempos. Esperamos que a rede tenha amadurecido o suficiente e tenhamos nossas próprias soluções de otimização, mas tudo o que podemos fazer é estar melhor equipados para apagar incêndios, não necessariamente impedir que os incêndios existam. ”
Michael Wuehler, Infura: “Uma das coisas que torna a comunidade Ethereum diferente: todos, mesmo que estejam trabalhando em projetos potencialmente concorrentes, trabalham juntos para descobrir as coisas. Vai contra o mundo capitalista das startups, onde todos estão tentando derrotar todos. Nunca vi nada assim em nenhuma outra comunidade criptográfica tão grande. ”
Alex Miller, Grid +: “Acho que a natureza colaborativa é única. É muito mais colaborativo do que a maioria dos espaços, e muito disso tem a ver com incentivos econômicos compartilhados. Todos os proprietários do Ether são incentivados a tornar o sistema melhor. Quando você coloca um grupo de pessoas inteligentes com conjuntos de habilidades técnicas no mesmo ecossistema com incentivos compartilhados, pode iterar muito rapidamente e construir coisas interessantes. Acho que é um grande motivo pelo qual estamos vendo a adoção do Ethereum aumentar muito rapidamente. ”
Dan Finlay, MetaMask: “No mundo do blockchain, todos nós queremos ver seu funcionamento. Estamos compartilhando este blockchain, esta fonte da verdade, então precisamos ver isso funcionando sem problemas. Isso cria um espaço comum onde temos incentivos para resolver os problemas juntos. Se outras pessoas soubessem como contribuir, teriam ficado felizes em fazê-lo. ”
Bryce Bladon, CryptoKitties: “Projetamos os CryptoKitties de forma que outros projetos também pudessem florescer no espaço. É uma API pública, as pessoas podem procurar o token ERC-721 no Github. Nós vimos todos os tipos de extensões e projetos de fãs construídos em cima dos nossos. A comunidade impulsionou o crescimento inicial para este projeto e cada grande sucesso e obstáculo foi impulsionado pelo fervor da comunidade, então estamos tentando alavancar isso de forma mais eficaz e formalizar algumas das ferramentas e processos para isso. Toda a experiência foi fenomenal. Não apenas em termos do que as pessoas construíram nos CryptoKitties, mas de que todas as pessoas que conhecemos, até mesmo concorrentes em potencial, estão agindo como amigos. Estamos todos avançando e é uma sensação muito boa. Assim que ficar estagnado e não houver grandes problemas para resolver, é quando as coisas podem começar a ficar um pouco mais violentas. Mas, por enquanto, os desenvolvedores vão desenvolver e vão ajudar uns aos outros ao longo do caminho. E eu não poderia estar mais feliz com isso. ”
InfuraMetaMaskNewsletterSubscreva nossa newsletter para obter as últimas notícias da Ethereum, soluções empresariais, recursos para desenvolvedores e muito mais. Endereço de e-mailConteúdo exclusivoRelatório
Ethereum Q3 2020 DeFi Report
Relatório
Ethereum Q2 2020 DeFi Report
Relatório
Ethereum 2.0 Staking Ecosystem Report
Guia
Guia completo para redes de negócios Blockchain
Webinar
Como construir um produto blockchain de sucesso
Papel branco