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.mdskills/domains/blockchain-cryptocurrency/SKILL.md
GitHubHabilidade 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
- 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
ReentrancyGuarddo OpenZeppelin.
- 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.
- Integer Overflow / Underflow:
- Superado no Solidity $\ge$ 0.8.0 com verificações nativas no compilador.
- 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
- Adote Checks-Effects-Interactions Sempre: Atualize o estado interno do contrato antes de realizar qualquer transferência externa de fundos (
transfer,call.value). - Utilize Bibliotecas Auditadas: Não reescreva lógicas de tokens ou acesso do zero. Utilize OpenZeppelin Contracts testados pela comunidade.
- 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.