Why Nostr? What is Njump?
2024-03-22 07:34:29

BitcoinTxoko on Nostr: ### ¿Qué es Cashu? [Cashu]() es un protocolo de Ecash de código abierto para ...

This is a long form article, you can read it in https://habla.news/a/naddr1qqxnzd3e8y6rvdpe8qur2v3cqgs9n8m87l0hd9xxqwndqcmwzh4uvyxmwlw0637kuhg98pkcy8ana2grqsqqqa28f238dz

¿Qué es Cashu?

Cashu es un protocolo de Ecash de código abierto para Bitcoin que ofrece transacciones instantáneas de tarifa cero con una privacidad casi perfecta, creado por calle 👁️⚡👁️ (npub12rv…85vg).

En la siguiente tabla se compara Cashu y Bitcoin on-chain, sacada de la presentación Nuts and Bolts de gandlaf21 (npub1cj6…86t6) en la Conferencia Bitcoin Bangkok 2023.

Cashu Bitcoin (on-chain)
Sin libro mayor Libro mayor distribuido
Token al portador UTXO
Transacciones ciegas Transacciones públicas
Centralizado Descentralizado
De confianza Sin confianza
Sin registro de tx Registro de tx

Como podemos ver, Cashu sacrifica la confianza y la descentralización en favor de la privacidad. Esto tiene mucho sentido cuando se trata de soluciones de custodia, ya que el usuario ya utiliza un servicio centralizado en el que tiene que confiar. Las soluciones de custodia tradicionales tienen una privacidad horrible, ya que ese custodio conoce los fondos que posee un usuario y con quién está transaccionando. Permitiendo ataques y censura a los usuarios. Los registros de los datos también se pueden convertir en un honeypot.

Por el contrario, los mints de Cashu pueden actuar como custodios que no saben quienes son sus usuarios, cuántos fondos tienen ni con quién interactúa. Esta casa de la moneda (mint) solo tiene como único registro una lista de secretos gastados que no son reutilizables y sin forma de asociarlos con los usuarios.

onchain ark lightning ecash

Algunos casos de uso serían vales ya centralizados y custodiados por un tercero; uso para pagar por un recurso como APIs, relays de nostr o mixnets; sistemas integrados que reemplazan el modelo cuenta y saldo; y servicios de intercambio/mezcla para desligar depósitos y retiros.

Historia

Ecash fue concebido por primera vez por David Chaum en 1982 como un protocolo de transmisión de valor electrónico utilizando firmas ciegas. Cashu es una implementación de Ecash que utiliza la variante de David Wagner de Chaumian blinding de 1996 creada por calle 👁️⚡👁️ (npub12rv…85vg).

Terminología

Para ayudar a comprender como funciona Cashu, vamos a tratar primero alguna terminología esencial.

Mint

Los Mint en Cashu es el custodio de los fondos de los usuarios. Su labor es acuñar y quemar tokens y prevenir el doble gasto.

El mint de Cashu corre un nodo Lightning, por lo que puede enviar y recibir pagos Lightning. Incluyendo el intercambio con otros Mints. Sin embargo, todavía puedes realizar transacciones con tokens ecash, incluso si el nodo Lightning está offline. A diferencia de Lightning, el destinatario tampoco necesita estar en linea para recibirlo. Esta casa de la moneda o mint no sabe quién es el usuario, cuantos fondos tiene ni con quienes está realizando transacciones.

Sin embargo, desde que el mint es el custodio de los fondos de los usuarios, deberías elegir un mint en el que confíes y del que conozcas al operador.

Utiliza montos pequeños o canjea los tokens de inmediato.

Token

Un token cashu es esencialmente un conjunto de datos firmado por el mint. El usuario guarda esos tokens en su billetera. Dado que esos tokens ecash son solo texto, pueden ser enviadas por cualquier protocolo basado en texto. Como nostr, mail, sms, etc.

Cashu utiliza un sistema que se basa en monedas con denominaciones fijas.

La denominación de los billetes fíat son una analogía. Por ejemplo, en el Euro los billetes son de 5, 10, 20, 50, 100…

En Cashu, los tokens están denominados en potencias de 2. Por ejemplo, 1, 2, 4, 8, 16, 32, 64, 128 sats, así sucesivamente.

El objetivo de usar denominaciones es aumentar el anonimato establecido entre los usuarios y hacer que sea aún más difícil para los mints asociar las transacciones con las identidades de los usuarios.

¿Cómo funciona? Explicado como si tuviera 5 años

mint-request

Alice quiere acuñar nuevos tokens Cashu. Así que se dirige al mint de Bob, y dice: “¡Oye! Quiero acuñar nuevos tokens de Cashu”.

