Discutimos os vários cenários de aplicação da tecnologia ZK para obter proteção de privacidade em DeFi, especialmente seu potencial em resistir a transações front-running, manipulação de liquidez e empréstimos.
Escrito por: Salus
1. Introdução
As Finanças Descentralizadas (DeFi) são uma importante direção de desenvolvimento no atual campo da inovação financeira. No DeFi, ocultar informações de transações e manter a privacidade do usuário são cruciais. À medida que o DeFi continua a se expandir e se aprofundar, vários projetos surgem indefinidamente e estão cheios de vitalidade. A aplicação da tecnologia de prova de conhecimento zero (ZK) abriu novas possibilidades para proteção de privacidade em DeFi. A tecnologia ZK permite que uma parte prove a outra parte que conhece uma informação sem revelar quaisquer detalhes específicos sobre essa informação. A aplicação desta tecnologia em projetos DeFi como ZigZag, unyfy e ZK DEX da OKX melhorou muito as capacidades de proteção de privacidade do DeFi, especialmente a proteção de informações de transações. É previsível que a aplicação generalizada da tecnologia ZK trará inovações na forma como o DeFi e todo o campo das criptomoedas são tratados, promoverá o desenvolvimento futuro de todo o campo e alcançará grandes avanços.
2. Desafios de privacidade em DeFi
Não há segredos no blockchain e a transparência dos dados do DeFi é indiscutível. Tomando como exemplo uma transação no Uniswap V3, podemos visualizar facilmente os detalhes da transação através do site Etherescan (conforme mostrado na Figura 1). Por exemplo, o endereço 0x3A4D...a6f2 trocou 2 WETH por 17.654.123.249.375 Bonk no Uniswap V3, e a taxa de transação foi de 0,0046 Ether. Informações importantes como remetente (De), destinatário (Para), valor da transação (Valor) e taxa de transação (Taxa de transação) nessas transações estão todas disponíveis publicamente.
Figura 1 Detalhes da transação divulgados no etherescan
Também podemos visualizar todos os registros de transações no endereço 0x3A4D...a6f2 (conforme mostrado na Figura 2).Se as condições permitirem, também podemos deduzir a verdadeira identidade desse endereço no mundo real.
Figura 2 A lista de todas as transações para um endereço específico é pública no etherescan
No entanto, a transparência dos dados do DeFi pode ter algumas desvantagens. Se você é uma baleia DeFi, cada uma de suas transações pode atrair a atenção do mercado. Por exemplo, quando uma baleia retira 11,24 milhões de WOO (aproximadamente US$ 4,2 milhões) da Binance, esta transação atrairá a atenção. Da mesma forma, quaisquer pagamentos de grande valor ou transações a nível institucional também podem suscitar preocupação pública generalizada.
Outros participantes do mercado podem tomar decisões de compra e venda com base nestes comportamentos de negociação, o que pode afetar negativamente a sua estratégia de investimento. Por exemplo, você investe uma grande quantia de dinheiro em um determinado projeto, mas assim que sua transação for percebida pelo mercado, outros investidores poderão seguir o exemplo, fazendo com que os preços dos ativos subam, aumentando assim seus custos de investimento. Além disso, sua operação de venda também pode desencadear pânico no mercado, fazendo com que os preços caiam e afetando o retorno do seu investimento.
Esta situação destaca a necessidade urgente de proteção da privacidade entre projetos e usuários DeFi. Se não quisermos que os detalhes de nossas transações sejam conhecidos pelo público, podemos optar por manter certas informações sobre transações DeFi privadas.
A tecnologia ZK pode garantir a legitimidade das transações enquanto oculta os detalhes da transação. Os usuários precisam enviar dois tipos de informações: uma é uma transação que oculta parcialmente detalhes (como destinatário ou valor da transação) (ou seja, uma transação privada) e a outra é um certificado ZK sobre essas informações ocultas. Verificar a legitimidade de uma transação privada é, na verdade, verificar o certificado ZK correspondente.
3. Desbloqueando o potencial do DeFi: oportunidades trazidas pela tecnologia ZK
3.1 O papel da tecnologia ZK na resistência às transações front-running
Suponha que você tenha a sorte de saber que uma grande empresa está prestes a comprar uma grande quantidade de um determinado ativo. Você pode optar por comprar esse ativo antes que a empresa o faça. Então, quando a compra pesada dessa empresa aumenta o preço do ativo, você o vende com lucro. Neste caso, a sua negociação perante os grandes jogadores constitui uma negociação de vanguarda.
Front-running é uma estratégia de investimento em negociações financeiras que geralmente ocorre em bolsas, como o Uniswap. Isso ocorre porque as transações no blockchain são públicas e a confirmação da transação leva um certo tempo. Portanto, alguns comerciantes mal-intencionados podem aumentar a taxa do gás de transação para permitir que suas transações sejam exploradas e confirmadas antes das transações de outras pessoas, a fim de atingir o objetivo de transações front-running.
As negociações iniciais podem causar danos a outros traders porque alteram o ambiente comercial original, de modo que as negociações de outros traders podem não prosseguir conforme planejado originalmente. Por outro lado, os invasores iniciam transações antecipadas para obter lucros para si próprios e podem obter lucros antes que o preço mude. Portanto, muitos projetos DeFi também estão tentando impedir transações antecipadas por meio de vários métodos.
A tecnologia ZK pode desempenhar um papel fundamental no combate às negociações frontais. Abaixo, tomamos como exemplo o ataque sanduíche em Exchange Descentralizada (DEX), que também é um tipo comum de transação de front-running para análise de caso.
3.1.1 Estudo de caso: Ataque sanduíche em DEXs
O que é um ataque sanduíche?
Suponha que em uma DEX haja um pool de liquidez com status de reserva de 100 ETH/300.000 USDT. Alice inicia uma transação para comprar USDT, trocando 20 ETH por USDT. Quando ela enviar a transação, o DEX retornará um resultado baseado no status atual da reserva do pool de liquidez, informando a Alice que ela pode comprar aproximadamente 50.000 USDT. Mas, na verdade, Alice só conseguiu 45.714 USDT no final.
Aqui, vamos primeiro entender brevemente por que Alice pode comprar 50.000 USDT com 20 ETH. O DEX adota o modelo Automated Market Maker (AMM) e calcula automaticamente o preço de compra e venda por meio do algoritmo Constant Product Market Maker (CPMM). CPMM é um algoritmo de criador de mercado automatizado atualmente popular que mantém um produto constante de dois ativos no pool de negociação para obter liquidez e ajustar automaticamente os preços dos ativos. Neste exemplo, a quantidade de USDT que Alice pode comprar é calculada através da fórmula 50.000=300.000-(100*300.000)/(100+20) (assumindo que não há taxa de manuseio).
Alice não comprou a quantia esperada de USDT porque sofreu um ataque sanduíche.
Os ataques sanduíche ocorrem principalmente em DEXs baseados em AMM. Num ataque sanduíche, o atacante realiza duas transações em torno das transações regulares da vítima para manipular os preços dos ativos e lucrar com as perdas da vítima. Essas duas transações são transações iniciais e transações de acompanhamento, respectivamente.A transação antes da transação regular é chamada de transação inicial, e a transação após a transação regular é chamada de transação subsequente.
Então, como funcionou o ataque sanduíche de Alice? Conforme mostrado na Figura 3.
Figura 3 Processo de ataque sanduíche
A transação preemptiva do invasor: Antes da transação iniciada por Alice para comprar USDT ser executada, o invasor também iniciou uma transação para comprar USDT (transação preemptiva), ou seja, trocando 5 ETH por USDT. Além disso, a taxa de gás paga pelo invasor ao minerador por esta transação é maior do que a de Alice, portanto a transação do invasor será executada antes de Alice.
Depois que a transação de compra de USDT do invasor foi executada, ele obteve aproximadamente 14.286 USDT do pool de liquidez, 14.286≈300.000-(100*300.000)/(100+5). A reserva do pool de liquidez passou do estado inicial de 100 ETH/300.000 USDT para 105 ETH/285.714 USDT. No entanto, Alice não sabe que o status da reserva do pool de liquidez mudou entre o momento em que ela envia a transação e o momento em que sua transação é executada.
Transação regular da vítima: A transação regular de Alice é então executada.
Depois que a transação de compra de USDT de Alice foi executada, ela recebeu 45.714 USDT do pool de liquidez (de acordo com a função de produto constante, 45.714≈285.714-(105*285.714)/(105+20)). O status da reserva de liquidez mudou de 105 ETH/285.714 USDT para 125 ETH/240.000 USDT. Portanto, Alice deveria ter conseguido comprar 50.000 USDT com 20 ETH, mas agora ela só pode comprar 45.714 USDT devido a alterações no pool de liquidez causadas pela transação do invasor. Alice perdeu aproximadamente 4.286 USDT (4.286 = 50.000-45.714).
A transação de acompanhamento do invasor: Por fim, o invasor iniciou uma transação (transação de acompanhamento) novamente, ou seja, trocando 14.286 USDT por ETH (esses 14.286 USDT foram comprados agora há pouco).
Depois que a transação de acompanhamento do invasor foi executada, ele retirou 7 ETH do pool de liquidez (função de produto definida, 7≈125-(125*240.000)/(240.000+14.286)). O status de reserva do pool de liquidez mudou de 125 ETH/240.000 USDT para 118 ETH/254.286 USDT. Portanto, o invasor gastou apenas 5 ETH no início, mas finalmente conseguiu 7 ETH e ganhou 2 ETH (2=7-5).
Durante todo o processo de ataque sanduíche, o invasor iniciou um total de duas transações, ou seja, uma transação inicial e uma transação de acompanhamento. A transação inicial fez com que Alice perdesse aproximadamente 4.286 USDT. A combinação de transações iniciais e de acompanhamento fez com que o invasor lucrasse 2 ETH.
Nas DEXs, a publicidade das transações é um fator chave que leva ao surgimento de ataques sanduíche, principalmente em protocolos AMM. Esses protocolos tornam públicas as informações de transações em tempo real nas DEXs. Essa alta transparência proporciona aos invasores a possibilidade de observar e analisar os fluxos de transações a fim de encontrar oportunidades para realizar ataques sanduíche.
3.1.2 A tecnologia ZK pode resistir a ataques sanduíche
A aplicação da tecnologia ZK pode reduzir significativamente a possibilidade de ataques sanduíche. Ao usar a tecnologia ZK para ocultar o volume de transações, tipos de ativos, saldos de usuários ou pools de liquidez, identidades de usuários, instruções de transação e outras informações relacionadas ao protocolo, a privacidade dos dados de transações pode ser efetivamente melhorada. Como resultado, é difícil para o invasor obter informações completas sobre a transação, dificultando a implementação de um ataque sanduíche.
Além disso, a tecnologia ZK não só pode resistir a ataques sanduíche, mas as transações privadas baseadas em ZK também podem aumentar a dificuldade de julgar os modelos de comportamento do usuário. Qualquer terceiro que tente coletar dados de blockchain para analisar transações históricas de contas, inferir padrões comportamentais, explorar ciclos de atividades, frequências ou preferências de transações, etc., enfrentará desafios. Esse tipo de análise, conhecida como inferência de modelo comportamental, não apenas viola a privacidade do usuário, mas também pode abrir caminho para ataques honeypot e golpes de phishing.
3.2 Prevenir a manipulação de liquidez com base na tecnologia ZK
Manipulação de liquidez e negociação antecipada são métodos de ataque no DeFi. Ambos os métodos de ataque envolvem o uso de informações de mercado e velocidade de transação para obter benefícios, mas suas estratégias específicas e métodos de operação são diferentes.
Front-running é aproveitar a informação, enquanto a manipulação da liquidez aproveita a atividade do mercado para enganar outros traders. O primeiro obtém lucros principalmente através da obtenção e utilização de informações importantes não divulgadas, enquanto o último engana outros investidores ao criar falsas atividades de mercado, levando-os a tomar decisões comerciais desfavoráveis.
A tecnologia ZK pode não só desempenhar um papel fundamental na resistência às negociações iniciais, mas também pode ajudar a prevenir a manipulação de liquidez.
3.2.1 Estudo de Caso: Usando Oráculos para Manipulação de Liquidez
Suponha que você esteja comprando maçãs em um movimentado mercado de frutas. Os preços de mercado normalmente flutuam com base nas mudanças na oferta e na demanda. Normalmente, você observa os preços durante um período de tempo e depois decide se compra com base no preço médio. Agora imagine que um comprador muito rico entra no mercado e quer muito comprar maçãs. Começou a comprar maçãs em grandes quantidades, independentemente do preço. Isso fará com que o preço da Apple dispare em um curto período de tempo. Se você ainda comprar a Apple com base nesse preço, provavelmente estará pagando mais do que realmente vale.
Este exemplo pode compreender melhor o princípio de funcionamento do oráculo TWAP (Time-Weighted Average Price) e o conceito de manipulação de liquidez. O ato de decidir comprar maçãs com base no preço médio é semelhante ao funcionamento do oráculo TWAP.A compra de maçãs por empresários ricos em grandes quantidades, provocando a subida dos preços, é semelhante à manipulação de liquidez.
O oráculo TWAP determina os preços dos ativos calculando o preço médio da transação durante um período de tempo. Quanto mais recente for a transação, maior será o impacto no preço médio. Se alguém faz um grande número de transações ou negocia com uma grande quantidade de dinheiro em um curto período de tempo, o que pode afetar significativamente o preço médio de um ativo, isso é manipulação de liquidez. A manipulação da liquidez pode aumentar ou diminuir artificialmente os preços dos ativos, resultando em informações de preços imprecisas. Se alguém quiser usar o oráculo TWAP para aumentar deliberadamente o preço de um ativo, poderá usar uma grande quantia de dinheiro para comprar o ativo no curto prazo, fazendo com que o preço suba temporariamente. Se o preço do ativo aumentar significativamente durante esse período, o oráculo TWAP poderá tratar esse preço mais alto como o preço do ativo.
A manipulação da liquidez dos oráculos TWAP pode ter um impacto significativo nos protocolos DeFi, especialmente nos tokens emergentes com baixa liquidez. Esses protocolos DeFi geralmente tomam decisões financeiras, como liquidação, empréstimo, etc., com base no preço do ativo. Se as informações de preços forem imprecisas ou não confiáveis, podem levar a decisões erradas, causando prejuízos aos usuários. Portanto, é crucial proteger os oráculos TWAP da manipulação de liquidez.
3.2.2 A tecnologia ZK pode resistir à manipulação de liquidez
Baseado na tecnologia ZK, pode resistir à manipulação de liquidez no oráculo TWAP. Um contrato inteligente pode ser concebido para contar com o oráculo TWAP para obter preços de ativos. Se um invasor realizar manipulação de liquidez, o preço obtido do oráculo TWAP poderá exceder a faixa aceitável predefinida. Neste caso, o contrato interromperá temporariamente suas operações. Em seguida, ele recalculará e confirmará o preço do ativo com base na tecnologia ZK.
Para usar a tecnologia ZK para calcular preços de ativos, primeiro você precisa adicionar um contrato wrapper ao oráculo TWAP. O contrato pode acessar diretamente N relatórios de preços ou registrar N valores de pontos de verificação do preço em intervalos arbitrários. Uma vez que N pontos de dados estejam disponíveis dentro de um determinado intervalo, uma prova ZK pode ser construída para provar a mediana da matriz não ordenada de preços. A matriz de preços não classificada é rotulada como um vetor coluna x, de comprimento N. A seguir está o processo de cálculo dos preços dos ativos com base na tecnologia ZK:
A prova pode ser verificada de duas maneiras; em ambos os casos, o provador não pode escolher arbitrariamente uma matriz de preços como entrada.
Recuperar valores de array do armazenamento de contrato e usá-los como entradas públicas para validadores on-chain;
Forme progressivamente uma cadeia hash por meio de uma função hash, representando o array como um único valor hash e usando esse valor no validador on-chain.
Existe uma matriz N x N A (matriz quadrada).Quando a matriz é multiplicada pelo vetor coluna x, um vetor coluna y é gerado tal que y=Ax. A é uma matriz de permutação invertível, mas como pode haver valores de preços duplicados, A não é necessariamente único e A contém apenas valores binários.
Os valores em y são ordenados, ou seja, yiyi+1 i 0...N-1. Novamente, < não pode ser usado porque pode haver valores de preços duplicados.
A saída pública do circuito m é o valor mediano de y. A prova mostra que y⌊N/2⌋=m, onde N é um valor estático quando o circuito é compilado e deve ser um número ímpar.
De acordo com o processo acima, um preço médio m é produzido com base na tecnologia ZK, que é à prova de falsificação. A mediana m pode impedir até certo ponto a manipulação de liquidez.Para isso, precisamos limitar o valor de y para que em cada bloco o valor de y seja inserido apenas uma vez, ou o número de inserções esteja dentro de um aceitável número. dentro do intervalo.
A tecnologia 3.3 ZK capacita plataformas de empréstimo
Conforme mencionado acima, a tecnologia ZK é capaz de resistir ao front-running e à manipulação de liquidez em DEXs. Então, podemos explorar ainda mais as possibilidades de aplicação da tecnologia ZK em outros cenários DeFi? Por exemplo, a tecnologia ZK também pode desempenhar um papel fundamental nos empréstimos, um componente importante dos projetos DeFi.
3.3.1 A chave para empréstimos: como avaliar a qualidade de crédito do mutuário
Nas plataformas de empréstimo tradicionais, o processo de solicitação de empréstimo geralmente abrange cinco etapas: solicitação, avaliação de crédito, aprovação do empréstimo, emissão e reembolso do empréstimo. Entre eles, a ligação à avaliação de crédito é particularmente importante.Os mutuários devem provar que o seu rendimento cumpre o padrão e que têm capacidade de reembolso. Durante o processo de avaliação, a plataforma conduzirá uma investigação aprofundada do histórico de crédito do mutuário, incluindo rendimentos, passivos e registos de reembolsos anteriores, para garantir que o mutuário tem capacidade para reembolsar o empréstimo. Somente nesta base a plataforma considerará a aprovação do pedido de empréstimo.
No entanto, quando você recorre a plataformas de empréstimo DeFi, como Aave ou Compound, a situação muda. Devido à sua natureza descentralizada, a maioria das plataformas de empréstimo DeFi não possuem os procedimentos KYC (Conheça seu cliente, conheça seu cliente) e procedimentos de avaliação de risco dos bancos tradicionais, e não podem investigar a situação de crédito dos mutuários por meio de agências de crédito conjuntas. Nesse caso, você deve estar se perguntando: como será avaliado meu crédito?
Na plataforma de empréstimo DeFi, você pode provar sua credibilidade por meio de prova de token de reputação. Token de reputação é um sistema de crédito baseado na tecnologia blockchain, que utiliza tokens digitais para representar e quantificar a reputação dos usuários. O número de tokens de reputação tornou-se um indicador importante para avaliar a qualidade de crédito de um usuário. Quanto maior o número de tokens, melhor será a reputação do usuário e a correspondente melhoria na classificação de crédito, possibilitando a obtenção de mais linhas de empréstimo na plataforma de empréstimos DeFi.
No entanto, a geração de tokens de reputação depende do histórico de transações e das informações financeiras dos usuários, o que pode violar os direitos de privacidade dos usuários.
3.3.2 Avaliando o crédito do mutuário: token de reputação baseado na tecnologia ZK
A tecnologia ZK protege a privacidade do usuário. A combinação da tecnologia ZK e tokens de reputação pode proteger a privacidade do usuário enquanto mantém e rastreia sua reputação na rede.
Os usuários podem usar a tecnologia ZK para gerar tokens de reputação sem divulgar transações históricas. Por um lado, os usuários podem gerar prova de transações históricas com base na tecnologia ZK; por outro lado, a prova é verificada por um contrato inteligente (geralmente chamado de contrato de geração de token de reputação), e tokens de reputação podem ser gerados após passar na verificação .
Além disso, em algumas plataformas de empréstimo DeFi que exigem garantia excessiva, os tokens de reputação podem reduzir os requisitos de hipoteca, resolvendo assim o problema da garantia excessiva e melhorando a liquidez do mercado. E a aplicação de tokens de reputação baseados na tecnologia ZK não se limita às plataformas de empréstimo DeFi, mas também pode ser amplamente utilizada em seguros, subsídios médicos e outras áreas.
4. Resumo e perspectivas
Este artigo explora os vários cenários de aplicação da tecnologia ZK para obter proteção de privacidade em DeFi, especialmente seu potencial em resistir a transações antecipadas, manipulação de liquidez e empréstimos. No processo de exploração do DeFi, enfrentamos múltiplos desafios, especialmente questões relacionadas à privacidade e segurança. Os desafios de privacidade no ecossistema DeFi são uma questão fundamental, e a tecnologia ZK fornece uma solução única que não apenas melhora a proteção da privacidade, mas também melhora a eficiência e a segurança das transações. Se você deseja introduzir a tecnologia ZK em seu DApp, entre em contato com a Salus.
Olhando para o futuro, a tecnologia ZK pode ser aplicada em campos DeFi mais profundos, como staking de liquidez, protocolos de derivativos, ativos do mundo real, seguros, etc. Salus se concentra em pesquisar e explorar a aplicação da tecnologia ZK em DeFi e outros projetos de camada de aplicação Ethereum. Sinceramente, convidamos pesquisadores de blockchain, desenvolvedores de tecnologia e todos os profissionais da área web3 em todo o mundo para trabalhar conosco para promover o desenvolvimento aprofundado e a aplicação generalizada da tecnologia ZK para impulsionar o desenvolvimento do DeFi e até mesmo de toda a indústria.
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
Tecnologia à prova de conhecimento zero: iluminando a nova estrela do DeFi
Escrito por: Salus
1. Introdução
As Finanças Descentralizadas (DeFi) são uma importante direção de desenvolvimento no atual campo da inovação financeira. No DeFi, ocultar informações de transações e manter a privacidade do usuário são cruciais. À medida que o DeFi continua a se expandir e se aprofundar, vários projetos surgem indefinidamente e estão cheios de vitalidade. A aplicação da tecnologia de prova de conhecimento zero (ZK) abriu novas possibilidades para proteção de privacidade em DeFi. A tecnologia ZK permite que uma parte prove a outra parte que conhece uma informação sem revelar quaisquer detalhes específicos sobre essa informação. A aplicação desta tecnologia em projetos DeFi como ZigZag, unyfy e ZK DEX da OKX melhorou muito as capacidades de proteção de privacidade do DeFi, especialmente a proteção de informações de transações. É previsível que a aplicação generalizada da tecnologia ZK trará inovações na forma como o DeFi e todo o campo das criptomoedas são tratados, promoverá o desenvolvimento futuro de todo o campo e alcançará grandes avanços.
2. Desafios de privacidade em DeFi
Não há segredos no blockchain e a transparência dos dados do DeFi é indiscutível. Tomando como exemplo uma transação no Uniswap V3, podemos visualizar facilmente os detalhes da transação através do site Etherescan (conforme mostrado na Figura 1). Por exemplo, o endereço 0x3A4D...a6f2 trocou 2 WETH por 17.654.123.249.375 Bonk no Uniswap V3, e a taxa de transação foi de 0,0046 Ether. Informações importantes como remetente (De), destinatário (Para), valor da transação (Valor) e taxa de transação (Taxa de transação) nessas transações estão todas disponíveis publicamente.
Figura 1 Detalhes da transação divulgados no etherescan
Também podemos visualizar todos os registros de transações no endereço 0x3A4D...a6f2 (conforme mostrado na Figura 2).Se as condições permitirem, também podemos deduzir a verdadeira identidade desse endereço no mundo real.
Figura 2 A lista de todas as transações para um endereço específico é pública no etherescan
No entanto, a transparência dos dados do DeFi pode ter algumas desvantagens. Se você é uma baleia DeFi, cada uma de suas transações pode atrair a atenção do mercado. Por exemplo, quando uma baleia retira 11,24 milhões de WOO (aproximadamente US$ 4,2 milhões) da Binance, esta transação atrairá a atenção. Da mesma forma, quaisquer pagamentos de grande valor ou transações a nível institucional também podem suscitar preocupação pública generalizada.
Outros participantes do mercado podem tomar decisões de compra e venda com base nestes comportamentos de negociação, o que pode afetar negativamente a sua estratégia de investimento. Por exemplo, você investe uma grande quantia de dinheiro em um determinado projeto, mas assim que sua transação for percebida pelo mercado, outros investidores poderão seguir o exemplo, fazendo com que os preços dos ativos subam, aumentando assim seus custos de investimento. Além disso, sua operação de venda também pode desencadear pânico no mercado, fazendo com que os preços caiam e afetando o retorno do seu investimento.
Esta situação destaca a necessidade urgente de proteção da privacidade entre projetos e usuários DeFi. Se não quisermos que os detalhes de nossas transações sejam conhecidos pelo público, podemos optar por manter certas informações sobre transações DeFi privadas.
A tecnologia ZK pode garantir a legitimidade das transações enquanto oculta os detalhes da transação. Os usuários precisam enviar dois tipos de informações: uma é uma transação que oculta parcialmente detalhes (como destinatário ou valor da transação) (ou seja, uma transação privada) e a outra é um certificado ZK sobre essas informações ocultas. Verificar a legitimidade de uma transação privada é, na verdade, verificar o certificado ZK correspondente.
3. Desbloqueando o potencial do DeFi: oportunidades trazidas pela tecnologia ZK
3.1 O papel da tecnologia ZK na resistência às transações front-running
Suponha que você tenha a sorte de saber que uma grande empresa está prestes a comprar uma grande quantidade de um determinado ativo. Você pode optar por comprar esse ativo antes que a empresa o faça. Então, quando a compra pesada dessa empresa aumenta o preço do ativo, você o vende com lucro. Neste caso, a sua negociação perante os grandes jogadores constitui uma negociação de vanguarda.
Front-running é uma estratégia de investimento em negociações financeiras que geralmente ocorre em bolsas, como o Uniswap. Isso ocorre porque as transações no blockchain são públicas e a confirmação da transação leva um certo tempo. Portanto, alguns comerciantes mal-intencionados podem aumentar a taxa do gás de transação para permitir que suas transações sejam exploradas e confirmadas antes das transações de outras pessoas, a fim de atingir o objetivo de transações front-running.
As negociações iniciais podem causar danos a outros traders porque alteram o ambiente comercial original, de modo que as negociações de outros traders podem não prosseguir conforme planejado originalmente. Por outro lado, os invasores iniciam transações antecipadas para obter lucros para si próprios e podem obter lucros antes que o preço mude. Portanto, muitos projetos DeFi também estão tentando impedir transações antecipadas por meio de vários métodos.
A tecnologia ZK pode desempenhar um papel fundamental no combate às negociações frontais. Abaixo, tomamos como exemplo o ataque sanduíche em Exchange Descentralizada (DEX), que também é um tipo comum de transação de front-running para análise de caso.
3.1.1 Estudo de caso: Ataque sanduíche em DEXs
O que é um ataque sanduíche?
Suponha que em uma DEX haja um pool de liquidez com status de reserva de 100 ETH/300.000 USDT. Alice inicia uma transação para comprar USDT, trocando 20 ETH por USDT. Quando ela enviar a transação, o DEX retornará um resultado baseado no status atual da reserva do pool de liquidez, informando a Alice que ela pode comprar aproximadamente 50.000 USDT. Mas, na verdade, Alice só conseguiu 45.714 USDT no final.
Aqui, vamos primeiro entender brevemente por que Alice pode comprar 50.000 USDT com 20 ETH. O DEX adota o modelo Automated Market Maker (AMM) e calcula automaticamente o preço de compra e venda por meio do algoritmo Constant Product Market Maker (CPMM). CPMM é um algoritmo de criador de mercado automatizado atualmente popular que mantém um produto constante de dois ativos no pool de negociação para obter liquidez e ajustar automaticamente os preços dos ativos. Neste exemplo, a quantidade de USDT que Alice pode comprar é calculada através da fórmula 50.000=300.000-(100*300.000)/(100+20) (assumindo que não há taxa de manuseio).
Alice não comprou a quantia esperada de USDT porque sofreu um ataque sanduíche.
Os ataques sanduíche ocorrem principalmente em DEXs baseados em AMM. Num ataque sanduíche, o atacante realiza duas transações em torno das transações regulares da vítima para manipular os preços dos ativos e lucrar com as perdas da vítima. Essas duas transações são transações iniciais e transações de acompanhamento, respectivamente.A transação antes da transação regular é chamada de transação inicial, e a transação após a transação regular é chamada de transação subsequente.
Então, como funcionou o ataque sanduíche de Alice? Conforme mostrado na Figura 3.
Figura 3 Processo de ataque sanduíche
A transação preemptiva do invasor: Antes da transação iniciada por Alice para comprar USDT ser executada, o invasor também iniciou uma transação para comprar USDT (transação preemptiva), ou seja, trocando 5 ETH por USDT. Além disso, a taxa de gás paga pelo invasor ao minerador por esta transação é maior do que a de Alice, portanto a transação do invasor será executada antes de Alice.
Depois que a transação de compra de USDT do invasor foi executada, ele obteve aproximadamente 14.286 USDT do pool de liquidez, 14.286≈300.000-(100*300.000)/(100+5). A reserva do pool de liquidez passou do estado inicial de 100 ETH/300.000 USDT para 105 ETH/285.714 USDT. No entanto, Alice não sabe que o status da reserva do pool de liquidez mudou entre o momento em que ela envia a transação e o momento em que sua transação é executada.
Transação regular da vítima: A transação regular de Alice é então executada.
Depois que a transação de compra de USDT de Alice foi executada, ela recebeu 45.714 USDT do pool de liquidez (de acordo com a função de produto constante, 45.714≈285.714-(105*285.714)/(105+20)). O status da reserva de liquidez mudou de 105 ETH/285.714 USDT para 125 ETH/240.000 USDT. Portanto, Alice deveria ter conseguido comprar 50.000 USDT com 20 ETH, mas agora ela só pode comprar 45.714 USDT devido a alterações no pool de liquidez causadas pela transação do invasor. Alice perdeu aproximadamente 4.286 USDT (4.286 = 50.000-45.714).
A transação de acompanhamento do invasor: Por fim, o invasor iniciou uma transação (transação de acompanhamento) novamente, ou seja, trocando 14.286 USDT por ETH (esses 14.286 USDT foram comprados agora há pouco).
Depois que a transação de acompanhamento do invasor foi executada, ele retirou 7 ETH do pool de liquidez (função de produto definida, 7≈125-(125*240.000)/(240.000+14.286)). O status de reserva do pool de liquidez mudou de 125 ETH/240.000 USDT para 118 ETH/254.286 USDT. Portanto, o invasor gastou apenas 5 ETH no início, mas finalmente conseguiu 7 ETH e ganhou 2 ETH (2=7-5).
Durante todo o processo de ataque sanduíche, o invasor iniciou um total de duas transações, ou seja, uma transação inicial e uma transação de acompanhamento. A transação inicial fez com que Alice perdesse aproximadamente 4.286 USDT. A combinação de transações iniciais e de acompanhamento fez com que o invasor lucrasse 2 ETH.
Nas DEXs, a publicidade das transações é um fator chave que leva ao surgimento de ataques sanduíche, principalmente em protocolos AMM. Esses protocolos tornam públicas as informações de transações em tempo real nas DEXs. Essa alta transparência proporciona aos invasores a possibilidade de observar e analisar os fluxos de transações a fim de encontrar oportunidades para realizar ataques sanduíche.
3.1.2 A tecnologia ZK pode resistir a ataques sanduíche
A aplicação da tecnologia ZK pode reduzir significativamente a possibilidade de ataques sanduíche. Ao usar a tecnologia ZK para ocultar o volume de transações, tipos de ativos, saldos de usuários ou pools de liquidez, identidades de usuários, instruções de transação e outras informações relacionadas ao protocolo, a privacidade dos dados de transações pode ser efetivamente melhorada. Como resultado, é difícil para o invasor obter informações completas sobre a transação, dificultando a implementação de um ataque sanduíche.
Além disso, a tecnologia ZK não só pode resistir a ataques sanduíche, mas as transações privadas baseadas em ZK também podem aumentar a dificuldade de julgar os modelos de comportamento do usuário. Qualquer terceiro que tente coletar dados de blockchain para analisar transações históricas de contas, inferir padrões comportamentais, explorar ciclos de atividades, frequências ou preferências de transações, etc., enfrentará desafios. Esse tipo de análise, conhecida como inferência de modelo comportamental, não apenas viola a privacidade do usuário, mas também pode abrir caminho para ataques honeypot e golpes de phishing.
3.2 Prevenir a manipulação de liquidez com base na tecnologia ZK
Manipulação de liquidez e negociação antecipada são métodos de ataque no DeFi. Ambos os métodos de ataque envolvem o uso de informações de mercado e velocidade de transação para obter benefícios, mas suas estratégias específicas e métodos de operação são diferentes.
Front-running é aproveitar a informação, enquanto a manipulação da liquidez aproveita a atividade do mercado para enganar outros traders. O primeiro obtém lucros principalmente através da obtenção e utilização de informações importantes não divulgadas, enquanto o último engana outros investidores ao criar falsas atividades de mercado, levando-os a tomar decisões comerciais desfavoráveis.
A tecnologia ZK pode não só desempenhar um papel fundamental na resistência às negociações iniciais, mas também pode ajudar a prevenir a manipulação de liquidez.
3.2.1 Estudo de Caso: Usando Oráculos para Manipulação de Liquidez
Suponha que você esteja comprando maçãs em um movimentado mercado de frutas. Os preços de mercado normalmente flutuam com base nas mudanças na oferta e na demanda. Normalmente, você observa os preços durante um período de tempo e depois decide se compra com base no preço médio. Agora imagine que um comprador muito rico entra no mercado e quer muito comprar maçãs. Começou a comprar maçãs em grandes quantidades, independentemente do preço. Isso fará com que o preço da Apple dispare em um curto período de tempo. Se você ainda comprar a Apple com base nesse preço, provavelmente estará pagando mais do que realmente vale.
Este exemplo pode compreender melhor o princípio de funcionamento do oráculo TWAP (Time-Weighted Average Price) e o conceito de manipulação de liquidez. O ato de decidir comprar maçãs com base no preço médio é semelhante ao funcionamento do oráculo TWAP.A compra de maçãs por empresários ricos em grandes quantidades, provocando a subida dos preços, é semelhante à manipulação de liquidez.
O oráculo TWAP determina os preços dos ativos calculando o preço médio da transação durante um período de tempo. Quanto mais recente for a transação, maior será o impacto no preço médio. Se alguém faz um grande número de transações ou negocia com uma grande quantidade de dinheiro em um curto período de tempo, o que pode afetar significativamente o preço médio de um ativo, isso é manipulação de liquidez. A manipulação da liquidez pode aumentar ou diminuir artificialmente os preços dos ativos, resultando em informações de preços imprecisas. Se alguém quiser usar o oráculo TWAP para aumentar deliberadamente o preço de um ativo, poderá usar uma grande quantia de dinheiro para comprar o ativo no curto prazo, fazendo com que o preço suba temporariamente. Se o preço do ativo aumentar significativamente durante esse período, o oráculo TWAP poderá tratar esse preço mais alto como o preço do ativo.
A manipulação da liquidez dos oráculos TWAP pode ter um impacto significativo nos protocolos DeFi, especialmente nos tokens emergentes com baixa liquidez. Esses protocolos DeFi geralmente tomam decisões financeiras, como liquidação, empréstimo, etc., com base no preço do ativo. Se as informações de preços forem imprecisas ou não confiáveis, podem levar a decisões erradas, causando prejuízos aos usuários. Portanto, é crucial proteger os oráculos TWAP da manipulação de liquidez.
3.2.2 A tecnologia ZK pode resistir à manipulação de liquidez
Baseado na tecnologia ZK, pode resistir à manipulação de liquidez no oráculo TWAP. Um contrato inteligente pode ser concebido para contar com o oráculo TWAP para obter preços de ativos. Se um invasor realizar manipulação de liquidez, o preço obtido do oráculo TWAP poderá exceder a faixa aceitável predefinida. Neste caso, o contrato interromperá temporariamente suas operações. Em seguida, ele recalculará e confirmará o preço do ativo com base na tecnologia ZK.
Para usar a tecnologia ZK para calcular preços de ativos, primeiro você precisa adicionar um contrato wrapper ao oráculo TWAP. O contrato pode acessar diretamente N relatórios de preços ou registrar N valores de pontos de verificação do preço em intervalos arbitrários. Uma vez que N pontos de dados estejam disponíveis dentro de um determinado intervalo, uma prova ZK pode ser construída para provar a mediana da matriz não ordenada de preços. A matriz de preços não classificada é rotulada como um vetor coluna x, de comprimento N. A seguir está o processo de cálculo dos preços dos ativos com base na tecnologia ZK:
A prova pode ser verificada de duas maneiras; em ambos os casos, o provador não pode escolher arbitrariamente uma matriz de preços como entrada.
Existe uma matriz N x N A (matriz quadrada).Quando a matriz é multiplicada pelo vetor coluna x, um vetor coluna y é gerado tal que y=Ax. A é uma matriz de permutação invertível, mas como pode haver valores de preços duplicados, A não é necessariamente único e A contém apenas valores binários.
Os valores em y são ordenados, ou seja, yiyi+1 i 0...N-1. Novamente, < não pode ser usado porque pode haver valores de preços duplicados.
A saída pública do circuito m é o valor mediano de y. A prova mostra que y⌊N/2⌋=m, onde N é um valor estático quando o circuito é compilado e deve ser um número ímpar.
De acordo com o processo acima, um preço médio m é produzido com base na tecnologia ZK, que é à prova de falsificação. A mediana m pode impedir até certo ponto a manipulação de liquidez.Para isso, precisamos limitar o valor de y para que em cada bloco o valor de y seja inserido apenas uma vez, ou o número de inserções esteja dentro de um aceitável número. dentro do intervalo.
A tecnologia 3.3 ZK capacita plataformas de empréstimo
Conforme mencionado acima, a tecnologia ZK é capaz de resistir ao front-running e à manipulação de liquidez em DEXs. Então, podemos explorar ainda mais as possibilidades de aplicação da tecnologia ZK em outros cenários DeFi? Por exemplo, a tecnologia ZK também pode desempenhar um papel fundamental nos empréstimos, um componente importante dos projetos DeFi.
3.3.1 A chave para empréstimos: como avaliar a qualidade de crédito do mutuário
Nas plataformas de empréstimo tradicionais, o processo de solicitação de empréstimo geralmente abrange cinco etapas: solicitação, avaliação de crédito, aprovação do empréstimo, emissão e reembolso do empréstimo. Entre eles, a ligação à avaliação de crédito é particularmente importante.Os mutuários devem provar que o seu rendimento cumpre o padrão e que têm capacidade de reembolso. Durante o processo de avaliação, a plataforma conduzirá uma investigação aprofundada do histórico de crédito do mutuário, incluindo rendimentos, passivos e registos de reembolsos anteriores, para garantir que o mutuário tem capacidade para reembolsar o empréstimo. Somente nesta base a plataforma considerará a aprovação do pedido de empréstimo.
No entanto, quando você recorre a plataformas de empréstimo DeFi, como Aave ou Compound, a situação muda. Devido à sua natureza descentralizada, a maioria das plataformas de empréstimo DeFi não possuem os procedimentos KYC (Conheça seu cliente, conheça seu cliente) e procedimentos de avaliação de risco dos bancos tradicionais, e não podem investigar a situação de crédito dos mutuários por meio de agências de crédito conjuntas. Nesse caso, você deve estar se perguntando: como será avaliado meu crédito?
Na plataforma de empréstimo DeFi, você pode provar sua credibilidade por meio de prova de token de reputação. Token de reputação é um sistema de crédito baseado na tecnologia blockchain, que utiliza tokens digitais para representar e quantificar a reputação dos usuários. O número de tokens de reputação tornou-se um indicador importante para avaliar a qualidade de crédito de um usuário. Quanto maior o número de tokens, melhor será a reputação do usuário e a correspondente melhoria na classificação de crédito, possibilitando a obtenção de mais linhas de empréstimo na plataforma de empréstimos DeFi.
No entanto, a geração de tokens de reputação depende do histórico de transações e das informações financeiras dos usuários, o que pode violar os direitos de privacidade dos usuários.
3.3.2 Avaliando o crédito do mutuário: token de reputação baseado na tecnologia ZK
A tecnologia ZK protege a privacidade do usuário. A combinação da tecnologia ZK e tokens de reputação pode proteger a privacidade do usuário enquanto mantém e rastreia sua reputação na rede.
Os usuários podem usar a tecnologia ZK para gerar tokens de reputação sem divulgar transações históricas. Por um lado, os usuários podem gerar prova de transações históricas com base na tecnologia ZK; por outro lado, a prova é verificada por um contrato inteligente (geralmente chamado de contrato de geração de token de reputação), e tokens de reputação podem ser gerados após passar na verificação .
Além disso, em algumas plataformas de empréstimo DeFi que exigem garantia excessiva, os tokens de reputação podem reduzir os requisitos de hipoteca, resolvendo assim o problema da garantia excessiva e melhorando a liquidez do mercado. E a aplicação de tokens de reputação baseados na tecnologia ZK não se limita às plataformas de empréstimo DeFi, mas também pode ser amplamente utilizada em seguros, subsídios médicos e outras áreas.
4. Resumo e perspectivas
Este artigo explora os vários cenários de aplicação da tecnologia ZK para obter proteção de privacidade em DeFi, especialmente seu potencial em resistir a transações antecipadas, manipulação de liquidez e empréstimos. No processo de exploração do DeFi, enfrentamos múltiplos desafios, especialmente questões relacionadas à privacidade e segurança. Os desafios de privacidade no ecossistema DeFi são uma questão fundamental, e a tecnologia ZK fornece uma solução única que não apenas melhora a proteção da privacidade, mas também melhora a eficiência e a segurança das transações. Se você deseja introduzir a tecnologia ZK em seu DApp, entre em contato com a Salus.
Olhando para o futuro, a tecnologia ZK pode ser aplicada em campos DeFi mais profundos, como staking de liquidez, protocolos de derivativos, ativos do mundo real, seguros, etc. Salus se concentra em pesquisar e explorar a aplicação da tecnologia ZK em DeFi e outros projetos de camada de aplicação Ethereum. Sinceramente, convidamos pesquisadores de blockchain, desenvolvedores de tecnologia e todos os profissionais da área web3 em todo o mundo para trabalhar conosco para promover o desenvolvimento aprofundado e a aplicação generalizada da tecnologia ZK para impulsionar o desenvolvimento do DeFi e até mesmo de toda a indústria.