IA revolucionando o Ethereum

intermediário3/18/2024, 5:29:31 AM
Com o aumento gradual da capacidade de computação na cadeia, podemos prever o desenvolvimento de modelos mais complexos para gerenciamento de rede, monitoramento de transações, auditorias de segurança e muito mais. Esses avanços visam aumentar a eficiência e a segurança da rede Ethereum, oferecendo perspectivas exclusivas que inspiram uma infinidade de "AI+Blockchain" combinações inovadoras no ecossistema de desenvolvedores.

Encaminhar o título original:另一个角度看「AI+Blockchain」:AI 如何革新以太坊?

Durante o ano passado, à medida que a IA generativa repetidamente destruía as expectativas do público, a onda da revolução da produtividade da IA varreu a comunidade de criptomoedas. Vimos muitos projetos com tema de IA no mercado secundário criarem lendas de riqueza e, cada vez mais, os desenvolvedores começaram a desenvolver seus próprios projetos "AI+Crypto". No entanto, após uma inspeção mais minuciosa, fica evidente que esses projetos são altamente homogeneizados e a maioria visa apenas melhorar as "relações de produção", como organizar o poder de computação por meio de redes descentralizadas ou criar "Hugging Faces descentralizados". Poucos projetos tentam realmente integrar e inovar no núcleo técnico. Acreditamos que isso se deve a um "viés de domínio" entre os campos de IA e blockchain. Apesar de sua ampla interseção, poucos têm uma compreensão profunda de ambas as áreas. Por exemplo, os desenvolvedores de IA podem achar difícil entender as implementações técnicas e a infraestrutura histórica da Ethereum, o que dificulta a proposta de soluções de otimização aprofundadas.

Tomando o aprendizado de máquina (ML), o ramo mais básico da IA, como exemplo, é uma tecnologia que permite que as máquinas tomem decisões por meio de dados sem instruções explícitas de programação. O aprendizado de máquina demonstrou um enorme potencial na análise de dados e no reconhecimento de padrões e se tornou comum na Web2. No entanto, devido às limitações da era em seu início, mesmo na vanguarda da inovação da tecnologia blockchain, como a Ethereum, sua arquitetura, rede e mecanismos de governança ainda não aproveitaram o aprendizado de máquina como uma ferramenta eficaz para resolver problemas complexos.

"As grandes inovações geralmente surgem na interseção de campos." Nossa principal intenção ao escrever este artigo é ajudar os desenvolvedores de IA a entender melhor o mundo do blockchain e, ao mesmo tempo, fornecer novas ideias para os desenvolvedores da comunidade Ethereum. Neste artigo, primeiro apresentamos a implementação técnica do Ethereum e, em seguida, propomos a aplicação do aprendizado de máquina, um algoritmo fundamental de IA, à rede Ethereum para aumentar sua segurança, eficiência e escalabilidade. Esperamos que este caso sirva como ponto de partida para oferecer perspectivas exclusivas e estimular mais combinações inovadoras de "IA+Blockchain" no ecossistema de desenvolvedores.

Implementação técnica do Ethereum

  • Estruturas de dados básicasEstruturas de dados básicas

Em sua essência, o blockchain é uma cadeia que vincula blocos entre si, sendo que a distinção entre as cadeias está principalmente na configuração da cadeia. Essa configuração é uma parte essencial da gênese de uma blockchain, a fase inicial de qualquer blockchain. No caso da Ethereum, a configuração da cadeia diferencia as várias cadeias da Ethereum e identifica protocolos de atualização importantes e eventos de marco. Por exemplo, o DAOForkBlock marca a altura do hard fork após o ataque do DAO, enquanto o ConstantinopleBlock indica a altura do bloco em que ocorreu a atualização do Constantinople. Para upgrades maiores que englobam várias propostas de melhoria, são definidos campos especiais para indicar as alturas de bloco correspondentes. Além disso, a Ethereum engloba uma variedade de redes de teste e a rede principal, cada uma identificada exclusivamente por um ChainID, delineando seu ecossistema de rede.

O bloco genesis, sendo o primeiro bloco de toda a blockchain, é direta ou indiretamente referenciado por outros blocos. Portanto, é fundamental que os nós carreguem as informações corretas do bloco de gênese na inicialização sem nenhuma alteração. Essa configuração do bloco de gênese inclui a configuração da cadeia mencionada anteriormente, juntamente com informações adicionais, como recompensas de mineração, registros de data e hora, dificuldade e limites de gás. Notavelmente, a Ethereum fez a transição de um mecanismo de consenso de mineração de prova de trabalho para prova de participação.

As contas Ethereum são categorizadas em contas externas e contas de contrato. As contas externas são controladas exclusivamente por uma chave privada, enquanto as contas de contrato, que não possuem chaves privadas, só podem ser operadas por meio da execução do código de contrato por contas externas. Ambos os tipos de conta possuem um endereço exclusivo. O "estado mundial" da Ethereum é uma árvore de contas, com cada conta correspondendo a um nó folha que armazena o estado da conta, incluindo várias informações sobre a conta e o código.

  • Transações

A Ethereum, como uma plataforma descentralizada, facilita fundamentalmente as transações e os contratos. O Ethereum bloqueia transações de pacotes juntamente com algumas informações adicionais. Especificamente, um bloco é dividido em um cabeçalho de bloco e um corpo de bloco. O cabeçalho do bloco contém evidências que ligam todos os blocos em uma cadeia, entendida como o hash do bloco anterior, juntamente com a raiz do estado, a raiz da transação, a raiz do recibo e outros dados como dificuldade e nonce, que significam o estado de todo o mundo Ethereum. O corpo do bloco contém uma lista de transações e uma lista de cabeçalhos de blocos de tio (embora, com a mudança da Ethereum para a prova de participação, as referências a blocos de tio tenham cessado).

Os recibos de transação fornecem os resultados e informações adicionais após a execução da transação, oferecendo percepções que não podem ser obtidas diretamente das próprias transações. Esses detalhes incluem o conteúdo do consenso, as informações da transação e as informações do bloco, indicando se a transação foi bem-sucedida, juntamente com os registros da transação e o gasto de gás. A análise das informações nos recibos ajuda a depurar o código do contrato inteligente e a otimizar o uso de gás, servindo como confirmação de que a transação foi processada pela rede e permitindo o exame dos resultados e do impacto da transação.

Na Ethereum, as taxas de gás podem ser simplificadas como taxas de transação necessárias para operações como o envio de tokens, a execução de contratos, a transferência de ether ou outras atividades no bloco. Essas operações exigem taxas de gás porque a máquina virtual Ethereum precisa computar e utilizar recursos de rede para processar a transação, exigindo assim o pagamento por esses serviços computacionais. Por fim, o custo do combustível, ou taxa de transação, é pago aos mineradores, calculado pela fórmula Taxa = Gás usado * Preço do gás, em que o preço do gás é definido pelo iniciador da transação. O valor influencia amplamente a velocidade do processamento de transações na cadeia. Definir um valor muito baixo pode resultar em transações não executadas. Além disso, é fundamental definir um limite de gás para evitar o consumo imprevisto de gás devido a erros nos contratos.

  • Pool de transações

No Ethereum, existe um grande número de transações. Em comparação com os sistemas centralizados, a taxa de processamento de transações por segundo dos sistemas descentralizados é significativamente menor. Devido ao influxo de transações nos nós, os nós precisam manter um pool de transações para gerenciá-las adequadamente. A transmissão de transações é feita por meio de uma rede peer-to-peer (P2P), em que um nó transmite transações executáveis para seus nós vizinhos, que, por sua vez, transmitem a transação para seus vizinhos. Por meio desse processo, uma transação pode se espalhar por toda a rede Ethereum em 6 segundos.

As transações no pool de transações são divididas em transações executáveis e não executáveis. As transações executáveis têm prioridade mais alta e são executadas e incluídas em blocos, enquanto todas as transações recém-inseridas no pool são não executáveis e só mais tarde podem se tornar executáveis. As transações executáveis e não executáveis são registradas respectivamente nos contêineres "pending" (pendente) e "queue" (fila).

Além disso, o pool de transações mantém uma lista de transações locais, que têm várias vantagens: elas têm uma prioridade mais alta, não são afetadas pelos limites de volume de transações e podem ser imediatamente recarregadas no pool de transações quando o nó é reiniciado. O armazenamento de persistência local das transações locais é obtido por meio do uso de um diário (para recarga na reinicialização do nó), com o objetivo de não perder transações locais inacabadas, e é atualizado periodicamente.

Antes de serem colocadas na fila, as transações passam por verificações de legalidade, incluindo vários tipos de verificações, como prevenção de ataques DOS, transações negativas e transações que excedem os limites de gás. A composição básica do pool de transações pode ser dividida em: fila + pendentes (formando todas as transações). Depois de passar pelas verificações de legalidade, outras verificações são realizadas, incluindo a verificação se a fila de transações atingiu seu limite e, em seguida, a determinação se as transações remotas (ou seja, transações não locais) são as mais baixas no pool de transações para substituir a transação de menor preço. Para a substituição de transações executáveis, por padrão, somente as transações com uma taxa aumentada em 10% têm permissão para substituir as transações que aguardam execução e são armazenadas como transações não executáveis. Além disso, durante a manutenção do pool de transações, as transações inválidas e acima do limite são excluídas e as transações qualificadas são substituídas.

  • Mecanismo de consenso

