AI+Blockchain

iniciantes3/20/2024, 5:11:49 AM
Este artigo introduz a implementação técnica do Ethereum e propõe uma solução para aplicar aprendizado de máquina à rede Ethereum para aprimorar a segurança, eficiência e escalabilidade. Inovações foram feitas nas transações do Ethereum, mecanismos de consenso, algoritmos de assinatura, armazenamento de dados e arquitetura de execução. A aprendizagem de máquina pode ser aplicada ao Ethereum para otimizar o processamento de transações, a segurança de contratos inteligentes, a segmentação de usuários e a estabilidade da rede. Modelos como RFM e algoritmos como DBSCAN podem ajudar a identificar usuários de alto valor e personalizar serviços financeiros. No futuro, o Ethereum pode desenvolver aplicações de aprendizado de máquina mais complexas para melhorar a eficiência e segurança da rede, e até mesmo alcançar mecanismos de governança impulsionados por IA.

Encaminhar o Título Original: Como a IA está inovando o Ethereum? Olhando para o "AI+Blockchain" de outra perspectiva

Ao longo do último ano, com a IA generativa repetidamente superando as expectativas, uma onda de revolução na produtividade da IA varreu a comunidade de criptomoedas. Muitos projetos conceituais de IA têm trazido um mito de criação de riqueza no mercado secundário. Ao mesmo tempo, cada vez mais desenvolvedores estão começando a desenvolver seus próprios projetos "IA+Crypto".

No entanto, mediante uma observação mais detalhada, pode-se notar que esses projetos exibem uma fungibilidade severa, com a maioria dos projetos se concentrando apenas em melhorar as 'relações de produção', como a organização de poder computacional por meio de redes descentralizadas ou a criação de um 'Hugging Face descentralizado', e assim por diante. Poucos projetos tentam uma integração genuína e inovação a partir da tecnologia subjacente. Acreditamos que a razão para esse fenômeno reside em um 'viés de domínio' entre os campos de IA e blockchain. Apesar de sua extensa interseção, poucas pessoas realmente entendem ambos os domínios. Por exemplo, os desenvolvedores de IA acham desafiador entender a implementação técnica e o status da infraestrutura histórica do Ethereum, quanto mais propor soluções de otimização aprofundadas.

Levando a aprendizagem de máquina (ML), o ramo mais básico da IA, como exemplo, é uma tecnologia onde as máquinas podem tomar decisões com base em dados sem instruções explícitas de programação. A aprendizagem de máquina tem mostrado um potencial tremendo na análise de dados e no reconhecimento de padrões e se tornou comum na Web 2. No entanto, devido às suas limitações iniciais, mesmo na vanguarda da inovação em tecnologia de bloco como Ethereum, sua arquitetura, rede e mecanismos de governança ainda não utilizaram efetivamente a aprendizagem de máquina como uma ferramenta para resolver problemas complexos.

"Grandes inovações frequentemente surgem de campos interdisciplinares." O objetivo de escrever este artigo é ajudar os desenvolvedores de IA a compreender melhor o mundo da blockchain e fornecer novas ideias para os desenvolvedores na comunidade Ethereum. Neste artigo, primeiro introduzimos a implementação técnica do Ethereum e depois propomos uma solução para aplicar aprendizado de máquina, um algoritmo fundamental de IA, à rede Ethereum para aprimorar sua segurança, eficiência e escalabilidade. Esperamos que este caso sirva como um ponto de partida para apresentar algumas perspectivas diferentes do mercado e estimular mais combinações cruzadas inovadoras de "IA+Blockchain" no ecossistema de desenvolvedores.

