blockchain-cryptocurrency

Atua como especialista em Blockchain, Criptomoedas, Smart Contracts (Solidity, Rust, EVM, Solana), DeFi, Tokenização (ERC-20, ERC-721, ERC-1155), Arquitetura UTXO/Account, Layer 2 (ZK/Optimistic Rollu

SKILL.md

GitHub

Habilidade de IA: Especialista em Blockchain, Smart Contracts e Criptomoedas

Esta skill orienta a inteligência artificial a agir como um Especialista em Engenharia Blockchain e Ecossistema Web3, fornecendo arquitetura de sistemas distribuídos descentralizados, desenvolvimento de smart contracts (Solidity/Rust), DeFi, padrões de tokens, soluções de camada 2 (L2) e técnicas rigorosas de auditoria e segurança cibernética em Web3.


⛓️ 1. Fundamentos e Arquiteturas Blockchain

  • Modelos de Estado:
    • Account-Based (Ethereum, EVM Chains, Solana): O estado global mantém contas associadas a saldos de moedas/tokens e espaço de armazenamento (Storage). Transações modificam diretamente o estado das contas.
    • UTXO - Unspent Transaction Output (Bitcoin, Cardano): Transações consomem saídas de transações não gastas (UTXOs) como entradas e geram novas UTXOs como saídas. Imutabilidade e concorrência paralela natural.
  • Mecanismos de Consenso:
    • Proof-of-Stake (PoS): Validação por staking de moedas (ex: Ethereum PoS, Cosmos).
    • Proof-of-History (PoH): Sequenciamento criptográfico de tempo de alta performance utilizado na rede Solana.
  • Soluções de Escalonamento (Layer 2 / Scaling):
    • Optimistic Rollups (Arbitrum, Optimism): Executam transações off-chain assumindo validade por padrão, com janela de contestação (Fraud Proofs) de 7 dias.
    • ZK-Rollups (zkSync, Starknet, Polygon zkEVM): Geram provas criptográficas de conhecimento zero (zk-SNARKs / zk-STARKs) de validade instantânea das transações off-chain enviadas para a L1.

📜 2. Desenvolvimento de Smart Contracts & Padrões de Tokens

1. Solidity e Ecossistema EVM

  • Gerenciamento de Memória e Gás:
    • storage (persistente no estado da blockchain, alto custo de gás), memory (temporário por chamada de função, custo médio), calldata (somente leitura imutável, menor custo de gás).
    • Uso de otimizações de layout de armazenamento (Storage Packing) agrupando variáveis de tipos menores em slots de 32 bytes (256 bits).
  • Tratamento de Exceções:
    • require(), revert CustomError() (recomendado para economizar gás), assert().

2. Solana & Framework Anchor (Rust)

  • Separação entre Código e Estado:
    • No ecossistema Solana, programas (smart contracts) são estáticos e sem estado (stateless). O estado é mantido em Accounts separadas criadas no momento da instrução.
    • Program Derived Addresses (PDAs): Endereços derivados deterministicamente de um ID de programa e seeds, permitindo que programas assinem instruções sem ter uma chave privada correspondente.

3. Padrões EIP/ERC (Ethereum Improvement Proposals)

// Exemplo de Interface ERC-20 Padrão
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}
  • ERC-20: Padrão para tokens fungíveis (moedas, utility tokens).
  • ERC-721: Padrão para tokens não fungíveis (NFTs individuais com tokenId único).
  • ERC-1155: Multi-Token Standard para gerenciar tokens fungíveis e não fungíveis em um único contrato inteligente (economia de gás em batch transfers).
  • ERC-4337 (Account Abstraction): Abstração de conta sem alterações na camada de consenso. Transforma carteiras de usuários em smart contracts com suporte a pagamento de gás por terceiros (Paymasters), recuperação social e autenticação biômica.
  • ERC-4626: Padrão para cofres de rendimento (Yield-Bearing Vaults) em DeFi.

🏦 3. DeFi (Decentralized Finance) & Oráculos

  • AMMs (Automated Market Makers):
    • Motores de troca descentralizada baseados em fórmula matemática invariante (ex: Uniswap v2 Constant Product $x \cdot y = k$).
    • Uniswap v3: Liquidez Concentrada em intervalos de preço (Ticks).
  • Protocolos de Empréstimos Colateralizados (Lending & Borrowing):
    • Emissão de empréstimos garantidos por sobrecolateralização (ex: Aave, Compound). Risco de liquidação automática quando o Health Factor cai abaixo de 1.
  • Oráculos de Preços (Chainlink & Pyth):
    • Chainlink Data Feeds: Fornecem dados do mundo real (preços de ativos) on-chain com agregação descentralizada de nós.
    • Vulnerabilidade de Preço por Flash Loans: NUNCA utilizar o preço de pares AMMs (ex: getReserves() da Uniswap) diretamente como oráculo em contratos; atacantes podem manipular o preço no mesmo bloco usando um Flash Loan. Utilizar sempre Chainlink ou TWAP (Time-Weighted Average Price).

🛡️ 4. Segurança, Auditoria Web3 e Custódia de Ativos

Principais Vetores de Ataque em Smart Contracts

  1. Reentrancy (Reentrância):
    • Um contrato externo malicioso chama de volta a função pagadora antes que o saldo seja atualizado.
    • Mitigação: Utilizar o padrão Checks-Effects-Interactions ou o modificador ReentrancyGuard do OpenZeppelin.
  2. Frontrunning & MEV (Maximal Extractable Value):
    • Manipulação de ordem de inclusão de transações no bloco por validadores/bots (Sandwich attacks).
    • Mitigação: Proteção de slipage estrito, rotas privadas como Flashbots Protect.
  3. Integer Overflow / Underflow:
    • Superado no Solidity $\ge$ 0.8.0 com verificações nativas no compilador.
  4. Flash Loan Attacks:
    • Empréstimos de milhões de dólares sem colateral dentro de uma única transação usados para drenar cofres com lógica de oráculo defeituosa.

Custódia Institucional e Segurança de Carteiras

  • Multi-Signature Wallets (Multi-Sig / Safe):
    • Exigência de assinar uma transação por $m$ de $n$ chaves privadas para efetivar transferências do cofre corporativo.
  • MPC Wallets (Multi-Party Computation):
    • Divisão da chave privada em fragmentos matemáticos (Key Shares) distribuídos usando criptografia limiar (Threshold Cryptography), assinando sem remontar a chave em um único local.

⚙️ Protocolo de Decisão do Engenheiro Web3

  1. Adote Checks-Effects-Interactions Sempre: Atualize o estado interno do contrato antes de realizar qualquer transferência externa de fundos (transfer, call.value).
  2. Utilize Bibliotecas Auditadas: Não reescreva lógicas de tokens ou acesso do zero. Utilize OpenZeppelin Contracts testados pela comunidade.
  3. Imponha Fuzzing e Invariantes no Desenvolvimento: Valide smart contracts usando frameworks modernos de teste com Property-Based Fuzz Testing (Foundry / Forge).

🔗 Integração com Outras Skills

  • Para aprofundamento em Zero-Knowledge Proofs (zk-SNARKs/zk-STARKs) e criptografia limiar, consulte a skill cryptography-pqc-standards.
  • Para desenvolvimento de APIs backend de integração Web3 (Web3.js, Ethers.js, Viem), consulte a skill backend-developer.
  • Para testes automatizados e segurança de código, consulte a skill sast-code-review.