A teoria de consenso inicial da Ethereum baseava-se no cálculo do hash do valor de dificuldade, o que significa que o valor de hash de um bloco precisava ser calculado para atender ao valor de dificuldade desejado para que o bloco fosse considerado válido. Como o algoritmo de consenso da Ethereum agora mudou de Proof of Work (POW) para Proof of Stake (POS), a discussão sobre teorias relacionadas à mineração é omitida aqui. Uma breve visão geral do algoritmo POS é a seguinte: A Ethereum concluiu a fusão da Beacon Chain em setembro de 2022, implementando o algoritmo POS. Especificamente, no Ethereum baseado em POS, o tempo de bloqueio é estabilizado em 12 segundos. Os usuários apostam seu Ether para ganhar o direito de se tornarem validadores. Um grupo de validadores é selecionado aleatoriamente entre aqueles que participam do staking. Em cada ciclo de 32 espaços, um validador é selecionado como proponente de cada espaço para criar blocos, enquanto os demais validadores desse espaço atuam como um comitê para verificar a legalidade do bloco do proponente e fazer julgamentos sobre a legalidade dos blocos do ciclo anterior. O algoritmo POS estabiliza e aumenta significativamente a velocidade de produção de blocos e, ao mesmo tempo, reduz bastante o desperdício de recursos computacionais.

  • Algoritmo de assinatura

O Ethereum herda o padrão de algoritmo de assinatura do Bitcoin, adotando também a curva secp256k1. O algoritmo de assinatura específico que ele usa é o ECDSA, o que significa que o cálculo da assinatura é baseado no hash da mensagem original. A composição de toda a assinatura pode ser vista simplesmente como R+S+V. Cada cálculo introduz, de forma correspondente, um número aleatório, em que R+S são as saídas originais do ECDSA. O último campo, V, conhecido como campo de recuperação, indica o número de pesquisas necessárias para recuperar com êxito a chave pública do conteúdo e da assinatura, pois pode haver vários pontos de coordenadas na curva elíptica que atendem aos requisitos com base no valor R.

O processo inteiro pode ser organizado da seguinte forma: Os dados da transação e as informações relacionadas ao signatário são transformados em hash após a codificação RLP, e a assinatura final pode ser obtida por meio da assinatura ECDSA com uma chave privada, em que a curva usada no ECDSA é a curva elíptica secp256k1. Por fim, ao combinar os dados de assinatura com os dados de transação, é possível obter e transmitir dados de transação assinados.

A estrutura de dados da Ethereum não se baseia apenas na tecnologia tradicional de blockchain, mas também introduz a árvore Merkle Patricia, também conhecida como Merkle Trie, para armazenar e verificar com eficiência grandes quantidades de dados. O MPT combina a função de hash criptográfico de uma árvore de Merkle com o recurso de compactação de caminho de chave de uma árvore Patricia, fornecendo uma solução que garante a integridade dos dados e oferece suporte à pesquisa rápida.

  • Árvore Merkle Patricia

Na Ethereum, o MPT é usado para armazenar todos os dados de estado e de transação, garantindo que qualquer alteração nos dados seja refletida no hash raiz da árvore. Isso significa que, ao verificar o hash raiz, a integridade e a precisão dos dados podem ser comprovadas sem inspecionar todo o banco de dados. O MPT consiste em quatro tipos de nós: nós de folha, nós de extensão, nós de ramificação e nós nulos, que juntos formam uma árvore capaz de se adaptar às alterações dinâmicas dos dados. A cada atualização de dados, o MPT reflete essas alterações adicionando, excluindo ou modificando nós e atualizando o hash raiz da árvore. Como cada nó é criptografado por meio de uma função hash, qualquer pequena alteração nos dados resultará em uma alteração significativa no hash raiz, garantindo assim a segurança e a consistência dos dados. Além disso, o projeto do MPT suporta a verificação do "cliente leve", permitindo que os nós verifiquem a existência ou o estado de informações específicas armazenando apenas o hash raiz da árvore e os nós de caminho necessários, reduzindo significativamente os requisitos de armazenamento e processamento de dados.

Por meio do MPT, a Ethereum não só consegue um gerenciamento eficiente e acesso rápido aos dados, mas também garante a segurança e a descentralização da rede, apoiando a operação e o desenvolvimento de toda a rede Ethereum.

  • Máquina de estado

A arquitetura central da Ethereum integra o conceito de máquina de estado, em que a Máquina Virtual Ethereum (EVM) serve como ambiente de tempo de execução para a execução de todo o código de contrato inteligente, e a própria Ethereum pode ser vista como um sistema de transição de estado compartilhado globalmente. A execução de cada bloco pode ser vista como um processo de transição de estado, passando de um estado globalmente compartilhado para outro. Esse design não apenas garante a consistência e a descentralização da rede Ethereum, mas também torna os resultados da execução de contratos inteligentes previsíveis e à prova de adulteração.

Na Ethereum, o estado se refere às informações atuais de todas as contas, incluindo o saldo de cada conta, os dados armazenados e o código de contrato inteligente. Sempre que ocorre uma transação, o EVM calcula e faz a transição do estado com base no conteúdo da transação, um processo registrado de forma eficiente e segura por meio da árvore Merkle Patricia (MPT). Cada transição de estado não apenas altera os dados da conta, mas também leva a uma atualização do MPT, refletida na alteração do valor de hash da raiz da árvore.

A relação entre o EVM e o MPT é crucial porque o MPT garante a integridade dos dados para as transições de estado da Ethereum. Quando o EVM executa transações e altera os estados da conta, os nós MPT relacionados são atualizados para refletir essas alterações. Como cada nó no MPT é vinculado por hashes, qualquer modificação no estado causará uma alteração no hash raiz, que é então incluído em um novo bloco, garantindo a consistência e a segurança de todo o estado do Ethereum. A seguir, apresentamos a máquina virtual EVM.

  • EVM

A máquina virtual EVM é fundamental para a construção da Ethereum, permitindo a execução de contratos inteligentes e transições de estado. Graças ao EVM, o Ethereum pode ser realmente imaginado como um computador mundial. O EVM é Turing-completo, o que significa que os contratos inteligentes na Ethereum podem realizar cálculos lógicos arbitrariamente complexos, enquanto a introdução do mecanismo de gás evita com sucesso loops infinitos dentro dos contratos, garantindo a estabilidade e a segurança da rede. De uma perspectiva técnica mais profunda, a EVM é uma máquina virtual baseada em pilha que executa contratos inteligentes usando bytecode específico da Ethereum. Em geral, os desenvolvedores usam linguagens de alto nível, como Solidity, para escrever contratos inteligentes, que são compilados em bytecode compreensível pelo EVM para execução. O EVM é fundamental para a capacidade de inovação do blockchain da Ethereum, não apenas apoiando a operação de contratos inteligentes, mas também fornecendo uma base sólida para o desenvolvimento de aplicativos descentralizados. Por meio do EVM, a Ethereum está moldando um futuro digital descentralizado, seguro e aberto.

Revisão histórica

Figura 1 Análise histórica do Ethereum

Desafios

Segurança

Os contratos inteligentes são programas de computador executados no blockchain da Ethereum. Eles permitem que os desenvolvedores criem e implementem vários aplicativos, incluindo, entre outros, aplicativos de empréstimo, trocas descentralizadas, seguros, financiamento secundário, redes sociais e NFTs. A segurança dos contratos inteligentes é crucial para esses aplicativos, pois eles manipulam e controlam diretamente as criptomoedas. Qualquer vulnerabilidade em contratos inteligentes ou ataques maliciosos pode representar ameaças diretas à segurança dos fundos, podendo levar a perdas financeiras significativas. Por exemplo, em 26 de fevereiro de 2024, o protocolo de empréstimo DeFi Blueberry Protocol foi atacado devido a uma falha na lógica do contrato inteligente, resultando em uma perda de aproximadamente US$ 1.400.000.

As vulnerabilidades dos contratos inteligentes são multifacetadas, abrangendo lógica comercial irracional, controle de acesso inadequado, validação de dados inadequada, ataques de reentrada e ataques de DOS (negação de serviço), entre outros. Essas vulnerabilidades podem levar a problemas na execução do contrato, afetando a operação eficaz dos contratos inteligentes. Por exemplo, os ataques DOS envolvem atacantes que enviam um grande volume de transações para esgotar os recursos da rede, impedindo que as transações normais dos usuários sejam processadas em tempo hábil. Essa degradação na experiência do usuário também pode levar ao aumento das taxas de gás das transações, pois os usuários podem precisar pagar taxas mais altas para priorizar suas transações em uma rede congestionada.

Além disso, os usuários do Ethereum também enfrentam riscos de investimento, com a segurança dos fundos ameaçada. Por exemplo, "shitcoins" são criptomoedas consideradas como tendo pouco ou nenhum valor ou potencial de crescimento a longo prazo. As shitcoins são frequentemente usadas como ferramentas para fraudes ou para esquemas de pump-and-dump. O risco de investimento associado às shitcoins é alto, podendo levar a perdas financeiras significativas. Devido ao seu baixo preço e capitalização de mercado, são altamente suscetíveis à manipulação e à volatilidade. Essas criptomoedas são comumente usadas em esquemas de "pump-and-dump" e "honey pot scams", em que os investidores são atraídos por projetos falsos e depois roubados de seus fundos. Outro risco comum associado às shitcoins é a "puxada de tapete", em que os criadores removem repentinamente toda a liquidez de um projeto, fazendo com que o valor do token caia. Esses golpes geralmente são comercializados por meio de parcerias e endossos falsos e, quando o preço do token aumenta, os golpistas vendem seus tokens, lucram e desaparecem, deixando os investidores com tokens sem valor. Além disso, investir em shitcoins pode desviar a atenção e os recursos de criptomoedas legítimas com aplicações reais e potencial de crescimento.

