Análise de blockchain, ou por que o mixer quebrou?

Baseado no meu relatório na Conferência de Transformação Digital em Moscou em 16 de abril de 2018


Gostaria de saber como funciona o blockchain. Não apenas quais algoritmos, criptografia, plataformas e criptomoedas existem. Para mim, blockchain não é apenas tecnologia, mas também um novo tipo de vida, um novo universo. Em caso de dúvida, consulte esta Contagem de vendas de tokens de Aragão:



Todos esses endereços, contratos inteligentes, tokens estão constantemente interagindo entre si, e por trás deles estão as ações de pessoas, organizações e robôs. Sem essa interação, blockchain e criptomoedas não teriam significado e valor.


Como as empresas na blockchain funcionam, o que as pessoas e os robôs fazem lá - essas perguntas me fizeram estudar a blockchain.


Problema e soluções


A rede blockchain, e estamos falando especificamente sobre redes públicas de blockchain, na verdade, é completamente aberta. Você pode ler absolutamente qualquer informação sobre blocos, endereços e transações. Para programadores, existem APIs para isso (por exemplo, Web3 [1]) e para meros mortais - pesquisadores de blockchain, por exemplo Etherscan [2]. Além disso, qualquer nó blockchain completo baixa todos os blocos desde o início dos tempos com informações completas dentro de um disco local, pois isso é necessário para verificar a correção das transações, e Deus não permita a mineração. Ou seja, qualquer nó blockchain é sua cópia completa, e mesmo com interfaces de acesso e documentação detalhada.


Parece que há tudo para análise, mas estava. Blockchain vs. Lembre-se do que essa palavra blockchain significa em russo: uma cadeia de blocos. Os blocos armazenam registros de transações e meta informações para garantir integridade e conectividade. Para encontrar algo na blockchain, você precisa saber o número do bloco ou o hash da transação ou, na pior das hipóteses, um endereço. Não há outros índices além dos listados no nó.


O Etherscan também é um pouco melhor. Ele mostra o mesmo que está disponível na API, apenas na forma de páginas da web. E também, para encontrar algo, você deve saber antecipadamente o endereço, o hash da transação ou o número do bloco. Você vê o blockchain através de uma janela estreita limitada a essas entidades. É assim que se estuda o universo com um microscópio: as ferramentas existentes são completamente inadequadas para analisar “em grande escala”.


Para filosofar, desenhei até um diagrama em que a essência do problema é visível:



Com as criptomoedas, está se tornando cada vez menos claro; para suas análises, métodos e ferramentas de negociação de câmbio conhecidos são usados. Você pode obter informações confiáveis ​​e objetivas sobre todos os parâmetros da criptomoeda em muitos sites na Internet.


Isso não pode ser dito sobre o blockchain. Informações no plano principal ou puramente técnico para quem entende (como “Etherscan”) ou ficção sobre projetos da OIC [3], DAO [4], que têm um viés subjetivo explícito e não são verificados por métodos matemáticos.


O blockchain é opaco em geral, embora todas as informações estejam amplamente disponíveis, por isso vamos trabalhar nisso!


Hardware de análise de blockchain


Primeiro entenderemos a extensão do problema. Existem muitas redes blockchain e também muitas plataformas diferentes nas quais elas são construídas. Você precisa começar de algum lugar e eu escolhi a rede da Ethereum Foundation por vários motivos:


  1. Muitos participantes
  2. A capitalização de todas as moedas da rede, incluindo tokens, é possivelmente a maior de todas
  3. Contratos inteligentes [5] e DAO [4], expandindo a análise possível e tornando-a muito mais significativa e útil

Mesmo escolhendo uma rede, obtemos muitos dados (em 15 de junho de 2018):


Número de transferências de criptomoedas, total267 milhões
Transferências de criptomoeda por dia, em média750 mil
Número de endereços válidos44 milhões
Número de contratos inteligentes6,8 milhões
Número de Tokens Emitidos48 mil
Chamadas inteligentes por contrato por dia, média690 mil
Quantidade aproximada de dados compactados para um nó completo117 GBytes

Inicialmente, havia um desejo de que a análise fosse o mais próximo possível do estado real da rede, ou seja, em tempo real. Isso tem dois aspectos técnicos:


  1. As informações do blockchain devem entrar no banco de dados o mais rápido possível, assim que um novo bloco for criado. Queremos ver informações atuais, não um arquivo;
  2. Queremos receber relatórios rapidamente, dentro de um segundo ou mais rápido, para não perder o interesse em fazer muitas perguntas.

