math typesetting

This commit is contained in:
Christian Grothoff 2021-10-06 13:24:56 +02:00
parent 05539893ef
commit e168920702
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC

View File

@ -1,4 +1,4 @@
\documentclass{article} \documentclass[10pt,spanish]{article}
\usepackage[a4paper, \usepackage[a4paper,
top=2cm, top=2cm,
bottom=2cm, bottom=2cm,
@ -6,57 +6,33 @@ includefoot,
left=3cm, left=3cm,
right=2cm, right=2cm,
footskip=1cm]{geometry} footskip=1cm]{geometry}
\usepackage{url}
%\usepackage{lastpage} % enables \pageref{LastPage}
%\cfoot*{\normalfont Page \pagemark{} of \normalfont \pageref{LastPage}}
% Adjust variables in brackets for special indentation
%\setlength{\parindent}{0pt}
%\setlength{\parskip}{0.5ex plus 1pt minus 1pt}
% Set fonts for a nicer PDF view
\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} \IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}
\usepackage{graphicx} \usepackage{graphicx}
\usepackage{mathpazo} \usepackage{mathpazo}
\usepackage{amsmath} \usepackage{amsmath}
%\usepackage{newtxmath}
\usepackage{mathptmx} \usepackage{mathptmx}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc}
\usepackage{color} \usepackage{color}
\usepackage[hidelinks]{hyperref} \usepackage[hidelinks]{hyperref}
\clubpenalty=10000
\widowpenalty=10000
\displaywidowpenalty=10000
\brokenpenalty=10000
\doublehyphendemerits=10000
\finalhyphendemerits=5000
\tolerance=10000
\urlstyle{same}
\begin{document} \begin{document}
\title{Cómo Emitir una Moneda Digital del Banco Central*} \title{Cómo Emitir una Moneda Digital del Banco Central*}
\author{David Chaum \textsuperscript{a}, \author{David Chaum\footnote{david@chaum.com} \\
Christian Grothoff \textsuperscript{b} xx Network \and
y Thomas Moser \textsuperscript{c}} Christian Grothoff\footnote{christian.grothoff@bfh.ch} \\
\date{\today} Universidad de Ciencias Aplicadas de Berna y Proyecto GNU \and
Thomas Moser\footnote{thomas.moser@snb.ch}\\
Banco Nacional de Suiza}
\date{Primera versión: mayo 2020}
\maketitle \maketitle
\begin{center} \textsuperscript{a} xx Network, \renewcommand{\abstractname}{Resumen}
\textsuperscript{b} Universidad de Ciencias Aplicadas de Berna y Proyecto GNU, \renewcommand{\refname}{Referencias}
\textsuperscript{c} Banco Nacional de Suiza
\end{center}
\vspace{20pt} \begin{abstract}% [Resumen]
\begin{center}
\vspace{20pt}
\textbf{Resumen}
\end{center}
\emph{
Con la aparición de Bitcoin y monedas estables propuestas recientemente Con la aparición de Bitcoin y monedas estables propuestas recientemente
por grandes empresas tecnológicas como Diem (antes Libra), los bancos por grandes empresas tecnológicas como Diem (antes Libra), los bancos
centrales se enfrentan a la creciente competencia de particulares que centrales se enfrentan a la creciente competencia de particulares que
@ -73,18 +49,17 @@ reglamentarios de modo convincente y ofrecer un nivel de protección de
resistencia cuántica contra los riesgos sistémicos que amenazan la resistencia cuántica contra los riesgos sistémicos que amenazan la
privacidad. Ni la política monetaria ni la estabilidad financiera se privacidad. Ni la política monetaria ni la estabilidad financiera se
verían materialmente afectadas porque una CBDC con este diseño verían materialmente afectadas porque una CBDC con este diseño
replicaría el efectivo físico en lugar de los depósitos bancarios.} replicaría el efectivo físico en lugar de los depósitos bancarios. \\
\vspace{20pt}
JEL: E42, E51, E52, E58, G2 JEL: E42, E51, E52, E58, G2
\newline \\
\newline
Keywords: Monedas digitales, banco central, CBDC, firmas ciegas, monedas Keywords: Monedas digitales, banco central, CBDC, firmas ciegas, monedas
estables estables
\end{abstract}
\vspace{20pt} \vspace{20pt}
\newline \vspace{20pt}
* David Chaum (david@chaum.com), Christian Grothoff (christian.grothoff@bfh.ch),
Thomas Moser (thomas.moser@snb.ch).
\newline \section*{Agradecimientos}
Agradecemos a Michael Barczay, Roman Baumann, Morten Bech, Nicolas Cuche, Agradecemos a Michael Barczay, Roman Baumann, Morten Bech, Nicolas Cuche,
Florian Dold, Andreas Fuster, Stefan Kügel, Benjamin Müller, Dirk Niepelt, Florian Dold, Andreas Fuster, Stefan Kügel, Benjamin Müller, Dirk Niepelt,
Oliver Sigrist, Richard Stallman, Andreas Wehrli, y tres colaboradores Oliver Sigrist, Richard Stallman, Andreas Wehrli, y tres colaboradores
@ -94,13 +69,13 @@ documento pertenecen estrictamente a los autores. No reflejan
necesariamente los puntos de vista del Banco Nacional de Suiza (BNS). El necesariamente los puntos de vista del Banco Nacional de Suiza (BNS). El
BNS no asume ninguna responsabilidad por errores u omisiones ni por la BNS no asume ninguna responsabilidad por errores u omisiones ni por la
exactitud de la información contenida en este documento. exactitud de la información contenida en este documento.
\vspace{20pt}
\newline Traducción: Javier Sepulveda y Dora Scilipoti (verano 2021)
{Primera versión: mayo 2020}
\newpage \newpage
\hypertarget{introducciuxf3n}{% \hypertarget{introducciuxf3n}{%
\section{\texorpdfstring{ \textbf{Introducción}}{1. Introducción}} \section{Introducción}
\label{1.-introducciuxf3n}} \label{1.-introducciuxf3n}}
Desde la aparición de los ordenadores personales en los años ochenta, y Desde la aparición de los ordenadores personales en los años ochenta, y
@ -221,9 +196,7 @@ consideraciones políticas y normativas (5) y trabajos relacionados (6);
en fin, concluimos (7). en fin, concluimos (7).
\hypertarget{quuxe9-es-el-dinero-del-banco-central}{% \hypertarget{quuxe9-es-el-dinero-del-banco-central}{%
\section{\texorpdfstring{ \textbf{¿Qué es el dinero del banco central?}} \section{¿Qué es el dinero del banco central?} \label{2.-quuxe9-es-el-dinero-del-banco-central}}
{2. ¿Qué es el dinero del banco central?}}
\label{2.-quuxe9-es-el-dinero-del-banco-central}}
El dinero es un activo que puede ser usado para comprar bienes y El dinero es un activo que puede ser usado para comprar bienes y
servicios. Para ser considerado dinero, este activo debe ser aceptado servicios. Para ser considerado dinero, este activo debe ser aceptado
@ -403,9 +376,7 @@ regulan adecuadamente. Sin embargo, la disponibilidad de CBDC limitaría
significativamente su utilidad. significativamente su utilidad.
\hypertarget{diseuxf1os-simplistas-de-cbdc}{% \hypertarget{diseuxf1os-simplistas-de-cbdc}{%
\section{\texorpdfstring{ \textbf{Diseños simplistas de CBDC}} \section{Diseños simplistas de CBDC} \label{3.-diseuxf1os-simplistas-de-cbdc}}
{3. Diseños simplistas de CBDC}}
\label{3.-diseuxf1os-simplistas-de-cbdc}}
Como se ha señalado, una CBDC sería una obligación del banco central. Como se ha señalado, una CBDC sería una obligación del banco central.
Dos posibles diseños que se analizan en la literatura son: (a) una CBDC Dos posibles diseños que se analizan en la literatura son: (a) una CBDC
@ -567,19 +538,18 @@ pista de los clientes, lo cual no es compatible con la privacidad de la
transacción. transacción.
\hypertarget{diseuxf1o-de-cbdc-basado-en-tokens-para-salvaguardar-la-privacidad}{% \hypertarget{diseuxf1o-de-cbdc-basado-en-tokens-para-salvaguardar-la-privacidad}{%
\section{\texorpdfstring{ \textbf{Diseño de CBDC basado en tokens para salvaguardar la \section{Diseño de CBDC basado en tokens para salvaguardar la
privacidad}}{4. Diseño de CBDC basado en tokens para salvaguardar la privacidad}
privacidad}}
\label{4.-diseuxf1o-de-cbdc-basado-en-tokens-para-salvaguardar-la-privacidad}} \label{4.-diseuxf1o-de-cbdc-basado-en-tokens-para-salvaguardar-la-privacidad}}
La CBDC que se propone aquí es de tipo "solo software", simplemente una La CBDC que se propone aquí es de tipo "solo software", simplemente una
aplicación para teléfonos inteligentes que no requiere ningún hardware aplicación para teléfonos inteligentes que no requiere ningún hardware
adicional por parte de los usuarios. La CBDC se basa en eCash y GNU adicional por parte de los usuarios. La CBDC se basa en eCash y GNU
Taler. Taler es parte del Proyecto GNU, cuyo fundador, Richard Stallman, Taler. Taler es parte del Proyecto GNU, cuyo fundador, Richard Stallman,
acuñó el término "Software Libre", actualmente denominado "Software acuñó el término \emph{Software Libre}, actualmente denominado \emph{Software
Libre y de Código Abierto" (Free/Libre Open Source Software -- Libre y de Código Abierto} (Free/Libre Open Source Software --
FLOSS).\footnote{Para más información sobre GNU, véase FLOSS).\footnote{Para más información sobre GNU, véase
https://www.gnu.org y Stallman (1985). GNU Taler se publica \url{https://www.gnu.org} y Stallman (1985). GNU Taler se publica
gratuitamente bajo la Licencia Pública General Affero del Proyecto gratuitamente bajo la Licencia Pública General Affero del Proyecto
GNU. Otros programas del Proyecto GNU populares entre los economistas GNU. Otros programas del Proyecto GNU populares entre los economistas
son «R» y ``GNU Regression, Econometrics and Time-series Library'' son «R» y ``GNU Regression, Econometrics and Time-series Library''
@ -622,7 +592,7 @@ colaboración para la comunicación por Internet: ``El desarrollo de
código abierto puede proporcionar confiabilidad de que el código está código abierto puede proporcionar confiabilidad de que el código está
escrito para asegurar las mejores prácticas de programación y no es escrito para asegurar las mejores prácticas de programación y no es
probable que introduzca vulnerabilidades o debilidades que puedan probable que introduzca vulnerabilidades o debilidades que puedan
poner en riesgo a los usuarios y los datos '' (U / OO / 134598-20).} poner en riesgo a los usuarios y los datos '' (U/OO/134598-20).}
En esta nuestra arquitectura que proponemos todas las interacciones del En esta nuestra arquitectura que proponemos todas las interacciones del
consumidor y el comerciante son con bancos comerciales. Sin embargo, la consumidor y el comerciante son con bancos comerciales. Sin embargo, la
@ -697,28 +667,28 @@ consulte Boneh (1999).} Sin embargo, en principio se puede utilizar
cualquier esquema de firma criptográfica (DSA, ECDSA, EdDSA, RSA, etc.). cualquier esquema de firma criptográfica (DSA, ECDSA, EdDSA, RSA, etc.).
Para generar las claves RSA, el firmante elige primero dos grandes e Para generar las claves RSA, el firmante elige primero dos grandes e
independientes números primos \(p\) y \(q\) y calcula \(n = \emph{pq}\) independientes números primos $p$ y $q$ y calcula $n = \emph{pq}$
así como la función totient de Euler así como la función totient de Euler
\(\phi\left( n \right) = \left( p - 1 \right)\left( q - 1 \right)\). $\phi(n) = (p - 1)(q - 1)$.
Entonces, cualquier \(e\) con \(1 < e < \phi\left( n \right)\) y Entonces, cualquier $e$ con $1 < e < \phi(n)$ y
\(\emph{gcd}\left( e,\phi\left( n \right) \right) = 1\) se puede usar para $\gcd(e, \phi(n)) = 1$ se puede usar para
definir una clave pública \(\left( e,n \right)\). La condición de que el definir una clave pública $(e,n)$. La condición de que el
mayor común divisor (greatest common divisor - \emph{gcd}) de \(e\) y mayor común divisor (greatest common divisor - $\gcd$) de $e$ y
\(\phi\left( n \right)\) tiene que ser 1 (p. ej., que deben ser $\phi(n)$ tiene que ser 1 (p. ej., que deben ser
relativamente primos) asegura que la inversa de relativamente primos) asegura que la inversa de
\(e \hspace*{1pt} \text{mod} \hspace*{1pt} \phi\left( n \right)\) existe. $e \mod \phi(n)$ existe.
Esta inversa es la Esta inversa es la
correspondiente clave privada \emph{d}. Dado \(\phi\left( n \right)\), la clave correspondiente clave privada $d$. Dado $\phi(n)$, la clave
privada \emph{d} se puede calcular usando el algoritmo extendido privada $d$ se puede calcular usando el algoritmo extendido
Euclídeo de modo que Euclídeo de modo que
\(d \bullet e \equiv 1 \hspace*{1pt} \text{mod} \hspace*{1pt} \phi\left( n \right)\). $d \cdot e \equiv 1 \mod \phi(n)$.
Dada la clave privada \emph{d} y la clave pública (\emph{e, n}), una firma simple RSA Dada la clave privada $d$ y la clave pública $(e, n)$, una firma simple RSA
\emph{s} sobre un mensaje \emph{m} es $s$ sobre un mensaje $m$ es
\(s \equiv m^{d} \hspace*{1pt} \text{mod} \hspace*{1pt} n\). $s \equiv m^{d} \mod n$.
Para verificar la firma, se calcula Para verificar la firma, se calcula
\(m' \equiv s^{e} \hspace*{1pt} \text{mod} \hspace*{1pt} n\). $m' \equiv s^{e} \mod n$.
Si \(m'\) y \emph{m} coinciden, la firma es válida, lo que prueba que el Si $m'$ y $m$ coinciden, la firma es válida, lo que prueba que el
mensaje fue firmado con la clave privada que pertenece a la clave mensaje fue firmado con la clave privada que pertenece a la clave
publica de verificación (autenticación de mensaje) y que ese mensaje no publica de verificación (autenticación de mensaje) y que ese mensaje no
ha sido cambiado en tránsito (integridad de mensaje). En la práctica, ha sido cambiado en tránsito (integridad de mensaje). En la práctica,
@ -728,7 +698,7 @@ mensajes, que son identificadores únicos y cortos para los mensajes.
Firmar un hash corto es mucho más rápido que firmar un mensaje largo, y Firmar un hash corto es mucho más rápido que firmar un mensaje largo, y
la mayoría de los algoritmos de firma solo funcionan con entradas la mayoría de los algoritmos de firma solo funcionan con entradas
relativamente cortas.\footnote{En el caso del criptosistema RSA el relativamente cortas.\footnote{En el caso del criptosistema RSA el
límite de la longitud es \(\log_{2}n\) bits.} límite de la longitud es $\log_{2}n$ bits.}
\emph{Firmas ciegas.} Usamos firmas ciegas, introducidas por Chaum \emph{Firmas ciegas.} Usamos firmas ciegas, introducidas por Chaum
(1983), para proteger la privacidad de los compradores. Una firma ciega (1983), para proteger la privacidad de los compradores. Una firma ciega
@ -748,38 +718,38 @@ privacidad incluso contra ataques informáticos cuánticos. El banco
central, por su parte, establece múltiples denominaciones de pares de central, por su parte, establece múltiples denominaciones de pares de
claves disponibles para realizar la firma ciega de monedas con claves disponibles para realizar la firma ciega de monedas con
diferentes valores, y publica/provee las correspondientes claves diferentes valores, y publica/provee las correspondientes claves
públicas \emph{(e, n)} para estos valores. públicas $(e, n)$ para estos valores.
Sea \(f\) el valor hash de una moneda y por tanto un identificador único Sea $f$ el valor hash de una moneda y por tanto un identificador único
para esta moneda. El cliente que retira la moneda primero genera una para esta moneda. El cliente que retira la moneda primero genera una
factor ciego aleatorio \(b\) y calcula factor ciego aleatorio $b$ y calcula
\(f' \equiv fb^{e} \hspace*{1pt} \text{mod} \hspace*{1pt} n\) $f' \equiv fb^{e} \mod n$
con la clave pública del banco central para ese valor. con la clave pública del banco central para ese valor.
La moneda cegada \(f'\) se transmite luego La moneda cegada $f'$ se transmite luego
al banco central para ser firmada. El banco central firma \(f'\) con su al banco central para ser firmada. El banco central firma $f'$ con su
clave privada \(d\) calculando la firma ciega clave privada $d$ calculando la firma ciega
\(s' \equiv \left( f' \right)^{d} \hspace*{1pt} \text{mod} \hspace*{1pt} n\), $s' \equiv \left(f' \right)^{d} \mod n$,
añade la firma \(s'\) a la moneda cegada \(f'\) y devuelve el par añade la firma $s'$ a la moneda cegada $f'$ y devuelve el par
\(\left( s',f' \right)\) al cliente. $(s',f')$ al cliente.
El cliente puede entonces des-cegar la firma calculando El cliente puede entonces des-cegar la firma calculando
\(s \equiv s'b^{- 1} \hspace*{1pt} \text{mod} \hspace*{1pt} n\). $s \equiv s'b^{- 1} \mod n$.
Esto funciona porque Esto funciona porque
\(\left( f' \right)^{d} = f^{d}b^{\text{ed}} = f^{d}b\) y, así, $\left( f' \right)^{d} = f^{d}b^{\text{ed}} = f^{d}b$ y, así,
multiplicar \(s'\) con \(b^{- 1}\) produce \(f^{d}\), que es una firma RSA multiplicar $s'$ con $b^{- 1}$ produce $f^{d}$, que es una firma RSA
válida sobre \(f\) como antes: válida sobre $f$ como antes:
\(s^{e} \equiv f^{\text{de}} \equiv f \hspace*{1pt} \text{mod} \hspace*{1pt} n\). $s^{e} \equiv f^{\text{de}} \equiv f \mod n$.
En la propuesta original de Chaum, las monedas eran solo tokens. Sin En la propuesta original de Chaum, las monedas eran solo tokens. Sin
embargo, nosotros queremos que los consumidores puedan realizar embargo, nosotros queremos que los consumidores puedan realizar
contratos usando firmas digitales. Para lograrlo, cuando una billetera contratos usando firmas digitales. Para lograrlo, cuando una billetera
digital retira una moneda, primero crea una clave privada aleatoria digital retira una moneda, primero crea una clave privada aleatoria
\(c\) y calcula la correspondiente clave publica \(C\) de esta moneda $c$ y calcula la correspondiente clave publica $C$ de esta moneda
para crear firmas digitales con esquemas de firma criptográfica para crear firmas digitales con esquemas de firma criptográfica
regulares (como DSA, ECDSA, EdDSA e RSA). Entonces, se deriva \(f\) regulares (como DSA, ECDSA, EdDSA, and RSA). Entonces, se deriva $f$
usando una hash criptográfica de la clave pública \(C\), que luego es usando una hash criptográfica de la clave pública $C$, que luego es
firmada en modalidad ciega por el banco central (usando un factor firmada en modalidad ciega por el banco central (usando un factor
aleatorio ciego actualizado para cada moneda). Ahora el cliente puede aleatorio ciego actualizado para cada moneda). Ahora el cliente puede
usar \(c\) para firmar compras electrónicamente, gastando así la moneda. usar $c$ para firmar compras electrónicamente, gastando así la moneda.
Como se ha señalado anteriormente, el banco central establecería pares Como se ha señalado anteriormente, el banco central establecería pares
de claves para los diferentes valores de las monedas y publicaría las de claves para los diferentes valores de las monedas y publicaría las
@ -806,7 +776,7 @@ central puede descartar entradas vencidas y no tiene que almacenar y
buscar una lista siempre creciente de monedas (gastadas) para detectar buscar una lista siempre creciente de monedas (gastadas) para detectar
el doble gasto. Segundo, reduce los riesgos de seguridad porque el banco el doble gasto. Segundo, reduce los riesgos de seguridad porque el banco
central no tiene que preocuparse sobre ataques contra sus claves central no tiene que preocuparse sobre ataques contra sus claves
(\emph{d}) de denominación (privadas) vencidas. Además , incluso si una ($d$) de denominación (privadas) vencidas. Además , incluso si una
clave privada se ve comprometida, el tiempo durante el cual el atacante clave privada se ve comprometida, el tiempo durante el cual el atacante
puede usar la clave es limitado. Además cobrar una comisión por el puede usar la clave es limitado. Además cobrar una comisión por el
cambio permitiría al banco central implementar tasas de interés cambio permitiría al banco central implementar tasas de interés
@ -833,22 +803,21 @@ intercambio justo en sistemas tradicionales de efectivo electrónico.
La construcción matemática más común para un protocolo de intercambio de La construcción matemática más común para un protocolo de intercambio de
claves es la construcción Diffie-Hellman (Diffie y Hellman 1976). Esta claves es la construcción Diffie-Hellman (Diffie y Hellman 1976). Esta
permite que dos partes puedan derivar una clave secreta compartida. Para permite que dos partes puedan derivar una clave secreta compartida. Para
hacerlo, comparten dos parámetros del dominio \emph{p} y \emph{g}, que hacerlo, comparten dos parámetros del dominio $p$ y $g$, que
pueden ser públicos, donde \emph{p} es un número primo grande y \emph{g} pueden ser públicos, donde $p$ es un número primo grande y $g$
es una raíz primitiva módulo \emph{p}.\footnote{Un entero \emph{g} es una raíz es una raíz primitiva módulo $p$.\footnote{Un entero $g$ es una raíz
primitiva módulo \emph{p} si para cada entero \emph{a} coprimo a \emph{p} hay primitiva módulo $p$ si para cada entero $a$ coprimo a $p$ hay
algún entero \emph{k} para el cual algún entero $k$ para el cual
\(g^{k} \equiv a\left( \hspace*{1pt} \text{mod} \hspace*{1pt} p \right)\). $g^k \equiv a \mod p$.
En la práctica, \emph{g} deberia ser tal raíz primitiva \emph{p-1}, que se En la práctica, $g$ deberia ser tal raíz primitiva $p-1$, que se
llama también generador, para prevenir ataques de subgrupo tales como ataques llama también generador, para prevenir ataques de subgrupo tales como ataques
Pohlig-Hellman (véase Lim y Pil, 1997).} Ahora, las dos partes eligen sus claves Pohlig-Hellman (véase Lim y Pil, 1997).} Ahora, las dos partes eligen sus claves
privadas \emph{a} y \emph{b}, que son dos números enteros grandes. Con estas claves privadas \emph{a} y \emph{b}, que son dos números enteros grandes. Con estas claves
privadas y los parámetros del dominio, generan sus respectivas claves privadas y los parámetros del dominio, generan sus respectivas claves
públicas \(A \equiv g^{a} \hspace*{1pt} \text{mod} \hspace*{1pt} p\) y públicas $A \equiv g^{a} \mod p$ y $B \equiv g^{b} \mod p$.
\(B \equiv g^{b} \hspace*{1pt} \text{mod} \hspace*{1pt} p\).
Cada una de las partes ahora puede usar su propia clave privada y la Cada una de las partes ahora puede usar su propia clave privada y la
clave pública de la otra parte para calcular la clave secreta compartida clave pública de la otra parte para calcular la clave secreta compartida
\(k \equiv \left( g^{b} \right)^{a} \equiv \left( g^{a} \right)^{b} \equiv g^{\text{ab}} \hspace*{1pt} \text{mod} \hspace*{1pt} p\). $k \equiv \left( g \middle| b \right)^{a} \equiv \left( g^{a} \right)^{b} \equiv g^{\text{ab}} \mod p$.
\footnote{El mismo mecanismo también se podría usar para garantizar que \footnote{El mismo mecanismo también se podría usar para garantizar que
las monedas no se transfieran a un tercero durante el retiro. Para las monedas no se transfieran a un tercero durante el retiro. Para
lograr esto, los consumidores tendrían que salvaguardar una clave de lograr esto, los consumidores tendrían que salvaguardar una clave de
@ -863,74 +832,74 @@ riesgo limitado en las transferencias a terceros al retirar monedas,
no está claro si esta mitigación sería una buena compensación.} no está claro si esta mitigación sería una buena compensación.}
Para obtener el cambio (también llamado ``vuelto''), el cliente empieza Para obtener el cambio (también llamado ``vuelto''), el cliente empieza
con la clave privada de la moneda \emph{c}. gastada parcialmente. Sea \emph{C} la con la clave privada de la moneda c. gastada parcialmente. Sea C la
correspondiente clave pública, p. ej. correspondiente clave pública, p. ej.
\(C = g^{c} \hspace*{1pt} \text{mod} \hspace*{1pt} p\). $C = g^{c} \mod p$.
Cuando la moneda se gastó parcialmente, el banco central grabó en su base de Cuando la moneda se gastó parcialmente, el banco central grabó en su base de
datos la transacción en la que se incluye a \emph{C}. Para simplificar, daremos datos la transacción en la que se incluye a C. Para simplificar, daremos
por sentado que existe una denominación que coincide exactamente con el por sentado que existe una denominación que coincide exactamente con el
valor residual. De no ser así, se puede simplemente ejecutar valor residual. De no ser así, se puede simplemente ejecutar
repetidamente el protocolo de cambio hasta obtener todo el cambio repetidamente el protocolo de cambio hasta obtener todo el cambio
necesario. Sea \(\left( e,n \right)\) la clave de denominación para el necesario. Sea $(e,n)$ la clave de denominación para el
cambio que se tiene que emitir. cambio que se tiene que emitir.
Para obtener el cambio, el cliente primero crea \(\kappa\) claves de Para obtener el cambio, el cliente primero crea $\kappa$ claves de
transferencia privada \(t_{i}\) para transferencia privada $t_{i}$ para
\(i \in \left\{ 1,\ldots,\kappa \right\}\) y calcula las $i \in \left\{ 1,\ldots,\kappa \right\}$ y calcula las
correspondientes claves públicas \(T_{i}\). Estas claves de correspondientes claves públicas $T_{i}$. Estas claves de
transferencia \(\kappa\) son simplemente pares de claves pública-privada transferencia $\kappa$ son simplemente pares de claves pública-privada
que permiten al cliente ejecutar localmente el protocolo de intercambio que permiten al cliente ejecutar localmente el protocolo de intercambio
de claves -- con el cliente jugando en ambos lados -- \(\kappa\) veces de claves -- con el cliente jugando en ambos lados -- $\kappa$ veces
entre \emph{c} y cada \(t_{i}\). Si se usa Diffie-Hellman para el protocolo de entre $c$ y cada $t_{i}$. Si se usa Diffie-Hellman para el protocolo de
intercambio de claves, tendremos intercambio de claves, tendremos
\(T_{i} \equiv g^{t_{i}} \hspace*{1pt} \text{mod} \hspace*{1pt} p\). $T_{i} \equiv g^{t_{i}} \mod p$.
El resultado son tres secretos de transferencia El resultado son tres secretos de transferencia
\(K_{i} \equiv \emph{KX}\left( c,t_{i} \right)\). El protocolo de $K_{i} \equiv \emph{KX}(c,t_{i})$. El protocolo de
intercambio de claves se puede usar de diferentes maneras para llegar al intercambio de claves se puede usar de diferentes maneras para llegar al
mismo valor mismo valor
\(K_{i} \equiv \emph{KX}\left( C,t_{i} \right) = \emph{KX}\left( c,T_{i} \right)\). $K_{i} \equiv \emph{KX}(C,t_{i}) = \emph{KX}(c,T_{i})$.
Dada \(K_{i}\), el cliente usa una función criptográfica hash \emph{H} para Dada $K_{i}$, el cliente usa una función criptográfica hash H para
derivar valores derivar valores
\(\left( b_{i},c_{i} \right) \equiv H\left( K_{i} \right)\), donde $(b_{i},c_{i}) \equiv H(K_{i})$, donde
\(b_{i}\) es un factor ciego válido para la clave de denominación $b_{i}$ es un factor ciego válido para la clave de denominación
\(\left( e,n \right)\) y \(c_{i}\) es una clave privada para obtener la $(e,n)$ y $c_{i}$ es una clave privada para obtener la
moneda recién creada como cambio. \(c_{i}\) debe ser adecuada tanto para moneda recién creada como cambio. $c_{i}$ debe ser adecuada tanto para
crear firmas criptográficas como para su futuro uso con el protocolo de crear firmas criptográficas como para su futuro uso con el protocolo de
intercambio de claves (como \emph{c}, para obtener cambio a partir del cambio). intercambio de claves (como $c$, para obtener cambio a partir del cambio).
Sea \(C_{i}\) la clave pública correspondiente a \(c_{i}\). El cliente Sea $C_{i}$ la clave pública correspondiente a $c_{i}$. El cliente
solicita entonces al banco central que cree una firma ciega sobre solicita entonces al banco central que cree una firma ciega sobre
\(C_{i}\) para \(i \in \left\{ 1,\ldots,\kappa \right\}\).\footnote $C_{i}$ para $i \in \{ 1,\ldots,\kappa\}$. \footnote
{Si se usara el criptosistema RSA para firmas ciegas, usaríamos {Si se usara el criptosistema RSA para firmas ciegas, usaríamos
\(f \equiv \emph{FDH}_{n}\left( C_{i} \right)\), donde $f \equiv \emph{FDH}_{n}(C_{i})$, donde
\(\emph{FDH}_{n}\left( \right)\) es el hash de dominio completo sobre $\emph{FDH}_{n}()$ es el hash de dominio completo sobre
el dominio \emph{n}.} En esta petición, el cliente también se compromete a el dominio $n$.} En esta petición, el cliente también se compromete a
las claves públicas \(T_{i}\). La petición es autorizada usando una las claves públicas $T_{i}$. La petición es autorizada usando una
firma hecha con la clave privada \emph{c}. firma hecha con la clave privada $c$.
En lugar de devolver directamente la firma ciega, el banco central En lugar de devolver directamente la firma ciega, el banco central
primero desafía al cliente para comprobar que el cliente haya usado primero desafía al cliente para comprobar que el cliente haya usado
correctamente la construcción mencionada anteriormente proveyendo correctamente la construcción mencionada anteriormente proveyendo
\(\gamma \in \left\{ 1,\ldots,\kappa \right\}\). El cliente debe $\gamma \in \left\{ 1,\ldots,\kappa \right\}$. El cliente debe
entonces revelar al banco central la \(t_{i}\) para \(i \neq \gamma\) . entonces revelar al banco central la $t_{i}$ para $i \neq \gamma$ .
El banco central puede entonces calcular El banco central puede entonces calcular
\(K_{i} \equiv \emph{KX}\left(C,t_{i} \right)\) y derivar los valores $K_{i} \equiv \emph{KX}(C,t_{i})$ y derivar los valores
de \(\left( b_{i},c_{i} \right)\). Si para todas las \(i \neq \gamma\) de $(b_{i},c_{i})$. Si para todas las $i \neq \gamma$
la \(t_{i}\) provista demuestra que el cliente usó la construcción la $t_{i}$ provista demuestra que el cliente usó la construcción
correctamente, el banco central devuelve la firma ciega sobre correctamente, el banco central devuelve la firma ciega sobre
\(C_{\gamma}\). Si el cliente no provee una prueba correcta, se pierde $C_{\gamma}$. Si el cliente no provee una prueba correcta, se pierde
el valor residual de la moneda original. Esto penaliza efectivamente a el valor residual de la moneda original. Esto penaliza efectivamente a
quienes intentan evadir la transparencia de sus ingresos con una tasa de quienes intentan evadir la transparencia de sus ingresos con una tasa de
impuestos estimada de \(1 - \frac{1}{\kappa}\). impuestos estimada de $1 - \frac{1}{\kappa}$.
Para evitar que un cliente conspire con un comerciante que está tratando Para evitar que un cliente conspire con un comerciante que está tratando
de ocultar sus ingresos, el banco central permite que cualquiera que de ocultar sus ingresos, el banco central permite que cualquiera que
conozca \emph{C} pueda obtener, en cualquier momento, los valores de conozca $C$ pueda obtener, en cualquier momento, los valores de
\(T_{\gamma}\) y las correspondientes firmas ciegas de todas las monedas $T_{\gamma}$ y las correspondientes firmas ciegas de todas las monedas
vinculadas a la moneda original \emph{C}. Esto permite que el propietario de la vinculadas a la moneda original $C$. Esto permite que el propietario de la
moneda original -- que conoce \emph{c} -- calcule moneda original -- que conoce $c$ -- calcule
\(K_{\gamma} \equiv \emph{KX}\left( c,T_{\gamma} \right)\) y, a partir de $K_{\gamma} \equiv \emph{KX}( c,T_{\gamma})$ y, a partir de
allí, pueda derivar \(\left( b_{i},c_{i} \right)\) y descifrar la firma allí, pueda derivar $(b_{i},c_{i})$ y descifrar la firma
ciega. En consecuencia, un comerciante que oculte sus ingresos de este ciega. En consecuencia, un comerciante que oculte sus ingresos de este
modo formaría básicamente una unión económica limitada con el cliente en modo formaría básicamente una unión económica limitada con el cliente en
lugar de obtener un control exclusivo. lugar de obtener un control exclusivo.
@ -950,29 +919,29 @@ automático. La transacción entre el banco comercial del usuario y el
banco central tiene lugar en segundo plano. El procedimiento para banco central tiene lugar en segundo plano. El procedimiento para
retirar CBDC sería como se muestra en la Figura 1. retirar CBDC sería como se muestra en la Figura 1.
\includegraphics[width=6.13681in,height=4.60208in]{taler_figure_1_dora_SPANISH.jpg} \includegraphics[width=\textwidth]{taler_figure_1_dora_SPANISH.jpg}
Un cliente (1) proporciona autenticación a su banco comercial usando la Un cliente (1) proporciona autenticación a su banco comercial usando la
autenticación respectiva del banco comercial y los procedimientos de autenticación respectiva del banco comercial y los procedimientos de
autorización. A continuación, el teléfono (u ordenador) del cliente autorización. A continuación, el teléfono (u ordenador) del cliente
obtiene la clave de denominación \emph{(e, n)} provista por el banco central obtiene la clave de denominación (e, n) provista por el banco central
para ese valor; calcula entonces (2) un par de claves para una moneda, para ese valor; calcula entonces (2) un par de claves para una moneda,
con la clave privada \emph{c} y la clave pública \emph{C}, y elige un factor de cegado con la clave privada c y la clave pública C, y elige un factor de cegado
\emph{b}. A la clave pública de la moneda se le aplica una función hash $b$. A la clave pública de la moneda se le aplica una función hash
(\emph{f}) y es cegada (→ \(f'\)). A continuación, (3) el teléfono ($\to$ $f$) y es cegada ($\to$ $f'$). A continuación, (3) el teléfono
del cliente envía \(f'\) junto con una autorización para retirar la del cliente envía $f'$ junto con una autorización para retirar la
moneda y debitar de la cuenta del cliente en el banco comercial a través moneda y debitar de la cuenta del cliente en el banco comercial a través
de un canal seguro establecido. El banco comercial entonces (4) debita de un canal seguro establecido. El banco comercial entonces (4) debita
la cantidad en la cuenta de depósito del cliente, (5) autoriza la cantidad en la cuenta de depósito del cliente , (5) autoriza
digitalmente la petición con la propia firma digital de su sucursal digitalmente la petición con la propia firma digital de su sucursal
bancaria y reenvía la petición y la moneda cegada al banco central para bancaria y reenvía la petición y la moneda cegada al banco central para
su firma. El banco central (6) deduce el valor de la moneda en la cuenta su firma. El banco central (6) deduce el valor de la moneda en la cuenta
del banco comercial, firma la moneda de forma ciega con la clave privada del banco comercial, firma la moneda de forma ciega con la clave privada
del banco central para el valor respectivo, y (7) devuelve la firma del banco central para el valor respectivo, y (7) devuelve la firma
ciega \emph{s'} al banco comercial. (8) reenvía la firma ciega \emph{s'} ciega $s'$ al banco comercial. (8) reenvía la firma ciega $s'$
a la billetera electrónica del cliente. Finalmente, el teléfono del a la billetera electrónica del cliente. Finalmente, el teléfono del
cliente (9) usa \emph{b} para descifrar la firma (→ \emph{f}) y almacena la cliente (9) usa b para descifrar la firma ($\to$ $f$) y almacena la
moneda recién acuñada \emph{(c, s)}. moneda recién acuñada (c, s).
Cuando se gastan CBDC, el proceso es análogo a pagar al vendedor en Cuando se gastan CBDC, el proceso es análogo a pagar al vendedor en
efectivo. Sin embargo, para asegurar el acuerdo, el vendedor debe efectivo. Sin embargo, para asegurar el acuerdo, el vendedor debe
@ -981,14 +950,14 @@ Figura 2.
Un cliente y un vendedor negocian un contrato comercial, y (1) el Un cliente y un vendedor negocian un contrato comercial, y (1) el
cliente usa una moneda electrónica para firmar el contrato o factura de cliente usa una moneda electrónica para firmar el contrato o factura de
venta con la clave privada \emph{c} de la moneda y transmite la firma al venta con la clave privada c de la moneda y transmite la firma al
vendedor. La firma de una moneda en un contrato con una moneda válida es vendedor. La firma de una moneda en un contrato con una moneda válida es
una instrucción del cliente para pagar al vendedor que es identificado una instrucción del cliente para pagar al vendedor que es identificado
por la cuenta bancaria en el contrato. Los clientes pueden firmar por la cuenta bancaria en el contrato. Los clientes pueden firmar
contratos con múltiples monedas en caso de que una sola moneda fuera contratos con múltiples monedas en caso de que una sola moneda fuera
insuficiente para pagar la cantidad total. El vendedor (2) valida insuficiente para pagar la cantidad total. El vendedor (2) valida
entonces la firma de la moneda sobre el contrato y la firma s del banco entonces la firma de la moneda sobre el contrato y la firma s del banco
central sobre \emph{f} que corresponde a la \emph{C} de la moneda con las central sobre $f$ que corresponde a la C de la moneda con las
respectivas claves públicas y reenvía la moneda firmada (junto con la respectivas claves públicas y reenvía la moneda firmada (junto con la
información de la cuenta del vendedor) al banco comercial del vendedor. información de la cuenta del vendedor) al banco comercial del vendedor.
El banco comercial del vendedor (3) confirma que el vendedor es uno de El banco comercial del vendedor (3) confirma que el vendedor es uno de
@ -1002,7 +971,7 @@ continuación, (7) el banco comercial acredita la cuenta del vendedor e
(8) informa al vendedor. El vendedor (9) entrega el producto o servicio (8) informa al vendedor. El vendedor (9) entrega el producto o servicio
al cliente. Todo el proceso dura solo unos pocos milisegundos. al cliente. Todo el proceso dura solo unos pocos milisegundos.
\includegraphics[width=6.13681in,height=4.60208in]{taler_figure_2_dora_SPANISH.jpg}. \includegraphics[width=\textwidth]{taler_figure_2_dora_SPANISH.jpg}.
\hypertarget{consideraciones-acerca-de-la-seguridad}{% \hypertarget{consideraciones-acerca-de-la-seguridad}{%
\subsection{Consideraciones acerca de la Seguridad} \subsection{Consideraciones acerca de la Seguridad}
@ -1032,8 +1001,8 @@ monedas que no han gastado. El banco central anunciaría la revocación de
clave mediante la API (Application Programming Interface), que sería clave mediante la API (Application Programming Interface), que sería
detectada por las billeteras e iniciarían el siguiente protocolo de detectada por las billeteras e iniciarían el siguiente protocolo de
actualización: el usuario revela al banco central la clave pública actualización: el usuario revela al banco central la clave pública
\emph{C} de la moneda, la firma \emph{s} del banco central, y el factor $C$ de la moneda, la firma $s$ del banco central, y el factor
ciego \emph{b}, posibilitando así que el banco central verifique el ciego $b$, posibilitando así que el banco central verifique el
retiro legítimo del usuario y devuelva el valor de la moneda no gastada. retiro legítimo del usuario y devuelva el valor de la moneda no gastada.
Para detectar un posible compromiso de esta clave, el banco central Para detectar un posible compromiso de esta clave, el banco central
puede monitorear la base de datos en busca de casos de depósitos que puede monitorear la base de datos en busca de casos de depósitos que
@ -1099,9 +1068,7 @@ banda y computación) a escala estaría por debajo de USD 0,0001 por
transacción (para obtener detalles sobre los datos, consulte Dold 2019). transacción (para obtener detalles sobre los datos, consulte Dold 2019).
\hypertarget{consideraciones-normativas-y-poluxedticas}{% \hypertarget{consideraciones-normativas-y-poluxedticas}{%
\section{\texorpdfstring{ \textbf{Consideraciones normativas y políticas}} \section{Consideraciones normativas y políticas}\label{5.-consideraciones-normativas-y-poluxedticas}}
{5. Consideraciones normativas y políticas}}
\label{5.-consideraciones-normativas-y-poluxedticas}}
En el esquema propuesto, los bancos centrales no conocen la identidad de En el esquema propuesto, los bancos centrales no conocen la identidad de
los consumidores o comerciantes ni los montos totales de las los consumidores o comerciantes ni los montos totales de las
@ -1188,14 +1155,12 @@ menor tenga un ritmo de circulación diferente a la del efectivo físico,
pero esto no sería un problema material para las políticas monetarias. pero esto no sería un problema material para las políticas monetarias.
\hypertarget{trabajos-relacionados}{% \hypertarget{trabajos-relacionados}{%
\section{\texorpdfstring{ \textbf{Trabajos relacionados}} \section{Trabajos relacionados}\label{6.-trabajos-relacionados}}
{6. Trabajos relacionados}}
\label{6.-trabajos-relacionados}}
Como se señaló anteriormente, la CBDC propuesta en el presente documento Como se señaló anteriormente, la CBDC propuesta en el presente documento
se basa en eCash y GNU Taler.\footnote{La implementación de eCash por la se basa en eCash y GNU Taler.\footnote{La implementación de eCash por la
compañía DigiCash en los años noventa está documentada en compañía DigiCash en los años noventa está documentada en
\href{https://www.chaum.com/ecash}{{https://www.chaum.com/ecash}}.} A \url{https://www.chaum.com/ecash}.} A
partir de la propuesta original de Chaum para el efectivo electrónico, partir de la propuesta original de Chaum para el efectivo electrónico,
la investigación se ha centrado en tres cuestiones principales. Primero, la investigación se ha centrado en tres cuestiones principales. Primero,
en la propuesta original de Chaum las monedas tenían un valor fijo y en la propuesta original de Chaum las monedas tenían un valor fijo y
@ -1267,7 +1232,7 @@ tanto, no está claro qué ventajas de privacidad, rendimiento o seguridad
tiene la EUROchain sobre el dinero existente en depósito. tiene la EUROchain sobre el dinero existente en depósito.
\hypertarget{conclusiuxf3n}{% \hypertarget{conclusiuxf3n}{%
\section{\texorpdfstring{ \textbf{Conclusión}}{7. Conclusión}} \section{Conclusión}
\label{7.-conclusiuxf3n}} \label{7.-conclusiuxf3n}}
Con la aparición de Bitcoin y monedas digitales recientemente propuestas Con la aparición de Bitcoin y monedas digitales recientemente propuestas
@ -1311,6 +1276,7 @@ evitar perturbaciones significativas en sus políticas monetarias y
estabilidad financiera cosechando al mismo tiempo los beneficios de la estabilidad financiera cosechando al mismo tiempo los beneficios de la
digitalización. digitalización.
\newpage \newpage
REFERENCIAS REFERENCIAS
@ -1690,4 +1656,7 @@ and Freedom Respecting Software for Economists.'' Journal of Applied
Econometrics, Vol. 23, pp. 279-86. Econometrics, Vol. 23, pp. 279-86.
\end{itemize} \end{itemize}
\bibliographystyle{plain}
\bibliography{cbdc,rfc}
\end{document} \end{document}