Além das shitcoins, as "air coins" e as "pyramid scheme coins" também são métodos para obter lucros rápidos. Para os usuários que não têm conhecimento e experiência profissional, distingui-los das criptomoedas legítimas é particularmente desafiador.

Eficiência

Dois indicadores muito diretos para avaliar a eficiência da Ethereum são a velocidade das transações e as taxas de gás. A velocidade da transação refere-se ao número de transações que a rede Ethereum pode processar em uma unidade de tempo. Essa métrica reflete diretamente a capacidade de processamento da rede Ethereum, em que uma velocidade mais rápida indica maior eficiência. Cada transação na Ethereum exige uma certa quantia de taxas de gás, que compensam os mineradores pela verificação da transação. Taxas de gás mais baixas indicam maior eficiência no Ethereum.

Uma diminuição na velocidade da transação leva a um aumento nas taxas de gás. Em geral, quando a velocidade de processamento das transações diminui, devido ao espaço limitado do bloco, a concorrência entre as transações para entrar no próximo bloco pode aumentar. Para se destacar nessa concorrência, os traders costumam aumentar as taxas de gás, pois os mineradores tendem a priorizar as transações com taxas de gás mais altas durante a verificação. Portanto, taxas de gás mais altas podem degradar a experiência do usuário.

As transações são apenas as atividades básicas da Ethereum. Nesse ecossistema, os usuários também podem se envolver em várias atividades, como empréstimos, staking, investimentos, seguros etc., que podem ser realizadas por meio de DApps específicos. No entanto, dada a grande variedade de DApps e a falta de serviços de recomendação personalizados semelhantes aos dos setores tradicionais, os usuários podem achar confuso escolher os aplicativos e produtos certos para si mesmos. Essa situação pode levar a uma diminuição da satisfação do usuário, afetando assim a eficiência geral do ecossistema Ethereum.

Tomemos o empréstimo como exemplo. Algumas plataformas de empréstimo DeFi usam um mecanismo de sobregarantia para manter a segurança e a estabilidade de sua plataforma. Isso significa que os tomadores de empréstimo precisam colocar mais ativos como garantia, que não podem ser usados para outras atividades durante o período do empréstimo. Isso leva a uma diminuição na taxa de utilização de capital dos tomadores de empréstimos, reduzindo assim a liquidez do mercado.

Aplicações de aprendizado de máquina na Ethereum

Os modelos de aprendizado de máquina, como o modelo RFM, as redes adversárias generativas (GAN), os modelos de árvore de decisão, o algoritmo K-Nearest Neighbors (KNN) e o algoritmo de agrupamento DBSCAN, estão desempenhando papéis importantes na Ethereum. A aplicação desses modelos de aprendizado de máquina na Ethereum pode ajudar a otimizar a eficiência do processamento de transações, aumentar a segurança de contratos inteligentes, implementar a segmentação de usuários para fornecer serviços mais personalizados e contribuir para a operação estável da rede.

Introdução aos algoritmos

Os algoritmos de aprendizado de máquina são um conjunto de instruções ou regras usadas para analisar dados, aprender padrões dentro dos dados e fazer previsões ou tomar decisões com base nesses aprendizados. Eles são aprimorados automaticamente por meio do aprendizado com os dados fornecidos, sem a necessidade de programação explícita por parte de humanos. Os modelos de aprendizado de máquina, como o modelo RFM, as redes adversárias generativas (GAN), os modelos de árvore de decisão, o algoritmo K-Nearest Neighbors (KNN) e o algoritmo de agrupamento DBSCAN, estão desempenhando papéis importantes na Ethereum. A aplicação desses modelos de aprendizado de máquina na Ethereum pode ajudar a otimizar a eficiência do processamento de transações, aumentar a segurança de contratos inteligentes, implementar a segmentação de usuários para fornecer serviços mais personalizados e contribuir para a operação estável da rede.

Classificadores Bayesianos

Os classificadores bayesianos estão entre os vários métodos de classificação estatística que visam minimizar a probabilidade de erros de classificação ou minimizar o risco médio em uma estrutura de custo específica. Sua filosofia de design está profundamente enraizada no teorema bayesiano, que permite o cálculo da probabilidade de um objeto pertencer a uma determinada classe, dadas algumas características conhecidas. Ao calcular a probabilidade posterior do objeto, as decisões são tomadas. Especificamente, os classificadores bayesianos primeiro consideram a probabilidade anterior do objeto e, em seguida, aplicam a fórmula bayesiana para levar em conta os dados observados, atualizando assim a crença sobre a classificação do objeto. Entre todas as classificações possíveis, os classificadores bayesianos escolhem a categoria com a maior probabilidade posterior para o objeto. A principal vantagem desse método está em sua capacidade natural de lidar com incertezas e informações incompletas, o que o torna uma ferramenta poderosa e flexível, adequada para uma ampla gama de aplicações.

Conforme ilustrado na Figura 2, no aprendizado de máquina supervisionado, as decisões de classificação são tomadas usando dados e modelos de probabilidade baseados no teorema bayesiano. Utilizando a verossimilhança, as probabilidades anteriores de categorias e recursos, os classificadores bayesianos calculam as probabilidades posteriores de cada categoria para os pontos de dados e atribuem os pontos de dados à categoria com a maior probabilidade posterior. No gráfico de dispersão à direita, o classificador tenta encontrar uma curva que separe melhor os pontos de cores diferentes, minimizando assim os erros de classificação.

Figura 2 Classificador bayesiano

  • Árvores de decisão

Os algoritmos de árvore de decisão são comumente usados para tarefas de classificação e regressão, adotando uma abordagem hierárquica de tomada de decisão. Eles geram árvores dividindo os recursos com alto ganho de informações com base em dados conhecidos, treinando assim uma árvore de decisão. Em essência, o algoritmo pode aprender automaticamente uma regra de tomada de decisão a partir dos dados para determinar os valores das variáveis. Especificamente, ele simplifica processos complexos de tomada de decisão em várias sub-decisões mais simples. Cada decisão mais simples é derivada de um critério de decisão pai, formando uma estrutura em forma de árvore.

Conforme mostrado na Figura 3, cada nó representa uma decisão, definindo um critério para julgar um determinado atributo, enquanto os ramos representam os resultados da decisão. Cada nó folha representa o resultado final previsto e a categoria. Do ponto de vista estrutural, o modelo de árvore de decisão é intuitivo, fácil de entender e tem grande poder explicativo.

Imagem 3 Modelo de árvore de decisão

  • Algoritmo DBSCAN

O DBSCAN (Density-Based Spatial Clustering of Applications with Noise) é um algoritmo de agrupamento espacial baseado em densidade que é particularmente eficaz para conjuntos de dados com ruído e para identificar clusters de qualquer formato sem a necessidade de especificar o número de clusters antecipadamente. Ele tem um desempenho robusto contra outliers no conjunto de dados. O algoritmo pode identificar com eficácia os outliers, definidos como pontos em áreas de baixa densidade, conforme ilustrado na Figura 4.

Figura 4 Identificação de ruído com o algoritmo DBSCAN

  • Algoritmo KNN

O algoritmo K-Nearest Neighbors (KNN) pode ser usado tanto para tarefas de classificação quanto de regressão. Na classificação, a categoria de um item a ser classificado é determinada por meio de um mecanismo de votação; na regressão, ele faz a previsão calculando a média ou a média ponderada das k amostras mais próximas.

Conforme mostrado na Figura 5, o princípio de funcionamento do algoritmo KNN na classificação é encontrar os k vizinhos mais próximos de um novo ponto de dados e prever a categoria do novo ponto de dados com base nas categorias desses vizinhos. Se K=1, o novo ponto de dados é simplesmente atribuído à categoria de seu vizinho mais próximo. Se K>1, a categoria geralmente é determinada por uma votação majoritária, o que significa que o novo ponto de dados é atribuído à categoria mais comum entre seus vizinhos. Quando usado em regressão, o princípio permanece o mesmo, mas o resultado é a média das saídas das k amostras mais próximas.

Figura 5 Algoritmo KNN usado para classificação

  • Inteligência Artificial GenerativaInteligência Artificial Generativa

A inteligência artificial (IA) generativa é um tipo de tecnologia de IA que pode gerar novo conteúdo (como texto, imagens, música etc.) com base nos requisitos de entrada. Sua base está nos avanços da aprendizagem automática e da aprendizagem profunda, especialmente em aplicações nos campos de processamento de linguagem natural e reconhecimento de imagens. A IA generativa aprende padrões e associações a partir de uma grande quantidade de dados e, em seguida, gera um resultado totalmente novo com base nessas informações aprendidas. A chave para a inteligência artificial generativa está no treinamento do modelo, que requer dados de alta qualidade para aprendizado e treinamento. Durante esse processo, o modelo melhora gradativamente sua capacidade de gerar novos conteúdos, analisando e compreendendo a estrutura, os padrões e os relacionamentos dentro do conjunto de dados.

  • Transformador

