Como se Proteger em Marketplaces de NFTs
KEY TAKEAWAYS: |
— As transações na blockchain são protegidas por um mecanismo de consenso. Em outras palavras, cada transação precisa ser aprovadas pela rede. — Embora este sistema seja seguro e tenha revolucionado a forma como fazemos transações (eliminando a necessidade de um intermediário) é muito oneroso para os usuários finais, que precisam pagar taxas de gás pelas transações. — Por essa razão, algumas plataformas gerenciam e armazenam alguns elementos de suas transações fora da cadeia – isso é, em um banco de dados centralizado. — Compreender as consequências disso para suas transações é essencial para se proteger. Aqui, explicamos como o uso de marketplaces de NFT como um exemplo atual. |
O que é uma transação fora da cadeia (“off-chain”) e como ela afeta a segurança no seu marketplace de NFT? Vamos dar uma olhada na segurança dos marketplaces de NFT para entender o conceito.
Blockchain é incrível, certo? Esqueça os bancos e os intermediários. Estamos sempre em total controle de nossos ativos e completamente protegidos ao aproveitar o poder da rede. A característica que define a blockchain (e o que a torna tão revolucionária, segura e confiável) é que as transações só podem ocorrer quando a rede (que é um grande número de participantes espalhados por todo o planeta) as aprova. Este sistema é conhecido como um mecanismo de consenso.
Isso se aplica tanto a transferências de valor, quanto a pedidos mais complicados, como alterações nos termos ou a aplicação de um contrato inteligente, que também dependem da rede para aprovação.
O Custo da Liberdade
Mas esta autonomia vem com um custo. Se você já fez uma transação com a Ethereum, você saberá sobre aquelas taxas de gás muito mal alinhadas e que todos nós tentamos evitar. Processar uma transação na rede Ethereum requer poder computacional e isso vem com um custo para o usuário final. É por isso que algumas plataformas e serviços têm permitido que elementos de sua transação sejam gerenciados “off-chain” (fora da cadeia). Vamos explorar melhor esse conceito e explicar o que ele significa para você.
Explicando as Ordens de Venda Fora da Cadeia
Como o nome sugere, uma interação fora da cadeia é aquela que acontece fora da blockchain. Ao invés de ser uma transação, é uma permissão a uma determinada entidade (como a um marketplace ou para fazer X, Y ou Z com seus ativos no futuro) que é armazenada e gerenciada por um banco de dados externo do ao invés da rede propriamente dita.
Isso traz uma série de benefícios, dos os quais o principal é que não requer aprovação da rede e pagar as taxas de gás relacionadas a isso.
Parece ótimo, não é? Dada a escolha entre uma interação dispendiosa na cadeia e uma alternativa de livre-execução fora da cadeia, esta última parece uma escolha óbvia. Contudo, também há consequências importantes para o usuário e compreender isso é essencial para navegar no espaço com segurança. Para examinar isto melhor, vamos dar uma olhada em casos de vulnerabilidades recentes que aconteceram na OpenSea, como aconteceram e como foram alavancadas por um hacker para comprar NFTs abaixo do preço mínimo sem o conhecimento do vendedor.
Exploits de NFTs da OpenSea Explicados
Quando você lista um NFT no OpenSea, a transação por trás da listagem é dividida em dois elementos separados, um na cadeia e outro fora da cadeia. O objetivo disso é agilizar o processo e tornar a listagem menos cara para os vendedores. Ambos os elementos formam partes essenciais de um mesmo processo geral, mas desempenham funções diferentes.
A Parte na Cadeia – On-Chain
Uma das primeiras coisas que vendedores que listam um NFT na OpenSea fazem é assinar uma permissão “Set approval for all” via contrato inteligente. O que isso significa? Esta é uma transação “on-chain” (na cadeia) que transmite à blockchain que o vendedor deu à OpenSea permissão para oferecer qualquer NFT de uma determinada coleção para ser vendido e transferido do seu endereço ao de outra pessoa.
Uma vez aprovado este contrato inteligente, ele é validado pela rede e a blockchain continuará a aplicar esse acordo até que seja dito o contrário, tudo isso é feito na cadeia.
A Ordem de Venda Fora da Cadeia – Off-Chain
Agora que a plataforma tem permissão para acessar e mover seus NFTs, é hora de ditar os termos específicos do acordo, especificamente o preço no qual você deseja vender e a data de expiração dessa oferta (que é opcional). Isso é feito através de algo chamado ordem de venda.
As ordens de venda são tratadas fora da cadeia, usando algo chamado de mensagem Personal_Sign. Esta mensagem é o que gera a listagem no site, e é assinada usando sua chave privada. Entretanto, ela não é acionada na própria blockchain. Ao invés disso, os detalhes são armazenados no banco de dados centralizado do marketplace.
Esta mensagem não implica em nenhuma taxa de gás, já que não é uma interação com a blockchain. E mesmo depois de assiná-la, você permanece livre para usar o NFT como quiser até que ele seja realmente vendido, ele ainda está em sua carteira e ainda é seu. Por enquanto. A permissão simplesmente diz ao marketplace que você tem interesse em ver caso alguém faça uma oferta de quantia X no futuro.
No entanto, aqui estão alguns pontos fracos deste projeto, particularmente se você quiser alterar o preço da listagem ou removê-la completamente. Compreender essas fraquezas pode ser a diferença entre proteger seus preciosos criptoativos e vê-los voar para fora de sua carteira.
Listagem de NFTs: Dois Processos, Duas Consequências
Lembre-se, há dois níveis de processo que conduzem sua listagem de NFTs:
- a permissão de contrato inteligente, indicando que concorda que o marketplace acesse seus NFTs e os transfira para a carteira do comprador. Isso é registrado na cadeia (“on-chain”).
- sua ordem de venda, contendo detalhes específicos como preço e data de validade. Estes acordos sem taxa de gás são gerenciados e armazenados fora da cadeia (“off-chain”).
Ambos os níveis deste processo precisam ser levados em consideração quando você gerencia sua listagem, algo que muitos usuários não conhecem ou não entendem corretamente. Vamos ver em mais detalhes como essa dinâmica funciona.
Alterando suas Listagens: O Jeito Certo
Digamos que você tem um NFT listado em um marketplace de NFT, mas decidiu não vendê-lo mais e quer retirá-lo. A maneira correta de fazer isso é pagando as taxas de gás para cancelar a permissão do contrato inteligente na cadeia, uma vez que isso seja feito, a mensagem Personal_Sign será automaticamente invalidada e desaparecerá do banco de dados da OpenSea, além de ser excluída da plataforma.
Mas para evitar taxas de gás, muitos usuários usam um processo diferente para tirar seu NFT “fora do mercado”.
O Atalho Perigoso
Ao invés de fazer o cancelamento na cadeia, uma maneira comum de gerenciar a listagem é simplesmente transferir o NFT do endereço inicial (que tem relação com o contrato inteligente) a outra carteira do usuário e, então, enviá-lo de volta para o endereço inicial novamente. Como a venda não pode mais ser realizada pela plataforma uma vez que o NFT deixe o endereço inicial, a plataforma retirará o item automaticamente da listagem, com os usuários tendo a expectativa de que a ordem de venda agora seja inválida.
Eis o problema com isso: a permissão de venda na cadeia continua válida na blockchain.
Portanto, embora pareça que você removeu seu NFT do marketplace, a própria blockchain ainda honrará um pedido de venda do item, isso significa que qualquer um que tiver um registro de sua mensagem de ordem de venda (com, isso mesmo, o velho preço) pode forçar uma venda daquele NFT uma vez que ele esteja de volta ao endereço OpenSea.
Você venderia seu Bored Ape pelo mesmo preço de seis meses atrás? Eu também não. Você pode ver abaixo como isto funciona.
Transações Fora da Cadeia: O Retorno da Centralização
Muito bem, você pode estar se perguntando “como a carteira atacante teve acesso às minhas mensagens antigas assinadas?”, e essa é uma ótima pergunta. Há duas opções aqui: ou o hacker empregou um bot para salvar cada oferta que já foi publicada na OpenSea, ou houve um vazamento da API da plataforma. E, de qualquer forma, a vulnerabilidade reside no fato de que as informações foram gerenciadas fora da cadeia.
Isto não quer dizer que não haja lugar para funções off-chain da cadeia em DApps e nas DeFi. Mas sim que usando esta abordagem, acolhemos alguns dos problemas que a blockchain foi projetada para resolver, isso é, o ponto de falha único que permeia a centralização. Portanto, compreender exatamente como funcionam nossos contratos é uma pesquisa essencial.
How To Protect Your NFTs
Como você sabe agora, a melhor maneira de proteger seus NFTs de exploits como esses é certificar-se de que qualquer cancelamento de pedidos por venda seja feito na cadeia (“on-chain”), e para isso é preciso lidar com algumas taxas de gás.
But there are also a few other things in play to help you stay safe. In response to this attack OpenSea launched Listing Manager, a set of tools to help NFT owners see inactive sales orders and cancel them in one click. This will help tackle the recently exploited vulnerability but the simplest way to avoid leaving yourself open to this particular attack is to avoid taking shortcuts and pay the gas fees to cancel the old sell offer linked to your NFT.
Anular Suas Permissões
Um dos movimentos mais poderosos que você pode fazer ao proteger seus NFTs é ficar de olho nas permissões de sua carteira. Isso significa saber exatamente quais permissões (dentro e fora da cadeia) estão ativas em um determinado momento, e anular qualquer coisa desnecessária para evitar uma surpresa no futuro.
Serviços como Revoke.cash permitem aos usuários inspecionar todos os contratos abertos que você autorizou a gastar dinheiro em seu nome e anular o acesso para aqueles que você não precisa mais. Esta é uma ferramenta que pode ser usada em toda as plataformas DeFi que estiver usando com a Ethereum.
A Melhor Proteção: Continuar Aprendendo
Já dissemos antes e vamos repetir, conhecimento é poder. Agora que você sabe a diferença entre transações na cadeia (“on-chain”) e fora da cadeia (“off-chain”) e como elas afetam sua segurança no marketplace de NFT, você com certeza consegue gerenciar suas listagens de NFT.
Como em qualquer contrato, é importante que você compreenda o que está assinando para sua proteção e para a proteção de seus ativos. O mundo digital está em constante expansão e mudança, a segurança está sendo constantemente avaliada e soluções encontradas para aumentar nosso controle. Veja como a Ledger está abordando uma parte desta história, fazendo da assinatura cega uma coisa do passado.
Em seu coração, blockchain é autonomia. À medida que o ecossistema emergente das criptomoedas se desenvolve e procura superar suas próprias limitações, é fundamental que continuemos a nos educar para que entendamos como essas mudanças nos afetam.