Implementação Técnica do Ethereum

  1. Estrutura de dados básica
    A essência da blockchain é uma cadeia de blocos, e a chave para distinguir as cadeias está na configuração da cadeia, uma parte essencial de qualquer gênese de blockchain. Para o Ethereum, a configuração da cadeia é usada para diferenciar entre diferentes cadeias dentro do Ethereum, identificando protocolos de atualização importantes e eventos importantes. Por exemplo, o Bloqueio DAOForkBlock significa a altura da bifurcação rígida do Ethereum após o ataque DAO, enquanto ConstantinopleBlock marca a altura do bloco para a atualização de Constantinople. Para grandes atualizações contendo inúmeras propostas de melhoria, campos especiais são definidos para identificar as alturas dos blocos correspondentes. Além disso, o Ethereum compreende várias redes de teste e a rede principal, identificadas de forma única pelo ChainID para denotar seus respectivos ecossistemas de rede.
    O bloco gênesis serve como o zeroésimo bloco de toda a blockchain, referenciado direta ou indiretamente por outros blocos. Portanto, os nós devem carregar as informações corretas do bloco gênesis na inicialização, sem modificações arbitrárias permitidas. As informações de configuração do bloco gênesis incluem a configuração da cadeia mencionada acima, juntamente com detalhes adicionais, como recompensas relevantes de mineração, carimbos de data/hora, dificuldade e limites de gás. Vale ressaltar que o mecanismo de consenso do Ethereum mudou da mineração de prova de trabalho para a prova de aposta.
    As contas do Ethereum são divididas em contas externas e contas de contrato. Contas externas são controladas por uma chave privada única, enquanto contas de contrato não possuem controle de chave privada e só podem ser operadas chamando a execução de código de contrato por meio de contas externas. Cada conta corresponde a um nó folha no estado mundial do Ethereum, armazenando o estado da conta (várias informações da conta e detalhes do código).
    Transações: Como uma plataforma descentralizada principalmente para transações e contratos, os blocos do Ethereum consistem em transações empacotadas e informações adicionais relacionadas. Um bloco é dividido em duas partes: o cabeçalho do bloco e o corpo do bloco. Os dados do cabeçalho do bloco contêm evidências que vinculam todos os blocos em uma cadeia, incluindo o hash do bloco anterior e provas de todo o estado mundial do Ethereum, raiz da transação, raiz do recibo e dados adicionais, como dificuldade e nonce. O corpo do bloco armazena a lista de transações e a lista de cabeçalhos de blocos órfãos (como o Ethereum passou para a prova de participação, as referências de blocos órfãos não existem mais).
    Os recibos de transação fornecem os resultados da execução da transação e informações adicionais, que não podem ser obtidas diretamente examinando a transação em si. Especificamente, eles contêm conteúdo de consenso, informações de transação e informações de bloco, indicando se o processamento da transação foi bem-sucedido e fornecendo logs de transação e detalhes de consumo de gás. Analisar as informações nos recibos ajuda a depurar o código do contrato inteligente e otimizar o consumo de gás, ao mesmo tempo que fornece confirmação de que a transação foi processada pela rede e permite a visualização dos resultados e impactos da transação.
    No Ethereum, as taxas de gás podem ser compreendidas simplesmente como taxas de transação. Quando você envia tokens, executa contratos inteligentes, transfere Ether ou realiza várias operações na blockchain dentro de um bloco específico, essas transações exigem taxas de gás. Os recursos computacionais do Ethereum são consumidos ao processar essas transações, e você deve pagar taxas de gás para incentivar a rede a trabalhar para você. Em última análise, as taxas de gás são pagas como taxas de transação para os mineradores, e a fórmula de cálculo específica pode ser compreendida como Taxa = Gás Utilizado * Preço do Gás, onde o preço por unidade de gás é definido pelo iniciador da transação e frequentemente determina a velocidade de inclusão da transação nos blocos. Definir o preço do gás muito baixo pode resultar em transações não sendo executadas, e também é necessário definir um limite de gás como um limite superior para evitar o consumo inesperado de gás devido a erros em contratos inteligentes.

  2. Pool de negociação
    No Ethereum, há um grande número de transações e, em comparação com sistemas centralizados, a capacidade dos sistemas descentralizados em termos de transações por segundo é significativamente menor. Com um grande número de transações entrando nos nós, os nós precisam manter um pool de transações para gerenciar essas transações corretamente. A transmissão de transações ocorre por meio de comunicação peer-to-peer. Especificamente, um nó transmitirá transações executáveis para seus nós vizinhos, que por sua vez propagarão a transação para seus nós vizinhos, permitindo que uma transação se espalhe por toda a rede Ethereum em 6 segundos.
    As transações no pool de negociação são divididas em transações executáveis e transações não executáveis. As transações executáveis, que têm prioridade mais alta, são executadas e incluídas em blocos, enquanto todas as transações que entram inicialmente no pool são não executáveis e se tornam executáveis posteriormente. Transações executáveis e não executáveis são registradas no contêiner pendente e no contêiner de fila, respectivamente.
    Além disso, o pool de transações mantém uma lista de transações locais. As transações locais têm várias vantagens, incluindo prioridade mais alta, imunidade às restrições de volume de transações e recarregamento imediato no pool de transações após a reinicialização do nó. O armazenamento de persistência local das transações locais é alcançado por meio de um diário, garantindo que as transações locais inacabadas não sejam perdidas e sejam atualizadas periodicamente.
    Antes que uma transação seja enfileirada, sua validade é verificada, incluindo vários tipos de verificações como prevenção de ataques DOS, prevenção de transações negativas e verificação dos limites de gas da transação. A composição simples da fila de transações pode ser dividida em fila + pendente (compreendendo todas as transações). Após a conclusão das verificações de validade, verificações subsequentes são realizadas, incluindo verificar se a fila de transações atingiu seu limite e determinar se as transações remotas (transações não locais) têm o preço mais baixo na fila de transações, substituindo a transação de preço mais baixo na fila. Para substituir transações executáveis, somente transações com um aumento de taxa de até 10% são permitidas para substituir aquelas que estão aguardando execução, e as transações substituídas são armazenadas como transações não executáveis. Além disso, transações inválidas e acima do limite são removidas durante o processo de manutenção da fila de transações, e transações elegíveis são substituídas.

  3. Mecanismo de Consenso
    Nas fases iniciais, a teoria de consenso do Ethereum era baseada no método de cálculo do valor de dificuldade hash. Em outras palavras, era necessário calcular o valor hash de um bloco para atender à condição do valor de dificuldade alvo para que o bloco fosse considerado válido. À medida que o algoritmo de consenso do Ethereum passou de Proof of Work (PoW) para Proof of Stake (PoS), vou esboçar brevemente o algoritmo PoS aqui. O Ethereum completou a fusão da cadeia do beacon em setembro de 2022, implementando o algoritmo PoS. Especificamente, em um Ethereum baseado em PoS, o tempo de bloco de cada bloco é estável em 12 segundos. Os usuários apostam seu Ethereum para obter o direito de se tornarem validadores. Em seguida, é realizado um processo de seleção aleatória entre os apostadores participantes para escolher um conjunto de validadores. Em cada rodada, que inclui 32 slots, um validador é selecionado como proponente para cada slot, enquanto os validadores restantes no mesmo slot atuam como um comitê para validar a legitimidade do bloco proposto e julgar a legitimidade dos blocos da rodada anterior. O algoritmo PoS estabiliza significativamente e acelera a produção de blocos, evitando grandemente o desperdício de recursos computacionais.

  4. Algoritmo de Assinatura
    O Ethereum adota o mesmo padrão de algoritmo de assinatura que o Bitcoin, que usa a curva secp256k1. Especificamente, o algoritmo de assinatura empregado é ECDSA, onde a assinatura é calculada com base no hash da mensagem original. A assinatura consiste nos componentes R+S+V. Cada cálculo introduz um número aleatório, e R+S representa a saída original do ECDSA. O campo V final, conhecido como campo de recuperação, indica o número de tentativas necessárias para recuperar com sucesso a chave pública do conteúdo e assinatura, pois encontrar as coordenadas que atendem aos requisitos com base no valor R na curva elíptica pode ter múltiplas soluções.
    O processo inteiro pode ser resumido da seguinte forma: os dados da transação e as informações relevantes do signatário são hasheados depois de serem codificados por RLP, e a assinatura final é obtida ao assinar com a chave privada via ECDSA. A curva usada no ECDSA é a curva elíptica secp256k1. Finalmente, os dados da transação assinados são combinados com os dados da transação para obter dados da transação assinados que podem ser transmitidos.
    A estrutura de dados do Ethereum não apenas depende da tecnologia blockchain tradicional, mas também incorpora a Árvore de Patricia Merkle (MPT), também conhecida como Árvore de Prefixo Comprimido Merkle, para armazenamento eficiente e verificação de grandes quantidades de dados. MPT combina a função de hash criptográfico da árvore de Merkle e a característica de compressão do caminho chave da árvore de Patricia, fornecendo uma solução que garante a integridade dos dados e suporta buscas rápidas.

  5. Árvore de Patricia Merkle (MPT)
    No Ethereum, o MPT é usado para armazenar todos os dados de estado e transação, garantindo que quaisquer alterações nos dados sejam refletidas 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 verificar 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 ramo e nós vazios, que juntos formam uma árvore capaz de se adaptar a mudanças dinâmicas de dados. Sempre que os dados são atualizados, o MPT reflete essas alterações adicionando, excluindo ou modificando nós, enquanto atualiza o hash raiz da árvore. Como cada nó é criptografado por meio de uma função de hash, quaisquer pequenas alterações nos dados levarão a alterações significativas no hash raiz, garantindo a segurança e a consistência dos dados. Além disso, o projeto do MPT suporta a verificação de "cliente leve", permitindo que os nós verifiquem a existência ou o status de informações específicas armazenando apenas o hash raiz da árvore e os nós de caminho necessários, reduzindo consideravelmente a necessidade de armazenamento e processamento de dados.
    Através do MPT, o Ethereum não só alcança a gestão eficiente e o acesso rápido aos dados, mas também garante a segurança e descentralização da rede, apoiando a operação e desenvolvimento de toda a rede Ethereum.

  6. Máquina de Estado
    A arquitetura central do Ethereum incorpora o conceito de uma máquina de estados, onde a Máquina Virtual Ethereum (EVM) é o ambiente de execução para executar todo o código de contrato inteligente, e o próprio Ethereum pode ser visto como um sistema de transição de estados compartilhado globalmente. A execução de cada bloco pode ser vista como um processo de transição de estados, movendo-se de um estado compartilhado global para outro. Este design garante a consistência e descentralização da rede Ethereum e torna os resultados de execução de contratos inteligentes previsíveis e à prova de adulteração.
    No Ethereum, o estado refere-se às informações atuais de todas as contas, incluindo o saldo de cada conta, dados armazenados e o código dos contratos inteligentes. Sempre que ocorre uma transação, o EVM calcula e transforma o estado com base no conteúdo da transação, e esse processo é registrado de forma eficiente e segura por meio do MPT. Cada transição de estado não apenas altera os dados da conta, mas também leva à atualização do MPT, refletida na alteração do hash raiz da árvore.
    A relação entre EVM e MPT é crucial porque o MPT fornece a garantia da integridade dos dados para as transições de estado do Ethereum. Quando o EVM executa transações e altera estados de conta, os nós relevantes do MPT são atualizados para refletir essas mudanças. Como cada nó do MPT é vinculado por hashes, qualquer modificação no estado causará uma alteração no hash raiz, que é então incluído no novo bloco, garantindo a consistência e segurança de todo o estado do Ethereum. Agora, vamos apresentar a Máquina Virtual Ethereum (EVM).

  7. EVM
    A Máquina Virtual Ethereum (EVM) é o componente fundamental responsável por executar contratos inteligentes e facilitar transições de estado dentro da rede Ethereum. É graças à EVM que o Ethereum pode ser visto como um computador mundial. A EVM é Turing completa, o que significa que os contratos inteligentes implantados no Ethereum podem executar computações lógicas complexas arbitrariamente. A introdução do mecanismo de gás no Ethereum impede cenários como loops infinitos dentro de contratos, garantindo estabilidade e segurança na rede.

Em um nível mais técnico, a EVM é uma máquina virtual baseada em pilha que executa contratos inteligentes usando bytecode específico do Ethereum. Os desenvolvedores geralmente escrevem contratos inteligentes em linguagens de alto nível, como Solidity, que são então compilados em bytecode compreensível pela EVM para execução. A EVM é a principal inovação da blockchain do Ethereum, suportando não apenas a execução de contratos inteligentes, mas também fornecendo uma base sólida para o desenvolvimento de aplicativos descentralizados (DApps). Através da EVM, o Ethereum está moldando um futuro digital descentralizado, seguro e aberto.

Revisão da História do Ethereum

Figura 1 Revisão Histórica do Ethereum

Desafios para a Segurança do Ethereum

Os contratos inteligentes são programas de computador em execução na blockchain Ethereum. Eles permitem que os desenvolvedores criem e implementem várias aplicações, incluindo, mas não se limitando a aplicativos de empréstimos, trocas descentralizadas, seguros, financiamento secundário, redes sociais e NFTs. A segurança dos contratos inteligentes é crucial para essas aplicações. Essas aplicações são diretamente responsáveis pelo manuseio e controle de criptomoedas, e quaisquer vulnerabilidades ou ataques maliciosos aos contratos inteligentes representam uma ameaça direta à segurança dos fundos, podendo resultar em perdas econômicas significativas. Por exemplo, em 26 de fevereiro de 2024, o protocolo de empréstimos DeFi Blueberry Protocol sofreu um ataque devido a falhas na lógica do contrato inteligente, resultando em uma perda de aproximadamente $1,400,000.

As vulnerabilidades de contratos inteligentes são multifacetadas, abrangendo lógica de negócios irracional, controle de acesso impróprio, validação de dados insuficiente, ataques de reentrada e ataques de DOS (Negação de Serviço), entre outros aspectos. Essas vulnerabilidades podem causar problemas na execução de contratos, afetando a operação eficaz de contratos inteligentes. Tomando ataques de DOS como exemplo, esse tipo de ataque consome recursos de rede enviando um grande número de transações, causando o processamento lento de transações iniciadas por usuários normais, levando a uma queda na experiência do usuário. Além disso, isso também pode resultar em um aumento nas taxas de gás de transação. Quando os recursos de rede são escassos, os usuários podem precisar pagar taxas mais altas para priorizar suas transações para processamento.