O Transformer, como pedra angular da inteligência artificial generativa, introduziu o mecanismo de atenção de forma inovadora. Isso permite que o processamento de informações se concentre nos pontos principais e, ao mesmo tempo, tenha uma visão global, um recurso exclusivo que fez com que o Transformer se destacasse no domínio da geração de texto. A utilização dos mais recentes modelos de linguagem natural, como o GPT (Generative Pre-trained Transformer), para entender os requisitos do usuário expressos em linguagem natural e convertê-los automaticamente em código executável pode reduzir a complexidade do desenvolvimento e aumentar significativamente a eficiência.

Conforme mostrado na Figura 6, a introdução do mecanismo de atenção de várias cabeças e do mecanismo de autoatenção, combinados com conexões residuais e redes neurais totalmente conectadas, além de aproveitar as tecnologias anteriores de incorporação de palavras, elevou muito o desempenho dos modelos generativos relacionados ao processamento de linguagem natural.

Figura 6 Modelo de transformador

  • Modelo RFM

O modelo RFM é um modelo de análise baseado no comportamento de compra do cliente, que pode identificar diferentes grupos de clientes de valor por meio da análise de seu comportamento de transação. Esse modelo pontua e categoriza os clientes com base no momento da compra mais recente (Recency, R), na frequência das compras (Frequency, F) e no valor gasto (Monetary value, M).

Conforme ilustrado na Figura 7, esses três indicadores formam o núcleo do modelo RFM. O modelo pontua os clientes nessas três dimensões e os classifica com base nas pontuações para identificar os grupos de clientes mais valiosos. Além disso, esse modelo segmenta efetivamente os clientes em diferentes grupos, facilitando a funcionalidade de estratificação de clientes.

Figura 7 Modelo de camadas do RFM

Aplicações em potencial

Ao aplicar a tecnologia de aprendizado de máquina para lidar com os desafios de segurança da Ethereum, realizamos pesquisas em quatro aspectos principais:

Aplicações em potencial

Ao abordar os desafios de segurança da Ethereum por meio de técnicas de aprendizado de máquina, realizamos pesquisas em quatro aspectos principais:

  • Identificação e filtragem de transações maliciosas com base no classificador bayesiano**

    Ao criar um classificador bayesiano, é possível identificar e filtrar possíveis transações de spam, incluindo, entre outras, as que causam ataques DOS por meio de grandes volumes de transações pequenas e frequentes. Esse método mantém a integridade da rede de forma eficaz, analisando as características das transações, como os preços do gás e a frequência das transações, garantindo assim a operação estável da rede Ethereum.

  • Geração de código de contrato inteligente seguro e que atende a requisitos específicos**

    As redes adversariais generativas (GANs) e as redes generativas baseadas em transformadores podem ser usadas para gerar códigos de contratos inteligentes que atendam a requisitos específicos e, ao mesmo tempo, garantam a segurança do código o máximo possível. No entanto, essas duas abordagens diferem nos tipos de dados em que se baseiam para o treinamento do modelo: a primeira depende principalmente de amostras de código inseguras, enquanto a segunda depende do oposto.

    Ao treinar GANs para aprender os padrões de contratos seguros existentes e criar modelos autoadversários para gerar código potencialmente inseguro e, em seguida, aprender a identificar essas inseguranças, é possível gerar automaticamente um código de contrato inteligente mais seguro e de alta qualidade. Utilizando modelos de rede generativa baseados no Transformer, aprendendo com uma vasta gama de exemplos de contratos seguros, é possível gerar códigos de contrato que atendam a necessidades específicas e otimizem o consumo de gás, aumentando, sem dúvida, a eficiência e a segurança do desenvolvimento de contratos inteligentes.

  • Análise de risco de contratos inteligentes com base em árvores de decisão**

    O uso de árvores de decisão para analisar as características dos contratos inteligentes, como a frequência de chamadas de funções, o valor da transação e a complexidade do código-fonte, pode identificar com eficácia os níveis de risco em potencial dos contratos. A análise dos padrões operacionais e da estrutura de código dos contratos pode prever possíveis vulnerabilidades e pontos de risco, fornecendo aos desenvolvedores e usuários uma avaliação de segurança. Espera-se que esse método melhore significativamente a segurança dos contratos inteligentes no ecossistema Ethereum, reduzindo assim as perdas causadas por vulnerabilidades ou códigos maliciosos.

  • Criação de um modelo de avaliação de criptomoedas para reduzir os riscos de investimento**

    Ao analisar os dados de negociação, a atividade de mídia social e o desempenho de mercado das criptomoedas por meio de algoritmos de aprendizado de máquina, é possível criar um modelo de avaliação que pode prever a probabilidade de uma criptomoeda ser uma "moeda lixo". Esse modelo pode oferecer percepções valiosas aos investidores, ajudando-os a evitar riscos de investimento e, assim, promovendo o desenvolvimento saudável do mercado de criptomoedas.

Além disso, a aplicação do aprendizado de máquina também tem o potencial de aumentar ainda mais a eficiência da Ethereum. Podemos explorar isso a partir das três dimensões principais a seguir:

  • Aplicação de árvore de decisão para otimizar o modelo de fila do pool de transações

A aplicação de árvores de decisão na otimização do modelo de fila do pool de transações

O uso de árvores de decisão pode otimizar efetivamente o mecanismo de enfileiramento do pool de transações da Ethereum. Ao analisar as características da transação, como os preços do gás e o tamanho da transação, as árvores de decisão podem otimizar a seleção e o ordenamento das transações. Esse método pode melhorar significativamente a eficiência do processamento de transações, reduzir efetivamente o congestionamento da rede e diminuir o tempo de espera dos usuários pelas transações.

  • Segmentação de usuários e fornecimento de serviços personalizados

O modelo RFM (Recency, Frequency, Monetary value), uma ferramenta amplamente usada no gerenciamento do relacionamento com o cliente, pode segmentar efetivamente os usuários avaliando o tempo da transação mais recente (Recency), a frequência da transação (Frequency) e o valor da transação (Monetary value). A aplicação do modelo RFM na plataforma Ethereum pode ajudar a identificar grupos de usuários de alto valor, otimizar a alocação de recursos e fornecer serviços mais personalizados, aumentando assim a satisfação do usuário e a eficiência geral da plataforma. O modelo RFM (Recency, Frequency, Monetary value), uma ferramenta amplamente usada no gerenciamento do relacionamento com o cliente, pode segmentar os usuários de forma eficaz, avaliando o tempo da transação mais recente (Recency), a frequência da transação (Frequency) e o valor da transação (Monetary value). A aplicação do modelo RFM na plataforma Ethereum pode ajudar a identificar grupos de usuários de alto valor, otimizar a alocação de recursos e fornecer serviços mais personalizados, aumentando assim a satisfação do usuário e a eficiência geral da plataforma.

O algoritmo DBSCAN também pode analisar o comportamento das transações dos usuários, ajudando a identificar diferentes grupos de usuários na Ethereum e a fornecer serviços financeiros mais personalizados para diferentes usuários. Essa estratégia de segmentação de usuários pode otimizar as estratégias de marketing, aumentar a satisfação do cliente e a eficiência do serviço.

  • Pontuação de crédito baseada em KNN

O algoritmo K-Nearest Neighbors (KNN) pode pontuar o crédito dos usuários analisando seu histórico de transações e padrões de comportamento na Ethereum, que desempenha um papel extremamente importante em atividades financeiras, como empréstimos. A pontuação de crédito ajuda as instituições financeiras e as plataformas de empréstimo a avaliar a capacidade de pagamento e o risco de crédito dos tomadores de empréstimo, tomando decisões de empréstimo mais precisas. Isso pode evitar empréstimos excessivos e melhorar a liquidez do mercado.

Orientações futuras

Do ponto de vista da alocação de capital macro, a Ethereum, como o maior computador distribuído do mundo, nunca pode ser investida em excesso na camada de infraestrutura, precisando atrair mais desenvolvedores de diversas origens para participar da co-construção. Neste artigo, ao analisarmos a implementação técnica da Ethereum e os problemas que ela enfrenta, prevemos uma série de aplicações intuitivas de aprendizado de máquina e esperamos que os desenvolvedores de IA da comunidade transformem essas visões em valor real.

À medida que a capacidade de computação na cadeia aumenta gradualmente, podemos prever o desenvolvimento de modelos mais complexos para gerenciamento de rede, monitoramento de transações, auditoria de segurança, etc., melhorando a eficiência e a segurança da rede Ethereum.

Além disso, os mecanismos de governança orientados por agentes/IA também podem se tornar uma inovação significativa no ecossistema Ethereum. Esse mecanismo, que traz processos de tomada de decisão mais eficientes, transparentes e automatizados, poderia fornecer à Ethereum uma estrutura de governança mais flexível e confiável. Esses desenvolvimentos futuros não apenas promoverão a inovação na tecnologia Ethereum, mas também proporcionarão aos usuários uma experiência de maior qualidade na cadeia.

Isenção de responsabilidade:

  1. Este artigo foi reproduzido de [TechFlow]. *Forward the Original Title'另一个角度看「AI+Blockchain」:AI 如何革新以太坊?'.Todos os direitos autorais pertencem ao autor original[Salus]. Se houver alguma objeção a essa reimpressão, entre em contato com a equipe do Gate Learn, que tratará do assunto imediatamente.
  2. Isenção de responsabilidade: Os pontos de vista e opiniões expressos neste artigo são de responsabilidade exclusiva do autor e não constituem consultoria de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

