AI+Blockchain

Principiante3/20/2024, 5:11:49 AM
Este artigo apresenta a implementação técnica do Ethereum e propõe uma solução para aplicar aprendizagem automática à rede Ethereum para melhorar a segurança, eficiência e escalabilidade. Foram feitas inovações nas transações do Ethereum, nos mecanismos de consenso, nos algoritmos de assinatura, no armazenamento de dados e na arquitetura de execução. A aprendizagem automática 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 aprendizagem automática 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á a revolucionar o Ethereum? Uma perspetiva diferente de "IA+Blockchain"

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

No entanto, mediante uma observação mais atenta, pode-se notar que esses projetos exibem uma fungibilidade severa, com a maioria dos projetos focando apenas na melhoria das “relações de produção,” como organizar o poder computacional por meio de redes descentralizadas ou criar um “Hugging Face descentralizado,” e assim por diante. Poucos projetos tentam uma integração e inovação genuínas 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.

Tomando a aprendizagem automática (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 de programação explícitas. A aprendizagem automática tem mostrado um potencial tremendo na análise de dados e no reconhecimento de padrões e tornou-se comum na Web 2. No entanto, devido às suas limitações iniciais, mesmo na vanguarda da inovação tecnológica blockchain como o Ethereum, a sua arquitetura, rede e mecanismos de governação ainda não utilizaram eficazmente a aprendizagem automática como 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 apresentamos a implementação técnica do Ethereum e depois propomos uma solução para aplicar a aprendizagem automática, um algoritmo fundamental de IA, à rede Ethereum para melhorar a sua segurança, eficiência e escalabilidade. Esperamos que este caso sirva como ponto de partida para apresentar algumas perspetivas diferentes do mercado e estimular mais combinações inovadoras de "IA+Blockchain" no ecossistema de desenvolvimento.

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 reside na configuração da cadeia, parte essencial de qualquer gênese da Blockchain. No caso do Ethereum, a configuração da cadeia é usada para diferenciar entre diferentes cadeias dentro do Ethereum, identificando protocolos de atualização importantes e eventos fundamentais. Por exemplo, o BlocoDAOFork sinaliza a altura da bifurcação dura do Ethereum após o ataque ao DAO, enquanto o BlocoConstantinople marca a altura do bloco para a atualização de Constantinopla. 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 inclui várias redes de teste e a rede principal, identificadas de forma única pelo ChainID para denotar seus ecossistemas de rede respectivos.
    O bloco genesis serve como o bloco zero de toda a blockchain, diretamente ou indiretamente referenciado por outros blocos. Portanto, os nós devem carregar as informações corretas do bloco genesis durante a inicialização, sem permitir modificações arbitrárias. As informações de configuração do bloco genesis incluem a configuração da cadeia mencionada anteriormente, juntamente com detalhes adicionais, como recompensas de mineração relevantes, 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 participação.
    As contas Ethereum estão divididas em contas externas e contas de contrato. As contas externas são controladas por uma chave privada única, enquanto as contas de contrato não têm controlo de chave privada e só podem ser operadas chamando a execução de código de contrato através 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 as provas do estado completo do mundo 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 tios (como o Ethereum passou para o proof-of-stake, as referências de blocos tios 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 própria transação. 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 registros de transações 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, enquanto fornece a 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 entendidas simplesmente como taxas de transação. Quando envia tokens, executa contratos inteligentes, transfere Ether ou realiza várias operações na blockchain dentro de um bloco específico, essas transações requerem taxas de gás. Os recursos computacionais do Ethereum são consumidos ao processar essas transações e é necessário pagar taxas de gás para incentivar a rede a trabalhar para si. No final, as taxas de gás são pagas como taxas de transação aos mineiros, e a fórmula de cálculo específica pode ser entendida 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 que não são 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. Piscina de negociação
    No Ethereum, existem um grande número de transações e, comparado a sistemas centralizados, a capacidade dos sistemas descentralizados em termos de transações por segundo é significativamente inferior. Com um grande número de transações entrando nos nós, os nós precisam de manter uma pool de transações para gerir essas transações corretamente. A difusão de transações ocorre através da comunicação peer-to-peer. Especificamente, um nó irá difundir transações executáveis para os seus nós vizinhos, que irão propagar a transação para os seus nós vizinhos, permitindo que uma transação se espalhe por toda a rede Ethereum em 6 segundos.
    As transações na 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 na pool inicialmente são não executáveis e tornam-se executáveis mais tarde. As transações executáveis e não executáveis são registradas no recipiente pendente e no recipiente de fila, respectivamente.
    Além disso, a piscina de transações mantém uma lista de transações locais. As transações locais têm várias vantagens, incluindo maior prioridade, imunidade às restrições de volume de transações e recarregamento imediato na piscina de transações após a reinicialização do nó. O armazenamento de persistência local de transações locais é alcançado por meio de um jornal, garantindo que as transações locais inacabadas não sejam perdidas e sejam atualizadas periodicamente.
    Antes de uma transação ser colocada na fila, a 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 gás da transação. A composição simples da pool de transações pode ser dividida em fila + pendente (incluindo todas as transações). Após a conclusão das verificações de validade, são realizadas verificações subsequentes, incluindo verificar se a fila de transações atingiu o seu limite e determinar se as transações remotas (transações não locais) têm o preço mais baixo na pool de transações, substituindo a transação com o preço mais baixo na pool. Para substituir transações executáveis, apenas 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 pool de transações, e as transações elegíveis são substituídas.

  3. Mecanismo de Consenso
    Nas fases iniciais, a teoria de consenso do Ethereum baseava-se no método de cálculo do valor da dificuldade do hash. Em outras palavras, era necessário calcular o valor do hash de um bloco para que o bloco fosse considerado válido. À medida que o algoritmo de consenso do Ethereum fez a transição do Proof of Work (PoW) para o Proof of Stake (PoS), vou delinear brevemente o algoritmo PoS aqui. Em setembro de 2022, o Ethereum completou a fusão da cadeia de beacons, implementando o algoritmo PoS. Especificamente, num Ethereum baseado em PoS, o tempo de bloco de cada bloco é estável em 12 segundos. Os utilizadores apostam o 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 ronda, que inclui 32 slots, um validador é selecionado como proponente para cada slot, enquanto os restantes validadores no mesmo slot servem como comité para validar a legitimidade do bloco proposto e julgar a legitimidade dos blocos da ronda anterior. O algoritmo PoS estabiliza significativamente e acelera a produção de blocos, evitando em grande medida 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 utiliza a curva secp256k1. Especificamente, o algoritmo de assinatura utilizado é ECDSA, onde a assinatura é calculada com base no hash da mensagem original. A assinatura é composta pelos 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 de finalização V, conhecido como o campo de recuperação, indica o número de tentativas necessárias para recuperar com sucesso a chave pública do conteúdo e da assinatura, porque encontrar as coordenadas que satisfazem os requisitos com base no valor R na curva elíptica pode ter múltiplas soluções.
    Todo o processo pode ser resumido da seguinte forma: os dados da transação e as informações relevantes do signatário são hashados após serem codificados por RLP, e a assinatura final é obtida assinando com a chave privada via ECDSA. A curva usada no ECDSA é a curva elíptica secp256k1. Por fim, 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 só se baseia na tecnologia de blockchain tradicional, mas também incorpora a Árvore de Patricia Merkle (MPT), também conhecida como Árvore de Prefixo Comprimido de Merkle, para armazenamento eficiente e verificação de grandes quantidades de dados. O MPT combina a função hash criptográfica da árvore de Merkle e a característica de compressão do caminho de chave da árvore de Patricia, proporcionando uma solução que garante a integridade dos dados e suporta pesquisas rápidas.

  5. Árvore Patrícia Merkle (MPT)
    No Ethereum, 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, verificando o hash raiz, a integridade e precisão dos dados podem ser comprovadas sem verificar toda a base de dados. MPT é composto por quatro tipos de nós: nós folha, nós de extensão, nós de ramificação e nós vazios, que juntos formam uma árvore capaz de se adaptar a alterações dinâmicas nos dados. Sempre que os dados são atualizados, o MPT reflete essas alterações adicionando, excluindo ou modificando nós, atualizando o hash raiz da árvore. Como cada nó é criptografado por meio de uma função de hash, quaisquer alterações mínimas nos dados levarão a alterações significativas no hash raiz, garantindo a segurança e consistência dos dados. Além disso, o design do MPT suporta a verificação de “cliente leve”, permitindo que os nós verifiquem a existência ou estado de informações específicas apenas armazenando o hash raiz da árvore e nós de caminho necessários, reduzindo significativamente a necessidade de armazenamento e processamento de dados.
    Através do MPT, o Ethereum não só alcança uma gestão eficiente e 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 Estados
    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 a execução de todo o código de contratos inteligentes, e o próprio Ethereum pode ser visto como um sistema de transição de estados globalmente compartilhado. A execução de cada bloco pode ser vista como um processo de transição de estados, movendo-se de um estado globalmente compartilhado para outro. Este design garante a consistência e a descentralização da rede Ethereum e torna os resultados de execução de contratos inteligentes previsíveis e à prova de manipulação.
    No Ethereum, o estado refere-se à informação atual de todas as contas, incluindo o saldo de cada conta, dados armazenados e o código de contratos inteligentes. Sempre que ocorre uma transação, a EVM calcula e transforma o estado com base no conteúdo da transação, e este processo é eficientemente e seguramente registrado através do MPT. Cada transição de estado não só altera os dados da conta, mas também leva à atualização do MPT, refletido na mudança do hash raiz da árvore.
    A relação entre EVM e MPT é crucial porque MPT fornece a garantia da integridade dos dados para as transições de estado do Ethereum. Quando o EVM executa transações e altera os estados das contas, os nós MPT relevantes são atualizados para refletir essas mudanças. Uma vez que cada nó do MPT está ligado através de 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 do estado inteiro do Ethereum. Agora, vamos apresentar a Máquina Virtual Ethereum (EVM).

  7. EVM
    A Máquina Virtual Ethereum (EVM) é o componente fundamental responsável pela execução de contratos inteligentes e pela facilitação de transições de estado dentro da rede Ethereum. É graças à EVM que o Ethereum pode ser concebido como um computador mundial. A EVM é Turing completa, o que significa que os contratos inteligentes implantados no Ethereum podem executar cálculos lógicos arbitráriamente complexos. A introdução do mecanismo de gás no Ethereum evita cenários como loops infinitos dentro de contratos, garantindo a estabilidade e segurança da rede.

Num 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 normalmente 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 aplicações descentralizadas (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 à Segurança do Ethereum

Os contratos inteligentes são programas de computador que são executados na blockchain Ethereum. Permitem aos programadores criar e implementar várias aplicações, incluindo, mas não se limitando a aplicações de empréstimo, bolsas descentralizadas, seguros, financiamento secundário, redes sociais e NFTs. A segurança dos contratos inteligentes é crucial para estas aplicações. Estas aplicações são diretamente responsáveis pela gestão e controlo 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éstimo DeFi Blueberry Protocol sofreu um ataque devido a falhas lógicas nos contratos inteligentes, resultando numa perda de aproximadamente $1,400,000.

As vulnerabilidades dos contratos inteligentes são multifacetadas, abrangendo lógica de negócios irrazoável, controle de acesso impróprio, validação de dados insuficiente, ataques de reentrada e ataques DOS (Denial of Service), entre outros aspectos. Essas vulnerabilidades podem causar problemas na execução do contrato, afetando a operação eficaz dos contratos inteligentes. Tomando os ataques DOS como exemplo, esse tipo de ataque consome recursos de rede ao enviar um grande número de transações, fazendo com que as transações iniciadas por usuários normais sejam processadas lentamente, levando a uma diminuição na experiência do usuário. Além disso, isso também pode levar a um aumento nas taxas de gás das transações. 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 da Ethereum também enfrentam riscos de investimento, com a segurança de seus fundos sendo ameaçada. Por exemplo, existem os “rugs,” usados para descrever criptomoedas consideradas com pouco ou nenhum valor ou potencial de crescimento a longo prazo. Os rugs são frequentemente explorados como ferramentas para golpes ou para estratégias de manipulação de preços do tipo pump-and-dump. Investir em rugs acarreta altos riscos de investimento e pode resultar em perdas financeiras significativas. Devido ao seu baixo preço e valor de mercado, eles são vulneráveis à manipulação e volatilidade. Esses tokens são frequentemente usados em esquemas de pump-and-dump e golpes 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 com que 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 real e potencial de crescimento. Além dos rugs, as air coins e as pyramid scheme coins também são métodos rápidos de lucro. Para os usuários que não têm conhecimento e experiência profissionais, distingui-los das 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 numa 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 mineiros pela verificação da transação. Taxas de gás mais baixas indicam maior eficiência no Ethereum.

Uma diminuição na velocidade de transação pode levar a um aumento nas taxas de gás. Geralmente, quando a velocidade de processamento de transações diminui, devido ao espaço limitado do bloco, pode haver mais competição para as transações entrarem no próximo bloco. Para se destacar na competição, os traders geralmente aumentam as taxas de gás, pois os mineiros costumam priorizar 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.

As transações são apenas atividades básicas no Ethereum. Neste ecossistema, os usuários também podem participar de várias atividades, como empréstimos, stakes, investimentos, seguros, etc. Isso pode ser feito 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 sentir-se confusos ao escolher aplicações e produtos adequados. Esta situação pode levar a uma diminuição da satisfação do usuário, afetando a eficiência geral do ecossistema Ethereum.

Tomemos emprestar como exemplo. Algumas plataformas de empréstimo DeFi usam mecanismos de sobrecolateralização para manter a segurança e estabilidade de suas plataformas. Isso significa que os mutuários precisam fornecer mais ativos como garantia, os quais 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 aprendizagem de máquina como o modelo RMF, Redes Generativas Antagonistas (GAN), modelo de Árvore de Decisão, algoritmo de K-Vizinhos Mais Próximos (KNN) e algoritmo de agrupamento DBSCAN estão a desempenhar um papel importante no Ethereum. A aplicação destes modelos de aprendizagem de máquina no Ethereum pode ajudar a otimizar a eficiência do processamento de transações, aumentar a segurança dos contratos inteligentes, alcançar a segmentação de utilizadores para fornecer serviços mais personalizados e contribuir para a manutenção da estabilidade da rede.

Introdução ao Algoritmo

Algoritmos de aprendizagem 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 aprendizagem de máquina como o modelo RMF, Redes Generativas Adversárias (GAN), modelo de Árvore de Decisão, algoritmo de Vizinhos Mais Próximos (KNN) e algoritmo de clustering DBSCAN estão desempenhando um papel importante no Ethereum. A aplicação desses modelos de aprendizagem de máquina no Ethereum pode ajudar a otimizar a eficiência do processamento de transações, melhorar 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.

  1. Classificador Bayesiano

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 custos específicas. Sua filosofia de design está profundamente enraizada no teorema de Bayes, o que lhe 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, depois aplica a fórmula de Bayes para considerar abrangente os dados observados, atualizando assim 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 dessa abordagem é sua capacidade de lidar naturalmente com a incerteza e informações incompletas, tornando-a uma ferramenta poderosa e flexível aplicável a uma ampla gama de cenários.

Figura 2: Classificador de Bayes

Como ilustrado na Figura 2, no aprendizado supervisionado de máquinas, 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 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 hierárquica de tomada de decisão, 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, todo o algoritmo 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.

Conforme 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

O 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 uma 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 os 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 como 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, calcula a média ou média ponderada dos valores das k amostras mais próximas para fazer previsões.

Como 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 geralmente é usado um método de votação para determinar a categoria do novo ponto de dados, ou seja, ele será atribuído à categoria à qual pertence a maioria de seus vizinhos. 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

A 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 da aprendizagem automática e da aprendizagem profunda, particularmente em áreas como o processamento de linguagem natural e o reconhecimento de imagens. A IA generativa aprende padrões e correlações a partir de grandes quantidades de dados e depois gera saída totalmente nova com base nessas informações aprendidas. A chave para a IA generativa reside na formação do modelo, que requer dados excelentes para aprendizagem e treino. Durante este processo, o modelo melhora gradualmente a sua capacidade de gerar novo conteúdo ao analisar e compreender a estrutura, padrões e relações 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, ao mesmo tempo que considera o contexto global. Essa capacidade única melhorou 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 compreender 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 múltiplas 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, aprimorou 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ários de valor diferente, analisando seu comportamento de transação. Este modelo estratifica os usuários com base em sua Recência (R), Frequência (F) e Valor Monetário (M) de compras. Como mostrado na Figura 7, esses três indicadores formam coletivamente o núcleo do modelo RFM. O modelo pontua os usuários com base nesses três dimensões e os classifica de acordo com suas pontuações para identificar os segmentos de usuários mais valiosos. Além disso, o modelo segmenta eficazmente 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, conduzimos pesquisas em quatro áreas principais:

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

Ao construir um classificador de Bayes, transações de spam potenciais, incluindo mas não se limitando àquelas que causam ataques de DOS através de transações em grande escala, frequentes e pequenas, podem ser identificadas e filtradas. Esta abordagem mantém eficazmente a saúde da rede através da análise de 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. Gerar código de contrato inteligente seguro e personalizado

As Redes Generativas Adversariais (GANs) e as redes generativas baseadas em Transformadores podem ser usadas para gerar código de contratos inteligentes que cumpra 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 em que essas duas redes confiam durante o processo de treino; as primeiras dependem principalmente de amostras de código inseguras, enquanto as segundas são o oposto.

Ao treinar GANs para aprender padrões de contratos seguros existentes e construir modelos autocontraditórios para gerar código potencialmente inseguro, e depois aprender a identificar essas inseguranças, é possível gerar automaticamente código de contrato inteligente de alta qualidade e mais seguro. Aproveitando modelos de rede gerativa baseados em Transformadores, ao aprender a partir de um grande número de exemplos de contrato seguro, é possível gerar código de contrato que cumpra requisitos específicos e otimize o consumo de gás, melhorando significativamente a eficiência e segurança do desenvolvimento de contratos inteligentes.

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

Ao utilizar árvores de decisão para analisar as características dos contratos inteligentes, como a frequência das chamadas de função, o valor das transações, a complexidade do código fonte, etc., é possível identificar eficazmente os níveis de risco potencial dos contratos. Ao analisar os padrões de operação do contrato e as estruturas de código, é possível prever possíveis vulnerabilidades e pontos de risco, fornecendo avaliações de segurança aos desenvolvedores e usuários. Este método é esperado que melhore significativamente a segurança dos contratos inteligentes no ecossistema Ethereum, reduzindo assim as perdas causadas por vulnerabilidades ou código malicioso.

Construir 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 de lixo. 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 machine learning tem o potencial de aumentar ainda mais a eficiência do Ethereum. Podemos aprofundar nas seguintes três dimensões-chave:

Otimizando a Aplicação de Árvore de Decisão dos Modelos de Fila de Pool de Transações

Com base em árvores de decisão, é possível otimizar efetivamente o mecanismo de fila das pools de transações Ethereum. Ao analisar características das transações, 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 das transações. Este método pode melhorar significativamente a eficiência de processamento de transações, reduzir eficazmente a congestão da rede e diminuir os tempos de espera das transações dos usuários.

Estratificação de Usuários e Prestação de Serviços Personalizados

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 eficazmente os utilizadores ao avaliar a recência da última transação do utilizador, a frequência da transação e o montante da transação. Aplicar o modelo RFM na plataforma Ethereum pode ajudar a identificar grupos de utilizadores de alto valor, otimizar a alocação de recursos e fornecer serviços mais personalizados, melhorando assim a satisfação do utilizador 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 aos 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-Vizinhos Mais Próximos (KNN) pode analisar os históricos de transações do usuário Ethereum e padrões de comportamento para atribuir uma pontuação de crédito ao usuário, o que desempenha um papel extremamente importante em atividades financeiras como empréstimos. A avaliação de crédito ajuda as instituições financeiras e plataformas de empréstimo a avaliar com mais precisão a capacidade de pagamento e o risco de crédito dos mutuários, tornando, assim, decisões de empréstimo mais precisas. Isso pode evitar o excesso 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 muito investimento em sua camada de infraestrutura. Precisa atrair mais desenvolvedores de diferentes origens para participar da co-construção. Neste artigo, ao rever 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 a potência computacional on-chain aumenta gradualmente, podemos antecipar o desenvolvimento de modelos mais sofisticados para gestão de rede, monitorização de transações, auditorias de segurança e vários outros aspetos, melhorando assim a eficiência e segurança da rede Ethereum.

Olhando mais adiante, os mecanismos de governação impulsionados por IA/agente também poderiam tornar-se 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 numa estrutura de governação mais flexível e fiável para a plataforma Ethereum. Estas direções futuras não só impulsionarão a inovação na tecnologia Ethereum, mas também proporcionarão aos utilizadores uma experiência na cadeia de maior qualidade.

Aviso legal:

  1. Este artigo é reproduzido 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 esse reprint, entre em contato com oGate Learnequipa e eles tratarão disso prontamente.
  2. Isenção de Responsabilidade: As visões e 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, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

AI+Blockchain

Principiante3/20/2024, 5:11:49 AM
Este artigo apresenta a implementação técnica do Ethereum e propõe uma solução para aplicar aprendizagem automática à rede Ethereum para melhorar a segurança, eficiência e escalabilidade. Foram feitas inovações nas transações do Ethereum, nos mecanismos de consenso, nos algoritmos de assinatura, no armazenamento de dados e na arquitetura de execução. A aprendizagem automática 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 aprendizagem automática 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á a revolucionar o Ethereum? Uma perspetiva diferente de "IA+Blockchain"

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

No entanto, mediante uma observação mais atenta, pode-se notar que esses projetos exibem uma fungibilidade severa, com a maioria dos projetos focando apenas na melhoria das “relações de produção,” como organizar o poder computacional por meio de redes descentralizadas ou criar um “Hugging Face descentralizado,” e assim por diante. Poucos projetos tentam uma integração e inovação genuínas 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.

Tomando a aprendizagem automática (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 de programação explícitas. A aprendizagem automática tem mostrado um potencial tremendo na análise de dados e no reconhecimento de padrões e tornou-se comum na Web 2. No entanto, devido às suas limitações iniciais, mesmo na vanguarda da inovação tecnológica blockchain como o Ethereum, a sua arquitetura, rede e mecanismos de governação ainda não utilizaram eficazmente a aprendizagem automática como 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 apresentamos a implementação técnica do Ethereum e depois propomos uma solução para aplicar a aprendizagem automática, um algoritmo fundamental de IA, à rede Ethereum para melhorar a sua segurança, eficiência e escalabilidade. Esperamos que este caso sirva como ponto de partida para apresentar algumas perspetivas diferentes do mercado e estimular mais combinações inovadoras de "IA+Blockchain" no ecossistema de desenvolvimento.

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 reside na configuração da cadeia, parte essencial de qualquer gênese da Blockchain. No caso do Ethereum, a configuração da cadeia é usada para diferenciar entre diferentes cadeias dentro do Ethereum, identificando protocolos de atualização importantes e eventos fundamentais. Por exemplo, o BlocoDAOFork sinaliza a altura da bifurcação dura do Ethereum após o ataque ao DAO, enquanto o BlocoConstantinople marca a altura do bloco para a atualização de Constantinopla. 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 inclui várias redes de teste e a rede principal, identificadas de forma única pelo ChainID para denotar seus ecossistemas de rede respectivos.
    O bloco genesis serve como o bloco zero de toda a blockchain, diretamente ou indiretamente referenciado por outros blocos. Portanto, os nós devem carregar as informações corretas do bloco genesis durante a inicialização, sem permitir modificações arbitrárias. As informações de configuração do bloco genesis incluem a configuração da cadeia mencionada anteriormente, juntamente com detalhes adicionais, como recompensas de mineração relevantes, 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 participação.
    As contas Ethereum estão divididas em contas externas e contas de contrato. As contas externas são controladas por uma chave privada única, enquanto as contas de contrato não têm controlo de chave privada e só podem ser operadas chamando a execução de código de contrato através 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 as provas do estado completo do mundo 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 tios (como o Ethereum passou para o proof-of-stake, as referências de blocos tios 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 própria transação. 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 registros de transações 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, enquanto fornece a 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 entendidas simplesmente como taxas de transação. Quando envia tokens, executa contratos inteligentes, transfere Ether ou realiza várias operações na blockchain dentro de um bloco específico, essas transações requerem taxas de gás. Os recursos computacionais do Ethereum são consumidos ao processar essas transações e é necessário pagar taxas de gás para incentivar a rede a trabalhar para si. No final, as taxas de gás são pagas como taxas de transação aos mineiros, e a fórmula de cálculo específica pode ser entendida 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 que não são 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. Piscina de negociação
    No Ethereum, existem um grande número de transações e, comparado a sistemas centralizados, a capacidade dos sistemas descentralizados em termos de transações por segundo é significativamente inferior. Com um grande número de transações entrando nos nós, os nós precisam de manter uma pool de transações para gerir essas transações corretamente. A difusão de transações ocorre através da comunicação peer-to-peer. Especificamente, um nó irá difundir transações executáveis para os seus nós vizinhos, que irão propagar a transação para os seus nós vizinhos, permitindo que uma transação se espalhe por toda a rede Ethereum em 6 segundos.
    As transações na 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 na pool inicialmente são não executáveis e tornam-se executáveis mais tarde. As transações executáveis e não executáveis são registradas no recipiente pendente e no recipiente de fila, respectivamente.
    Além disso, a piscina de transações mantém uma lista de transações locais. As transações locais têm várias vantagens, incluindo maior prioridade, imunidade às restrições de volume de transações e recarregamento imediato na piscina de transações após a reinicialização do nó. O armazenamento de persistência local de transações locais é alcançado por meio de um jornal, garantindo que as transações locais inacabadas não sejam perdidas e sejam atualizadas periodicamente.
    Antes de uma transação ser colocada na fila, a 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 gás da transação. A composição simples da pool de transações pode ser dividida em fila + pendente (incluindo todas as transações). Após a conclusão das verificações de validade, são realizadas verificações subsequentes, incluindo verificar se a fila de transações atingiu o seu limite e determinar se as transações remotas (transações não locais) têm o preço mais baixo na pool de transações, substituindo a transação com o preço mais baixo na pool. Para substituir transações executáveis, apenas 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 pool de transações, e as transações elegíveis são substituídas.

  3. Mecanismo de Consenso
    Nas fases iniciais, a teoria de consenso do Ethereum baseava-se no método de cálculo do valor da dificuldade do hash. Em outras palavras, era necessário calcular o valor do hash de um bloco para que o bloco fosse considerado válido. À medida que o algoritmo de consenso do Ethereum fez a transição do Proof of Work (PoW) para o Proof of Stake (PoS), vou delinear brevemente o algoritmo PoS aqui. Em setembro de 2022, o Ethereum completou a fusão da cadeia de beacons, implementando o algoritmo PoS. Especificamente, num Ethereum baseado em PoS, o tempo de bloco de cada bloco é estável em 12 segundos. Os utilizadores apostam o 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 ronda, que inclui 32 slots, um validador é selecionado como proponente para cada slot, enquanto os restantes validadores no mesmo slot servem como comité para validar a legitimidade do bloco proposto e julgar a legitimidade dos blocos da ronda anterior. O algoritmo PoS estabiliza significativamente e acelera a produção de blocos, evitando em grande medida 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 utiliza a curva secp256k1. Especificamente, o algoritmo de assinatura utilizado é ECDSA, onde a assinatura é calculada com base no hash da mensagem original. A assinatura é composta pelos 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 de finalização V, conhecido como o campo de recuperação, indica o número de tentativas necessárias para recuperar com sucesso a chave pública do conteúdo e da assinatura, porque encontrar as coordenadas que satisfazem os requisitos com base no valor R na curva elíptica pode ter múltiplas soluções.
    Todo o processo pode ser resumido da seguinte forma: os dados da transação e as informações relevantes do signatário são hashados após serem codificados por RLP, e a assinatura final é obtida assinando com a chave privada via ECDSA. A curva usada no ECDSA é a curva elíptica secp256k1. Por fim, 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 só se baseia na tecnologia de blockchain tradicional, mas também incorpora a Árvore de Patricia Merkle (MPT), também conhecida como Árvore de Prefixo Comprimido de Merkle, para armazenamento eficiente e verificação de grandes quantidades de dados. O MPT combina a função hash criptográfica da árvore de Merkle e a característica de compressão do caminho de chave da árvore de Patricia, proporcionando uma solução que garante a integridade dos dados e suporta pesquisas rápidas.

  5. Árvore Patrícia Merkle (MPT)
    No Ethereum, 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, verificando o hash raiz, a integridade e precisão dos dados podem ser comprovadas sem verificar toda a base de dados. MPT é composto por quatro tipos de nós: nós folha, nós de extensão, nós de ramificação e nós vazios, que juntos formam uma árvore capaz de se adaptar a alterações dinâmicas nos dados. Sempre que os dados são atualizados, o MPT reflete essas alterações adicionando, excluindo ou modificando nós, atualizando o hash raiz da árvore. Como cada nó é criptografado por meio de uma função de hash, quaisquer alterações mínimas nos dados levarão a alterações significativas no hash raiz, garantindo a segurança e consistência dos dados. Além disso, o design do MPT suporta a verificação de “cliente leve”, permitindo que os nós verifiquem a existência ou estado de informações específicas apenas armazenando o hash raiz da árvore e nós de caminho necessários, reduzindo significativamente a necessidade de armazenamento e processamento de dados.
    Através do MPT, o Ethereum não só alcança uma gestão eficiente e 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 Estados
    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 a execução de todo o código de contratos inteligentes, e o próprio Ethereum pode ser visto como um sistema de transição de estados globalmente compartilhado. A execução de cada bloco pode ser vista como um processo de transição de estados, movendo-se de um estado globalmente compartilhado para outro. Este design garante a consistência e a descentralização da rede Ethereum e torna os resultados de execução de contratos inteligentes previsíveis e à prova de manipulação.
    No Ethereum, o estado refere-se à informação atual de todas as contas, incluindo o saldo de cada conta, dados armazenados e o código de contratos inteligentes. Sempre que ocorre uma transação, a EVM calcula e transforma o estado com base no conteúdo da transação, e este processo é eficientemente e seguramente registrado através do MPT. Cada transição de estado não só altera os dados da conta, mas também leva à atualização do MPT, refletido na mudança do hash raiz da árvore.
    A relação entre EVM e MPT é crucial porque MPT fornece a garantia da integridade dos dados para as transições de estado do Ethereum. Quando o EVM executa transações e altera os estados das contas, os nós MPT relevantes são atualizados para refletir essas mudanças. Uma vez que cada nó do MPT está ligado através de 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 do estado inteiro do Ethereum. Agora, vamos apresentar a Máquina Virtual Ethereum (EVM).

  7. EVM
    A Máquina Virtual Ethereum (EVM) é o componente fundamental responsável pela execução de contratos inteligentes e pela facilitação de transições de estado dentro da rede Ethereum. É graças à EVM que o Ethereum pode ser concebido como um computador mundial. A EVM é Turing completa, o que significa que os contratos inteligentes implantados no Ethereum podem executar cálculos lógicos arbitráriamente complexos. A introdução do mecanismo de gás no Ethereum evita cenários como loops infinitos dentro de contratos, garantindo a estabilidade e segurança da rede.

Num 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 normalmente 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 aplicações descentralizadas (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 à Segurança do Ethereum

Os contratos inteligentes são programas de computador que são executados na blockchain Ethereum. Permitem aos programadores criar e implementar várias aplicações, incluindo, mas não se limitando a aplicações de empréstimo, bolsas descentralizadas, seguros, financiamento secundário, redes sociais e NFTs. A segurança dos contratos inteligentes é crucial para estas aplicações. Estas aplicações são diretamente responsáveis pela gestão e controlo 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éstimo DeFi Blueberry Protocol sofreu um ataque devido a falhas lógicas nos contratos inteligentes, resultando numa perda de aproximadamente $1,400,000.

As vulnerabilidades dos contratos inteligentes são multifacetadas, abrangendo lógica de negócios irrazoável, controle de acesso impróprio, validação de dados insuficiente, ataques de reentrada e ataques DOS (Denial of Service), entre outros aspectos. Essas vulnerabilidades podem causar problemas na execução do contrato, afetando a operação eficaz dos contratos inteligentes. Tomando os ataques DOS como exemplo, esse tipo de ataque consome recursos de rede ao enviar um grande número de transações, fazendo com que as transações iniciadas por usuários normais sejam processadas lentamente, levando a uma diminuição na experiência do usuário. Além disso, isso também pode levar a um aumento nas taxas de gás das transações. 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 da Ethereum também enfrentam riscos de investimento, com a segurança de seus fundos sendo ameaçada. Por exemplo, existem os “rugs,” usados para descrever criptomoedas consideradas com pouco ou nenhum valor ou potencial de crescimento a longo prazo. Os rugs são frequentemente explorados como ferramentas para golpes ou para estratégias de manipulação de preços do tipo pump-and-dump. Investir em rugs acarreta altos riscos de investimento e pode resultar em perdas financeiras significativas. Devido ao seu baixo preço e valor de mercado, eles são vulneráveis à manipulação e volatilidade. Esses tokens são frequentemente usados em esquemas de pump-and-dump e golpes 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 com que 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 real e potencial de crescimento. Além dos rugs, as air coins e as pyramid scheme coins também são métodos rápidos de lucro. Para os usuários que não têm conhecimento e experiência profissionais, distingui-los das 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 numa 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 mineiros pela verificação da transação. Taxas de gás mais baixas indicam maior eficiência no Ethereum.

Uma diminuição na velocidade de transação pode levar a um aumento nas taxas de gás. Geralmente, quando a velocidade de processamento de transações diminui, devido ao espaço limitado do bloco, pode haver mais competição para as transações entrarem no próximo bloco. Para se destacar na competição, os traders geralmente aumentam as taxas de gás, pois os mineiros costumam priorizar 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.

As transações são apenas atividades básicas no Ethereum. Neste ecossistema, os usuários também podem participar de várias atividades, como empréstimos, stakes, investimentos, seguros, etc. Isso pode ser feito 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 sentir-se confusos ao escolher aplicações e produtos adequados. Esta situação pode levar a uma diminuição da satisfação do usuário, afetando a eficiência geral do ecossistema Ethereum.

Tomemos emprestar como exemplo. Algumas plataformas de empréstimo DeFi usam mecanismos de sobrecolateralização para manter a segurança e estabilidade de suas plataformas. Isso significa que os mutuários precisam fornecer mais ativos como garantia, os quais 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 aprendizagem de máquina como o modelo RMF, Redes Generativas Antagonistas (GAN), modelo de Árvore de Decisão, algoritmo de K-Vizinhos Mais Próximos (KNN) e algoritmo de agrupamento DBSCAN estão a desempenhar um papel importante no Ethereum. A aplicação destes modelos de aprendizagem de máquina no Ethereum pode ajudar a otimizar a eficiência do processamento de transações, aumentar a segurança dos contratos inteligentes, alcançar a segmentação de utilizadores para fornecer serviços mais personalizados e contribuir para a manutenção da estabilidade da rede.

Introdução ao Algoritmo

Algoritmos de aprendizagem 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 aprendizagem de máquina como o modelo RMF, Redes Generativas Adversárias (GAN), modelo de Árvore de Decisão, algoritmo de Vizinhos Mais Próximos (KNN) e algoritmo de clustering DBSCAN estão desempenhando um papel importante no Ethereum. A aplicação desses modelos de aprendizagem de máquina no Ethereum pode ajudar a otimizar a eficiência do processamento de transações, melhorar 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.

  1. Classificador Bayesiano

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 custos específicas. Sua filosofia de design está profundamente enraizada no teorema de Bayes, o que lhe 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, depois aplica a fórmula de Bayes para considerar abrangente os dados observados, atualizando assim 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 dessa abordagem é sua capacidade de lidar naturalmente com a incerteza e informações incompletas, tornando-a uma ferramenta poderosa e flexível aplicável a uma ampla gama de cenários.

Figura 2: Classificador de Bayes

Como ilustrado na Figura 2, no aprendizado supervisionado de máquinas, 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 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 hierárquica de tomada de decisão, 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, todo o algoritmo 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.

Conforme 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

O 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 uma 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 os 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 como 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, calcula a média ou média ponderada dos valores das k amostras mais próximas para fazer previsões.

Como 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 geralmente é usado um método de votação para determinar a categoria do novo ponto de dados, ou seja, ele será atribuído à categoria à qual pertence a maioria de seus vizinhos. 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

A 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 da aprendizagem automática e da aprendizagem profunda, particularmente em áreas como o processamento de linguagem natural e o reconhecimento de imagens. A IA generativa aprende padrões e correlações a partir de grandes quantidades de dados e depois gera saída totalmente nova com base nessas informações aprendidas. A chave para a IA generativa reside na formação do modelo, que requer dados excelentes para aprendizagem e treino. Durante este processo, o modelo melhora gradualmente a sua capacidade de gerar novo conteúdo ao analisar e compreender a estrutura, padrões e relações 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, ao mesmo tempo que considera o contexto global. Essa capacidade única melhorou 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 compreender 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 múltiplas 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, aprimorou 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ários de valor diferente, analisando seu comportamento de transação. Este modelo estratifica os usuários com base em sua Recência (R), Frequência (F) e Valor Monetário (M) de compras. Como mostrado na Figura 7, esses três indicadores formam coletivamente o núcleo do modelo RFM. O modelo pontua os usuários com base nesses três dimensões e os classifica de acordo com suas pontuações para identificar os segmentos de usuários mais valiosos. Além disso, o modelo segmenta eficazmente 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, conduzimos pesquisas em quatro áreas principais:

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

Ao construir um classificador de Bayes, transações de spam potenciais, incluindo mas não se limitando àquelas que causam ataques de DOS através de transações em grande escala, frequentes e pequenas, podem ser identificadas e filtradas. Esta abordagem mantém eficazmente a saúde da rede através da análise de 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. Gerar código de contrato inteligente seguro e personalizado

As Redes Generativas Adversariais (GANs) e as redes generativas baseadas em Transformadores podem ser usadas para gerar código de contratos inteligentes que cumpra 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 em que essas duas redes confiam durante o processo de treino; as primeiras dependem principalmente de amostras de código inseguras, enquanto as segundas são o oposto.

Ao treinar GANs para aprender padrões de contratos seguros existentes e construir modelos autocontraditórios para gerar código potencialmente inseguro, e depois aprender a identificar essas inseguranças, é possível gerar automaticamente código de contrato inteligente de alta qualidade e mais seguro. Aproveitando modelos de rede gerativa baseados em Transformadores, ao aprender a partir de um grande número de exemplos de contrato seguro, é possível gerar código de contrato que cumpra requisitos específicos e otimize o consumo de gás, melhorando significativamente a eficiência e segurança do desenvolvimento de contratos inteligentes.

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

Ao utilizar árvores de decisão para analisar as características dos contratos inteligentes, como a frequência das chamadas de função, o valor das transações, a complexidade do código fonte, etc., é possível identificar eficazmente os níveis de risco potencial dos contratos. Ao analisar os padrões de operação do contrato e as estruturas de código, é possível prever possíveis vulnerabilidades e pontos de risco, fornecendo avaliações de segurança aos desenvolvedores e usuários. Este método é esperado que melhore significativamente a segurança dos contratos inteligentes no ecossistema Ethereum, reduzindo assim as perdas causadas por vulnerabilidades ou código malicioso.

Construir 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 de lixo. 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 machine learning tem o potencial de aumentar ainda mais a eficiência do Ethereum. Podemos aprofundar nas seguintes três dimensões-chave:

Otimizando a Aplicação de Árvore de Decisão dos Modelos de Fila de Pool de Transações

Com base em árvores de decisão, é possível otimizar efetivamente o mecanismo de fila das pools de transações Ethereum. Ao analisar características das transações, 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 das transações. Este método pode melhorar significativamente a eficiência de processamento de transações, reduzir eficazmente a congestão da rede e diminuir os tempos de espera das transações dos usuários.

Estratificação de Usuários e Prestação de Serviços Personalizados

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 eficazmente os utilizadores ao avaliar a recência da última transação do utilizador, a frequência da transação e o montante da transação. Aplicar o modelo RFM na plataforma Ethereum pode ajudar a identificar grupos de utilizadores de alto valor, otimizar a alocação de recursos e fornecer serviços mais personalizados, melhorando assim a satisfação do utilizador 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 aos 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-Vizinhos Mais Próximos (KNN) pode analisar os históricos de transações do usuário Ethereum e padrões de comportamento para atribuir uma pontuação de crédito ao usuário, o que desempenha um papel extremamente importante em atividades financeiras como empréstimos. A avaliação de crédito ajuda as instituições financeiras e plataformas de empréstimo a avaliar com mais precisão a capacidade de pagamento e o risco de crédito dos mutuários, tornando, assim, decisões de empréstimo mais precisas. Isso pode evitar o excesso 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 muito investimento em sua camada de infraestrutura. Precisa atrair mais desenvolvedores de diferentes origens para participar da co-construção. Neste artigo, ao rever 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 a potência computacional on-chain aumenta gradualmente, podemos antecipar o desenvolvimento de modelos mais sofisticados para gestão de rede, monitorização de transações, auditorias de segurança e vários outros aspetos, melhorando assim a eficiência e segurança da rede Ethereum.

Olhando mais adiante, os mecanismos de governação impulsionados por IA/agente também poderiam tornar-se 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 numa estrutura de governação mais flexível e fiável para a plataforma Ethereum. Estas direções futuras não só impulsionarão a inovação na tecnologia Ethereum, mas também proporcionarão aos utilizadores uma experiência na cadeia de maior qualidade.

Aviso legal:

  1. Este artigo é reproduzido 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 esse reprint, entre em contato com oGate Learnequipa e eles tratarão disso prontamente.
  2. Isenção de Responsabilidade: As visões e 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, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!