Além disso, os usuários na Ethereum também enfrentam riscos de investimento, com a segurança de seus fundos sendo ameaçada. Por exemplo, existem “rugs,” usadas para descrever criptomoedas consideradas ter pouco ou nenhum valor ou potencial de crescimento a longo prazo. Rugs são frequentemente exploradas como ferramentas para golpes ou para estratégias de pump-and-dump para manipulação de preços. Investir em rugs carrega altos riscos de investimento e pode resultar em perdas financeiras significativas. Devido ao seu baixo preço e valor de mercado, elas são vulneráveis à manipulação e volatilidade. Esses tokens são frequentemente usados para esquemas de pump-and-dump e golpes de honeypot, atraindo investidores com projetos falsos e roubando seus fundos. Outro risco comum é o rug pulling, onde os criadores removem repentinamente toda a liquidez de um projeto, fazendo o valor do token despencar. Esses golpes frequentemente envolvem marketing por meio de parcerias e endossos falsos. Uma vez que o preço do token sobe, os golpistas vendem seus tokens, desaparecem, deixando os investidores com tokens sem valor. Além disso, investir em rugs também desvia a atenção e os recursos de criptomoedas legítimas com utilidade e potencial de crescimento reais. Além de rugs, air coins e pyramid scheme coins também são métodos rápidos de obter lucro. Para usuários sem conhecimento e experiência profissionais, distinguir entre eles e criptomoedas legítimas é particularmente desafiador.

Eficiência

Dois indicadores muito diretos da eficiência do Ethereum são a velocidade da transação 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. Este indicador reflete diretamente a capacidade de processamento da rede Ethereum; quanto mais rápida a velocidade, maior a eficiência. Cada transação no Ethereum requer uma certa quantidade de taxas de gás para compensar 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 pode levar a um aumento nas taxas de gás. Geralmente, quando a velocidade de processamento da transação diminui, devido ao espaço de bloco limitado, pode haver mais concorrência para que as transações entrem no próximo bloco. Para se destacar na competição, os traders geralmente aumentam as taxas de gás, pois os mineradores frequentemente priorizam transações com taxas de gás mais altas para verificação. Consequentemente, taxas de gás mais altas diminuem a satisfação da experiência do usuário.

Transações são apenas atividades básicas no Ethereum. Neste ecossistema, os usuários também podem se envolver em várias atividades como empréstimos, staking, investimentos, seguros, etc. Estas podem ser feitas através de DApps específicos. No entanto, dada a variedade de DApps e a falta de serviços de recomendação personalizados semelhantes às indústrias tradicionais, os usuários podem se sentir confusos ao escolher aplicativos e produtos adequados. Esta situação pode levar a uma diminuição na satisfação do usuário, afetando a eficiência geral do ecossistema Ethereum.

Vamos pegar emprestado como exemplo. Algumas plataformas de empréstimo DeFi usam mecanismos de super-colateralização para manter a segurança e estabilidade de suas plataformas. Isso significa que os mutuários precisam fornecer mais ativos como garantia, que não podem ser usados pelos mutuários para outras atividades durante o período de empréstimo. Isso leva a uma diminuição na utilização dos fundos do mutuário, reduzindo assim a liquidez do mercado.

Aplicação de Aprendizado de Máquina no Ethereum

Modelos de aprendizado de máquina como o modelo RMF, Redes Generativas Adversárias (GAN), modelo de Árvore de Decisão, algoritmo de K-Vizinhos Mais Próximos (KNN) e algoritmo de agrupamento DBSCAN estão desempenhando um papel importante no Ethereum. A aplicação desses modelos de aprendizado de máquina no Ethereum pode ajudar a otimizar a eficiência do processamento de transações, aprimorar a segurança de contratos inteligentes, alcançar a segmentação de usuários para fornecer serviços mais personalizados e contribuir para manter a estabilidade da rede.

Introdução ao Algoritmo

Algoritmos de aprendizado de máquina são um conjunto de instruções ou regras usadas para analisar dados, aprender padrões nos dados e fazer previsões ou decisões com base nesse aprendizado. Eles aprendem e melhoram automaticamente a partir dos dados fornecidos sem a necessidade de instruções de programação explícitas de humanos. Modelos de aprendizado de máquina como o modelo RMF, Redes Generativas Adversariais (GAN), modelo de Árvore de Decisão, algoritmo de Vizinhos Mais Próximos-K (KNN) e algoritmo de agrupamento DBSCAN estão desempenhando um papel importante no Ethereum. A aplicação desses modelos de aprendizado de máquina no Ethereum pode ajudar a otimizar a eficiência do processamento de transações, aprimorar a segurança dos contratos inteligentes, alcançar a segmentação de usuários para fornecer serviços mais personalizados e contribuir para manter a estabilidade da rede.

  1. classificador de Bayes

O classificador de Bayes é eficiente em vários métodos estatísticos de classificação, visando minimizar a probabilidade de erros de classificação ou minimizar o risco médio sob estruturas de custo específicas. Sua filosofia de design está profundamente enraizada no teorema de Bayes, o que permite determinar a probabilidade de um objeto pertencer a uma determinada classe dadas certas características e tomar decisões calculando a probabilidade posterior do objeto.

Especificamente, o classificador de Bayes primeiro considera a probabilidade anterior de um objeto, em seguida, aplica a fórmula de Bayes para considerar os dados observados de forma abrangente, atualizando assim as crenças sobre a classificação do objeto. Entre todas as classificações possíveis, o classificador de Bayes seleciona a classe com a maior probabilidade posterior e atribui o objeto a esta classe. A principal vantagem desta abordagem é a sua capacidade de lidar naturalmente com a incerteza e informações incompletas, tornando-se uma ferramenta poderosa e flexível aplicável a uma ampla gama de cenários.

Figura 2: Classificador Bayesiano

Conforme ilustrado na Figura 2, no aprendizado de máquina supervisionado, o classificador Bayesiano utiliza dados e um modelo de probabilidade baseado no teorema de Bayes para tomar decisões de classificação. Ao considerar a probabilidade, probabilidades anteriores das classes e características, o classificador de Bayes calcula a probabilidade posterior dos pontos de dados pertencentes a cada classe e atribui os pontos de dados à classe com a maior probabilidade posterior. No gráfico de dispersão à direita, o classificador tenta encontrar uma curva para separar pontos de cores diferentes, minimizando assim os erros de classificação.

  1. Árvore de Decisão

O algoritmo da árvore de decisão é comumente usado em tarefas de classificação e regressão. Ele adota uma abordagem de tomada de decisão hierárquica, dividindo árvores com base em características com taxas de ganho de informação mais altas a partir de dados conhecidos, para treinar árvores de decisão. Em essência, o algoritmo inteiro pode aprender autonomamente regras de decisão a partir de dados para determinar valores variáveis. Na implementação, a árvore de decisão pode decompor processos de decisão complexos em vários processos de sub-decisão simples, formando uma estrutura semelhante a uma árvore.

Como mostrado na Figura 3, cada nó representa uma decisão, com critérios para julgar certos atributos, enquanto os ramos representam os resultados da decisão. Cada nó folha representa o resultado final previsto e a categoria. Do ponto de vista da composição do algoritmo, os modelos de árvores de decisão são intuitivos, fáceis de entender e possuem forte interpretabilidade.

Imagem 3: Modelo de árvore de decisão

  1. algoritmo DBSCAN

DBSCAN (Density-Based Spatial Clustering of Applications with Noise) é um algoritmo de clustering espacial baseado em densidade que lida com ruído e parece ser particularmente eficaz para conjuntos de dados não conectados. Este algoritmo pode descobrir clusters de formas arbitrárias sem a necessidade de especificar o número de clusters antecipadamente, e demonstra boa robustez contra outliers no conjunto de dados. Além disso, o algoritmo pode identificar efetivamente pontos outliers em conjuntos de dados com ruído, onde pontos de ruído ou outliers são definidos como pontos em áreas de baixa densidade, como mostrado na Figura 4.

Imagem 4: O algoritmo DBSCAN identifica ruído

  1. algoritmo KNN

O algoritmo KNN (K-Vizinhos Mais Próximos) pode ser usado tanto para tarefas de classificação quanto de regressão. Em problemas de classificação, o algoritmo determina a categoria do item a ser classificado com base em um mecanismo de votação, enquanto em problemas de regressão, ele calcula a média ou média ponderada dos valores das k amostras mais próximas para fazer previsões.

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 depois prever a categoria do novo ponto de dados com base nas categorias desses vizinhos. Se K=1, então o novo ponto de dados é simplesmente atribuído à categoria de seu vizinho mais próximo. Se K>1, então tipicamente um método de votação é usado para determinar a categoria do novo ponto de dados, ou seja, ele será atribuído à categoria à qual a maioria de seus vizinhos pertence. Quando o algoritmo KNN é usado para problemas de regressão, a ideia básica é a mesma, mas o resultado é o valor médio dos valores de saída dos K vizinhos mais próximos.

