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 da Dinamo Networks e esclarecer suas dúvidas.
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 |
A implementação do HSM está de acordo com os padrões definidos na documentação listada abaixo:
- BIP32 - Hierarchical Deterministic Wallets
- BIP62 - Dealing with malleability
- BIP66 - Strict DER signatures
- BIP340 - Schnorr Signatures for secp256k1
- SLIP10 - 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