mint-request-response

Bob responde diciendo: “Vale, págame y envíame un secreto ciego”. El secreto ciego significa que Alice conoce el secreto, pero Bob no puede verlo.

blinding

Alice genera un secreto y luego lo ciega para que Bob no sepa cuál es el secreto.

mint

Ella le paga a Bob y le envía su comprobante de pago y su secreto ciego.

signing

mint-response

Cuando Bob está conforme con el pago, firma el secreto ciego de Alice y le devuelve el secreto ciego firmado. Una vez firmado por Bob, en el futuro puede tener la seguridad de que el token es válido.

unblinding

Alice quiere pagarle a Carol. Ella le envía a Carol su secreto junto con una llave para descifrar el secreto ciego firmado.

Carol quiere canjear su token. Así que ella va a la casa de la moneda, Bob, y le muestra el secreto y la clave que Alice le dio.

verification

Bob nunca ha visto el secreto antes y tampoco sabe que fue Alice quien lo generó, ya que Alice lo ofuscó antes de enviárselo. Pero puede verificar que lo firmó antes, por eso puede tratarlo como un gasto valido del token. Ahora firma un nuevo token para Carol, o le devuelve los sats y añade el secreto a una lista de secretos gastados. Si alguien trata de reclamar con el mismo secreto otra vez, Bob lo rechazará porque es un gasto doble.

¿Cómo sabe el mint (Bob) qué cantidad de sats darle a Carol?

Anteriormente hemos mencionado que los tokens Cashu están denominados en potencias de 2 (1, 2, 4, 8, 16, 32…), algo así como billetes fíat.

Bob, la casa de la moneda, tiene una clave privada distinta que usa para firmar cada denominación. Por ejemplo, tiene una clave privada única para tokens con denominación de 1 sat, otra para los de denominación 2 sats, otra para los de 8 y así sucesivamente…

De esta manera, cuando Carol viene a Bob para canjear tokens, Bob sabe con qué clave privada ha firmado el token antes y, por lo tanto, a qué denominación pertenecen los tokens.

¿Qué pasa con el cambio?

En Cashu no hay cambio. Solo tienes que decirle al mint que destruya los tokens antiguos y que acuñe nuevos tokens del mismo importe exacto.

Para ver esto, digamos que Alice tiene dos tokens que suman 10 sats. Un token de 8 sats y otro de 2 sats.

Ella quiere enviar 9 sats a Carol. Así que va al mint y le dice a Bob que divida su token de 2 sats en dos tokens de 1 sat. Ahora puede enviar 9 sats a Carol en forma de una ficha de 8 sats y una ficha de 1 sat, y guardar la otra ficha de 1 sat para Ella.

Lightning para la interconexion

¿Qué pasa cuando Alice quiere pagarle a David, que no confía en el mint de Bob pero conoce a Erin y usa el mint de Erin?

Alice cambia sus tokens en el mint de Bob, dando instrucciones a Bob para que derrita los tokens o los convierta de nuevo en sats Lightning. El mint de Bob luego envía una transacción Lightning al mint de Erin. El mint de Erin luego acuña nuevos tokens con David utilizando los sats Lightning que acaba de recibir del mint de Bob.

lightning-mints

¿Qué es lo siguiente para Cashu?

Ecash programable

Podemos establecer condiciones de gasto al ecash, siendo el mint quien las aplica. Esto puede desbloquear potentes contratos inteligentes sin llegar a la cadena base ni a la red Lightning, que pueden permitir pagos públicos, pagos offline y de alta frecuencia.

Plan de prueba de pasivos para los mints

El llamado Proof of Liabilities de Calle (PoL) en Cashu, se trata de una especie de sistema de auditoria que le dificulta a los custodios atacar a los usuarios mediante la introducción del concepto de epochs (épocas). En este esquema, el mint custodio rota de forma regular el conjunto de claves privadas que utilizan en cada epoch y publica listas auditables de tokens acuñados y quemados en el último epoch. Combinado con un esquema de prueba de reservas en el que las reservas se mantienen en un multifirma on- chain, un custodio deshonesto no puede reducir sus pasivos sin arriesgarse a ser descubierta por los usuarios. Para profundizar sobre este aspecto consulta el artículo completo.

Prueba Cashu

Puedes probar Cashu a través de naddr1qq…huld y naddr1qq…33an. Únicamente necesitas una cartera Lightning y un teléfono u ordenador.

Referencias

Author Public Key
npub1tx0k0a7lw62vvqax6p3ku90tccgdka7ul4radews2wrdsg0m865szf9fw6