Figura 5: algoritmo KNN usado para classificação

  1. IA Generativa

IA Generativa é uma tecnologia de IA que pode gerar novo conteúdo (como texto, imagens, música, etc.) com base nos requisitos de entrada. Está enraizada nos avanços de aprendizado de máquina e aprendizado profundo, particularmente em campos como processamento de linguagem natural e reconhecimento de imagem. A IA generativa aprende padrões e correlações a partir de grandes quantidades de dados e então gera completamente novo conteúdo com base nessas informações aprendidas. A chave para a IA generativa está no treinamento do modelo, que requer excelentes dados para aprendizado e treinamento. Durante esse processo, o modelo melhora gradualmente sua capacidade de gerar novo conteúdo analisando e compreendendo a estrutura, padrões e relacionamentos dentro do conjunto de dados.

  1. Transformador
    Como pedra angular da IA generativa, o Transformer introduziu o mecanismo de atenção, permitindo o processamento focado em informações-chave, considerando também o contexto global. Essa capacidade única aprimorou significativamente o campo da geração de texto com modelos Transformer. Utilizando modelos de processamento de linguagem natural de ponta, como o GPT (Transformer Pré-treinado Generativo), é possível entender os requisitos de aplicação do usuário expressos em linguagem natural e convertê-los automaticamente em código executável, reduzindo a complexidade do desenvolvimento e melhorando significativamente a eficiência.

Como mostrado na Figura 6, a introdução de mecanismos de atenção de várias cabeças e autoatenção, juntamente com conexões residuais e redes neurais totalmente conectadas, combinadas com técnicas anteriores de incorporação de palavras, melhorou significativamente o desempenho de modelos generativos relacionados ao processamento de linguagem natural.

Figura 6 Modelo Transformer

  1. Introdução ao modelo RFM:

O modelo RFM é um modelo analítico baseado no comportamento de compra do usuário, que pode identificar segmentos de usuário de diferente valor através da análise do seu comportamento de transação. Este modelo estratifica usuários com base na sua Recência (R), Frequência (F) e Valor Monetário (M) das compras. Como mostrado na Figura 7, esses três indicadores formam coletivamente o núcleo do modelo RFM. O modelo pontua usuários com base nessas três dimensões e os classifica de acordo com as suas pontuações para identificar os segmentos de usuários mais valiosos. Além disso, o modelo segmenta efetivamente os clientes em diferentes grupos para alcançar a funcionalidade de estratificação de usuários.

Figura 7 Modelo em camadas RFM

Aplicações Possíveis

Ao abordar os desafios de segurança do Ethereum usando técnicas de aprendizado de máquina, realizamos pesquisas em quatro áreas principais:

Identificação e Filtragem de Transações Maliciosas com Base no Classificador de Bayes

Construindo um classificador de Bayes, transações de spam potenciais, incluindo, mas não se limitando àqueles que causam ataques DOS através de transações em grande escala, frequentes e pequenas, podem ser identificados e filtrados. Esta abordagem mantém efetivamente a saúde da rede através da análise das características da transação, como preços de gás e frequência de transação, garantindo a operação estável da rede Ethereum.

  1. Gerando Código de Contrato Inteligente Seguro e Personalizado

Redes Generativas Adversas (GANs) e redes geradoras baseadas em Transformadores podem ser usadas para gerar código de contrato inteligente que atenda a requisitos específicos e garanta a segurança do código o máximo possível. No entanto, existem diferenças nos tipos de dados nos quais esses dois confiam durante o processo de treinamento; o primeiro depende principalmente de amostras de código inseguras, enquanto o segundo é o oposto.

Ao treinar GANs para aprender padrões de contrato seguro existentes e construir modelos autoadversários para gerar código inseguro potencial, e depois aprender a identificar essas inseguranças, é possível gerar automaticamente código de contrato inteligente de alta qualidade e mais seguro. Alavancando modelos de rede generativa baseados em Transformador, ao aprender a partir de um grande número de exemplos de contrato seguro, pode-se gerar código de contrato que atenda a requisitos específicos e otimize o consumo de gás, melhorando significativamente a eficiência e a segurança do desenvolvimento de contrato inteligente.

Análise de Risco de Contratos Inteligentes Baseada em Árvores de Decisão

Usar árvores de decisão para analisar as características dos contratos inteligentes, como frequência de chamadas de função, valor da transação, complexidade do código fonte, etc., pode identificar de forma eficaz os níveis de risco potenciais dos contratos. Ao analisar os padrões de operação do contrato e as estruturas de código, possíveis vulnerabilidades e pontos de risco podem ser previstos, fornecendo avaliações de segurança para desenvolvedores e usuários. Este método deve melhorar significativamente a segurança dos contratos inteligentes no ecossistema Ethereum, reduzindo assim as perdas causadas por vulnerabilidades ou código malicioso.

Construindo um Modelo de Avaliação de Criptomoedas para Reduzir os Riscos de Investimento

Ao analisar dados de transações de criptomoedas, atividades em redes sociais, desempenho de mercado e outras informações multidimensionais usando algoritmos de aprendizado de máquina, é possível construir um modelo de avaliação que prevê a probabilidade de moedas ruins. Este modelo pode fornecer referências valiosas para investidores, ajudando-os a evitar riscos de investimento e promover o desenvolvimento saudável do mercado de criptomoedas.

Além disso, a aplicação de aprendizado de máquina tem o potencial de aprimorar ainda mais a eficiência do Ethereum. Podemos nos aprofundar nas seguintes três dimensões-chave:

Otimizando o Aplicativo de Árvore de Decisão dos Modelos de Filas de Pool de Transações

Com base em árvores de decisão, é possível otimizar efetivamente o mecanismo de fila das piscinas de transações do Ethereum. Ao analisar características da transação, como preços de gás e tamanhos de transação, as árvores de decisão podem otimizar a seleção e ordem de fila de transações. Este método pode melhorar significativamente a eficiência no processamento de transações, reduzir efetivamente a congestão na rede e diminuir os tempos de espera das transações do usuário.

Estratificação do usuário e provisão de serviço personalizado

O modelo RFM (Recência, Frequência, Valor monetário), amplamente utilizado como uma ferramenta analítica em gestão de relacionamento com o cliente, pode estratificar efetivamente os usuários avaliando a recência da última transação do usuário, a frequência da transação e o valor da transação. Aplicar o 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 do usuário, ajudando a identificar diferentes grupos de usuários no Ethereum e fornecer serviços financeiros mais personalizados para diferentes usuários. Essa estratégia de estratificação de usuários pode otimizar as estratégias de marketing e melhorar 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 analisar os históricos de transações de usuários do Ethereum e padrões de comportamento para pontuar o crédito do usuário, o que desempenha um papel extremamente importante em atividades financeiras como empréstimos. A pontuação de crédito ajuda as instituições financeiras e plataformas de empréstimo a avaliar com mais precisão a capacidade de pagamento dos mutuários e o risco de crédito, tornando assim decisões de empréstimo mais precisas. Isso pode evitar a concessão excessiva de empréstimos e melhorar a liquidez do mercado.

Direções Futuras

Do ponto de vista da alocação de fundos em nível macro, o Ethereum, como o maior computador distribuído do mundo, não pode ter um investimento excessivo em sua camada de infraestrutura. É necessário atrair mais desenvolvedores de origens diversas para participar da co-construção. Neste artigo, ao revisar as implementações técnicas do Ethereum e os desafios que enfrenta, vislumbramos uma série de aplicações potenciais e intuitivas de aprendizado de máquina. Também aguardamos ansiosamente que os desenvolvedores de IA dentro da comunidade transformem essas visões em valor tangível.

À medida que o poder computacional on-chain aumenta gradualmente, podemos antecipar o desenvolvimento de modelos mais sofisticados para gerenciamento de rede, monitoramento de transações, auditorias de segurança e vários outros aspectos, melhorando assim a eficiência e a segurança da rede Ethereum.

Olhando mais adiante, os mecanismos de governança impulsionados por IA/agentes também poderiam se tornar um ponto importante de inovação dentro do ecossistema Ethereum. Tais mecanismos trariam processos de tomada de decisão mais eficientes, transparentes e automatizados, resultando em uma estrutura de governança mais flexível e confiável para a plataforma Ethereum. Essas direções futuras não apenas impulsionarão a inovação na tecnologia Ethereum, mas também fornecerão aos usuários uma experiência on-chain de alta qualidade.

Aviso Legal:

  1. Este artigo é reeditado a partir de [panews]. *Encaminhe o Título Original 'AI如何革新以太坊?从另一个角度看“AI+Blockchain'. Todos os direitos autorais pertencem ao autor original [Salus]. Se houver objeções a esta reedição, entre em contato com oGate Aprenderequipe, e eles lidarão com isso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