IA revolucionando o Ethereum

intermediário3/18/2024, 5:29:31 AM
Com o aumento gradual da capacidade de computação na cadeia, podemos prever o desenvolvimento de modelos mais complexos para gerenciamento de rede, monitoramento de transações, auditorias de segurança e muito mais. Esses avanços visam aumentar a eficiência e a segurança da rede Ethereum, oferecendo perspectivas exclusivas que inspiram uma infinidade de "AI+Blockchain" combinações inovadoras no ecossistema de desenvolvedores.

Encaminhar o título original:另一个角度看「AI+Blockchain」:AI 如何革新以太坊?

Durante o ano passado, à medida que a IA generativa repetidamente destruía as expectativas do público, a onda da revolução da produtividade da IA varreu a comunidade de criptomoedas. Vimos muitos projetos com tema de IA no mercado secundário criarem lendas de riqueza e, cada vez mais, os desenvolvedores começaram a desenvolver seus próprios projetos "AI+Crypto". No entanto, após uma inspeção mais minuciosa, fica evidente que esses projetos são altamente homogeneizados e a maioria visa apenas melhorar as "relações de produção", como organizar o poder de computação por meio de redes descentralizadas ou criar "Hugging Faces descentralizados". Poucos projetos tentam realmente integrar e inovar no núcleo técnico. Acreditamos que isso se deve a um "viés de domínio" entre os campos de IA e blockchain. Apesar de sua ampla interseção, poucos têm uma compreensão profunda de ambas as áreas. Por exemplo, os desenvolvedores de IA podem achar difícil entender as implementações técnicas e a infraestrutura histórica da Ethereum, o que dificulta a proposta de soluções de otimização aprofundadas.

Tomando o aprendizado de máquina (ML), o ramo mais básico da IA, como exemplo, é uma tecnologia que permite que as máquinas tomem decisões por meio de dados sem instruções explícitas de programação. O aprendizado de máquina demonstrou um enorme potencial na análise de dados e no reconhecimento de padrões e se tornou comum na Web2. No entanto, devido às limitações da era em seu início, mesmo na vanguarda da inovação da tecnologia blockchain, como a Ethereum, sua arquitetura, rede e mecanismos de governança ainda não aproveitaram o aprendizado de máquina como uma ferramenta eficaz para resolver problemas complexos.

"As grandes inovações geralmente surgem na interseção de campos." Nossa principal intenção ao escrever este artigo é ajudar os desenvolvedores de IA a entender melhor o mundo do blockchain e, ao mesmo tempo, fornecer novas ideias para os desenvolvedores da comunidade Ethereum. Neste artigo, primeiro apresentamos a implementação técnica do Ethereum e, em seguida, propomos a aplicação do aprendizado de máquina, um algoritmo fundamental de IA, à rede Ethereum para aumentar sua segurança, eficiência e escalabilidade. Esperamos que este caso sirva como ponto de partida para oferecer perspectivas exclusivas e estimular mais combinações inovadoras de "IA+Blockchain" no ecossistema de desenvolvedores.

Implementação técnica do Ethereum

  • Estruturas de dados básicasEstruturas de dados básicas

Em sua essência, o blockchain é uma cadeia que vincula blocos entre si, sendo que a distinção entre as cadeias está principalmente na configuração da cadeia. Essa configuração é uma parte essencial da gênese de uma blockchain, a fase inicial de qualquer blockchain. No caso da Ethereum, a configuração da cadeia diferencia as várias cadeias da Ethereum e identifica protocolos de atualização importantes e eventos de marco. Por exemplo, o DAOForkBlock marca a altura do hard fork após o ataque do DAO, enquanto o ConstantinopleBlock indica a altura do bloco em que ocorreu a atualização do Constantinople. Para upgrades maiores que englobam várias propostas de melhoria, são definidos campos especiais para indicar as alturas de bloco correspondentes. Além disso, a Ethereum engloba uma variedade de redes de teste e a rede principal, cada uma identificada exclusivamente por um ChainID, delineando seu ecossistema de rede.

O bloco genesis, sendo o primeiro bloco de toda a blockchain, é direta ou indiretamente referenciado por outros blocos. Portanto, é fundamental que os nós carreguem as informações corretas do bloco de gênese na inicialização sem nenhuma alteração. Essa configuração do bloco de gênese inclui a configuração da cadeia mencionada anteriormente, juntamente com informações adicionais, como recompensas de mineração, registros de data e hora, dificuldade e limites de gás. Notavelmente, a Ethereum fez a transição de um mecanismo de consenso de mineração de prova de trabalho para prova de participação.

As contas Ethereum são categorizadas em contas externas e contas de contrato. As contas externas são controladas exclusivamente por uma chave privada, enquanto as contas de contrato, que não possuem chaves privadas, só podem ser operadas por meio da execução do código de contrato por contas externas. Ambos os tipos de conta possuem um endereço exclusivo. O "estado mundial" da Ethereum é uma árvore de contas, com cada conta correspondendo a um nó folha que armazena o estado da conta, incluindo várias informações sobre a conta e o código.

  • Transações

A Ethereum, como uma plataforma descentralizada, facilita fundamentalmente as transações e os contratos. O Ethereum bloqueia transações de pacotes juntamente com algumas informações adicionais. Especificamente, um bloco é dividido em um cabeçalho de bloco e um corpo de bloco. O cabeçalho do bloco contém evidências que ligam todos os blocos em uma cadeia, entendida como o hash do bloco anterior, juntamente com a raiz do estado, a raiz da transação, a raiz do recibo e outros dados como dificuldade e nonce, que significam o estado de todo o mundo Ethereum. O corpo do bloco contém uma lista de transações e uma lista de cabeçalhos de blocos de tio (embora, com a mudança da Ethereum para a prova de participação, as referências a blocos de tio tenham cessado).

Os recibos de transação fornecem os resultados e informações adicionais após a execução da transação, oferecendo percepções que não podem ser obtidas diretamente das próprias transações. Esses detalhes incluem o conteúdo do consenso, as informações da transação e as informações do bloco, indicando se a transação foi bem-sucedida, juntamente com os registros da transação e o gasto de gás. A análise das informações nos recibos ajuda a depurar o código do contrato inteligente e a otimizar o uso de gás, servindo como confirmação de que a transação foi processada pela rede e permitindo o exame dos resultados e do impacto da transação.

Na Ethereum, as taxas de gás podem ser simplificadas como taxas de transação necessárias para operações como o envio de tokens, a execução de contratos, a transferência de ether ou outras atividades no bloco. Essas operações exigem taxas de gás porque a máquina virtual Ethereum precisa computar e utilizar recursos de rede para processar a transação, exigindo assim o pagamento por esses serviços computacionais. Por fim, o custo do combustível, ou taxa de transação, é pago aos mineradores, calculado pela fórmula Taxa = Gás usado * Preço do gás, em que o preço do gás é definido pelo iniciador da transação. O valor influencia amplamente a velocidade do processamento de transações na cadeia. Definir um valor muito baixo pode resultar em transações não executadas. Além disso, é fundamental definir um limite de gás para evitar o consumo imprevisto de gás devido a erros nos contratos.

  • Pool de transações

No Ethereum, existe um grande número de transações. Em comparação com os sistemas centralizados, a taxa de processamento de transações por segundo dos sistemas descentralizados é significativamente menor. Devido ao influxo de transações nos nós, os nós precisam manter um pool de transações para gerenciá-las adequadamente. A transmissão de transações é feita por meio de uma rede peer-to-peer (P2P), em que um nó transmite transações executáveis para seus nós vizinhos, que, por sua vez, transmitem a transação para seus vizinhos. Por meio desse processo, uma transação pode se espalhar por toda a rede Ethereum em 6 segundos.

As transações no pool de transações são divididas em transações executáveis e não executáveis. As transações executáveis têm prioridade mais alta e são executadas e incluídas em blocos, enquanto todas as transações recém-inseridas no pool são não executáveis e só mais tarde podem se tornar executáveis. As transações executáveis e não executáveis são registradas respectivamente nos contêineres "pending" (pendente) e "queue" (fila).

Além disso, o pool de transações mantém uma lista de transações locais, que têm várias vantagens: elas têm uma prioridade mais alta, não são afetadas pelos limites de volume de transações e podem ser imediatamente recarregadas no pool de transações quando o nó é reiniciado. O armazenamento de persistência local das transações locais é obtido por meio do uso de um diário (para recarga na reinicialização do nó), com o objetivo de não perder transações locais inacabadas, e é atualizado periodicamente.

Antes de serem colocadas na fila, as transações passam por verificações de legalidade, incluindo vários tipos de verificações, como prevenção de ataques DOS, transações negativas e transações que excedem os limites de gás. A composição básica do pool de transações pode ser dividida em: fila + pendentes (formando todas as transações). Depois de passar pelas verificações de legalidade, outras verificações são realizadas, incluindo a verificação se a fila de transações atingiu seu limite e, em seguida, a determinação se as transações remotas (ou seja, transações não locais) são as mais baixas no pool de transações para substituir a transação de menor preço. Para a substituição de transações executáveis, por padrão, somente as transações com uma taxa aumentada em 10% têm permissão para substituir as transações que aguardam execução e são armazenadas como transações não executáveis. Além disso, durante a manutenção do pool de transações, as transações inválidas e acima do limite são excluídas e as transações qualificadas são substituídas.

  • Mecanismo de consenso

