Ruta práctica: activos digitales en la operación
Artículo 12 de 12
100%
completado al llegar aquí
Sistemas distribuidosNota de investigación30 min de lectura
Arquitectura de referencia con Fireblocks, BitGo y Kaleido
Mapa de capacidades a proveedores, límites de integración, webhooks al menos una vez verificados en la cadena y conciliación, con cada mapeo citado o a validar.
Prerequisitos recomendados
Si alguno de estos conceptos todavía está medio nebuloso, empieza por aquí. Te ahorra tropiezos y un par de cejas fruncidas.
Custodia: quién responde por los activos y quién cambia las reglas
Autocustodia, custodia de terceros o modelo mixto; cuentas segregadas u ómnibus; y un gobierno de aprobaciones con separación de funciones y matriz RACI.
Blockchain26 min de lectura→Firma operativa: BitGo Express, firmantes externos y co-firmantes
Qué componente nuestro toca una llave cuando el sistema firma solo: BitGo Express, firmante externo, Advanced Wallets y el API Co-Signer de Fireblocks.
Blockchain28 min de lectura→AML y KYT: cumplimiento sobre la cadena
KYC frente a KYT, screening de direcciones antes y después de mover fondos, puntuación de riesgo, flujo de alertas y regla de viaje, comparados por proveedor.
Blockchain23 min de lectura→Cuentas ómnibus, segregadas y subcuentas: el libro interno
Wallet ómnibus en la cadena y libro interno fuera de ella: atribución de depósitos, barrido y gas, acreditación tras finalidad y conciliación diaria por proveedor.
Blockchain31 min de lectura→USDC y Circle Mint: de la cuenta bancaria a la wallet
Qué es USDC, quién lo emite y cómo Circle Mint convierte dólares en USDC y de vuelta, con las redes soportadas y los controles en cada salto.
Blockchain33 min de lectura→USDT y Tether: misma promesa de dólar, otro emisor y muchas redes
Qué es USDT, cómo se emite y redime con Tether, qué publica sobre reservas y por qué la red de cada depósito es el control principal al operarlo.
Blockchain21 min de lectura→Liquidez y liquidación con contrapartes: qué hay detrás de «BitGo market maker»
Quién es la contraparte, dónde están los fondos y cuándo es final la liquidación al operar con BitGo Global Markets y Go Network, con límites y conciliación.
Blockchain31 min de lectura→
Son las 03:10 y llegan dos avisos del mismo depósito de 300.000 USDC: uno de Fireblocks y otro, por error de configuración, de un webhook viejo que nadie apagó. Media hora después llega un tercero, idéntico al primero, porque nuestro servidor tardó en responder. Si cada aviso suma saldo, el cliente tiene 900.000 USDC en nuestro libro. Este capítulo arma la arquitectura que evita ese error: qué hace cada proveedor, qué hace nuestro sistema y cómo se cruzan.
Tres términos ordenan el capítulo. Una capacidad es algo que la operación necesita hacer (guardar llaves, aprobar un retiro, leer la cadena). Un límite de integración es la frontera entre lo que decide el proveedor y lo que decide nuestro sistema. Conciliar es comparar dos o más registros del mismo hecho y explicar cada diferencia antes de seguir.
Brújula de lectura
Actor, evidencia y estado
Actor
Proveedores, emisores y nuestro orquestadorFireblocks, BitGo y Kaleido operan llaves, políticas y nodos; Circle y Tether emiten; nosotros llevamos el libro.
Evidencia
Evento firmado más bloque y hashUn webhook es una pista; la prueba es la transacción leída en un nodo a una altura conocida.
Estado
Libro contable propioSaldos por cliente, moneda y red; cambia solo tras verificar y se concilia a diario.
Mapa de capacidades: qué resuelve cada proveedor
El punto de partida es lo que cada proveedor documenta de sí mismo, no lo que su marca sugiere. Fireblocks se describe con tres componentes: wallets basadas en MPC (su protocolo MPC-CMP, que nunca reúne la llave privada completa), un motor de políticas que bloquea, aprueba o pide firmantes adicionales según reglas, y gestión de tesorería con cuentas de bóveda segregadas u ómnibus. [1] También integra proveedores de AML/KYT (Chainalysis, Elliptic y TRM Labs), con uno solo por workspace. [2]
BitGo ofrece wallets multifirma y MPC con tres llaves (usuario, respaldo y BitGo) y firma 2 de 3; sus wallets de custodia son todas en frío y BitGo se compromete a completar los retiros desde ellas en 24 horas. [3] Su arquitectura de referencia separa custodia, standby y depósito/retiro, unidas por whitelists. [4] Sus políticas se definen por destino, iniciador, porcentaje del saldo, umbral, velocidad o respuesta de un webhook. [5]
Kaleido se presenta en dos frentes. Su custodia no genera ni guarda llaves: estas viven en el HSM o keystore que elige el cliente, y las políticas se escriben como código Rego (Open Policy Agent) y se aplican antes de firmar. [6] Y su capa de infraestructura da nodos gestionados para redes públicas EVM y no EVM, enrutamiento JSON-RPC e indexación. [7] [8]
Los emisores completan el mapa. Circle Mint es el canal para acuñar y redimir USDC con Circle, por consola o API. [9] Para USDT, emitir y redimir directamente exige ser cliente verificado de Tether. [10] En lo que pudimos consultar de tether.to no hay una API documentada para automatizar ese flujo; su integración queda a validar con el proveedor y, mientras tanto, se diseña como un proceso manual con doble control.
La matriz siguiente es la propuesta inicial. Cada celda dice "documentado" solo si la fuente citada lo respalda; el resto queda a validar contra el contrato.
| Capacidad | Fireblocks | BitGo | Kaleido | Propuesta |
|---|---|---|---|---|
| Llaves y firma | MPC-CMP, documentado [1] | Multifirma y MPC 2 de 3, documentado [3] | HSM o keystore del cliente, documentado [6] | Fireblocks para hot/warm; BitGo para frío |
| Políticas de aprobación | Policy Engine [1] | Policy Builder [5] | Políticas OPA [6] | Una por wallet, nunca dos sobre el mismo saldo |
| Custodia de terceros en frío | A validar | Custodia cold, documentado [3] | A validar | BitGo |
| Screening KYT | Integración AML/KYT [2] | A validar | Políticas con screening [6] | Proveedor KYT de Fireblocks |
| Lectura independiente de la cadena | No aplica | No aplica | Nodos e indexación [7] | Kaleido o nodo propio |
| Acceso a USDC | A validar (conexión a Circle Mint) | A validar | No aplica | Circle Mint directo |
| Acceso a USDT | A validar | A validar | No aplica | Cuenta Tether o intermediario |
| Superficie de integración con Circle | USDC Gateway y off-ramp a CPN, documentado [26] [27] | Sin integración con Circle en lo consultado; a validar | No aplica | Mint API o Institutional API [28]; CPN con wallet propia [29]; elección a validar |
| Liquidación con contrapartes | A validar | Go Network entre Go Accounts, documentado [30] | No aplica | Según el módulo 11 |
Las dos últimas filas son nuevas. La de Circle no nombra el "Circle Direct Adapter" porque ninguna documentación oficial usa ese término; el capítulo de USDC lista sus candidatos documentados, a validar con el proveedor. La de liquidación usa Go Network, que BitGo describe como la red que conecta empresas mediante sus Go Accounts, wallets ómnibus de custodia en frío con libro fuera de la cadena; BitGo no documenta un producto llamado "BitGo market maker", y ese mapeo también queda a validar con el proveedor. Esa capacidad se trata en liquidez y liquidación.
Límites de integración: qué vive en el proveedor y qué en el nuestro
La regla que ordena la frontera es una: el proveedor decide si una firma ocurre; nuestro sistema decide si un saldo existe para el cliente. Las políticas de aprobación, la lista blanca de destinos y las llaves viven en el proveedor, donde las protege su propio quórum. El libro contable por cliente, moneda y red, la idempotencia de las órdenes y la conciliación viven en nuestro sistema, porque ningún proveedor ve el total.
Esa frontera tiene una consecuencia de diseño. No conviene replicar las políticas del proveedor en nuestro código (se desalinean), pero sí registrar qué política estaba vigente cuando se aprobó cada movimiento. Y hay excepciones que el libro debe conocer: BitGo advierte que una recuperación con la llave de usuario y la de respaldo no pasa por sus políticas. [5] Un procedimiento de recuperación, por tanto, se registra en nuestro libro como evento extraordinario con aprobación propia.
Arquitectura de referencia: proveedores, bandeja de eventos, verificación y libro
Cómo leer esta figura
Fila superior con cinco cajas: Fireblocks (MPC hot y warm, políticas, KYT), BitGo (custodia cold, whitelists), Circle Mint (mint y redeem de USDC), Tether en ocre (cuenta verificada, API a validar) y Banco (wires y extractos). De Fireblocks, BitGo y Circle Mint bajan flechas azules hasta una línea horizontal rotulada webhooks firmados, al menos una vez, sin orden garantizado; de Tether baja una flecha discontinua ocre. Fila central: bandeja de eventos que deduplica por id, flecha a verificar on-chain con bloque, hash y saldo, flecha verde a libro contable como fuente de verdad propia, flecha verde a conciliación diaria que compara libro, proveedor y cadena, y flecha roja rotulada difiere hacia excepciones, retener y escalar. Del banco baja una línea discontinua rotulada extractos hasta la conciliación. Fila inferior: de verificar on-chain baja una flecha a nodos e indexación, Kaleido o nodo propio, que apunta a redes públicas como Ethereum, Tron y Solana; de la conciliación baja una línea discontinua rotulada saldos del proveedor hacia las redes. Nota final: cada evento es una pista, no un hecho; el libro solo cambia tras verificar.
Dónde corre cada firmante en nuestra red
Escenario: seguridad revisa el diagrama de red del Middleware Blockchain y pregunta qué servidores tocan material de llave. Con Fireblocks y BitGo la respuesta no es "ninguno": la firma automática exige componentes que corren en nuestra infraestructura. La tabla los ubica; el detalle de configuración, réplicas y TLS está en el módulo 6, firma operativa.
| Componente | Proveedor | Dónde corre | Qué material toca | Zona de red sugerida |
|---|---|---|---|---|
| BitGo Express | BitGo | Nuestro centro de datos o nube, como servicio local | Llave de usuario (o fragmento MPC) cifrada, para firmar parcialmente | Interna; solo el orquestador la llama |
| Signer externo de Express | BitGo | Segunda instancia de Express, aislada | Llaves de usuario cifradas y sus contraseñas | Aislada, sin acceso entrante desde internet |
| Advanced Wallets (MBE y AWM) | BitGo | Dos servidores Express dedicados; AWM en subred sin internet | Llaves de usuario y respaldo en nuestro HSM o KMS | AWM aislado, solo mTLS con MBE y con el KMS |
| API Co-signer | Fireblocks | Nuestra nube o servidores, dentro de un enclave | Fragmento MPC o llave de aprobación del usuario de API | Salida hacia Fireblocks; callback hacia nuestra lógica |
Fuentes. BitGo describe Express como un servicio ligero que corre como demonio en nuestro centro de datos y hace de proxy de su API, con la promesa de que las llaves privadas nunca salen de nuestra red. [20] Su README exige TLS cuando Express apunta a producción y escucha en interfaces externas. [21] El modo de signer externo añade una instancia en una máquina aislada donde se guardan las llaves de usuario y se firma, y no es compatible con wallets MPC ECDSA. [22] En Advanced Wallets, el AWM es un servidor aislado en una subred interna sin internet que solo acepta tráfico de MBE y solo habla con nuestro KMS, por TLS mutuo. [23] Fireblocks pide alojar el API Co-signer en nuestro entorno, en una máquina con enclaves (Intel SGX, AWS Nitro o Google Cloud Confidential Space), y permite conectar un callback handler que aprueba o rechaza cada solicitud; sin él, el co-signer firma o aprueba todo lo que le llega para ese usuario de API. [24]
Dos reglas salen de la tabla. Primera: en el diagrama, cada uno de estos componentes es una zona de confianza propia, no un microservicio más del orquestador. Segunda: el callback handler y la regla de política por webhook de BitGo [5] son el punto donde nuestra lógica de negocio vuelve a mirar cada firma; si no existen, la política del proveedor es el único control. Con wallets de custodia de BitGo no hace falta ninguno de los dos componentes de BitGo, porque firma BitGo.
Eventos y webhooks: al menos una vez, y verificados en la cadena
Un webhook es una llamada HTTP que el proveedor hace a nuestro servidor cuando algo cambia. Los tres que entregan eventos documentan lo mismo con distintas palabras. Circle entrega cada notificación al menos una vez, puede repetirla y no garantiza el orden; pide deduplicar por notificationId. [12] Fireblocks avisa que el mismo evento puede llegar varias veces y que no garantiza el orden, y recomienda guardar los ID procesados y comparar createdAt. [11] BitGo pide que la aplicación funcione aunque reciba el mismo webhook dos veces. [14]
Los reintentos marcan cuánto puede tardar un evento. Fireblocks reintenta con espera creciente (10 segundos, 30, 120, hasta 14.400) y marca la notificación como fallida tras diez intentos. [15] BitGo hace hasta siete intentos más, de 1 a 240 minutos, y suspende un webhook tras fallos consecutivos. [14] Sobre reenviar lo perdido, la guía de buenas prácticas de Fireblocks habla de hasta 24 horas y su resumen de Webhooks V2 de hasta 30 días; cuál aplica al workspace contratado queda a validar con el proveedor. [11] [16]
Antes de procesar, se verifica el origen. Fireblocks firma cada webhook con JWS y publica las llaves públicas en un endpoint JWKS por entorno. [17] BitGo firma con HMAC usando un secreto que el cliente crea y rota, y publica las IP de salida. [14] Un evento sin firma válida se descarta y se registra; no se responde con error que dispare reintentos inútiles.
Verificado el origen, el evento todavía no es un hecho. Fireblocks recomienda no acreditar al recibir el aviso de transacción: esperar el evento de saldo con una altura de bloque igual o mayor y comparar con la cadena; si no coinciden, no acreditar hasta investigar. [13] También pide comparar el hash del bloque, porque una reorganización puede cambiarlo a la misma altura. [13] En Ethereum, la consulta al nodo se hace contra una etiqueta de bloque explícita (latest, safe o finalized). [18] El capítulo Indexadores, eventos y reorgs desarrolla ese mecanismo.
Kaleido describe sus FireFly Connectors como una entrega de transacciones "exactamente una vez" y un flujo de eventos "sin eventos perdidos". [8] Aunque sea así dentro de su capa, nuestra bandeja no cambia de contrato: deduplica por ID y verifica en la cadena, porque el riesgo está en el tramo entre su sistema y el nuestro. Elegir qué nodo consulta esa verificación es otra decisión; diversidad de clientes explica por qué conviene que no sea el mismo que usa el custodio.
Contrato de la bandeja
De webhook a asiento contable
Conciliación: tres libros que deben cuadrar
Volvamos al depósito duplicado de las 03:10. Con la bandeja anterior, el segundo y el tercer aviso no producen efectos y el libro tiene 300.000 USDC. La conciliación diaria es la segunda red de seguridad: compara, por moneda y red, el libro propio, lo que informa cada proveedor (saldos de bóveda o wallet) y la cadena leída en nuestro nodo. Para el tramo bancario de USDC se suma el extracto CAMT.053 diario que genera Circle Mint. [19]
Cada diferencia tiene dueño y plazo. Las más comunes son tres: un evento que nunca llegó (se recupera con un reenvío o una consulta al arrancar, como recomienda Fireblocks tras una caída), un asiento sin respaldo en la cadena (se revierte con aprobación) y un saldo en la cadena que nadie registró (se investiga como posible depósito no atribuido). [13] Hasta que una diferencia se explica, la wallet afectada no envía.
La invariante del libro ómnibus
Los tres libros (el propio, el del proveedor y la cadena) solo cuadran si el libro propio respeta una regla, que en el Middleware Blockchain es la más importante: la suma de los saldos de todos los clientes en nuestro libro es igual al saldo en la cadena de las wallets ómnibus que los respaldan, por moneda y red, descontadas las operaciones en curso. Ningún proveedor la vigila por nosotros. Fireblocks lo dice sin rodeos: no ofrece un componente de libro interno para esta necesidad y cada cliente lo implementa como quiera; y, en redes con memo o tag, al no haber un saldo en la cadena por cliente que validar, nuestro sistema interno se vuelve la fuente de verdad. [25]
La invariante se comprueba en dos momentos. En cada depósito, antes de acreditar, con la validación por altura y hash de bloque descrita arriba. [13] Y en el cierre diario, sumando el libro por moneda y red y comparándolo con la cadena y con el proveedor. Una diferencia en el cierre no se corrige ajustando el libro: se explica, asiento por asiento. Cómo se construye ese libro, qué equivalente de "subcuenta sintética" ofrece cada proveedor y cómo se atribuye cada depósito se desarrolla en el módulo 8, ómnibus y libro interno.
Cuando dos proveedores cubren lo mismo: criterios para elegir
La matriz muestra solapamientos: los tres ofrecen políticas, y Fireblocks y BitGo ofrecen llaves MPC. Elegir por marca lleva a dos motores de políticas sobre el mismo saldo, que es el peor de los mundos: dos lugares donde un cambio puede abrir una puerta. Los criterios siguientes sirven para decidir cada solapamiento y dejar la razón escrita.
Cómo decidir un solapamiento entre proveedores
Un último criterio es la dependencia de proveedor (vendor lock-in): cuánto cuesta cambiar. Se mide con preguntas concretas que el contrato debe responder: si las llaves o fragmentos se pueden exportar, si el historial de transacciones se puede descargar completo, y cuánto código depende de identificadores propios del proveedor. Nuestro libro usa un identificador interno por moneda y red, y cada adaptador traduce; así cambiar un proveedor toca un adaptador, no el núcleo.
Decisiones del módulo
0 de 8 revisados
Entregable: matriz capacidad-proveedor validada
El entregable es la matriz de la primera sección, convertida en documento vivo. Cada celda pasa por tres estados: propuesta (sale de este capítulo), documentada (hay una fuente oficial citada) y validada (el proveedor la confirmó por escrito para nuestro contrato). Solo las celdas validadas entran en producción.
| Capacidad | Proveedor principal | Alternativa | Evidencia | Estado | Responsable |
|---|---|---|---|---|---|
| Llaves hot/warm | Fireblocks | Kaleido con HSM | Docs citadas | Documentada | Arquitectura |
| Custodia en frío | BitGo | A definir | Docs citadas | Documentada | Tesorería |
| Políticas de aprobación | La del custodio de cada wallet | No aplica | Docs citadas | Propuesta | Seguridad |
| KYT | Integración AML/KYT de Fireblocks | A validar | Docs citadas | Propuesta | Cumplimiento |
| Lectura de cadena | Kaleido | Nodo propio | Docs citadas; Tron a validar | Propuesta | Plataforma |
| USDC | Circle Mint | Intermediario | Módulo 9 | Propuesta | Tesorería |
| USDT | Cuenta Tether | Intermediario | Módulo 10 | Propuesta | Tesorería |
| Firmantes en nuestra red | Co-signer de Fireblocks; Express de BitGo | Advanced Wallets con HSM propio | Docs citadas; módulo 6 | Propuesta | Seguridad |
| Libro ómnibus | Libro propio | No aplica | Invariante diaria; módulo 8 | Propuesta | Contabilidad |
| Integración con Circle | Superficie a confirmar | Intermediario | Módulo 9; nombre del adaptador a validar | Propuesta | Arquitectura |
| Liquidación con contrapartes | BitGo Go Network | A definir | Docs citadas; módulo 11 | Propuesta | Tesorería |
Este es el último capítulo de la ruta, el módulo 12. El anterior, liquidez y liquidación, cierra el circuito con contrapartes; USDC y Circle Mint y USDT y Tether definen los flujos con los emisores; Custodia, firma operativa, AML y KYT y ómnibus y libro interno fijan quién aprueba, qué corre en nuestra red, qué se analiza y cómo se lleva el libro. La arquitectura de una dApp en producción muestra el mismo patrón de idempotencia desde el lado del contrato.
Bibliografía académica
- [1]
Fireblocks, "What is Fireblocks?," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/docs/what-is-fireblocks
Wallets MPC-CMP, Policy Engine, cuentas de bóveda segregadas u ómnibus y Fireblocks Network.
- [2]
Fireblocks, "AML/KYT overview," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/docs/aml-kyt-overview
Proveedores de AML/KYT integrados, un proveedor por workspace y rutas no analizadas.
- [3]
BitGo, "BitGo wallet types," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/wallet-types
Wallets multifirma y MPC con tres llaves, custodia en frío, Go Account y SLA de retiros de custodia.
- [4]
BitGo, "Custody starter architecture overview," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/custody-starter-architecture-overview
Tres wallets por moneda (custodia, standby, depósito/retiro) y whitelists entre ellas.
- [5]
BitGo, "Policies overview," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/policies-overview
Tipos de reglas de política y excepción de la recuperación con llave de usuario y de respaldo.
- [6]
Kaleido, "Custody," kaleido.io. [Online]. Available: https://www.kaleido.io/product/custody
Custodia sobre HSM o keystore elegido por el cliente, políticas OPA en la capa de firma y flujos de aprobación.
- [7]
Kaleido, "Public chains," kaleido.io. [Online]. Available: https://www.kaleido.io/product/public-chains
Nodos gestionados para redes públicas, enrutamiento JSON-RPC, indexación y orquestación de transacciones.
- [8]
Kaleido, "FireFly Connectors," kaleido.io. [Online]. Available: https://www.kaleido.io/product/firefly-connectors
Capa de orquestación de transacciones y flujo de eventos de cadena hacia sistemas internos.
- [9]
Circle, "Circle Mint," Circle Docs. [Online]. Available: https://developers.circle.com/circle-mint
Circle Mint como canal institucional para acuñar y redimir USDC, por consola o API.
- [10]
Tether, "Token Terms of Sale and Service," tether.to, last updated Feb. 26, 2026. [Online]. Available: https://tether.to/en/legal
Emisión y redención directas solo para clientes verificados de Tether.
- [11]
Fireblocks, "Best practices for webhooks," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/reference/webhooks-best-practices
Eventos duplicados, orden no garantizado, respuesta 2xx rápida, cola asíncrona y reenvío tras caídas.
- [12]
Circle, "Webhooks," Circle API Reference. [Online]. Available: https://developers.circle.com/api-reference/webhooks
Entrega al menos una vez, deduplicación por notificationId y sin orden garantizado.
- [13]
Fireblocks, "Validate balances," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/docs/validate-balances
Conciliar cada depósito contra la cadena por altura y hash de bloque antes de acreditar.
- [14]
BitGo, "Webhooks overview," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/webhooks-overview
Firma HMAC, idempotencia, reintentos, IPs de salida y suspensión de webhooks.
- [15]
Fireblocks, "Responses & retries," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/reference/webhooks-gettingstarted-responsesretries
Calendario de reintentos con backoff exponencial y límite de diez intentos.
- [16]
Fireblocks, "Webhooks overview," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/reference/webhooks-overview
Webhooks V2: catálogo de eventos, suscripciones y reenvío programático.
- [17]
Fireblocks, "Validating webhooks," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/reference/validating-webhooks
Firma de cada webhook con JWS desacoplado y llaves publicadas en JWKS.
- [18]
ethereum.org, "JSON-RPC API," Ethereum developer documentation. [Online]. Available: https://ethereum.org/developers/docs/apis/json-rpc/
Parámetro de bloque con las etiquetas latest, safe y finalized.
- [19]
Circle, "CAMT.053 daily statements," Circle Docs. [Online]. Available: https://developers.circle.com/circle-mint/references/camt053-statements
Extracto diario ISO 20022 de la actividad USDC y EURC para conciliación.
- [20]
BitGo, "Install BitGo Express," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/get-started-express-install
Express como servicio local que hace de proxy de la API y firma parcialmente; las llaves no salen de nuestra red.
- [21]
BitGo, "BitGo Express README," BitGoJS repository, GitHub. [Online]. Available: https://raw.githubusercontent.com/BitGo/BitGoJS/master/modules/express/README.md
TLS obligatorio en producción con interfaces externas; NODE_ENV; CA fijadas para dominios de BitGo; reglas del modo signer.
- [22]
BitGo, "External-Signer Mode," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/wallets-external-signer-mode
Instancia de Express aislada con llaves de usuario; incompatible con MPC ECDSA; contraseñas por variable de entorno.
- [23]
BitGo, "Set Up Advanced Wallets Infrastructure," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/advanced-wallets-set-up-infrastructure
MBE y AWM; AWM en subred sin internet con mTLS hacia MBE y KMS; integración del proveedor de llaves a cargo del cliente.
- [24]
Fireblocks, "API Co-signers Architecture Overview," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/cosigners/overview/cosigner-architecture-overview
Co-signer alojado por el cliente en enclaves SGX, Nitro o GCP; callback handler; en workspaces cold solo aprueba.
- [25]
Fireblocks, "Manage Deposits at Scale," Fireblocks Developer Docs. [Online]. Available: https://developers.fireblocks.com/docs/manage-deposits-at-scale
Estructura segregada (B2B) u ómnibus (B2C); el libro interno corre a cargo del cliente; con memo/tag el sistema interno es la fuente de verdad.
- [26]
Fireblocks, "USDC Gateway," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/docs/usdc-gateway
Conecta cuentas de bóveda con Circle Gateway; saldo USDC unificado entre redes.
- [27]
Fireblocks, "Circle Payments Network (CPN) API Guide," Fireblocks Developer Portal. [Online]. Available: https://developers.fireblocks.com/docs/circle-payments-network-cpn-api-guide
CPN como off-ramp basado en cuenta; requiere cuenta CPN conectada y aprobada en el workspace.
- [28]
Circle, "Institutional API," Circle Developer Docs (Circle Mint). [Online]. Available: https://developers.circle.com/circle-mint/concepts/institutional-api
Distribuidor con entidades externas y end_user_wallet por entidad; facturación Institutional Direct.
- [29]
Circle, "Bring your own wallet for CPN," Circle Developer Docs. [Online]. Available: https://developers.circle.com/cpn/concepts/wallets/bring-your-own-wallet
Infraestructura de wallets propia o de terceros con CPN; CPN no accede a llaves.
- [30]
BitGo, "Go Network Overview," BitGo Developer Portal. [Online]. Available: https://developers.bitgo.com/docs/go-network-overview
Asignaciones, operaciones y liquidaciones entre empresas usando Go Accounts ómnibus con libro fuera de la cadena.
Rutas vecinas
Si este tema te abrió hambre, sigue por aquí.
Series y labs que comparten área o dependen de esta ruta. Pocas opciones, para no convertir la curiosidad en menú infinito.
Series relacionadas
HotStuff: de cero a estado del arte
Ruta progresiva para entender consenso BFT moderno: quórums, sincronía parcial, locks, taxonomía one/two/three-chain, QC/highQC, multipipeline, view-change, responsiveness, AggQC, Fast-HotStuff, sync y frontera DAG-BFT.
Ethereum: de historia a labs
Serie progresiva para entender Ethereum desde el whitepaper, forks y The Merge hasta EVM, Solidity, proof-of-stake, rollups, account abstraction, DeFi, observabilidad y laboratorios reproducibles.
Substrate: del runtime al consenso propio
Serie de 20 capítulos, de neófito a experto, sobre Substrate (Polkadot SDK): runtime en Wasm, FRAME, extrinsics, estado, pesos, actualizaciones sin fork, Aura, BABE, GRANDPA, sincronización, parachains, XCM, Sassafras, BEEFY y cómo conectar un consenso BFT propio a un nodo.
Labs para convertir lectura en práctica
Prueba de trabajo y reajuste de dificultad
Laboratorio determinista para medir el costo de la prueba de trabajo y ver cómo el reajuste por altura de bloque estabiliza el tiempo entre bloques.
Consensus benchmark
Banco reproducible para comparar consenso BFT y documentar los trade-offs de HotStuff-2.
Ethereum local: Anvil, wallet y primera transacción
Laboratorio base para levantar una red local, crear cuentas, firmar transacciones y observar receipts sin gastar ETH real.
RPC y Cast: leer Ethereum con lupa
Ejercicios con JSON-RPC y Cast para consultar bloques, nonces, gas, receipts, logs y errores reproducibles.
Sigue leyendo
Ideas conectadas con este artículo
Una ruta corta para continuar sin abrir veinte pestañas y perder el hilo.
Cuentas ómnibus, segregadas y subcuentas: el libro interno
Si muchos clientes comparten una wallet, la cadena solo sabe cuánto hay; el libro interno sabe de quién es. Este capítulo diseña ese libro: cómo se atribuye cada depósito, cuándo se acredita y cómo se concilia cada día.
Wallets hot, warm y cold: exposición frente a velocidad
La temperatura de una wallet decide cuánto dinero queda expuesto en línea y cuánto tarda un retiro. Este capítulo convierte ese compromiso en una política de tesorería con límites, barridos y aprobaciones por monto.
Custodia: quién responde por los activos y quién cambia las reglas
Custodiar es responder por los activos de otros. Este capítulo compara autocustodia, custodia de terceros y modelos mixtos, separa cuentas segregadas de ómnibus y define quién aprueba mover fondos y quién aprueba cambiar las reglas.
AML y KYT: cumplimiento sobre la cadena
Saber quién es el cliente no dice nada de dónde viene su dinero. Este capítulo define en qué punto del flujo se bloquea, se retiene o se deja pasar una transacción, y quién atiende cada alerta y en qué plazo.