AI+Blockchain

iniciantes3/20/2024, 5:11:49 AM
Este artigo introduz a implementação técnica do Ethereum e propõe uma solução para aplicar aprendizado de máquina à rede Ethereum para aprimorar a segurança, eficiência e escalabilidade. Inovações foram feitas nas transações do Ethereum, mecanismos de consenso, algoritmos de assinatura, armazenamento de dados e arquitetura de execução. A aprendizagem de máquina pode ser aplicada ao Ethereum para otimizar o processamento de transações, a segurança de contratos inteligentes, a segmentação de usuários e a estabilidade da rede. Modelos como RFM e algoritmos como DBSCAN podem ajudar a identificar usuários de alto valor e personalizar serviços financeiros. No futuro, o Ethereum pode desenvolver aplicações de aprendizado de máquina mais complexas para melhorar a eficiência e segurança da rede, e até mesmo alcançar mecanismos de governança impulsionados por IA.

Encaminhar o Título Original: Como a IA está inovando o Ethereum? Olhando para o "AI+Blockchain" de outra perspectiva

Ao longo do último ano, com a IA generativa repetidamente superando as expectativas, uma onda de revolução na produtividade da IA varreu a comunidade de criptomoedas. Muitos projetos conceituais de IA têm trazido um mito de criação de riqueza no mercado secundário. Ao mesmo tempo, cada vez mais desenvolvedores estão começando a desenvolver seus próprios projetos "IA+Crypto".

No entanto, mediante uma observação mais detalhada, pode-se notar que esses projetos exibem uma fungibilidade severa, com a maioria dos projetos se concentrando apenas em melhorar as 'relações de produção', como a organização de poder computacional por meio de redes descentralizadas ou a criação de um 'Hugging Face descentralizado', e assim por diante. Poucos projetos tentam uma integração genuína e inovação a partir da tecnologia subjacente. Acreditamos que a razão para esse fenômeno reside em um 'viés de domínio' entre os campos de IA e blockchain. Apesar de sua extensa interseção, poucas pessoas realmente entendem ambos os domínios. Por exemplo, os desenvolvedores de IA acham desafiador entender a implementação técnica e o status da infraestrutura histórica do Ethereum, quanto mais propor soluções de otimização aprofundadas.

Levando a aprendizagem de máquina (ML), o ramo mais básico da IA, como exemplo, é uma tecnologia onde as máquinas podem tomar decisões com base em dados sem instruções explícitas de programação. A aprendizagem de máquina tem mostrado um potencial tremendo na análise de dados e no reconhecimento de padrões e se tornou comum na Web 2. No entanto, devido às suas limitações iniciais, mesmo na vanguarda da inovação em tecnologia de bloco como Ethereum, sua arquitetura, rede e mecanismos de governança ainda não utilizaram efetivamente a aprendizagem de máquina como uma ferramenta para resolver problemas complexos.

"Grandes inovações frequentemente surgem de campos interdisciplinares." O objetivo de escrever este artigo é ajudar os desenvolvedores de IA a compreender melhor o mundo da blockchain e fornecer novas ideias para os desenvolvedores na comunidade Ethereum. Neste artigo, primeiro introduzimos a implementação técnica do Ethereum e depois propomos uma solução para aplicar aprendizado de máquina, um algoritmo fundamental de IA, à rede Ethereum para aprimorar sua segurança, eficiência e escalabilidade. Esperamos que este caso sirva como um ponto de partida para apresentar algumas perspectivas diferentes do mercado e estimular mais combinações cruzadas inovadoras de "IA+Blockchain" no ecossistema de desenvolvedores.

