Pular para conteúdo

Blockchain

O módulo Blockchain implementa diversas operações específicas para processamento de criptografia de redes blockchain e especificações BIP, EIP e SLIP.

A assinatura ECDSA por exemplo é especializada para evitar signature malleability, com a a restrição de LOW-S.

Exemplos de operações disponíveis no módulo Blockchain:

  1. Geração de chaves Extended Private Key (XPrv) no padrão BIP32.
  2. Derivação de chaves filha (Child Key Derivation) nos padrões BIP32 e SLIP10.
  3. Recuperação de endereço.
  4. Assinaturas digitais ECDSA, nos padrões SECG strict DER (BIP62/66 e BIP 146) e Schnorr no padrão BIP340;
  5. Assinaturas digitais EdDSA curva 25519.
  6. Verificação de assinatura.
  7. Importação e exportação de chaves via diversos formatos (WIF, Hex, Sec1, Xpriv etc).
  8. Recuperação da chave pública com diversos formatos (BIP32 Xpub, Sec1 com e sem compressão, Schnorr BIP340 etc).
  9. Split e Recover de segredos com esquema M de N usando SSS (Shamir's Secret Sharing).
  10. Operações com a curva alt_bn128, de acordo com a EIP-196.

Atenção

O módulo blockchain não trata ou monta os detalhes da transação de cada rede em particular; isto deve estar a cargo da aplicação. A função do HSM é proteger a chave privada em ambiente seguro, gerar e retornar uma assinatura conforme os parâmetros passados pela aplicação chamadora.

Redes compatíveis

A seguir a lista das redes cuja criptografia é compatível com o HSM:

Info

Os algoritmos listados são os atualmente implementados no HSM que permitem a assinatura de transações na rede e não necessariamente cobrem todas as opções definidas na especificação da rede. Em caso de dúvida sinta-se à vontade para procurar o Suporte Dinamo Networks e esclarecer suas dúvidas.

A lista não é exaustiva.

Logo Nome Símbolo Alg. Assinatura no HSM Curva Obs
Bitcoin BTC ECDSA secp256k1
Ethereum ETH ECDSA secp256k1
Tether USDT ECDSA secp256k1 token em diversas redes (ex.: Ethereum, Algorand)
Binance Coin BNB ECDSA secp256k1
USD Coin USDC ECDSA secp256k1 token
Solana SOL EdDSA edwards25519
XRP XRP ECDSA, EdDSA secp256k1, edwards25519
Terra Classic LUNC ECDSA secp256k1
Cardano ADA EdDSA edwards25519
Avalanche AVAX ECDSA secp256k1
Dogecoin DOGE ECDSA secp256k1
Binance USD BUSD ECDSA secp256k1 token
Polkadot DOT ECDSA, EdDSA secp256k1, edwards25519
Shiba Inu SHIB ECDSA secp256k1 token
Wrapped Bitcoin WBTC ECDSA, EdDSA secp256k1, edwards25519 token
Polygon MATIC ECDSA secp256k1
Cronos CRO ECDSA secp256k1
Dai DAI ECDSA secp256k1 token
NEAR Protocol NEAR ECDSA secp256k1
Litecoin LTC ECDSA secp256k1
TRON TRX ECDSA secp256k1
ApeCoin APE ECDSA secp256k1 token
Cosmos ATOM ECDSA secp256k1
Bitcoin Cash BCH ECDSA secp256k1
Algorand ALGO EdDSA edwards25519
Brazilian Digital Token BRZ ECDSA secp256k1 token
Celo Brazilian Real CREAL ECDSA secp256k1 token
Celo Dollar CUSD ECDSA secp256k1 token
Axie Infinity AXS ECDSA secp256k1 token/coin
Fantom FTM ECDSA secp256k1
Uniswap UNI ECDSA secp256k1 token
Stellar XLM EdDSA edwards25519
Tezos XTZ ECDSA, EdDSA secp256k1, edwards25519
CELO CELO ECDSA secp256k1 token/coin
Toncoin TON EdDSA edwards25519
Chainlink LINK ECDSA secp256k1 token
Ethereum Classic ETC ECDSA secp256k1
BRL1 BRL1 ECDSA secp256k1 token nas redes Ethereum e Polygon

A implementação do HSM está de acordo com os padrões definidos na documentação listada abaixo:

  • BIP-32 - Hierarchical Deterministic Wallets
  • BIP-62 - Dealing with malleability
  • BIP-66 - Strict DER signatures
  • BIP-340 - Schnorr Signatures for secp256k1
  • SLIP-10 - Universal private key derivation from master private key
  • EIP-2 - Homestead Hard-fork Changes
  • EIP-196 - Precompiled contracts for addition and scalar multiplication on the elliptic curve alt_bn128
  • EIP-197 - Precompiled contracts for optimal ate pairing check on the elliptic curve alt_bn128
  • BIP-173 - Base32 address format for native v0-16 witness outputs
  • BIP-350 - Bech32m format for v1+ witness addresses
  • BIP-13 - Address Format for pay-to-script-hash
  • SEP-23 - Strkeys
  • CIP-19 - Cardano Addresses
  • TEP-2 - TON Addresses
  • ADR-28 - Public Key Addresses
  • BIP-146 - Dealing with signature encoding malleability
  • ERC-55 - Mixed-case checksum address encoding
  • BIP-39 - Mnemonic code for generating deterministic keys

API Blockchain

Documentação específica da API para o módulo Blockchain, com funções, classes e exemplos.