A teoria de consenso inicial da Ethereum baseava-se no cálculo do hash do valor de dificuldade, o que significa que o valor de hash de um bloco precisava ser calculado para atender ao valor de dificuldade desejado para que o bloco fosse considerado válido. Como o algoritmo de consenso da Ethereum agora mudou de Proof of Work (POW) para Proof of Stake (POS), a discussão sobre teorias relacionadas à mineração é omitida aqui. Uma breve visão geral do algoritmo POS é a seguinte: A Ethereum concluiu a fusão da Beacon Chain em setembro de 2022, implementando o algoritmo POS. Especificamente, no Ethereum baseado em POS, o tempo de bloqueio é estabilizado em 12 segundos. Os usuários apostam seu Ether para ganhar o direito de se tornarem validadores. Um grupo de validadores é selecionado aleatoriamente entre aqueles que participam do staking. Em cada ciclo de 32 espaços, um validador é selecionado como proponente de cada espaço para criar blocos, enquanto os demais validadores desse espaço atuam como um comitê para verificar a legalidade do bloco do proponente e fazer julgamentos sobre a legalidade dos blocos do ciclo anterior. O algoritmo POS estabiliza e aumenta significativamente a velocidade de produção de blocos e, ao mesmo tempo, reduz bastante o desperdício de recursos computacionais.

  • Algoritmo de assinatura

O Ethereum herda o padrão de algoritmo de assinatura do Bitcoin, adotando também a curva secp256k1. O algoritmo de assinatura específico que ele usa é o ECDSA, o que significa que o cálculo da assinatura é baseado no hash da mensagem original. A composição de toda a assinatura pode ser vista simplesmente como R+S+V. Cada cálculo introduz, de forma correspondente, um número aleatório, em que R+S são as saídas originais do ECDSA. O último campo, V, conhecido como campo de recuperação, indica o número de pesquisas necessárias para recuperar com êxito a chave pública do conteúdo e da assinatura, pois pode haver vários pontos de coordenadas na curva elíptica que atendem aos requisitos com base no valor R.

O processo inteiro pode ser organizado da seguinte forma: Os dados da transação e as informações relacionadas ao signatário são transformados em hash após a codificação RLP, e a assinatura final pode ser obtida por meio da assinatura ECDSA com uma chave privada, em que a curva usada no ECDSA é a curva elíptica secp256k1. Por fim, ao combinar os dados de assinatura com os dados de transação, é possível obter e transmitir dados de transação assinados.

A estrutura de dados da Ethereum não se baseia apenas na tecnologia tradicional de blockchain, mas também introduz a árvore Merkle Patricia, também conhecida como Merkle Trie, para armazenar e verificar com eficiência grandes quantidades de dados. O MPT combina a função de hash criptográfico de uma árvore de Merkle com o recurso de compactação de caminho de chave de uma árvore Patricia, fornecendo uma solução que garante a integridade dos dados e oferece suporte à pesquisa rápida.

  • Árvore Merkle Patricia

Na Ethereum, o MPT é usado para armazenar todos os dados de estado e de transação, garantindo que qualquer alteração nos dados seja refletida no hash raiz da árvore. Isso significa que, ao verificar o hash raiz, a integridade e a precisão dos dados podem ser comprovadas sem inspecionar todo o banco de dados. O MPT consiste em quatro tipos de nós: nós de folha, nós de extensão, nós de ramificação e nós nulos, que juntos formam uma árvore capaz de se adaptar às alterações dinâmicas dos dados. A cada atualização de dados, o MPT reflete essas alterações adicionando, excluindo ou modificando nós e atualizando o hash raiz da árvore. Como cada nó é criptografado por meio de uma função hash, qualquer pequena alteração nos dados resultará em uma alteração significativa no hash raiz, garantindo assim a segurança e a consistência dos dados. Além disso, o projeto do MPT suporta a verificação do "cliente leve", permitindo que os nós verifiquem a existência ou o estado de informações específicas armazenando apenas o hash raiz da árvore e os nós de caminho necessários, reduzindo significativamente os requisitos de armazenamento e processamento de dados.

Por meio do MPT, a Ethereum não só consegue um gerenciamento eficiente e acesso rápido aos dados, mas também garante a segurança e a descentralização da rede, apoiando a operação e o desenvolvimento de toda a rede Ethereum.

  • Máquina de estado

A arquitetura central da Ethereum integra o conceito de máquina de estado, em que a Máquina Virtual Ethereum (EVM) serve como ambiente de tempo de execução para a execução de todo o código de contrato inteligente, e a própria Ethereum pode ser vista como um sistema de transição de estado compartilhado globalmente. A execução de cada bloco pode ser vista como um processo de transição de estado, passando de um estado globalmente compartilhado para outro. Esse design não apenas garante a consistência e a descentralização da rede Ethereum, mas também torna os resultados da execução de contratos inteligentes previsíveis e à prova de adulteração.

Na Ethereum, o estado se refere às informações atuais de todas as contas, incluindo o saldo de cada conta, os dados armazenados e o código de contrato inteligente. Sempre que ocorre uma transação, o EVM calcula e faz a transição do estado com base no conteúdo da transação, um processo registrado de forma eficiente e segura por meio da árvore Merkle Patricia (MPT). Cada transição de estado não apenas altera os dados da conta, mas também leva a uma atualização do MPT, refletida na alteração do valor de hash da raiz da árvore.

A relação entre o EVM e o MPT é crucial porque o MPT garante a integridade dos dados para as transições de estado da Ethereum. Quando o EVM executa transações e altera os estados da conta, os nós MPT relacionados são atualizados para refletir essas alterações. Como cada nó no MPT é vinculado por hashes, qualquer modificação no estado causará uma alteração no hash raiz, que é então incluído em um novo bloco, garantindo a consistência e a segurança de todo o estado do Ethereum. A seguir, apresentamos a máquina virtual EVM.

  • EVM

A máquina virtual EVM é fundamental para a construção da Ethereum, permitindo a execução de contratos inteligentes e transições de estado. Graças ao EVM, o Ethereum pode ser realmente imaginado como um computador mundial. O EVM é Turing-completo, o que significa que os contratos inteligentes na Ethereum podem realizar cálculos lógicos arbitrariamente complexos, enquanto a introdução do mecanismo de gás evita com sucesso loops infinitos dentro dos contratos, garantindo a estabilidade e a segurança da rede. De uma perspectiva técnica mais profunda, a EVM é uma máquina virtual baseada em pilha que executa contratos inteligentes usando bytecode específico da Ethereum. Em geral, os desenvolvedores usam linguagens de alto nível, como Solidity, para escrever contratos inteligentes, que são compilados em bytecode compreensível pelo EVM para execução. O EVM é fundamental para a capacidade de inovação do blockchain da Ethereum, não apenas apoiando a operação de contratos inteligentes, mas também fornecendo uma base sólida para o desenvolvimento de aplicativos descentralizados. Por meio do EVM, a Ethereum está moldando um futuro digital descentralizado, seguro e aberto.

Revisão histórica

Figura 1 Análise histórica do Ethereum

Desafios

Segurança

Os contratos inteligentes são programas de computador executados no blockchain da Ethereum. Eles permitem que os desenvolvedores criem e implementem vários aplicativos, incluindo, entre outros, aplicativos de empréstimo, trocas descentralizadas, seguros, financiamento secundário, redes sociais e NFTs. A segurança dos contratos inteligentes é crucial para esses aplicativos, pois eles manipulam e controlam diretamente as criptomoedas. Qualquer vulnerabilidade em contratos inteligentes ou ataques maliciosos pode representar ameaças diretas à segurança dos fundos, podendo levar a perdas financeiras significativas. Por exemplo, em 26 de fevereiro de 2024, o protocolo de empréstimo DeFi Blueberry Protocol foi atacado devido a uma falha na lógica do contrato inteligente, resultando em uma perda de aproximadamente US$ 1.400.000.

As vulnerabilidades dos contratos inteligentes são multifacetadas, abrangendo lógica comercial irracional, controle de acesso inadequado, validação de dados inadequada, ataques de reentrada e ataques de DOS (negação de serviço), entre outros. Essas vulnerabilidades podem levar a problemas na execução do contrato, afetando a operação eficaz dos contratos inteligentes. Por exemplo, os ataques DOS envolvem atacantes que enviam um grande volume de transações para esgotar os recursos da rede, impedindo que as transações normais dos usuários sejam processadas em tempo hábil. Essa degradação na experiência do usuário também pode levar ao aumento das taxas de gás das transações, pois os usuários podem precisar pagar taxas mais altas para priorizar suas transações em uma rede congestionada.

Além disso, os usuários do Ethereum também enfrentam riscos de investimento, com a segurança dos fundos ameaçada. Por exemplo, "shitcoins" são criptomoedas consideradas como tendo pouco ou nenhum valor ou potencial de crescimento a longo prazo. As shitcoins são frequentemente usadas como ferramentas para fraudes ou para esquemas de pump-and-dump. O risco de investimento associado às shitcoins é alto, podendo levar a perdas financeiras significativas. Devido ao seu baixo preço e capitalização de mercado, são altamente suscetíveis à manipulação e à volatilidade. Essas criptomoedas são comumente usadas em esquemas de "pump-and-dump" e "honey pot scams", em que os investidores são atraídos por projetos falsos e depois roubados de seus fundos. Outro risco comum associado às shitcoins é a "puxada de tapete", em que os criadores removem repentinamente toda a liquidez de um projeto, fazendo com que o valor do token caia. Esses golpes geralmente são comercializados por meio de parcerias e endossos falsos e, quando o preço do token aumenta, os golpistas vendem seus tokens, lucram e desaparecem, deixando os investidores com tokens sem valor. Além disso, investir em shitcoins pode desviar a atenção e os recursos de criptomoedas legítimas com aplicações reais e potencial de crescimento.