Implementação Técnica do Ethereum

  1. Estrutura de dados básica
    A essência da blockchain é uma cadeia de blocos, e a chave para distinguir as cadeias está na configuração da cadeia, uma parte essencial de qualquer gênese de blockchain. Para o Ethereum, a configuração da cadeia é usada para diferenciar entre diferentes cadeias dentro do Ethereum, identificando protocolos de atualização importantes e eventos importantes. Por exemplo, o Bloqueio DAOForkBlock significa a altura da bifurcação rígida do Ethereum após o ataque DAO, enquanto ConstantinopleBlock marca a altura do bloco para a atualização de Constantinople. Para grandes atualizações contendo inúmeras propostas de melhoria, campos especiais são definidos para identificar as alturas dos blocos correspondentes. Além disso, o Ethereum compreende várias redes de teste e a rede principal, identificadas de forma única pelo ChainID para denotar seus respectivos ecossistemas de rede.
    O bloco gênesis serve como o zeroésimo bloco de toda a blockchain, referenciado direta ou indiretamente por outros blocos. Portanto, os nós devem carregar as informações corretas do bloco gênesis na inicialização, sem modificações arbitrárias permitidas. As informações de configuração do bloco gênesis incluem a configuração da cadeia mencionada acima, juntamente com detalhes adicionais, como recompensas relevantes de mineração, carimbos de data/hora, dificuldade e limites de gás. Vale ressaltar que o mecanismo de consenso do Ethereum mudou da mineração de prova de trabalho para a prova de aposta.
    As contas do Ethereum são divididas em contas externas e contas de contrato. Contas externas são controladas por uma chave privada única, enquanto contas de contrato não possuem controle de chave privada e só podem ser operadas chamando a execução de código de contrato por meio de contas externas. Cada conta corresponde a um nó folha no estado mundial do Ethereum, armazenando o estado da conta (várias informações da conta e detalhes do código).
    Transações: Como uma plataforma descentralizada principalmente para transações e contratos, os blocos do Ethereum consistem em transações empacotadas e informações adicionais relacionadas. Um bloco é dividido em duas partes: o cabeçalho do bloco e o corpo do bloco. Os dados do cabeçalho do bloco contêm evidências que vinculam todos os blocos em uma cadeia, incluindo o hash do bloco anterior e provas de todo o estado mundial do Ethereum, raiz da transação, raiz do recibo e dados adicionais, como dificuldade e nonce. O corpo do bloco armazena a lista de transações e a lista de cabeçalhos de blocos órfãos (como o Ethereum passou para a prova de participação, as referências de blocos órfãos não existem mais).
    Os recibos de transação fornecem os resultados da execução da transação e informações adicionais, que não podem ser obtidas diretamente examinando a transação em si. Especificamente, eles contêm conteúdo de consenso, informações de transação e informações de bloco, indicando se o processamento da transação foi bem-sucedido e fornecendo logs de transação e detalhes de consumo de gás. Analisar as informações nos recibos ajuda a depurar o código do contrato inteligente e otimizar o consumo de gás, ao mesmo tempo que fornece confirmação de que a transação foi processada pela rede e permite a visualização dos resultados e impactos da transação.
    No Ethereum, as taxas de gás podem ser compreendidas simplesmente como taxas de transação. Quando você envia tokens, executa contratos inteligentes, transfere Ether ou realiza várias operações na blockchain dentro de um bloco específico, essas transações exigem taxas de gás. Os recursos computacionais do Ethereum são consumidos ao processar essas transações, e você deve pagar taxas de gás para incentivar a rede a trabalhar para você. Em última análise, as taxas de gás são pagas como taxas de transação para os mineradores, e a fórmula de cálculo específica pode ser compreendida como Taxa = Gás Utilizado * Preço do Gás, onde o preço por unidade de gás é definido pelo iniciador da transação e frequentemente determina a velocidade de inclusão da transação nos blocos. Definir o preço do gás muito baixo pode resultar em transações não sendo executadas, e também é necessário definir um limite de gás como um limite superior para evitar o consumo inesperado de gás devido a erros em contratos inteligentes.

  2. Pool de negociação
    No Ethereum, há um grande número de transações e, em comparação com sistemas centralizados, a capacidade dos sistemas descentralizados em termos de transações por segundo é significativamente menor. Com um grande número de transações entrando nos nós, os nós precisam manter um pool de transações para gerenciar essas transações corretamente. A transmissão de transações ocorre por meio de comunicação peer-to-peer. Especificamente, um nó transmitirá transações executáveis para seus nós vizinhos, que por sua vez propagarão a transação para seus nós vizinhos, permitindo que uma transação se espalhe por toda a rede Ethereum em 6 segundos.
    As transações no pool de negociação são divididas em transações executáveis e transações não executáveis. As transações executáveis, que têm prioridade mais alta, são executadas e incluídas em blocos, enquanto todas as transações que entram inicialmente no pool são não executáveis e se tornam executáveis posteriormente. Transações executáveis e não executáveis são registradas no contêiner pendente e no contêiner de fila, respectivamente.
    Além disso, o pool de transações mantém uma lista de transações locais. As transações locais têm várias vantagens, incluindo prioridade mais alta, imunidade às restrições de volume de transações e recarregamento imediato no pool de transações após a reinicialização do nó. O armazenamento de persistência local das transações locais é alcançado por meio de um diário, garantindo que as transações locais inacabadas não sejam perdidas e sejam atualizadas periodicamente.
    Antes que uma transação seja enfileirada, sua validade é verificada, incluindo vários tipos de verificações como prevenção de ataques DOS, prevenção de transações negativas e verificação dos limites de gas da transação. A composição simples da fila de transações pode ser dividida em fila + pendente (compreendendo todas as transações). Após a conclusão das verificações de validade, verificações subsequentes são realizadas, incluindo verificar se a fila de transações atingiu seu limite e determinar se as transações remotas (transações não locais) têm o preço mais baixo na fila de transações, substituindo a transação de preço mais baixo na fila. Para substituir transações executáveis, somente transações com um aumento de taxa de até 10% são permitidas para substituir aquelas que estão aguardando execução, e as transações substituídas são armazenadas como transações não executáveis. Além disso, transações inválidas e acima do limite são removidas durante o processo de manutenção da fila de transações, e transações elegíveis são substituídas.

  3. Mecanismo de Consenso
    Nas fases iniciais, a teoria de consenso do Ethereum era baseada no método de cálculo do valor de dificuldade hash. Em outras palavras, era necessário calcular o valor hash de um bloco para atender à condição do valor de dificuldade alvo para que o bloco fosse considerado válido. À medida que o algoritmo de consenso do Ethereum passou de Proof of Work (PoW) para Proof of Stake (PoS), vou esboçar brevemente o algoritmo PoS aqui. O Ethereum completou a fusão da cadeia do beacon em setembro de 2022, implementando o algoritmo PoS. Especificamente, em um Ethereum baseado em PoS, o tempo de bloco de cada bloco é estável em 12 segundos. Os usuários apostam seu Ethereum para obter o direito de se tornarem validadores. Em seguida, é realizado um processo de seleção aleatória entre os apostadores participantes para escolher um conjunto de validadores. Em cada rodada, que inclui 32 slots, um validador é selecionado como proponente para cada slot, enquanto os validadores restantes no mesmo slot atuam como um comitê para validar a legitimidade do bloco proposto e julgar a legitimidade dos blocos da rodada anterior. O algoritmo PoS estabiliza significativamente e acelera a produção de blocos, evitando grandemente o desperdício de recursos computacionais.

  4. Algoritmo de Assinatura
    O Ethereum adota o mesmo padrão de algoritmo de assinatura que o Bitcoin, que usa a curva secp256k1. Especificamente, o algoritmo de assinatura empregado é ECDSA, onde a assinatura é calculada com base no hash da mensagem original. A assinatura consiste nos componentes R+S+V. Cada cálculo introduz um número aleatório, e R+S representa a saída original do ECDSA. O campo V final, conhecido como campo de recuperação, indica o número de tentativas necessárias para recuperar com sucesso a chave pública do conteúdo e assinatura, pois encontrar as coordenadas que atendem aos requisitos com base no valor R na curva elíptica pode ter múltiplas soluções.
    O processo inteiro pode ser resumido da seguinte forma: os dados da transação e as informações relevantes do signatário são hasheados depois de serem codificados por RLP, e a assinatura final é obtida ao assinar com a chave privada via ECDSA. A curva usada no ECDSA é a curva elíptica secp256k1. Finalmente, os dados da transação assinados são combinados com os dados da transação para obter dados da transação assinados que podem ser transmitidos.
    A estrutura de dados do Ethereum não apenas depende da tecnologia blockchain tradicional, mas também incorpora a Árvore de Patricia Merkle (MPT), também conhecida como Árvore de Prefixo Comprimido Merkle, para armazenamento eficiente e verificação de grandes quantidades de dados. MPT combina a função de hash criptográfico da árvore de Merkle e a característica de compressão do caminho chave da árvore de Patricia, fornecendo uma solução que garante a integridade dos dados e suporta buscas rápidas.

  5. Árvore de Patricia Merkle (MPT)
    No Ethereum, o MPT é usado para armazenar todos os dados de estado e transação, garantindo que quaisquer alterações nos dados sejam refletidas 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 verificar 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 ramo e nós vazios, que juntos formam uma árvore capaz de se adaptar a mudanças dinâmicas de dados. Sempre que os dados são atualizados, o MPT reflete essas alterações adicionando, excluindo ou modificando nós, enquanto atualiza o hash raiz da árvore. Como cada nó é criptografado por meio de uma função de hash, quaisquer pequenas alterações nos dados levarão a alterações significativas no hash raiz, garantindo a segurança e a consistência dos dados. Além disso, o projeto do MPT suporta a verificação de "cliente leve", permitindo que os nós verifiquem a existência ou o status de informações específicas armazenando apenas o hash raiz da árvore e os nós de caminho necessários, reduzindo consideravelmente a necessidade de armazenamento e processamento de dados.
    Através do MPT, o Ethereum não só alcança a gestão eficiente e o acesso rápido aos dados, mas também garante a segurança e descentralização da rede, apoiando a operação e desenvolvimento de toda a rede Ethereum.

  6. Máquina de Estado
    A arquitetura central do Ethereum incorpora o conceito de uma máquina de estados, onde a Máquina Virtual Ethereum (EVM) é o ambiente de execução para executar todo o código de contrato inteligente, e o próprio Ethereum pode ser visto como um sistema de transição de estados compartilhado globalmente. A execução de cada bloco pode ser vista como um processo de transição de estados, movendo-se de um estado compartilhado global para outro. Este design garante a consistência e descentralização da rede Ethereum e torna os resultados de execução de contratos inteligentes previsíveis e à prova de adulteração.
    No Ethereum, o estado refere-se às informações atuais de todas as contas, incluindo o saldo de cada conta, dados armazenados e o código dos contratos inteligentes. Sempre que ocorre uma transação, o EVM calcula e transforma o estado com base no conteúdo da transação, e esse processo é registrado de forma eficiente e segura por meio do MPT. Cada transição de estado não apenas altera os dados da conta, mas também leva à atualização do MPT, refletida na alteração do hash raiz da árvore.
    A relação entre EVM e MPT é crucial porque o MPT fornece a garantia da integridade dos dados para as transições de estado do Ethereum. Quando o EVM executa transações e altera estados de conta, os nós relevantes do MPT são atualizados para refletir essas mudanças. Como cada nó do MPT é vinculado por hashes, qualquer modificação no estado causará uma alteração no hash raiz, que é então incluído no novo bloco, garantindo a consistência e segurança de todo o estado do Ethereum. Agora, vamos apresentar a Máquina Virtual Ethereum (EVM).

  7. EVM
    A Máquina Virtual Ethereum (EVM) é o componente fundamental responsável por executar contratos inteligentes e facilitar transições de estado dentro da rede Ethereum. É graças à EVM que o Ethereum pode ser visto como um computador mundial. A EVM é Turing completa, o que significa que os contratos inteligentes implantados no Ethereum podem executar computações lógicas complexas arbitrariamente. A introdução do mecanismo de gás no Ethereum impede cenários como loops infinitos dentro de contratos, garantindo estabilidade e segurança na rede.

Em um nível mais técnico, a EVM é uma máquina virtual baseada em pilha que executa contratos inteligentes usando bytecode específico do Ethereum. Os desenvolvedores geralmente escrevem contratos inteligentes em linguagens de alto nível, como Solidity, que são então compilados em bytecode compreensível pela EVM para execução. A EVM é a principal inovação da blockchain do Ethereum, suportando não apenas a execução de contratos inteligentes, mas também fornecendo uma base sólida para o desenvolvimento de aplicativos descentralizados (DApps). Através da EVM, o Ethereum está moldando um futuro digital descentralizado, seguro e aberto.

Revisão da História do Ethereum

Figura 1 Revisão Histórica do Ethereum

Desafios para a Segurança do Ethereum

Os contratos inteligentes são programas de computador em execução na blockchain Ethereum. Eles permitem que os desenvolvedores criem e implementem várias aplicações, incluindo, mas não se limitando a aplicativos de empréstimos, trocas descentralizadas, seguros, financiamento secundário, redes sociais e NFTs. A segurança dos contratos inteligentes é crucial para essas aplicações. Essas aplicações são diretamente responsáveis pelo manuseio e controle de criptomoedas, e quaisquer vulnerabilidades ou ataques maliciosos aos contratos inteligentes representam uma ameaça direta à segurança dos fundos, podendo resultar em perdas econômicas significativas. Por exemplo, em 26 de fevereiro de 2024, o protocolo de empréstimos DeFi Blueberry Protocol sofreu um ataque devido a falhas na lógica do contrato inteligente, resultando em uma perda de aproximadamente $1,400,000.

As vulnerabilidades de contratos inteligentes são multifacetadas, abrangendo lógica de negócios irracional, controle de acesso impróprio, validação de dados insuficiente, ataques de reentrada e ataques de DOS (Negação de Serviço), entre outros aspectos. Essas vulnerabilidades podem causar problemas na execução de contratos, afetando a operação eficaz de contratos inteligentes. Tomando ataques de DOS como exemplo, esse tipo de ataque consome recursos de rede enviando um grande número de transações, causando o processamento lento de transações iniciadas por usuários normais, levando a uma queda na experiência do usuário. Além disso, isso também pode resultar em um aumento nas taxas de gás de transação. Quando os recursos de rede são escassos, os usuários podem precisar pagar taxas mais altas para priorizar suas transações para processamento.

