21 de fevereiro de 2023 Michael Zhu
Nota do editor: esta peça faz parte de nossa série contínua sobre todos os leilões de coisas para web3. Parte 1 foi uma visão geral dos desafios técnicos (e oportunidades) específicos para projetar leilões on-chain. Parte 2 foi um artigo sobre como limpar o mercado e evitar guerras de gás. Parte 3 e Parte 4 explore como a teoria do leilão se traduz na prática, introduzindo duas implementações de leilões de lance fechado.
Ao longo desta série, exploramos diferentes estratégias para preencher a lacuna entre a teoria do leilão e o que pode ser construído na cadeia, cada uma com suas nuances exclusivas. Em particular, nos concentramos na implementação lance selado, segundo preço (Vickrey) leilões, que são usados há décadas em vendas de arte, madeira e espaço publicitário. Mas raramente os vemos implementados sem confiança usando contratos inteligentes, em parte devido à dificuldade de implementar licitações privadas. A natureza transparente das blockchains públicas pode impedir ataques desonestos intermediários de censurar lances ou manipular resultados de leilões; mas também impõem desafios aos desenvolvedores, que devem encontrar novas soluções para proteger a privacidade de seus usuários.
Em nossas implementações de leilões anteriores, usamos duas abordagens para manter os lances na cadeia privados: o primeiro (Leilão sobrecolateralizado) oculta os valores da oferta usando sobrecolateralização (em que os licitantes bloqueiam mais garantias do que o exigido pela oferta), protegendo a privacidade em detrimento da eficiência do capital. Isso nos levou ao nosso segundo projeto (Leilão furtivo), que utiliza o CREATE2
opcode para camuflar lances entre outras transferências na blockchain. Mas a análise empírica mostrou que essa abordagem não seria eficaz para ocultar lances muito grandes que se desviam dos valores normalmente transacionados no Ethereum.
Neste post, voltamos com uma nova abordagem de cadeia cruzada (chamada Leilão AztecConnect) que podem fornecer privacidade a lances de qualquer tamanho, sem exigir garantias extras. Contar com vários blockchains alcança funcionalidades que não seriam possíveis em nenhuma cadeia isolada e fornece um conjunto diferente de benefícios e compensações para os desenvolvedores considerarem ao implementar seus próprios protocolos. No nosso caso, usamos o Aztec Connect para aproveitar o anonimato do acúmulo de ZK da Aztec, mantendo os benefícios da liquidação Ethereum L1.
Adicionamos a implementação ao nosso zoológico de leilão repositório no GitHub, juntamente com nossas implementações de leilões anteriores. Esperamos que você se baseie nisso, compartilhe suas ideias e envie-nos o seu feedback.
Como Funciona
Primeiro, uma atualização rápida sobre o vickrey leilão: Os licitantes enviam lances privados (tradicionalmente para um único item) ao leiloeiro em envelopes lacrados. O lance mais alto vence, mas paga o segundo lance mais alto. Para traduzir essas características on-chain, nosso novo leilão segue o mesmo esquema de antes: os lances são garantidos e comprometidos durante a “fase de licitação”, de forma que não revelam seus valores precisos até que sejam revelados no subseqüente “fase de revelação”. Terminada a fase de revelação, o leilão pode ser encerrado e o licitante vencedor paga ao vendedor o valor do segundo lance mais alto (o vickrey regra de pagamento). Nossas implementações de leilão diferem em como elas mantêm os lances ocultos durante a fase de licitação – desta vez, usaremos um mecanismo que é eficiente em termos de capital mesmo para grandes lances.
Ocultar lances por meio de “divisão”
Em OverCollateralizedAuction, a privacidade dependia da sobrecolateralização para ocultar o valor exato do lance. No SneakyAuction, conseguimos obter privacidade de lance usando o opcode CREATE2 para ocultar o intenção de uma transação de lance –– o valor da transação é visível publicamente, mas a transação é indistinguível de uma transferência ETH normal.
Uma abordagem alternativa é ofuscar o valor de um lance dividindo-o em várias transações não vinculáveis. Imagine que um leiloeiro receba três cheques de $ 100, $ 200 e $ 300, cada um assinado com tinta invisível. Todos os três poderiam ter sido assinados pelo mesmo licitante, apresentando uma proposta de $ 600. Ou podem ser três lances separados, assinados por três licitantes respectivos. Ou pode haver dois licitantes, um dos quais dividiu seu lance em dois cheques. Mesmo que os valores dos cheques sejam públicos, os valores dos lances subjacentes ficam ocultos até que as assinaturas sejam reveladas.
Traduzindo isso on-chain, os licitantes podem enviar suas garantias de lance em várias transações de pagamento a partir de endereços de carteira não vinculáveis. Com cada transação, eles fornecem um compromisso de hash que pode ser aberto posteriormente para vincular as peças novamente –– por exemplo, o compromisso pode ser calculado como keccak256(totalBidValue, bidderId, nonce)
, onde os pagamentos com o mesmo bidderId
e totalBidValue
fazem parte do mesmo lance. o aleatório nonce
valor impede que os lances sejam recuperados pela força bruta.
O conceito subjacente faz sentido como uma forma de preservar a privacidade do licitante, mas uma desvantagem dessa abordagem é que exige que o licitante tenha vários endereços de carteira desvinculados, financiados com os valores que pretendem usar em seu lance. Isso pode ser difícil de conseguir na prática – até mesmo fugir de um detetive Etherscan amador requer cuidado, muito menos ferramentas forenses institucionais como Chainalysis ou TRM.
Pior ainda, revelar uma licitação publica e vincula permanentemente todos os endereços que foram usados. Portanto, para licitar em um leilão subsequente, você precisaria de um novo conjunto de endereços desvinculados. Para resolver este problema, recorremos a outra ferramenta: Aztec Connect.
Aztec Connect para lances anônimos
Conexão asteca é uma estrutura que permite aos usuários acessar contratos inteligentes no Ethereum L1 a partir da privacidade do pacote ZK da Aztec. O contrato do processador rollup no Ethereum pode fazer chamadas para compatíveis contratos-ponte que aderem a uma interface específica, permitindo que os usuários Aztec interajam com esses contratos com seus ativos caucionados. Um contrato de ponte normalmente se conecta a um protocolo DeFi existente em L1; por exemplo, pontes foram implementadas para Uniswap, Lido e elemento Finanças.
A principal propriedade que a Aztec Connect fornece ao nosso leilão é anonimato: a conta Aztec que originou a transação Aztec Connect está escondida dos observadores. O anonimato nos permite emular o esquema usando endereços não vinculados descritos na seção anterior. Revelar um lance não revelará a conta Aztec usada para fazer o lance, então a mesma conta pode ser usada em vários leilões sem comprometer a privacidade.
Comunicando um compromisso
O anonimato por si só não é suficiente para fazer um lance –– também precisamos associar um compromisso de hash a cada pagamento que pode ser aberto posteriormente durante a fase de revelação. Lembre-se que em Leilão sobrecolateralizado, o compromisso é fornecido como parâmetro para o lance de confirmaçãoFunção </code<, que registra o compromisso e o valor da garantia em armazenamento. Em Leilão furtivo, a garantia é enviada para um não implantado
CREATE2
contrato, o endereço dos quais serve como compromisso de hash.
Em um contrato de ponte Aztec Connect, todas as chamadas entre cadeias são roteadas pela ponte convert
função (veja abaixo). Os parâmetros do ativo geralmente eliminam a ambiguidade da intenção da chamada –– no ponte Lido, por exemplo, se o ativo de entrada for ETH, o convert
a função irá convertê-lo para stETH agrupado; se o ativo de entrada for encapsulado stETH o convert
função irá convertê-lo para ETH. Para fazer um lance em nosso contrato de leilão, os licitantes invocariam o convert
funcionam com ETH como ativo de entrada (uma vez por pagamento).
Interface do convert
função (do asteca docs)
Às vezes, os recursos sozinhos não são suficientes para determinar o comportamento pretendido da chamada. O Ponte Uniswap, por exemplo, permite que os usuários troquem tokens de forma privada no Uniswap v3. Para isso, o usuário deve especificar o caminho do comércio, ou seja, quais pools de ativos trocar –– para obter a melhor taxa de venda de ETH para DAI, você pode querer usar o pool de 30 bps para negociar ETH em USDC, então o pool de 1 bps para negociar USDC em DAI. Para especificar esse caminho de negociação, o usuário deve fornecer o token intermediário (USDC) e os níveis de taxa (30 bps e 1 bps) para os dois pools usados.
A convert
funções auxData
O parâmetro é como esses “dados auxiliares” são passados para a ponte. Observe, no entanto, que auxData
é de apenas 64 bits! (Este é um artefato da compensação entre o tamanho dos dados de chamada e os custos de prova –– mais auxData
exigiria tempos de fermentação mais longos e custos de gás mais altos. 64 bits atinge um equilíbrio razoável para a maioria dos casos de uso) Isso significa que as pontes precisam ser econômicas em como usam seus dados auxiliares: a ponte Uniswap codifica caminhos representando tokens e níveis de taxa usando apenas alguns bits cada (o esquema de codificação é descrito SUA PARTICIPAÇÃO FAZ A DIFERENÇA).
Nosso primeiro instinto pode ser usar auxData
para o nosso compromisso de hash. Mas auxData
é de apenas 64 bits, o que não é suficiente para ser criptograficamente seguro. Truques inteligentes de codificação não funcionarão aqui –– qualquer tentativa de compactar o compromisso comprometeria sua segurança. Para contornar as limitações de auxData
, precisaremos ser criativos.
Ativos virtuais e reaproveitamento inputValue
Outro que não seja auxData
, o único outro parâmetro de convert
que pode ser usado para codificar dados arbitrários é inputValue
–– a quantidade de ativo de entrada sendo usado na transação Aztec Connect. Mas podemos usar inputValue
para codificar nosso compromisso de hash? Para que o parâmetro codifique um compromisso de hash criptograficamente seguro (cerca de 256 bits), o licitante deve ter um lote de qualquer ativo de entrada que esteja sendo usado –– tanto que qualquer ativo com valor monetário real está fora de questão.
Felizmente, a Aztec Connect tem a noção de ativos virtuais, que são usados para representar ativos não compatíveis com a rede Aztec. Mais importante para o nosso caso de uso, uma ponte pode cunhar um quantidade arbitrária de um ativo virtual em um convert
chamar. Isso nos leva ao seguinte processo de duas transações para comunicar um compromisso de hash via Aztec Connect:
- Na primeira transação, o ativo de entrada é ETH e o ativo de saída é virtual. O licitante deposita a garantia ETH e recebe (2256 – 1) unidades do ativo virtual em troca. Um slot de armazenamento é atualizado para indicar que um compromisso de hash está “em andamento”.
- Na segunda transação, o ativo de entrada é o ativo virtual recebido na etapa 1.
inputValue
é interpretado como o compromisso de hash e armazenado, juntamente com o carimbo de data/hora atual.
O ciclo de vida de um leilão Aztec Connect
O licitante deposita ETH e recebe o ativo virtual.
O proponente registra um compromisso de hash queimando parte do ativo virtual recebido na etapa anterior.
Com este procedimento de duas etapas, contornamos a restrição de tamanho de auxData
e associe cada pagamento a um compromisso de hash seguro. A desvantagem dessa abordagem é que ela requer duas transações por pagamento.
Como se compara
Agora que temos uma implementação viável para nosso leilão Aztec Connect, podemos compará-la com nossas duas implementações anteriores (OverCollateralizedAuction e SneakyAuction) –– analisando custos de gás, experiência do usuário e privacidade em particular.
Custos de gás
AztecConnectAuction's createAuction
, endAuction
e withdrawCollateral
funções têm custos de gás comparáveis às nossas implementações anteriores. Os custos de confirmar e revelar uma oferta escalam com o número de peças em que a garantia é dividida. A tabela a seguir mostra os custos estimados de gás para uma licitação que foi dividida em duas partes.
Leilão sobrecolateralizado | Leilão furtivo | Leilão AztecConnect | |
criarAuction | 132,625 | 112,296 | 113,507 |
lance de confirmação | 46,120 | 21,000 (custo de uma transferência ETH) | 179,656 (lance dividido em dois pagamentos) |
revelarBid | 33,728 | 135,741 | 47,939 (lance dividido em dois pagamentos) |
leilão final | 57,652 | 87,340 | 53,513 |
retirar Garantia | 30,426 | 65,825 | 50,019 |
Custos aproximados de gás de diferentes operações, com base em testes unitários de fundição e Aztec Connect estimativas de gás
Experiência do usuário
Embora o AztecConnectAuction siga um fluxo semelhante às nossas implementações anteriores (fase de licitação, fase de revelação, fim do leilão), existem algumas peculiaridades de UX que acompanham a cadeia cruzada operacional.
O vendedor não precisa vincular nenhum ativo ou fazer nenhuma transação asteca e é pago em L1 quando o leilão termina. Os licitantes, por outro lado, realizam algumas ações na Aztec e outras na Ethereum:
- As licitações são confirmadas e garantidas via Aztec Connect. Isso significa que os licitantes já devem possuir ETH na Aztec ou, de outra forma, conectá-lo antes de fazer seu lance.
- Os lances são revelados no Ethereum. Revelar um lance requer uma quantidade relativamente grande de dados de chamada (mesmo nosso
inputValue
truque não é suficiente), então deve ser feito diretamente no Ethereum. - Após o término do leilão, os licitantes têm a opção de retirar a garantia para Ethereum ou Aztec. Os licitantes podem se retirar para o Ethereum ligando para o
withdrawCollateral
função no contrato de leilão. Se eles quiserem manter seu ETH em L2 (por exemplo, para licitar em leilões futuros), eles podem sacar para sua conta Aztec com uma transação Aztec Connect.
Finalmente, duas complexidades práticas adicionais: primeiro, comprometer-se com uma oferta requer duas transações Aztec Connect por peça de garantia. Poderíamos abstrair isso no front-end em uma única interação do usuário para uma experiência mais perfeita. Em segundo lugar, essas transações devem ser distribuídas durante o período de licitação para maximizar a privacidade. Poderíamos delegar essa tarefa a um bot, que enviaria as transações em nome dos licitantes.
No geral, a experiência do usuário para vendedores é quase idêntica à de nossas implementações anteriores. A experiência dos licitantes é mais complicada –– eles precisam fazer várias transações para fazer um lance e devem interagir com Ethereum e Aztec ao longo do leilão.
Privacidade
Uma vantagem notável que o AztecConnectAuction tem sobre nossas duas implementações anteriores é que ele pode fornecer privacidade plausível para leilões de alto valor sem comprometer a eficiência do capital. Em OverCollateralizedAuction, o custo da sobrecolateralização é exacerbado quando as próprias ofertas exigem garantias significativas. No SneakyAuction, a privacidade depende de transferências exógenas de ETH, que geralmente não são grandes o suficiente para ocultar lances de alto valor.
Assim como o SneakyAuction, o AztecConnectAuction também permite que os licitantes superfigurem seus lances para uma camada adicional de privacidade. A privacidade do lance também aumenta com o número de leilões simultâneos — se dois leilões estiverem em suas fases de licitação ao mesmo tempo, os lances de um leilão servirão como ruído para o outro. Os licitantes permanecem anônimos durante o período de licitação e o número total de licitações é ocultado.
Dito isso, o AztecConnectAuction tem suas próprias ressalvas. Os licitantes precisam estar atentos às pegadas on-chain que deixam, o que pode comprometer sua privacidade:
- Prazo de pagamento: Licitantes humanos podem inadvertidamente cronometrar seus pagamentos de forma a enfraquecer a privacidade de seus lances (por exemplo, efetuando pagamentos em rápida sucessão ou efetuando um pagamento ao mesmo tempo durante vários dias).
- Valores de entradas e pagamentos: Depósitos à Aztec logo antes ou durante a licitação podem sinalizar que esses fundos serão usados para licitar no leilão. Os licitantes precisam considerar a interação entre entradas, valores de pagamento e tempo. Por exemplo, um depósito de 10 ETH para a Aztec, seguido rapidamente por pagamentos de 5 ETH, 3 ETH e 2 ETH, poderia facilmente levantar suspeitas de que esses pagamentos fazem parte do mesmo lance.
Essas considerações não são exclusivas do nosso leilão; A ponte de ativos entre uma blockchain privada e pública introduz inerentemente potencial para vazamento de privacidade (Aztec's documentação fornece mais detalhes sobre as nuances da privacidade entre cadeias). A boa notícia é que a proliferação de aplicativos compatíveis com os astecas, como este leilão, cria mais motivos para manter os ativos no Aztec a longo prazo, em vez de fazer pontes entre eles. Mais atividade na Aztec aumenta sua conjuntos de privacidade, o que fortalece a proposta de valor dos aplicativos construídos na Aztec, o que gera mais atividade –– um ciclo virtuoso.
***
Essa incursão em leilões de lances selados on-chain nos levou para fora dos muros do Ethereum L1, aproveitando o rollup privado da Aztec para anonimizar a atividade de licitação. Nossa terceira receita para leilões de lances selados –– anonimato mais divisão de garantias –– tem suas próprias características e nuances de privacidade, que comparamos com nossos designs anteriores e que outros podem querer comparar com suas próprias abordagens.
Nossa implementação de leilão é uma das poucas cadeia cruzada nativa protocolos de contratos inteligentes, que dependem da operação em vários blockchains para obter funcionalidades que não seriam possíveis em nenhuma cadeia isolada. À medida que a infraestrutura cross-chain continua a amadurecer, esperamos ver o surgimento de protocolos cross-chain nativos que utilizam os recursos exclusivos de diferentes blockchains. Esperamos que nosso leilão de lance fechado forneça alguma inspiração para o que é possível aqui.
Agradecimentos: Obrigado à equipe Aztec (Joe Andrews, Josh Crites) por responder às minhas muitas perguntas sobre o Aztec Connect; Matt Gleason e Noah Citron pela revisão do código; e a Daejun Park, Joseph Bonneau, Scott Kominers, Sonal Chokshi e Tim Roughgarden pelo valioso feedback sobre este post. Agradecimentos especiais a Stephanie Zinn pela edição.
***
As opiniões expressas aqui são as do pessoal individual da AH Capital Management, LLC (“a16z”) citadas e não são as opiniões da a16z ou de suas afiliadas. Certas informações aqui contidas foram obtidas de fontes de terceiros, inclusive de empresas do portfólio de fundos administrados pela a16z. Embora retiradas de fontes consideradas confiáveis, a16z não verificou essas informações de forma independente e não faz representações sobre a precisão atual ou duradoura das informações ou sua adequação a uma determinada situação. Além disso, esse conteúdo pode incluir anúncios de terceiros; a16z não revisou tais anúncios e não endossa nenhum conteúdo de publicidade neles contido.
Este conteúdo é fornecido apenas para fins informativos e não deve ser considerado como aconselhamento jurídico, comercial, de investimento ou fiscal. Você deve consultar seus próprios conselheiros sobre esses assuntos. As referências a quaisquer valores mobiliários ou ativos digitais são apenas para fins ilustrativos e não constituem uma recomendação de investimento ou oferta para fornecer serviços de consultoria de investimento. Além disso, este conteúdo não é direcionado nem destinado ao uso por quaisquer investidores ou potenciais investidores, e não pode, em nenhuma circunstância, ser invocado ao tomar uma decisão de investir em qualquer fundo administrado pela a16z. (Uma oferta para investir em um fundo a16z será feita apenas pelo memorando de colocação privada, contrato de subscrição e outra documentação relevante de tal fundo e deve ser lida na íntegra.) Quaisquer investimentos ou empresas de portfólio mencionados, referidos ou descritos não são representativos de todos os investimentos em veículos administrados pela a16z, e não pode haver garantia de que os investimentos serão rentáveis ou que outros investimentos realizados no futuro terão características ou resultados semelhantes. Uma lista de investimentos feitos por fundos administrados por Andreessen Horowitz (excluindo investimentos para os quais o emissor não deu permissão para a a16z divulgar publicamente, bem como investimentos não anunciados em ativos digitais negociados publicamente) está disponível em https://a16z.com/investments /.
Os gráficos e gráficos fornecidos são apenas para fins informativos e não devem ser considerados ao tomar qualquer decisão de investimento. O desempenho passado não é indicativo de resultados futuros. O conteúdo fala apenas a partir da data indicada. Quaisquer projeções, estimativas, previsões, metas, perspectivas e/ou opiniões expressas nestes materiais estão sujeitas a alterações sem aviso prévio e podem diferir ou ser contrárias às opiniões expressas por outros. Consulte https://a16z.com/disclosures para obter informações adicionais importantes.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. Acesse aqui.
- Fonte: https://a16zcrypto.com/through-the-looking-glass-a-cross-chain-sealed-bid-auction-using-aztec-connect/
- 000
- 1
- 10
- a
- a16z
- Capaz
- Sobre
- RESUMO
- Acesso
- Conta
- precisão
- Alcançar
- Alcança
- em
- ações
- atividade
- Ad
- adicionado
- Adição
- Adicional
- endereços
- aderir
- Vantagem
- Publicidade
- conselho
- consultivo
- serviços de consultoria
- Afiliados
- contra
- Acordo
- Todos os Produtos
- Permitindo
- permite
- sozinho
- ao lado de
- já
- alternativa
- amador
- entre
- quantidade
- quantidades
- análise
- e
- Andreessen
- Andreessen Horowitz
- Anonimato
- Anônimo
- Outro
- aplicações
- abordagem
- se aproxima
- por aí
- Arte
- ativo
- Ativos
- Jurídico
- garantia
- Serviço de
- Eventos
- disponível
- evitando
- asteca
- em caminho duplo
- Equilíbrio
- baseado
- antes
- ser
- Acredita
- abaixo
- Benefícios
- MELHOR
- entre
- oferta
- blockchain
- blockchains
- Bot
- PONTE
- pontes
- ponte
- construir
- construído
- negócio
- chamada
- chamado
- chamada
- chamadas
- capacidades
- capital
- eficiência de capital
- Cuidado
- casas
- casos
- certo
- cadeia
- chainalysis
- desafios
- alterar
- características
- verificar
- Cheques
- circunstâncias
- Desobstrução
- código
- Colateral
- garantido
- como
- compromisso
- comprometido
- comprometendo
- comunicação
- Empresas
- comparável
- comparar
- comparado
- compatível
- complexidades
- complicado
- compromisso
- comprometendo
- conceito
- concorrente
- Contato
- Considerar
- Considerações
- constituir
- conteúdo
- continua
- contract
- contratos
- contrário
- converter
- Custo
- custos
- poderia
- Casal
- Para
- cria
- Criatividade
- Cross-Corrente
- Atual
- ciclo
- DAI
- dados,
- Data
- dias
- décadas
- decisão
- DeFi
- PROTOCOLO DEFI
- depositar
- depósitos
- descrito
- Design
- concepção
- projetos
- detalhes
- Determinar
- desenvolvedores
- diferir
- diferente
- difícil
- Dificuldade
- digital
- Ativos Digitais
- diretamente
- Divulgar
- desonesto
- distribuído
- documentação
- Não faz
- desvantagem
- durante
- cada
- facilmente
- Eficaz
- eficiência
- eficiente
- ou
- emergência
- permite
- endossar
- termina
- duradouro
- suficiente
- totalidade
- caucionado
- estimou
- estimativas
- ETH
- ethereum
- etherscan
- Mesmo
- exemplo
- excluindo
- existente
- esperar
- vasta experiência
- explorar
- Explorado
- expressa
- extra
- factível
- taxa
- retornos
- Encontre
- Primeiro nome
- fluxo
- focado
- seguido
- seguinte
- segue
- Incursão
- Forense
- Fundição
- Quadro
- recentes
- da
- Frontend
- função
- funcionalidade
- funções
- fundo
- financiado
- fundos
- Além disso
- futuro
- lacuna
- GAS
- gera
- ter
- GitHub
- dado
- vidro
- Bom estado, com sinais de uso
- gráficos
- Cresce
- mão
- punhado
- hash
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- oculto
- Esconder
- superior
- mais
- segurar
- esperança
- Horowitz
- Como funciona o dobrador de carta de canal
- Contudo
- HTTPS
- humano
- idéias
- idêntico
- implementação
- implementado
- implementação
- importante
- impor
- in
- incluir
- Incluindo
- independentemente
- indicam
- Individual
- influxos
- INFORMAÇÕES
- Informativa
- Infraestrutura
- entrada
- Inspiração
- DOCUMENTOS
- intenção
- interagir
- interação
- Interface
- Introduz
- introduzindo
- Investir
- investimento
- Investimentos
- Investidores
- Emissora
- IT
- JOE
- Justiça
- Guarda
- manutenção
- Chave
- L1
- l2
- grande
- camada
- Leads
- Deixar
- levou
- Legal
- Permite
- Alavancagem
- aproveitando
- vida
- limitações
- LINK
- Links
- Lista
- longo prazo
- mais
- procurando
- moldadas
- fazer
- FAZ
- Fazendo
- gerenciados
- de grupos
- manipulando
- muitos
- mercado
- materiais
- Matéria
- maduro
- max-width
- Maximizar
- significa
- mecanismo
- Memorando
- mencionado
- poder
- hortelã
- Monetário
- mais
- a maioria
- múltiplo
- Natureza
- quase
- você merece...
- Novo
- notícias
- Noah
- Ruído
- normal
- notável
- Noção
- romance
- número
- obter
- obtido
- oferecer
- oferecendo treinamento para distância
- Na cadeia
- ONE
- contínuo
- Código de operação
- aberto
- operando
- Operações
- Opiniões
- oportunidades
- Opção
- ordem
- originado
- Outros
- Outros
- de outra forma
- lado de fora
- Visão geral
- próprio
- pago
- parâmetro
- parâmetros
- Park
- parte
- particular
- passou
- passado
- caminho
- pagamento
- transações de pagamento
- pagamentos
- país
- Realizar
- atuação
- significativo
- permanentemente
- permissão
- Pessoal
- fase
- peça
- peças
- Lugar
- colocação
- platão
- Inteligência de Dados Platão
- PlatãoData
- por favor
- mais
- piscina
- Piscinas
- pasta
- possível
- Publique
- potencial
- Prática
- prática
- preciso
- evitar
- anterior
- política de privacidade
- privado
- Problema
- processo
- Subcontratante
- rentável
- projeções
- prova
- propriedade
- proposição
- perspectivas
- proteger
- protocolo
- protocolos
- fornecer
- fornecido
- fornece
- público
- blockchain público
- publicamente
- fins
- questão
- Frequentes
- Links
- rapidamente
- aumentar
- acaso
- Taxa
- Leia
- reais
- razão
- razoável
- recebido
- recebe
- receita
- Recomendação
- registros
- referências
- a que se refere
- relativamente
- relevante
- confiável
- permanecem
- repositório
- representar
- representante
- representando
- requerer
- requeridos
- exige
- aqueles
- Resultados
- retenção
- retorno
- revelar
- Revelado
- revelando
- Comentários
- revendo
- rolar
- Regra
- Dito
- vendas
- mesmo
- Escalas
- esquema
- desatado
- Segundo
- Seção
- seguro
- Valores mobiliários
- segurança
- VENDEDORES
- Vender
- sentido
- separado
- Série
- servir
- serve
- Serviços
- conjunto
- assentamento
- Partilhar
- rede de apoio social
- Shows
- Signal
- Assinaturas
- assinado
- periodo
- semelhante
- solteiro
- situação
- Tamanho
- Sabujo
- smart
- smart contract
- Smart Contracts
- So
- SOL
- Soluções
- RESOLVER
- alguns
- Fontes
- Espaço
- fala
- especial
- específico
- divisão
- Passo
- stephanie
- stETH
- armazenamento
- armazenadas
- estratégias
- Fortalece
- Greves
- sujeito
- enviar
- tudo incluso
- subseqüente
- tal
- suficiente
- ajuda
- mesa
- tem como alvo
- Tarefa
- imposto
- Profissionais
- Dados Técnicos:
- testes
- obrigado
- A
- as informações
- deles
- si mesmos
- lá no
- coisas
- Terceiro
- De terceiros
- três
- Através da
- todo
- Tim
- tempo
- vezes
- timestamp
- cronometragem
- para
- juntos
- token
- Tokens
- ferramenta
- ferramentas
- Total
- comércio
- negociadas
- tradicionalmente
- transação
- Transações
- transferência
- fáceis
- traduzir
- transparente
- VIRAR
- tipicamente
- para
- subjacente
- único
- Uniswap
- unidade
- unidades
- Atualizada
- us
- USDC
- usar
- caso de uso
- Utilizador
- Experiência do Usuário
- usuários
- geralmente
- utilizar
- ux
- Valioso
- valor
- Valores
- Veículos
- verificado
- via
- visualizações
- Virtual
- ativo virtual
- visível
- Wallet
- Web3
- O Quê
- O que é a
- qual
- enquanto
- QUEM
- Wikipedia
- precisarão
- vitória
- Vitórias
- retirar
- retirando
- dentro
- sem
- Atividades:
- seria
- Envolvido
- Vocês
- investimentos
- zefirnet
- ZK