A escolha recaiu no banco de dados Clickhouse [6], um projeto de código aberto da Yandex. Antes disso, eu não tinha usado esse sistema, e os caras da Altinity [7] me ajudaram a entender, pelo qual agradeço a eles separadamente.


A estrutura geral do sistema é a seguinte:



Os dados de origem são lidos de todo o nó da rede Ethereum pelo processo ETL (Extract - Transform - Load), que analisa os dados dentro do bloco e os grava em várias tabelas no banco de dados Clickhouse. O processo inicia assim que um novo bloco chega ao nó da rede e é executado continuamente.


No lado direito do gráfico, os usuários de dados atualmente:


  1. Ferramenta de análise SuperSet [8]. Com ele, você pode criar gráficos interessantes e combinar rapidamente consultas para obter respostas para perguntas de análise;
  2. Python Jupiter [9] para uma análise mais completa das ferramentas de aprendizado de máquina e aplicação de algoritmos estatísticos;
  3. Site Bloxy e API [10] para uso público de informações.

A indexação do banco de dados Ethereum levou algum tempo, afinal, já existem quase 6 milhões de blocos, e cada um precisa ser lido no nó e processado, mas esse trabalho está atrasado e podemos finalmente aproveitar todo o poder do banco de dados analítico, especialmente porque os dados são apenas m hum, que delícia!


Tokens


Vamos começar com os tokens, já que esta é a aplicação mais popular de contratos inteligentes na rede Ethereum, podemos dizer o objetivo e o significado de sua criação. Tokens são criptomoedas que qualquer pessoa pode emitir usando um certo tipo de contrato inteligente. O principal padrão do token é o ERC20 [11], mas como veremos agora, nem tudo está limitado a ele.


Agora, tendo uma base para análise e SuperSet, podemos ver quais tokens são emitidos, como são usados ​​e o que é popular agora:



Os dados são para toda a vida útil do Ethereum. O gráfico mostra que os tokens ERC20 são impressionantes em comparação com outros tipos. O gráfico do número de tokens usados ​​ativamente nas transferências tem crescido constantemente até agora, e isso significa que o entusiasmo da OIC não diminui, mas vice-versa. De fato, às vezes várias centenas de novos tokens são criados no dia, lêem criptomoedas, mas nem todos se enquadram nesse gráfico, mas apenas aqueles que são usados ​​ativamente.


O gráfico abaixo mostra um crescimento não tão rápido ao longo do tempo, este é o número de transações de transferência de token por dia. Em algum momento da primavera de 2018, ele parou aproximadamente no nível de 400 mil transações por dia e não cresce. Em essência, isso significa que os novos tokens representam significativamente menos transferências do que antes.


Há duas anomalias neste gráfico: o pico das transferências de tokens do ERC20 em novembro de 2017 e o “hump” menos pronunciado do crescimento das transferências de tokens do ERC721 em dezembro.


O pico de novembro está associado ao token InsPromo, que foi espalhado por quase um milhão de endereços "exatamente assim", era um tipo de promoção de lançamento aéreo [12]. Esse método de atração de clientes da OIC foi usado antes e depois de muitas vezes, mas a escala do spread em 1 dia de "moedas" gratuitas é recorde!


O interesse em dezembro no token ERC721 está totalmente relacionado ao jogo CryptoKitties, as pessoas estão muito entusiasmadas em comprar e cultivar gatos digitais. O gráfico mostra um rápido aumento na rotatividade de gatinhos criptográficos e uma diminuição nas transações de outros tokens, aparentemente as pessoas esqueceram que existem outros tokens.


Bestas de criptografia e muito mais


Os tokens ERC721 [14] surgiram, de fato, do aparecimento de gatos criptografados [13], embora seu uso potencial seja muito mais amplo. Se o padrão ERC20 tornou possível emitir criptomoeda medida em uma certa quantia para todos, o ERC721 deu a todos a oportunidade de indicar os direitos de propriedade de qualquer objeto, mundo virtual, real ou mesmo intelectual.


Tecnicamente, cada token ERC721 armazena um identificador exclusivo em um contrato inteligente. Esse identificador pode significar um gato crito, uma espada de ouro, um pedaço de terra ou uma patente para uma invenção. A propriedade do identificador é fixada na blockchain. Como existe um padrão para a troca de tokens ERC721, eles podem ser vistos na carteira, negociados na bolsa e em outras operações gerais.



