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:
- Geração de chaves Extended Private Key (XPrv) no padrão BIP32.
- Derivação de chaves filha (Child Key Derivation) nos padrões BIP32 e SLIP10.
- Recuperação de endereço.
- Assinaturas digitais ECDSA, nos padrões SECG strict DER (BIP62/66 e BIP 146) e Schnorr no padrão BIP340;
- Assinaturas digitais EdDSA curva 25519.
- Verificação de assinatura.
- Importação e exportação de chaves via diversos formatos (WIF, Hex, Sec1, Xpriv etc).
- Recuperação da chave pública com diversos formatos (BIP32 Xpub, Sec1 com e sem compressão, Schnorr BIP340 etc).
- Split e Recover de segredos com esquema M de N usando SSS (Shamir's Secret Sharing).
- 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.
-
C/C++
-
Java
-
.NET
-
Javascript