Como os SuperVaults usam as provas do Merkle para bloquear quais códigos podem afetar seus fundos 🔐 Todo cofre DeFi precisa interagir com protocolos externos – depósitos em fontes de rendimento, aprovações de tokens, resgates. Mas como garantir que apenas operações aprovadas possam ser executadas? O SuperVaults resolve isso com uma camada de validação de prova Merkle. A ideia central — Cada ação permitida é uma folha em uma árvore Merkle: hash(hookAddress + encodedArgs) Quer depositar USDC no Yearn? Essa combinação exata - o endereço do gancho de depósito + cofre Yearn + USDC - deve existir como uma folha na árvore. Sem prova = transações revertidas. Mas não é só isso, os supervaults têm um modelo de segurança de dois níveis: 1️⃣ Árvore Global (por cadeia) - Operações genéricas que qualquer vault pode realizar. Depósitos, aprovações, trocas. Nada de compex aqui 2️⃣ Árvore de Gestão (por cofre) - Operações específicas de estratégia que podem transferir fundos para fora. Resgates, transferências. Cada vault tem sua própria árvore com destinos na whitelist. Essa separação significa que, mesmo que alguém comprometa a configuração global, não pode adicionar destinos arbitrários de retirada. Esses vivem em árvores de gerenciamento específicas de cofres. O que é validado- Nem todos os parâmetros – apenas os críticos para segurança. Para um gancho de aprovação, validamos (token, gastador), mas não o valor. Os args Merkle são o limite de confiança. Atualizações de root têm um timelock. Não dá para simplesmente empurrar uma raiz maliciosa e drenar no mesmo bloco. Mudanças são propostas → aguardadas → executadas. Dá tempo aos sistemas de monitoramento para sinalizar atualizações suspeitas. Por que merkle trees- - Tamanho de prova O(log n) - uma árvore com 10.000 operações aprovadas ainda precisa apenas de ~13 hashes para provar a pertença - Determinística - a mesma configuração sempre produz a mesma raiz - Verificação on-chain é barata - basta fazer hash no caminho da prova e comparar com a raiz armazenada O resultado: um vault que pode interagir com dezenas de protocolos e milhares de combinações token/yield-source, mas apenas as combinações exatas aprovadas na configuração. Todo o resto quica.