Além disso, os usuários na Ethereum também enfrentam riscos de investimento, com a segurança de seus fundos sendo ameaçada. Por exemplo, existem “rugs,” usadas para descrever criptomoedas consideradas ter pouco ou nenhum valor ou potencial de crescimento a longo prazo. Rugs são frequentemente exploradas como ferramentas para golpes ou para estratégias de pump-and-dump para manipulação de preços. Investir em rugs carrega altos riscos de investimento e pode resultar em perdas financeiras significativas. Devido ao seu baixo preço e valor de mercado, elas são vulneráveis à manipulação e volatilidade. Esses tokens são frequentemente usados para esquemas de pump-and-dump e golpes de honeypot, atraindo investidores com projetos falsos e roubando seus fundos. Outro risco comum é o rug pulling, onde os criadores removem repentinamente toda a liquidez de um projeto, fazendo o valor do token despencar. Esses golpes frequentemente envolvem marketing por meio de parcerias e endossos falsos. Uma vez que o preço do token sobe, os golpistas vendem seus tokens, desaparecem, deixando os investidores com tokens sem valor. Além disso, investir em rugs também desvia a atenção e os recursos de criptomoedas legítimas com utilidade e potencial de crescimento reais. Além de rugs, air coins e pyramid scheme coins também são métodos rápidos de obter lucro. Para usuários sem conhecimento e experiência profissionais, distinguir entre eles e criptomoedas legítimas é particularmente desafiador.

Eficiência

Dois indicadores muito diretos da eficiência do Ethereum são a velocidade da transação 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. Este indicador reflete diretamente a capacidade de processamento da rede Ethereum; quanto mais rápida a velocidade, maior a eficiência. Cada transação no Ethereum requer uma certa quantidade de taxas de gás para compensar 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 pode levar a um aumento nas taxas de gás. Geralmente, quando a velocidade de processamento da transação diminui, devido ao espaço de bloco limitado, pode haver mais concorrência para que as transações entrem no próximo bloco. Para se destacar na competição, os traders geralmente aumentam as taxas de gás, pois os mineradores frequentemente priorizam transações com taxas de gás mais altas para verificação. Consequentemente, taxas de gás mais altas diminuem a satisfação da experiência do usuário.

Transações são apenas atividades básicas no Ethereum. Neste ecossistema, os usuários também podem se envolver em várias atividades como empréstimos, staking, investimentos, seguros, etc. Estas podem ser feitas através de DApps específicos. No entanto, dada a variedade de DApps e a falta de serviços de recomendação personalizados semelhantes às indústrias tradicionais, os usuários podem se sentir confusos ao escolher aplicativos e produtos adequados. Esta situação pode levar a uma diminuição na satisfação do usuário, afetando a eficiência geral do ecossistema Ethereum.

Vamos pegar emprestado como exemplo. Algumas plataformas de empréstimo DeFi usam mecanismos de super-colateralização para manter a segurança e estabilidade de suas plataformas. Isso significa que os mutuários precisam fornecer mais ativos como garantia, que não podem ser usados pelos mutuários para outras atividades durante o período de empréstimo. Isso leva a uma diminuição na utilização dos fundos do mutuário, reduzindo assim a liquidez do mercado.

Aplicação de Aprendizado de Máquina no Ethereum

Modelos de aprendizado de máquina como o modelo RMF, Redes Generativas Adversárias (GAN), modelo de Árvore de Decisão, algoritmo de K-Vizinhos Mais Próximos (KNN) e algoritmo de agrupamento DBSCAN estão desempenhando um papel importante no Ethereum. A aplicação desses modelos de aprendizado de máquina no Ethereum pode ajudar a otimizar a eficiência do processamento de transações, aprimorar a segurança de contratos inteligentes, alcançar a segmentação de usuários para fornecer serviços mais personalizados e contribuir para manter a estabilidade da rede.

Introdução ao Algoritmo

Algoritmos de aprendizado de máquina são um conjunto de instruções ou regras usadas para analisar dados, aprender padrões nos dados e fazer previsões ou decisões com base nesse aprendizado. Eles aprendem e melhoram automaticamente a partir dos dados fornecidos sem a necessidade de instruções de programação explícitas de humanos. Modelos de aprendizado de máquina como o modelo RMF, Redes Generativas Adversariais (GAN), modelo de Árvore de Decisão, algoritmo de Vizinhos Mais Próximos-K (KNN) e algoritmo de agrupamento DBSCAN estão desempenhando um papel importante no Ethereum. A aplicação desses modelos de aprendizado de máquina no Ethereum pode ajudar a otimizar a eficiência do processamento de transações, aprimorar a segurança dos contratos inteligentes, alcançar a segmentação de usuários para fornecer serviços mais personalizados e contribuir para manter a estabilidade da rede.

  1. classificador de Bayes

O classificador de Bayes é eficiente em vários métodos estatísticos de classificação, visando minimizar a probabilidade de erros de classificação ou minimizar o risco médio sob estruturas de custo específicas. Sua filosofia de design está profundamente enraizada no teorema de Bayes, o que permite determinar a probabilidade de um objeto pertencer a uma determinada classe dadas certas características e tomar decisões calculando a probabilidade posterior do objeto.

Especificamente, o classificador de Bayes primeiro considera a probabilidade anterior de um objeto, em seguida, aplica a fórmula de Bayes para considerar os dados observados de forma abrangente, atualizando assim as crenças sobre a classificação do objeto. Entre todas as classificações possíveis, o classificador de Bayes seleciona a classe com a maior probabilidade posterior e atribui o objeto a esta classe. A principal vantagem desta abordagem é a sua capacidade de lidar naturalmente com a incerteza e informações incompletas, tornando-se uma ferramenta poderosa e flexível aplicável a uma ampla gama de cenários.

Figura 2: Classificador Bayesiano

Conforme ilustrado na Figura 2, no aprendizado de máquina supervisionado, o classificador Bayesiano utiliza dados e um modelo de probabilidade baseado no teorema de Bayes para tomar decisões de classificação. Ao considerar a probabilidade, probabilidades anteriores das classes e características, o classificador de Bayes calcula a probabilidade posterior dos pontos de dados pertencentes a cada classe e atribui os pontos de dados à classe com a maior probabilidade posterior. No gráfico de dispersão à direita, o classificador tenta encontrar uma curva para separar pontos de cores diferentes, minimizando assim os erros de classificação.

  1. Árvore de Decisão

O algoritmo da árvore de decisão é comumente usado em tarefas de classificação e regressão. Ele adota uma abordagem de tomada de decisão hierárquica, dividindo árvores com base em características com taxas de ganho de informação mais altas a partir de dados conhecidos, para treinar árvores de decisão. Em essência, o algoritmo inteiro pode aprender autonomamente regras de decisão a partir de dados para determinar valores variáveis. Na implementação, a árvore de decisão pode decompor processos de decisão complexos em vários processos de sub-decisão simples, formando uma estrutura semelhante a uma árvore.

Como mostrado na Figura 3, cada nó representa uma decisão, com critérios para julgar certos atributos, enquanto os ramos representam os resultados da decisão. Cada nó folha representa o resultado final previsto e a categoria. Do ponto de vista da composição do algoritmo, os modelos de árvores de decisão são intuitivos, fáceis de entender e possuem forte interpretabilidade.

Imagem 3: Modelo de árvore de decisão

  1. algoritmo DBSCAN

DBSCAN (Density-Based Spatial Clustering of Applications with Noise) é um algoritmo de clustering espacial baseado em densidade que lida com ruído e parece ser particularmente eficaz para conjuntos de dados não conectados. Este algoritmo pode descobrir clusters de formas arbitrárias sem a necessidade de especificar o número de clusters antecipadamente, e demonstra boa robustez contra outliers no conjunto de dados. Além disso, o algoritmo pode identificar efetivamente pontos outliers em conjuntos de dados com ruído, onde pontos de ruído ou outliers são definidos como pontos em áreas de baixa densidade, como mostrado na Figura 4.

Imagem 4: O algoritmo DBSCAN identifica ruído

  1. algoritmo KNN

O algoritmo KNN (K-Vizinhos Mais Próximos) pode ser usado tanto para tarefas de classificação quanto de regressão. Em problemas de classificação, o algoritmo determina a categoria do item a ser classificado com base em um mecanismo de votação, enquanto em problemas de regressão, ele calcula a média ou média ponderada dos valores das k amostras mais próximas para fazer previsões.

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 depois prever a categoria do novo ponto de dados com base nas categorias desses vizinhos. Se K=1, então o novo ponto de dados é simplesmente atribuído à categoria de seu vizinho mais próximo. Se K>1, então tipicamente um método de votação é usado para determinar a categoria do novo ponto de dados, ou seja, ele será atribuído à categoria à qual a maioria de seus vizinhos pertence. Quando o algoritmo KNN é usado para problemas de regressão, a ideia básica é a mesma, mas o resultado é o valor médio dos valores de saída dos K vizinhos mais próximos.