Além das shitcoins, as "air coins" e as "pyramid scheme coins" também são métodos para obter lucros rápidos. Para os usuários que não têm conhecimento e experiência profissional, distingui-los das criptomoedas legítimas é particularmente desafiador.

Eficiência

Dois indicadores muito diretos para avaliar a eficiência da Ethereum são a velocidade das transações e as taxas de gás. A velocidade da transação refere-se ao número de transações que a rede Ethereum pode processar em uma unidade de tempo. Essa métrica reflete diretamente a capacidade de processamento da rede Ethereum, em que uma velocidade mais rápida indica maior eficiência. Cada transação na Ethereum exige uma certa quantia de taxas de gás, que compensam os mineradores pela verificação da transação. Taxas de gás mais baixas indicam maior eficiência no Ethereum.

Uma diminuição na velocidade da transação leva a um aumento nas taxas de gás. Em geral, quando a velocidade de processamento das transações diminui, devido ao espaço limitado do bloco, a concorrência entre as transações para entrar no próximo bloco pode aumentar. Para se destacar nessa concorrência, os traders costumam aumentar as taxas de gás, pois os mineradores tendem a priorizar as transações com taxas de gás mais altas durante a verificação. Portanto, taxas de gás mais altas podem degradar a experiência do usuário.

As transações são apenas as atividades básicas da Ethereum. Nesse ecossistema, os usuários também podem se envolver em várias atividades, como empréstimos, staking, investimentos, seguros etc., que podem ser realizadas por meio de DApps específicos. No entanto, dada a grande variedade de DApps e a falta de serviços de recomendação personalizados semelhantes aos dos setores tradicionais, os usuários podem achar confuso escolher os aplicativos e produtos certos para si mesmos. Essa situação pode levar a uma diminuição da satisfação do usuário, afetando assim a eficiência geral do ecossistema Ethereum.

Tomemos o empréstimo como exemplo. Algumas plataformas de empréstimo DeFi usam um mecanismo de sobregarantia para manter a segurança e a estabilidade de sua plataforma. Isso significa que os tomadores de empréstimo precisam colocar mais ativos como garantia, que não podem ser usados para outras atividades durante o período do empréstimo. Isso leva a uma diminuição na taxa de utilização de capital dos tomadores de empréstimos, reduzindo assim a liquidez do mercado.

Aplicações de aprendizado de máquina na Ethereum

Os modelos de aprendizado de máquina, como o modelo RFM, as redes adversárias generativas (GAN), os modelos de árvore de decisão, o algoritmo K-Nearest Neighbors (KNN) e o algoritmo de agrupamento DBSCAN, estão desempenhando papéis importantes na Ethereum. A aplicação desses modelos de aprendizado de máquina na Ethereum pode ajudar a otimizar a eficiência do processamento de transações, aumentar a segurança de contratos inteligentes, implementar a segmentação de usuários para fornecer serviços mais personalizados e contribuir para a operação estável da rede.

Introdução aos algoritmos

Os algoritmos de aprendizado de máquina são um conjunto de instruções ou regras usadas para analisar dados, aprender padrões dentro dos dados e fazer previsões ou tomar decisões com base nesses aprendizados. Eles são aprimorados automaticamente por meio do aprendizado com os dados fornecidos, sem a necessidade de programação explícita por parte de humanos. Os modelos de aprendizado de máquina, como o modelo RFM, as redes adversárias generativas (GAN), os modelos de árvore de decisão, o algoritmo K-Nearest Neighbors (KNN) e o algoritmo de agrupamento DBSCAN, estão desempenhando papéis importantes na Ethereum. A aplicação desses modelos de aprendizado de máquina na Ethereum pode ajudar a otimizar a eficiência do processamento de transações, aumentar a segurança de contratos inteligentes, implementar a segmentação de usuários para fornecer serviços mais personalizados e contribuir para a operação estável da rede.

Classificadores Bayesianos

Os classificadores bayesianos estão entre os vários métodos de classificação estatística que visam minimizar a probabilidade de erros de classificação ou minimizar o risco médio em uma estrutura de custo específica. Sua filosofia de design está profundamente enraizada no teorema bayesiano, que permite o cálculo da probabilidade de um objeto pertencer a uma determinada classe, dadas algumas características conhecidas. Ao calcular a probabilidade posterior do objeto, as decisões são tomadas. Especificamente, os classificadores bayesianos primeiro consideram a probabilidade anterior do objeto e, em seguida, aplicam a fórmula bayesiana para levar em conta os dados observados, atualizando assim a crença sobre a classificação do objeto. Entre todas as classificações possíveis, os classificadores bayesianos escolhem a categoria com a maior probabilidade posterior para o objeto. A principal vantagem desse método está em sua capacidade natural de lidar com incertezas e informações incompletas, o que o torna uma ferramenta poderosa e flexível, adequada para uma ampla gama de aplicações.

Conforme ilustrado na Figura 2, no aprendizado de máquina supervisionado, as decisões de classificação são tomadas usando dados e modelos de probabilidade baseados no teorema bayesiano. Utilizando a verossimilhança, as probabilidades anteriores de categorias e recursos, os classificadores bayesianos calculam as probabilidades posteriores de cada categoria para os pontos de dados e atribuem os pontos de dados à categoria com a maior probabilidade posterior. No gráfico de dispersão à direita, o classificador tenta encontrar uma curva que separe melhor os pontos de cores diferentes, minimizando assim os erros de classificação.

Figura 2 Classificador bayesiano

  • Árvores de decisão

Os algoritmos de árvore de decisão são comumente usados para tarefas de classificação e regressão, adotando uma abordagem hierárquica de tomada de decisão. Eles geram árvores dividindo os recursos com alto ganho de informações com base em dados conhecidos, treinando assim uma árvore de decisão. Em essência, o algoritmo pode aprender automaticamente uma regra de tomada de decisão a partir dos dados para determinar os valores das variáveis. Especificamente, ele simplifica processos complexos de tomada de decisão em várias sub-decisões mais simples. Cada decisão mais simples é derivada de um critério de decisão pai, formando uma estrutura em forma de árvore.

Conforme mostrado na Figura 3, cada nó representa uma decisão, definindo um critério para julgar um determinado atributo, enquanto os ramos representam os resultados da decisão. Cada nó folha representa o resultado final previsto e a categoria. Do ponto de vista estrutural, o modelo de árvore de decisão é intuitivo, fácil de entender e tem grande poder explicativo.

Imagem 3 Modelo de árvore de decisão

  • Algoritmo DBSCAN

O DBSCAN (Density-Based Spatial Clustering of Applications with Noise) é um algoritmo de agrupamento espacial baseado em densidade que é particularmente eficaz para conjuntos de dados com ruído e para identificar clusters de qualquer formato sem a necessidade de especificar o número de clusters antecipadamente. Ele tem um desempenho robusto contra outliers no conjunto de dados. O algoritmo pode identificar com eficácia os outliers, definidos como pontos em áreas de baixa densidade, conforme ilustrado na Figura 4.

Figura 4 Identificação de ruído com o algoritmo DBSCAN

  • Algoritmo KNN

O algoritmo K-Nearest Neighbors (KNN) pode ser usado tanto para tarefas de classificação quanto de regressão. Na classificação, a categoria de um item a ser classificado é determinada por meio de um mecanismo de votação; na regressão, ele faz a previsão calculando a média ou a média ponderada das k amostras mais próximas.

Conforme mostrado na Figura 5, o princípio de funcionamento do algoritmo KNN na classificação é encontrar os k vizinhos mais próximos de um novo ponto de dados e prever a categoria do novo ponto de dados com base nas categorias desses vizinhos. Se K=1, o novo ponto de dados é simplesmente atribuído à categoria de seu vizinho mais próximo. Se K>1, a categoria geralmente é determinada por uma votação majoritária, o que significa que o novo ponto de dados é atribuído à categoria mais comum entre seus vizinhos. Quando usado em regressão, o princípio permanece o mesmo, mas o resultado é a média das saídas das k amostras mais próximas.

Figura 5 Algoritmo KNN usado para classificação

  • Inteligência Artificial GenerativaInteligência Artificial Generativa

A inteligência artificial (IA) generativa é um tipo de tecnologia de IA que pode gerar novo conteúdo (como texto, imagens, música etc.) com base nos requisitos de entrada. Sua base está nos avanços da aprendizagem automática e da aprendizagem profunda, especialmente em aplicações nos campos de processamento de linguagem natural e reconhecimento de imagens. A IA generativa aprende padrões e associações a partir de uma grande quantidade de dados e, em seguida, gera um resultado totalmente novo com base nessas informações aprendidas. A chave para a inteligência artificial generativa está no treinamento do modelo, que requer dados de alta qualidade para aprendizado e treinamento. Durante esse processo, o modelo melhora gradativamente sua capacidade de gerar novos conteúdos, analisando e compreendendo a estrutura, os padrões e os relacionamentos dentro do conjunto de dados.

  • Transformador

