161 / 736CASHU

Cashu

Efectivo digital que depende de una casa de moneda concreta

Cashu permite enviar efectivo digital incluso mediante un mensaje. Quien lo recibe necesita saber quién lo emitió, cómo aceptarlo y cómo cambiarlo por bitcoin. Pagar con más privacidad no elimina la confianza en el operador.

Cashu es un protocolo abierto de e-cash: tokens digitales emitidos por una entidad llamada mint. A menudo representan cantidades de bitcoin; los depósitos o retiros pueden realizarse, por ejemplo, mediante Lightning Network. El usuario controla los tokens, no las claves de bitcoin del emisor, cuya colaboración sigue siendo necesaria.

Imagine que Anna envía a Petr un token Cashu por mensaje privado. No está publicando una transacción Bitcoin en la blockchain. Le entrega datos que Petr puede canjear ante el emisor correspondiente. Un token puede contener una o varias pruebas (Proof). Son registros de datos que incluyen, entre otros campos, un importe, un valor secreto y una firma del emisor. Cashu es un protocolo compartido, no un único servicio con una reserva común. Importan el emisor, la unidad monetaria y el conjunto de claves de firma. Una cantidad en sats expresa pequeñas unidades de bitcoin; la misma cifra en otra unidad significa otra cosa. Los tokens de un emisor no son aceptados automáticamente por otro. Como detalle de formato, V4 utiliza la codificación binaria compacta CBOR y contiene pruebas de un solo emisor. [1] [2] [9]

Anna puede conservar una copia de un token normal sin condiciones adicionales de gasto. Por eso Petr necesita un swap: su cartera entrega las pruebas antiguas al emisor y recibe otras nuevas con secretos que Anna desconoce. El emisor invalida las entradas anteriores. Esa operación completada impide que Anna vuelva a gastar la misma copia. Consultar el estado no basta. UNSPENT indica que no consta procesamiento ni gasto; no reserva nada para Petr. PENDING significa que se está procesando, y SPENT que la prueba ya se canjeó. No publique un token como si fuera un recibo: quien obtenga una copia utilizable puede canjearla primero. [3] [5]

Una Blind Signature, firma ciega, ayuda a separar la emisión de un token de su uso posterior. La cartera crea un secreto, oculta su representación matemática y solicita la firma del emisor. Después retira ese ocultamiento. La forma del token canjeado no debería permitir al emisor reconocer qué solicitud de emisión lo originó. Esto no oculta todo: cada denominación tiene claves diferentes, por lo que el emisor conoce las clases de valor emitidas. El procedimiento se llama BDHKE y utiliza la curva secp256k1. No hace falta calcular puntos de una curva para entender el pago; lo importante es qué relación protege esta matemática. [1]

La extensión opcional NUT-12 añade DLEQ, una prueba matemática de que la firma usa la misma clave privada que corresponde a la clave pública del emisor. Con los datos complementarios necesarios, Petr puede verificar la firma sin contactar con él. Eso no demuestra si otra copia ya se gastó, si el servicio responde o si quedan reservas suficientes de bitcoin. Cuando se incluye DLEQ, la especificación exige que la cartera lo verifique. Aun así, verificar la firma no sustituye un swap completado. Permanece el Counterparty risk: el riesgo de que el operador no cumpla. [7]

Petr quizá prefiera pagar una solicitud de Lightning Network a recibir más tokens. Esa operación se llama melt. La cartera pide primero una cotización: cuántos tokens necesita, en qué unidad, hasta cuándo vale y si hay una reserva para comisiones. También pueden aplicarse comisiones por entrada. Después entrega las pruebas y el emisor realiza el pago externo. HTTP 200 indica que la petición web se atendió correctamente, no necesariamente que se pagó. PENDING aún significa «en proceso»; PAID comunica el éxito. La cartera debe comprobar el resultado final y la confirmación correspondiente al método de pago. [4]

El emisor puede renovar su conjunto de claves. active=false significa que el conjunto antiguo deja de emitir tokens; por sí solo no impide aceptar sus pruebas como entradas. Otra cosa es final_expiry, la fecha límite opcional tras la cual la especificación ya no obliga al emisor a canjearlas. Conviene distinguirlo. Además, input_fee_ppk cobra por cada entrada, no simplemente un porcentaje del importe enviado. Se suman las tarifas de todas las pruebas utilizadas, se divide el total entre 1000 y solo entonces se redondea la comisión hacia arriba a unidades enteras. Por ejemplo, en un conjunto de claves con unidad sat, 3 entradas a 100 ppk suman 300; tras dividir y redondear, la comisión es de 1 sat. Dos pagos iguales pueden costar distinto si usan diferente número de pruebas o distintos conjuntos de claves. [2]

La firma ciega no elimina los horarios, los importes ni los datos de conexión. La forma de solicitar nuevas denominaciones también puede dar pistas. NUT-03 recomienda ordenar los valores solicitados de menor a mayor para que el orden no revele innecesariamente qué parte es el pago y cuál el cambio. Las consultas repetidas del remitente sobre los tokens entregados también pueden ayudar a vincularlo con el destinatario. Cashu ofrece herramientas para una circulación más privada del dinero; no significa que cualquier aplicación o situación oculte automáticamente todas las relaciones. [3] [5]

La recuperación debe corresponder a la cartera y al emisor utilizados. NUT-13 describe cómo regenerar los secretos y factores de ocultamiento a partir de la seed, el secreto inicial, del conjunto de claves y de un contador. La versión 01 usa HMAC-SHA256 y la antigua 00 usa BIP32. Las firmas que la seed no puede crear se recuperan del emisor mediante NUT-09; después hay que comprobar qué se gastó. Por tanto, «tengo una Seed Phrase y lo recuperaré todo en cualquier cartera» no basta. Antes de depender de una cartera, compruebe su respaldo y recuperación y pruebe una retirada pequeña. Una copia no hace responder a un emisor desaparecido ni repone sus reservas. [8] [6]

Para obtener la imagen más completa, lee esta entrada junto con Fedimint, Chaumian eCash, Blind Signature, Lightning Network, Counterparty risk, Satoshi. También enlazan con esta entrada Chaumian eCash, Blind Signature, Fedimint, Fiduciary Media.

DOC · 001Cashu — NUT-00: Protocol and tokensEspecificación DOC · 002Cashu — NUT-02: Keysets and feesEspecificación DOC · 003Cashu — NUT-03: Swap tokensEspecificación DOC · 004Cashu — NUT-05: Melting tokensEspecificación DOC · 005Cashu — NUT-07: Token state checkEspecificación DOC · 006Cashu — NUT-09: Restore signaturesEspecificación DOC · 007Cashu — NUT-12: Offline signature validationEspecificación DOC · 008Cashu — NUT-13: Deterministic secretsEspecificación DOC · 009Cashu — Project introductionFuente primaria
Revisado: Fuentes primero · No es asesoramiento financiero