API Java
HSM Dinamo
Cargando...
Buscando...
No se han encontrado entradas
Blockchain

Descripción detallada

Operaciones de apoyo a la seguridad de las estructuras basadas en Blockchain.

Las API del módulo Blockchain están destinadas a operaciones específicas para procesar la criptografía de la red blockchain y las especificaciones BIP, EIP y SLIP.

La firma ECDSA, por ejemplo, está especializada para evitar maleabilidad de la firmacon la restricción de BAJA-S.

Ejemplos de operaciones disponibles en el módulo Blockchain:

  1. Generación de claves privadas extendidas (XPrv) en el estándar BIP32.
  1. Derivación de claves infantiles en las normas BIP32 y SLIP10.
  1. Recuperación de direcciones.
  1. Firmas digitales ECDSA, en las normas SECG DER estrictas (BIP62/66 y BIP 146) y Schnorr en la norma BIP340;
  1. Firmas digitales Curva EdDSA 25519.
  1. Verificación de firmas.
  1. Importación y exportación de claves mediante varios formatos (WIF, Hex, Sec1, Xpriv, etc.).
  1. Recuperación de la clave pública con diferentes formatos (BIP32 Xpub, Sec1 con y sin compresión, Schnorr BIP340 etc).
  1. Dividir y recuperar secretos con el esquema M de N utilizando SSS (Shamir's Secret Sharing).
  1. Operaciones con la curva alt_bn128según la EIP-196.
Atención
El módulo blockchain no maneja ni ensambla los detalles de la transacción para cada red en particular; esto debe dejarse a la aplicación. El trabajo del HSM es proteger la clave privada en un entorno seguro, generar y devolver una firma de acuerdo con los parámetros pasados por la aplicación que llama.

Redes compatibles

A continuación figura la lista de redes cuyo cifrado es compatible con HSM:

Observación
Los algoritmos enumerados son los actualmente implementados en el HSM que permiten firmar transacciones en la red y no cubren necesariamente todas las opciones definidas en la especificación de red. Dinamo Networks Si tiene alguna pregunta, no dude en ponerse en contacto y preguntar.
Entonces Nombre Símbolo Alg. Firma en HSM Curva Obs
Bitcoin BTC ECDSA secp256k1
Ethereum ETH ECDSA secp256k1
Tether USDT ECDSA secp256k1 token en varias redes (por ejemplo, Ethereum, Algorand)
Binance Coin BNB ECDSA secp256k1
imagen Moneda USD USDC ECDSA secp256k1 ficha
Solana SOL EdDSA edwards25519
XRP XRP ECDSA, EdDSA secp256k1, edwards25519
Terra Classic LUNC ECDSA secp256k1
Cardano ADA EdDSA edwards25519
Avalancha AVAX ECDSA secp256k1
imagen Dogecoin DOGE ECDSA secp256k1
imagen Binance USD BUSD ECDSA secp256k1 ficha
Polkadot DOT ECDSA, EdDSA secp256k1, edwards25519
Shiba Inu SHIB ECDSA secp256k1 ficha
Bitcoin envuelto WBTC ECDSA, EdDSA secp256k1, edwards25519 ficha
Polígono MATIC ECDSA secp256k1
Cronos CRO ECDSA secp256k1
Dai DAI ECDSA secp256k1 ficha
Protocolo NEAR CERCA DE ECDSA secp256k1
Litecoin LTC ECDSA secp256k1
TRON TRX ECDSA secp256k1
imagen ApeCoin EPA ECDSA secp256k1 ficha
Cosmos ATOM ECDSA secp256k1
Bitcoin Efectivo BCH ECDSA secp256k1
Algoritmo ALGO EdDSA edwards25519
Token digital brasileño BRZ ECDSA secp256k1 ficha
Celo Real Brasileño CREAL ECDSA secp256k1 ficha
Celo Dólar CUSD ECDSA secp256k1 ficha
Axie Infinito AXS ECDSA secp256k1 ficha/moneda
Fantom FTM ECDSA secp256k1
Uniswap UNI ECDSA secp256k1 ficha
Estelar XLM EdDSA edwards25519
Tezos XTZ ECDSA, EdDSA secp256k1, edwards25519
CELO CELO ECDSA secp256k1 ficha/moneda
imagen Toncoin TON EdDSA edwards25519
Enlace en cadena ENLACE ECDSA secp256k1 ficha

La aplicación del HSM cumple las normas definidas en la documentación que se indica a continuación:

Funciones

byte[] bchainSignHash (byte bType, byte bHashMode, byte[] pbHash, String strPk) throws TacException
 Firma un hash utilizando el módulo blockchain.
 
byte[] bchainGetPubKey (byte bType, String jszId) throws TacException
 Recuperar una clave pública a partir de una clave privada utilizando el módulo blockchain.
 

Funciones

bchainSignHash()

byte[] bchainSignHash ( byte bTipo,
byte bHashMode,
byte[] pbHash,
Cadena strPk ) lanza una TacException

Firma un hash utilizando el módulo blockchain.

Parámetros
bTipoTipo de suscripción que se va a generar. Puede ser uno de los valores siguientes.
Valor Significado
TacNDJavaLib.DN_BCHAIN_SIG_DER_ECDSA Firma DER, en el formato v || DER. SECG!SEC1 DER estricto con S baja como se describe en BIP62/66, BIP146, EIP2. Con 'v' de un tamaño de 1 byte. v' es el bit de paridad de 'r' y puede tener los valores 0 ó 1.
TacNDJavaLib.DN_BCHAIN_SIG_RAW_ECDSA Firma RAW, en el formato v || r || s. v' tiene un tamaño de 1 byte y 'r' y 's' tienen un tamaño de 32 bytes cada uno. v' es el bit de paridad de 'r' y puede tener los valores 0 o 1.
TacNDJavaLib.DN_BCHAIN_SIG_BIP340 Firma BIP340 - Schnorr 64 bytes.
bHashModeTipo hash.
Valor Significado
TacNDJavaLib.DN_BCHAIN_HASH_BTC_H160 Bitcoin H160.
TacNDJavaLib.DN_BCHAIN_HASH_RIPEMD160 RIPEMD160.
TacNDJavaLib.DN_BCHAIN_HASH_SHA256 SHA256
TacNDJavaLib.DN_BCHAIN_HASH_BTC_SHA256_2X Bitcoin SHA256 2x.
TacNDJavaLib.DN_BCHAIN_HASH_KECCAK256 KECCAK256.
pbHashHash a firmar.
strPkIdentificador de la clave privada.
Devolución
Firma en el formato especificado en bTipo.
Excepciones
TacException

bchainGetPubKey()

byte[] bchainGetPubKey ( byte bTipo,
Cadena jszId ) lanza una TacException

Recuperar una clave pública a partir de una clave privada utilizando el módulo blockchain.

Parámetros
bTipoFormato de la clave pública a exportar. Puede ser uno de los valores siguientes.
Valor Significado
TacNDJavaLib.DN_BCHAIN_PBK_SEC1_UNCOMP ECDSA SEC1 sin comprimir.
TacNDJavaLib.DN_BCHAIN_PBK_SEC1_COMP ECDSA SEC1 comprimido.
TacNDJavaLib.DN_BCHAIN_PBK_BIP340 Schnorr, BIP-340.
TacNDJavaLib.DN_BCHAIN_PBK_ED25519 Ed25519.
TacNDJavaLib.DN_BCHAIN_PBK_AT_ALGORAND Algoritmo.
TacNDJavaLib.DN_BCHAIN_PBK_BIP32_XPUB BIP32 XPub.
TacNDJavaLib.DN_BCHAIN_PBK_AT_SOL Solana.
jszIdIdentificador de la clave privada.
Devolución
Clave pública en el formato especificado en bTipo.
Excepciones
TacException