Figura 5: algoritmo KNN usado para classificação

  1. IA Generativa

IA Generativa é uma tecnologia de IA que pode gerar novo conteúdo (como texto, imagens, música, etc.) com base nos requisitos de entrada. Está enraizada nos avanços de aprendizado de máquina e aprendizado profundo, particularmente em campos como processamento de linguagem natural e reconhecimento de imagem. A IA generativa aprende padrões e correlações a partir de grandes quantidades de dados e então gera completamente novo conteúdo com base nessas informações aprendidas. A chave para a IA generativa está no treinamento do modelo, que requer excelentes dados para aprendizado e treinamento. Durante esse processo, o modelo melhora gradualmente sua capacidade de gerar novo conteúdo analisando e compreendendo a estrutura, padrões e relacionamentos dentro do conjunto de dados.

  1. Transformador
    Como pedra angular da IA generativa, o Transformer introduziu o mecanismo de atenção, permitindo o processamento focado em informações-chave, considerando também o contexto global. Essa capacidade única aprimorou significativamente o campo da geração de texto com modelos Transformer. Utilizando modelos de processamento de linguagem natural de ponta, como o GPT (Transformer Pré-treinado Generativo), é possível entender os requisitos de aplicação do usuário expressos em linguagem natural e convertê-los automaticamente em código executável, reduzindo a complexidade do desenvolvimento e melhorando significativamente a eficiência.

Como mostrado na Figura 6, a introdução de mecanismos de atenção de várias cabeças e autoatenção, juntamente com conexões residuais e redes neurais totalmente conectadas, combinadas com técnicas anteriores de incorporação de palavras, melhorou significativamente o desempenho de modelos generativos relacionados ao processamento de linguagem natural.

Figura 6 Modelo Transformer

  1. Introdução ao modelo RFM:

O modelo RFM é um modelo analítico baseado no comportamento de compra do usuário, que pode identificar segmentos de usuário de diferente valor através da análise do seu comportamento de transação. Este modelo estratifica usuários com base na sua Recência (R), Frequência (F) e Valor Monetário (M) das compras. Como mostrado na Figura 7, esses três indicadores formam coletivamente o núcleo do modelo RFM. O modelo pontua usuários com base nessas três dimensões e os classifica de acordo com as suas pontuações para identificar os segmentos de usuários mais valiosos. Além disso, o modelo segmenta efetivamente os clientes em diferentes grupos para alcançar a funcionalidade de estratificação de usuários.

Figura 7 Modelo em camadas RFM

Aplicações Possíveis

Ao abordar os desafios de segurança do Ethereum usando técnicas de aprendizado de máquina, realizamos pesquisas em quatro áreas principais:

Identificação e Filtragem de Transações Maliciosas com Base no Classificador de Bayes

Construindo um classificador de Bayes, transações de spam potenciais, incluindo, mas não se limitando àqueles que causam ataques DOS através de transações em grande escala, frequentes e pequenas, podem ser identificados e filtrados. Esta abordagem mantém efetivamente a saúde da rede através da análise das características da transação, como preços de gás e frequência de transação, garantindo a operação estável da rede Ethereum.

  1. Gerando Código de Contrato Inteligente Seguro e Personalizado

Redes Generativas Adversas (GANs) e redes geradoras baseadas em Transformadores podem ser usadas para gerar código de contrato inteligente que atenda a requisitos específicos e garanta a segurança do código o máximo possível. No entanto, existem diferenças nos tipos de dados nos quais esses dois confiam durante o processo de treinamento; o primeiro depende principalmente de amostras de código inseguras, enquanto o segundo é o oposto.

Ao treinar GANs para aprender padrões de contrato seguro existentes e construir modelos autoadversários para gerar código inseguro potencial, e depois aprender a identificar essas inseguranças, é possível gerar automaticamente código de contrato inteligente de alta qualidade e mais seguro. Alavancando modelos de rede generativa baseados em Transformador, ao aprender a partir de um grande número de exemplos de contrato seguro, pode-se gerar código de contrato que atenda a requisitos específicos e otimize o consumo de gás, melhorando significativamente a eficiência e a segurança do desenvolvimento de contrato inteligente.

Análise de Risco de Contratos Inteligentes Baseada em Árvores de Decisão

Usar árvores de decisão para analisar as características dos contratos inteligentes, como frequência de chamadas de função, valor da transação, complexidade do código fonte, etc., pode identificar de forma eficaz os níveis de risco potenciais dos contratos. Ao analisar os padrões de operação do contrato e as estruturas de código, possíveis vulnerabilidades e pontos de risco podem ser previstos, fornecendo avaliações de segurança para desenvolvedores e usuários. Este método deve melhorar significativamente a segurança dos contratos inteligentes no ecossistema Ethereum, reduzindo assim as perdas causadas por vulnerabilidades ou código malicioso.

Construindo um Modelo de Avaliação de Criptomoedas para Reduzir os Riscos de Investimento

Ao analisar dados de transações de criptomoedas, atividades em redes sociais, desempenho de mercado e outras informações multidimensionais usando algoritmos de aprendizado de máquina, é possível construir um modelo de avaliação que prevê a probabilidade de moedas ruins. Este modelo pode fornecer referências valiosas para investidores, ajudando-os a evitar riscos de investimento e promover o desenvolvimento saudável do mercado de criptomoedas.

Além disso, a aplicação de aprendizado de máquina tem o potencial de aprimorar ainda mais a eficiência do Ethereum. Podemos nos aprofundar nas seguintes três dimensões-chave:

Otimizando o Aplicativo de Árvore de Decisão dos Modelos de Filas de Pool de Transações

Com base em árvores de decisão, é possível otimizar efetivamente o mecanismo de fila das piscinas de transações do Ethereum. Ao analisar características da transação, como preços de gás e tamanhos de transação, as árvores de decisão podem otimizar a seleção e ordem de fila de transações. Este método pode melhorar significativamente a eficiência no processamento de transações, reduzir efetivamente a congestão na rede e diminuir os tempos de espera das transações do usuário.

Estratificação do usuário e provisão de serviço personalizado

O modelo RFM (Recência, Frequência, Valor monetário), amplamente utilizado como uma ferramenta analítica em gestão de relacionamento com o cliente, pode estratificar efetivamente os usuários avaliando a recência da última transação do usuário, a frequência da transação e o valor da transação. Aplicar o 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 do usuário, ajudando a identificar diferentes grupos de usuários no Ethereum e fornecer serviços financeiros mais personalizados para diferentes usuários. Essa estratégia de estratificação de usuários pode otimizar as estratégias de marketing e melhorar 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 analisar os históricos de transações de usuários do Ethereum e padrões de comportamento para pontuar o crédito do usuário, o que desempenha um papel extremamente importante em atividades financeiras como empréstimos. A pontuação de crédito ajuda as instituições financeiras e plataformas de empréstimo a avaliar com mais precisão a capacidade de pagamento dos mutuários e o risco de crédito, tornando assim decisões de empréstimo mais precisas. Isso pode evitar a concessão excessiva de empréstimos e melhorar a liquidez do mercado.

Direções Futuras

Do ponto de vista da alocação de fundos em nível macro, o Ethereum, como o maior computador distribuído do mundo, não pode ter um investimento excessivo em sua camada de infraestrutura. É necessário atrair mais desenvolvedores de origens diversas para participar da co-construção. Neste artigo, ao revisar as implementações técnicas do Ethereum e os desafios que enfrenta, vislumbramos uma série de aplicações potenciais e intuitivas de aprendizado de máquina. Também aguardamos ansiosamente que os desenvolvedores de IA dentro da comunidade transformem essas visões em valor tangível.

À medida que o poder computacional on-chain aumenta gradualmente, podemos antecipar o desenvolvimento de modelos mais sofisticados para gerenciamento de rede, monitoramento de transações, auditorias de segurança e vários outros aspectos, melhorando assim a eficiência e a segurança da rede Ethereum.

Olhando mais adiante, os mecanismos de governança impulsionados por IA/agentes também poderiam se tornar um ponto importante de inovação dentro do ecossistema Ethereum. Tais mecanismos trariam processos de tomada de decisão mais eficientes, transparentes e automatizados, resultando em uma estrutura de governança mais flexível e confiável para a plataforma Ethereum. Essas direções futuras não apenas impulsionarão a inovação na tecnologia Ethereum, mas também fornecerão aos usuários uma experiência on-chain de alta qualidade.

Aviso Legal:

  1. Este artigo é reeditado a partir de [panews]. *Encaminhe o Título Original 'AI如何革新以太坊?从另一个角度看“AI+Blockchain'. Todos os direitos autorais pertencem ao autor original [Salus]. Se houver objeções a esta reedição, entre em contato com oGate Aprenderequipe, e eles lidarão com isso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!