O Transformer, como pedra angular da inteligência artificial generativa, introduziu o mecanismo de atenção de forma inovadora. Isso permite que o processamento de informações se concentre nos pontos principais e, ao mesmo tempo, tenha uma visão global, um recurso exclusivo que fez com que o Transformer se destacasse no domínio da geração de texto. A utilização dos mais recentes modelos de linguagem natural, como o GPT (Generative Pre-trained Transformer), para entender os requisitos do usuário expressos em linguagem natural e convertê-los automaticamente em código executável pode reduzir a complexidade do desenvolvimento e aumentar significativamente a eficiência.

Conforme mostrado na Figura 6, a introdução do mecanismo de atenção de várias cabeças e do mecanismo de autoatenção, combinados com conexões residuais e redes neurais totalmente conectadas, além de aproveitar as tecnologias anteriores de incorporação de palavras, elevou muito o desempenho dos modelos generativos relacionados ao processamento de linguagem natural.

Figura 6 Modelo de transformador

  • Modelo RFM

O modelo RFM é um modelo de análise baseado no comportamento de compra do cliente, que pode identificar diferentes grupos de clientes de valor por meio da análise de seu comportamento de transação. Esse modelo pontua e categoriza os clientes com base no momento da compra mais recente (Recency, R), na frequência das compras (Frequency, F) e no valor gasto (Monetary value, M).

Conforme ilustrado na Figura 7, esses três indicadores formam o núcleo do modelo RFM. O modelo pontua os clientes nessas três dimensões e os classifica com base nas pontuações para identificar os grupos de clientes mais valiosos. Além disso, esse modelo segmenta efetivamente os clientes em diferentes grupos, facilitando a funcionalidade de estratificação de clientes.

Figura 7 Modelo de camadas do RFM

Aplicações em potencial

Ao aplicar a tecnologia de aprendizado de máquina para lidar com os desafios de segurança da Ethereum, realizamos pesquisas em quatro aspectos principais:

Aplicações em potencial

Ao abordar os desafios de segurança da Ethereum por meio de técnicas de aprendizado de máquina, realizamos pesquisas em quatro aspectos principais:

  • Identificação e filtragem de transações maliciosas com base no classificador bayesiano**

    Ao criar um classificador bayesiano, é possível identificar e filtrar possíveis transações de spam, incluindo, entre outras, as que causam ataques DOS por meio de grandes volumes de transações pequenas e frequentes. Esse método mantém a integridade da rede de forma eficaz, analisando as características das transações, como os preços do gás e a frequência das transações, garantindo assim a operação estável da rede Ethereum.

  • Geração de código de contrato inteligente seguro e que atende a requisitos específicos**

    As redes adversariais generativas (GANs) e as redes generativas baseadas em transformadores podem ser usadas para gerar códigos de contratos inteligentes que atendam a requisitos específicos e, ao mesmo tempo, garantam a segurança do código o máximo possível. No entanto, essas duas abordagens diferem nos tipos de dados em que se baseiam para o treinamento do modelo: a primeira depende principalmente de amostras de código inseguras, enquanto a segunda depende do oposto.

    Ao treinar GANs para aprender os padrões de contratos seguros existentes e criar modelos autoadversários para gerar código potencialmente inseguro e, em seguida, aprender a identificar essas inseguranças, é possível gerar automaticamente um código de contrato inteligente mais seguro e de alta qualidade. Utilizando modelos de rede generativa baseados no Transformer, aprendendo com uma vasta gama de exemplos de contratos seguros, é possível gerar códigos de contrato que atendam a necessidades específicas e otimizem o consumo de gás, aumentando, sem dúvida, a eficiência e a segurança do desenvolvimento de contratos inteligentes.

  • Análise de risco de contratos inteligentes com base em árvores de decisão**

    O uso de árvores de decisão para analisar as características dos contratos inteligentes, como a frequência de chamadas de funções, o valor da transação e a complexidade do código-fonte, pode identificar com eficácia os níveis de risco em potencial dos contratos. A análise dos padrões operacionais e da estrutura de código dos contratos pode prever possíveis vulnerabilidades e pontos de risco, fornecendo aos desenvolvedores e usuários uma avaliação de segurança. Espera-se que esse método melhore significativamente a segurança dos contratos inteligentes no ecossistema Ethereum, reduzindo assim as perdas causadas por vulnerabilidades ou códigos maliciosos.

  • Criação de um modelo de avaliação de criptomoedas para reduzir os riscos de investimento**

    Ao analisar os dados de negociação, a atividade de mídia social e o desempenho de mercado das criptomoedas por meio de algoritmos de aprendizado de máquina, é possível criar um modelo de avaliação que pode prever a probabilidade de uma criptomoeda ser uma "moeda lixo". Esse modelo pode oferecer percepções valiosas aos investidores, ajudando-os a evitar riscos de investimento e, assim, promovendo o desenvolvimento saudável do mercado de criptomoedas.

Além disso, a aplicação do aprendizado de máquina também tem o potencial de aumentar ainda mais a eficiência da Ethereum. Podemos explorar isso a partir das três dimensões principais a seguir:

  • Aplicação de árvore de decisão para otimizar o modelo de fila do pool de transações

A aplicação de árvores de decisão na otimização do modelo de fila do pool de transações

O uso de árvores de decisão pode otimizar efetivamente o mecanismo de enfileiramento do pool de transações da Ethereum. Ao analisar as características da transação, como os preços do gás e o tamanho da transação, as árvores de decisão podem otimizar a seleção e o ordenamento das transações. Esse método pode melhorar significativamente a eficiência do processamento de transações, reduzir efetivamente o congestionamento da rede e diminuir o tempo de espera dos usuários pelas transações.

  • Segmentação de usuários e fornecimento de serviços personalizados

O modelo RFM (Recency, Frequency, Monetary value), uma ferramenta amplamente usada no gerenciamento do relacionamento com o cliente, pode segmentar efetivamente os usuários avaliando o tempo da transação mais recente (Recency), a frequência da transação (Frequency) e o valor da transação (Monetary value). A aplicação do modelo RFM na plataforma Ethereum pode ajudar a identificar grupos de usuários de alto valor, otimizar a alocação de recursos e fornecer serviços mais personalizados, aumentando assim a satisfação do usuário e a eficiência geral da plataforma. O modelo RFM (Recency, Frequency, Monetary value), uma ferramenta amplamente usada no gerenciamento do relacionamento com o cliente, pode segmentar os usuários de forma eficaz, avaliando o tempo da transação mais recente (Recency), a frequência da transação (Frequency) e o valor da transação (Monetary value). A aplicação do modelo RFM na plataforma Ethereum pode ajudar a identificar grupos de usuários de alto valor, otimizar a alocação de recursos e fornecer serviços mais personalizados, aumentando assim a satisfação do usuário e a eficiência geral da plataforma.

O algoritmo DBSCAN também pode analisar o comportamento das transações dos usuários, ajudando a identificar diferentes grupos de usuários na Ethereum e a fornecer serviços financeiros mais personalizados para diferentes usuários. Essa estratégia de segmentação de usuários pode otimizar as estratégias de marketing, aumentar a satisfação do cliente e a eficiência do serviço.

  • Pontuação de crédito baseada em KNN

O algoritmo K-Nearest Neighbors (KNN) pode pontuar o crédito dos usuários analisando seu histórico de transações e padrões de comportamento na Ethereum, que desempenha um papel extremamente importante em atividades financeiras, como empréstimos. A pontuação de crédito ajuda as instituições financeiras e as plataformas de empréstimo a avaliar a capacidade de pagamento e o risco de crédito dos tomadores de empréstimo, tomando decisões de empréstimo mais precisas. Isso pode evitar empréstimos excessivos e melhorar a liquidez do mercado.

Orientações futuras

Do ponto de vista da alocação de capital macro, a Ethereum, como o maior computador distribuído do mundo, nunca pode ser investida em excesso na camada de infraestrutura, precisando atrair mais desenvolvedores de diversas origens para participar da co-construção. Neste artigo, ao analisarmos a implementação técnica da Ethereum e os problemas que ela enfrenta, prevemos uma série de aplicações intuitivas de aprendizado de máquina e esperamos que os desenvolvedores de IA da comunidade transformem essas visões em valor real.

À medida que a capacidade de computação na cadeia aumenta gradualmente, podemos prever o desenvolvimento de modelos mais complexos para gerenciamento de rede, monitoramento de transações, auditoria de segurança, etc., melhorando a eficiência e a segurança da rede Ethereum.

Além disso, os mecanismos de governança orientados por agentes/IA também podem se tornar uma inovação significativa no ecossistema Ethereum. Esse mecanismo, que traz processos de tomada de decisão mais eficientes, transparentes e automatizados, poderia fornecer à Ethereum uma estrutura de governança mais flexível e confiável. Esses desenvolvimentos futuros não apenas promoverão a inovação na tecnologia Ethereum, mas também proporcionarão aos usuários uma experiência de maior qualidade na cadeia.

Isenção de responsabilidade:

  1. Este artigo foi reproduzido de [TechFlow]. *Forward the Original Title'另一个角度看「AI+Blockchain」:AI 如何革新以太坊?'.Todos os direitos autorais pertencem ao autor original[Salus]. Se houver alguma objeção a essa reimpressão, entre em contato com a equipe do Gate Learn, que tratará do assunto imediatamente.
  2. Isenção de responsabilidade: Os pontos de vista e opiniões expressos neste artigo são de responsabilidade exclusiva do autor e não constituem consultoria de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!