O gráfico superior mostra o número de transações de todos os tokens do ERC721. Em dezembro de 2017, houve um grande aumento, 100% do jogo Crypto Kitties. O interesse pelo jogo durou todo o mês de dezembro e depois foi gradualmente adormecido.


O gráfico inferior mostra o número de tokens diferentes do padrão ERC721 em circulação, leia projetos usando essa tecnologia. Em dezembro, havia apenas Crypto Kitties, e em fevereiro já havia várias dezenas deles. Os nomes dos tokens são mostrados à esquerda, quanto maior o número de transações, maior a fonte, ainda gatinhos com o símbolo CK em primeiro lugar.


Por que precisamos de um mixer?


A análise da blockchain como um todo torna possível encontrar padrões e anomalias que não são visíveis no nível micro de transações, endereços e blocos. Um dos exemplos mais impressionantes é o "misturador" de milhares de bots em execução na rede Ethereum.


Vamos começar pesquisando anomalias na distribuição de endereços pelo número de destinatários e remetentes de criptomoeda:



No eixo horizontal - o número de endereços dos quais o dinheiro foi transferido verticalmente - o número de endereços nos quais o dinheiro foi transferido. Tamanho do círculo - o número desses endereços.


O gráfico esquerdo é obtido em dezembro de 2016 e o ​​círculo máximo recai sobre endereços com um destinatário e um remetente, um pouco menos do que endereços sem destinatários e também um remetente. Isso é compreensível, a maioria dos endereços recebe moeda de uma fonte e a gasta em um só lugar ou não a gasta, mas a armazena.


Mas em dezembro de 2017, um círculo com dois remetentes e três destinatários aumentou de tamanho anormalmente. E existem vários milhões desses endereços! Para entender a situação, selecione um desses endereços no círculo restrito e construa um gráfico de conversão:



Pode-se ver que todos esses endereços estão conectados a um misturador gigante que envia dinheiro para dentro de si. Como, em média, cada endereço tem mais destinatários do que remetentes, um grande número de destinatários é obtido do remetente original em algumas etapas. Obviamente, isso é feito não por pessoas, mas por robôs, já que existem mais de 4 milhões desses endereços e eles funcionam sem problemas e muito rapidamente, enviando dinheiro ainda mais em questão de minutos.


Estimamos o volume de trabalho desse enorme robô, separando as transações desses endereços de outras transações na rede:



Em termos de volume de transferências, o misturador (colunas laranja) em vários meses excede várias vezes todas as outras transferências na rede (colunas verdes). Certamente, é preciso levar em conta que ele está transferindo a moeda para si próprio e que sua rotatividade externa não é tão significativa, não mais que 17 milhões de éter (hoje US $ 10 bilhões).


As transações de mixagem ocupam uma parte significativa da largura de banda da rede Etehereum por muitos meses. O máximo de sua atividade ocorreu no início de 2018, quando toda quarta transação de transferência Ethereum foi iniciada por esse robô, como pode ser visto no gráfico azul da participação das transações do misturador no total:



Mas de repente, no final de fevereiro de 2018, ele parou de trabalhar. Como não sabemos as razões de seu uso, só podemos adivinhar as causas de sua vida e morte súbita. Ou talvez ele não tenha morrido, mas mudou o algoritmo e simplesmente deixou nossos radares?


Eu acredito em blockchain


Eu acredito em blockchain. Empresas, pessoas e comunidades se beneficiam com seu uso. Para usá-lo, você precisa entender como isso funciona como um fenômeno. De acordo com as leis que desenvolve, quais são as anomalias internas, tendências, desacelerações e altos.


Um blockchain mais transparente permitirá que as empresas realizem atividades eficazes com os olhos abertos. Usuários comuns entenderão melhor o que exatamente estão fazendo, do que estão participando, para serem mais seguros e felizes.


Afinal, blockchain não é tanto redes, plataformas, blocos e transações como pessoas e comunidades. O sucesso do desenvolvimento dessa tecnologia depende inteiramente da percepção da sociedade, e a transparência é importante nesse processo.


Literatura


[1] Web 3: uma plataforma para aplicativos descentralizados


[2] Etherscan


[3] OIC


[4] DAO


[5] Contratos inteligentes Ethereum


[6] Yandex Clickhouse


[7] Altitude


[8] SuperSet


[9] Python Jupyter


[10] Bloxy


[11] ERC20.


[12] WTF é um Airdrop? Um guia detalhado para criptomoeda gratuita


[13] CryptoKitties


[14] Norma ERC721

Source: https://habr.com/ru/post/pt414707/


All Articles