Está en la página 1de 11

Money On Chain

Protocolo de una Stablecoin Colateralizada con


Bitcoin
[Whitepaper técnico — versión 2 — revisión 4]
Maximiliano Carjuzaa y Alejandro Bokser con la colaboración de Javier García Sánchez
19 de septiembre de 2019 - www.moneyonchain.com

Resumen - ​Una stablecoin con colateral en Bitcoin minimiza Descripción del modelo detrás del
el riesgo de las partes intervinientes mediante un conjunto
de smart contracts. La stablecoin DOC está vinculada al Protocolo MOC
El protocolo MOC está conformado por una serie de contratos
token RBTC nativo de la red RSK, que actúa como colateral,
desarrollados para representar el modelo detrás de la DAO
sin embargo se podría utilizar cualquier otro activo como
MoneyOnChain.
colateral para mantener la paridad. En este caso la paridad
con el RBTC está establecida 1 a 1 con Bitcoin (1 RBTC = 1
Aquí describimos la versión 0.2 de este modelo. Sin embargo,
BTC) y es convertible hacia y desde el BTC. El Dollar on
ya se han desarrollado varias mejoras que serán publicadas en
Chain (DOC), un token RRC20, está atado al dólar para
futuras versiones de este documento y serán implementadas en
quienes quieren evitar riesgos, mientras que el BitPro, otro
las futuras versiones del Protocolo MOC.
token RRC20, mantiene la volatilidad del Bitcoin. Los
BTCX son posiciones del Exchange de Derivados
Para todos los ejemplos y descripciones se presume que el
Descentralizado (DEX, por sus siglas en inglés). El Protocolo
stablecoin está atado al dólar y que el colateral utilizado es el
MOC, una serie de smart contracts, ofrece como retorno la
RBTc. Sin embargo, con los parámetros apropiados será posible
cantidad de DOCs equivalentes a la cantidad de dólares
utilizar otro tipo de activo como colateral o de mantener otra
recibidos en tokens RBTC al instante en que la transacción
paridad, pero en el caso de cambiarse a otro activo el activo
se confirma. Los BitPro se emiten cuando los RBTCs son
menos propenso a la inflación debiera ser utilizado como
enviados al Protocolo MOC. El sistema emite un monto
colateral del otro.
equivalente al momento en que la transacción se registra en
la blockchain. El token nativo del exchange descentralizado Consideramos la paridad 1 RBTC = 1 BTC como válida.
de Money On Chain es el BTCX, que tiene el atributo de ser
intransferible y que representa posiciones apalancadas en el
precio del RBTC. Estos tokens BTCX se crean cuando de Introducción
alguna dirección se envían RBTC al smart contract. los
Este modelo fue diseñado con la intención de alinear los
participantes compran BitPros con RBTCs y los redimen
1 incentivos económicos de diferentes actores con el objetivo de
por RBTC en el momento en que se queman .
mantener la paridad 1 DOC = 1 USD. No fue diseñado tomando
las implementaciones de otras stablecoins pero resuelve los
2
problemas de liquidez conocidos .
1
"How to Mint Stablecoins Based on Bitcoin? - Hacker Noon."
31 jul.. 2019,
https://hackernoon.com/how-to-mint-stablecoins-based-on-bitco 2
​"(In) Stability for the Blockchain: Deleveraging Spirals and
in-qkn33z7v​. ...." 5 jun.. 2019, ​https://arxiv.org/abs/1906.02152​.
"Stablecoin Index." ​https://stablecoinindex.com/​.

-1-
Identifica y alinea los intereses de tres tipos de usuarios de Bob, en cambio, que busca evitar riesgos, prefiere comprar
criptomonedas. DOCs con sus bitcoins. El puede utilizar sus DOCs para hacer
pagos con un valor predecible.
1. El Dólar on Chain (DOC) es un token RRC20 Carol, que es propensa al riesgo y quiere hacer trading con sus
bitcoins, toma posiciones apalancadas en BTCX.
equivalente al dólar estadounidense orientado a
satisfacer a los individuos con aversión al riesgo.
Aquellos que quieren una stablecoin utilizarán el
DOC, un token que mantiene una equivalencia de 1:1
Definiciones
con el dólar. Ya hay más de 4B USD de este tipo de Aquí están las definiciones de las variables que se utilizan en las
activos.
3
fórmulas matemáticas a lo largo de todo el documento. Si es
necesario, se debe volver a este párrafo para confirmar el
significado de las variables cuando aparecen en una fórmula.
2. BitPro, es un token RRC20 para tenedores de bitcoin
que buscan un ingreso pasivo en RBTC. Los usuarios
B =​ precio de contado BTC expresado en u$s
de bitcoin que atesoran a largo plazo y buscan obtener BMA = Promedio móvil del precio de la BTC. Esto se
un ingreso usan el BitPro, que es un token que paga un utiliza para evitar el impacto negativo de las
burbujas.
interés a la vez que está levemente apalancado, lo que
ConsB = Precio conservador ​del BTC, definido como
incrementa la tenencia de RBTC cuando el precio de
el mínimo entre el precio spot y la media móvil
bitcoin sube. La tasa es variable y depende de las
C onsB = min(B, BM A)
condiciones del mercado, el 65% de los bitcoins están
en manos de este tipo de inversores.
4 PEG =​ valor DOC en u$s (1DOC = 1u$s)
nB = Colateral ​en BTC, cantidad total de BTC en el
3. BTCX son posiciones en el DEX. Los traders que sistema
buscan apalancarse durante los incrementos del precio nDOC = ​Cantidad de DOC emitidos
del RBTC pueden usar el BTCX, que son posiciones nBH =​ Cantidad de BitPro emitida
apalancadas en el precio de RBTC. Estas posiciones LB = BTC bloqueado. Cantidad de BTC bloqueado para
trabajan como un futuro que expira cada 30 días. El garantizar los DOC al valor de rescate/emisión
volumen anual de este tipo de instrumentos supera el nDOC * P EG
5 LB =
trillón. B

4. En la plataforma RSK el smartbitcoin (RBTC) tiene ConsLB = ​Conservative Locked Bitcoins. Cantidad
una paridad de 1:1 con el bitcoin (1 RBTC = 1 BTC) y conservadora de BTCs bloqueados para garantizar
puede ser convertido a bitcoin y viceversa de modo los DOCs al valor de redención/emisión. Utiliza el
6
descentralizado. mínimo entre el precio del BTC al contado y la
media móvil
C onsLB = nDOC * P EG
ConsB
Ejemplo:
Supongamos que Alice posee Bitcoins a largo plazo, y encuentra
atractivo comprar BitPros con sus Bitcoins para obtener un C = Cobertura ​global. Relación entre el valor del Fondo
ingreso pasivo. Garantizado y la cantidad de BitPros al valor de
rescate/emisión.
nB
"Bitcoin UTXO Age Distribution | HODL Wave Live Chart." C = LB
https://www.hodlwave.com/​.
L = Apalancamiento​.
3
​"Smart Bitcoin RBTC | RSK - Smart Contract ... - RSK Labs." L = C
C−1
https://www.rsk.co/smart-bitcoin-rbtc/​.
4
/​"Bitcoin UTXO Age Distribution | HODL Wave Live Chart."
https://www.hodlwave.com/​. Cobj = Cobertura objetiva Es la cobertura objetiva a la
que tiende la homeostasis del modelo. Es un
5
"BitMEX Hits $1 Trillion Annual Trading as Bitcoin Futures " parámetro establecido arbitrariamente
https://www.ccn.com/bitmex-hits-1-trillion-a​nnual-trading-as-
bitcoin-futures-explodes/​. Cobadj= Cobertura objetiva ajustada​. Es la
cobertura objetivo ajustada por el precio
6
"Smart Bitcoin RBTC | RSK - Smart Contract ... - RSK Labs." conservador del BTC.
https://www.rsk.co/smart-bitcoin-rbtc/​.

-2-
C obadj = C obj * B Money on Chain ofrece un mercado de intercambio
ConsB
descentralizado donde se comercializan estos tokens.

El DOC o Dólar on Chain Token El BTCX


El DOC fue diseñado para representar un valor lo más cercano Los BTCX son posiciones apalancadas en el precio del RBTC.
posible al dólar norteamericano. Estrictamente hablando un
DOC no es un dólar ni pretende serlo. Emisión de los BTCX
Para asegurar el PEG, el protocolo MOC devuelve el Las posiciones de BTCX se crean cuando una dirección envía
equivalente a 1 U$s (menos las comisiones) en RBTC a la RBTC al smart contract. Los BTCX se precian como si fueran
dirección que envía 1 token DOC para ser destruido en el día del tokens pero son intransferibles.
vencimiento (redención).
El tope máximo de BTCX que pueden ser emitidos esta dado
Vencimiento por el monto de DOCs en el sistema que no están siendo aún
Los vencimientos ocurren cada “n” días y permite la redención utilizados como colateral de otros BTCX.
del 100% de los DOCs emitidos por el Protocolo MOC. Al momento de emitir un BTCX el solicitante deberá pagar un
un monto en concepto de interés que se calcula tomando la
cantidad de días restantes al vencimiento multiplicado por la
Emisión de DOC
tasa de interés vigente.
Los DOCs son emitidos cuando una dirección envía una suma
de bitcoins al sistema y solicita la emisión de los mismos. El
Protocolo Moc devuelve el monto de DOCs equivalentes al
Redención de los BTCX
monto de dólares recibidos en RBTC al momento de Los BTCX pueden ser redimidos en cualquier momento sin
confirmación de la transacción. restricción.
Al momento de redimir un BTCX se devolverá un interés que
resulta de multiplicar la cantidad de días al vencimiento por la
Redención de los DOCs antes de la fecha de
tasa de interés vigente.
vencimiento Para el cálculo del interés se tomará como unidad mínima un
En ciertas condiciones, es posible redimir los DOCs en RBTC
día, es decir si emite un BTCX en el bloque “n” y se redime en
antes de la fecha de vencimiento con el pago de los intereses, el
bloque “n” + 1, se pagará el interés de 1 día.
valor de esta tasa refleja el costo del dinero en el sistema.

Tasa de Interés que reciben los BitPros


Cuando se emite un BTCX se paga un interés por el costo del
El BitPro
dinero utilizado como leverage, esta tasa dependerá de la
Los BitPros reciben la volatilidad o el apalancamiento que le
cantidad de DOCs disponibles en el sistema. El interés pagado
dan los DOCs y a su vez venden esta volatilidad a los BTCX en
por los BTCX al momento de su compra se contabiliza y
intercambio por una tasa de interés.
mantiene en una cuenta de Intereses. Estos intereses se pagan a
Adicionalmente, los BitPros reciben un poco de apalancamiento
los BitPros diariamente. El interés se paga agregando RBTC
gratuito que deviene de la volatilidad no vendida a los BTCX.
como colateral a los BitPros, incrementando así su precio
técnico.
Emisión de los BitPro
Para que los BitPro sean emitidos, se envían RBTC al Protocolo Ejemplo:
MOC, en retorno el sistema entrega una cantidad de BitPros Volvamos a Alice, Bob y Carol.
equivalente de acuerdo a la cotización al momento en que la Supongamos que el contrato acaba de empezar y no hay
transacción es registrada en la Blockchain. participantes. Alice decide comprar BitPros con 10 bitcoins
(RBTCs). Luego Bob compra DOCs con 3 RBTCs. Como el
precio del BTC es de 10.000 dólares en nuestro ejemplo,
Redención de los BitPro adquiere 30.000 DOCs. Finalmente, Carol compra 3 BTCX con
El sistema permite redimir BitPro en el supuesto que la 3 RBTCs, pero también pagó 0,0557 RBTC de interés. El
contrato transferirá diariamente al BitPros de Alice 0,00061
Cobertura Global C sea mayor que C obadj . De otra manera, RBTC de los 0,0557 RBTC pagados como interés por Carol, por
los token pueden ser vendidos en un mercado secundario. lo tanto, ahora los BitPros de Alice tienen 10.00061 RBTC de
garantía en lugar de los 10 RBTC que tenían aumentando su

-3-
precio técnico. Esta cantidad aumentará diariamente hasta Además hay parámetros globales, pero cada bucket también
alcanzar los 10.0557 RBTC a 90 días. tiene los suyos.
Hay un conjunto de reglas para la transferencia de tokens entre
buckets.
Liquidación forzada del sistema En este caso del modelo se definen dos buckets, "Bucket 0" y
Si un “evento de cisne negro” ocurriera y el índice de cobertura "bucket l", pero en las nuevas versiones se añadirán más para
global alcanzara el límite de liquidación UC, el sistema se explicar las nuevas características.
liquida. En tal evento los BitPros son liquidados y los DOCs
estarán disponibles para ser redimidos al valor PEG.
Bucket 0
El Bucket 0 es donde se define la relación entre BitPro y DOC.
Hay un mecanismo para depositar los DOCs en el sistema y El Bucket 0 contiene tres tokens, RBTC, BitPro y DOC.
recibir el equivalente en RBTC al momento de la liquidación. Las cantidades de estos tokens son las variables de estado del
Bucket.
Mecanismos para prevenir la
​ antidad de RBTCs en el Bucket 0
nB0 = C
liquidación del sistema nDOC0 = ​Cantidad de DOC en el Bucket 0
De las fórmulas expresadas anteriormente es claro que el nBH0 =​ Cantidad de BitPros en el Bucket 0
sistema está diseñado, dependiendo de los parámetros utilizados,
con una fuerte sobrecolateralización. Los controles en la emisión A partir de ellas, se pueden calcular las variables de estado
y el rescate de DOCs y BitPros provocan que el sistema tienda al derivadas
equilibrio. Sumado a esto, las tasas de interés variable
transfieren parte del riesgo a los BTCXs.
BHbtc =​ Precio técnico del BitPro en BTC
nB 0 nDOC 0 * P EG
B Hbtc = −
Emisión de BitPro con descuento nBH 0 nBH 0 * B

En el caso de que la cobertura alcance el umbral crítico, se


habilitará la venta de BitPro con descuento para fomentar la L0 = Apalancamiento​ de BitPro
entrada de garantías. Este mecanismo se aplica en la versión B * nB 0
MVP, pero será sustituido por el "Margin Call Bucket" (véase el L0 = B * nB 0 − nDOC 0 * P EG
párrafo sobre mejoras adicionales).
Co​ = bucket 0 Cobertura
Ejemplo:
B * nB 0
Supongamos que el contrato acaba de empezar y no hay C0 = nDOC 0 * P EG
participantes. Alice decide comprar BitPros con 10 Bitcoins
(RBTCs). Entonces Bob compra DOCs con 3 RBTCs. Como el Cuando los buckets están vacíos, se da la condición de la
precio del BTC es de 10.000 dólares en nuestro ejemplo, división por cero. En este caso se asume que la cobertura es
adquiere 30.000 DOCs. infinita, la palanca 1 y el precio técnico del BitPro en BTC es 1.
En este momento el valor del BTC es de 10.000 dólares y la
cobertura global de 4.333... el valor técnico del BitPro es de 1 lim C0 = ∞
RBTC o 10.000 dólares. nDOC 0 →0
Supongamos el improbable caso de que el precio del BTC caiga
a 4.000 dólares. lim L0 = 1
Ahora la cobertura global es de 1.733333 y el valor técnico del nDOC 0 →0

BitPro es de 0.55 RBTCs o u$d 2.200.


Como el umbral para permitir la compra de BitPros con un B Hbtc = 1
descuento es una cobertura global de 2, existe la posibilidad de
adquirirlos a un precio más bajo.
Por lo tanto Carol compra 3.7 BitPros BitPro con 2 RBTCs, Bucket l
llevando la cobertura a 2. El Bucket I es donde "vive" el BTCX
El Bucket I contiene tres tokens, RBTC, BTCX y DOC.
Las cantidades de estas tokens son las variables de estado del
Explicando el concepto de "bucket" bucket.

El "bucket" es un concepto mental utilizado para comprender el nBl=​ Cantidad de RBTCs en el Bucket l
funcionamiento del modelo.
Un bucket es básicamente un contenedor donde se almacenan nDOCl = ​Cantidad de DOC en el Bucket l
las cantidades de los diferentes tokens, y dentro de él los tokens nBTCXl =​ Cantidad de BTCX en el Bucket l
mantienen relaciones que definen el comportamiento del modelo
en ese entorno.

-4-
A partir de ellas, se pueden calcular las variables de estado
ΔnB 0
derivadas ΔnBH 0 = BH btc

BTCXbtc =​ Precio técnico del BTCX en BTC Además de la cantidad ​ΔnBHo​ se añade a ​nBHo
nB l nDOC l * P EG
B T CXbtc = nBT CX 0 − nBT CX 0 * B
Método de redención de BitPro
Ll = Apalancamiento​ BTCX Los BitPros no siempre pueden ser redimidos. Para poder
hacerlo, la cobertura global debe ser mayor que la de ​Cobadj​.
B * nB l
Ll = B * nB l − nDOC l * P EG
La cantidad máxima de BitPro que se puede canjear en el
sistema se expresa mediante la siguiente fórmula:
C l = Cobertura BTCX (nB * B) − (Cobadj * nDOC * P EG)
maxBH = nBH * (nB * B) − (nDOC * P EG)
B * nB l
Cl = nDOC l * P EG
Cuando se canjean algunos BitPros el titular recibe su valor en
RBTC al precio técnico y los BitPros se queman.
Cuando los buckets están vacíos, se da la condición de la
división por cero. En este caso se supone que la cobertura es ΔnB 0 = ΔnBH 0 * BH btc
infinita, el apalancamiento 1 y el precio técnico del BTCX en
BTC es 1. Consistentemente, el ​nB0 y ​el BH0 están disminuidos en esas
cantidades.
lim Cl = ∞
nDOC l →0
Método de emisión de DOC
lim Ll = 1 Los DOC no siempre pueden ser emitidos. Para poder hacerlo, la
nDOC l →0
cobertura global debe ser mayor que la de ​Cobadj​.
BTCXbtc =​ 1 La cantidad máxima de DOC que puede emitirse en el sistema
viene dada por la cantidad de BitPros que hay en el sistema y se
Cobertura global expresa mediante la siguiente fórmula:
La cobertura global se calcula teniendo en cuenta los DOC del
(nB * B) − (Cobadj * nDOC * P EG
modelo y los RBTC que les sirven de garantía. maxDOC = P EG * (Cobadj − 1)

B * nB g
Cg = nDOC g * P EG Cuando se habilita la compra, los DOC se adquieren con los
RBTC a precio PEG.
Donde Cuando se produce una compra, algunos RBTC entran en el
n
nDOC g = ∑ nDOC l sistema aumentando la cantidad ​nB0.​
l=0 Siendo ΔnB 0 el RBTC pagado por los DOC, la cantidad de
Siendo ​nDOCl​ la cantidad de DOC en el bucket l DOC comprados y acuñados es:
y
ΔnB 0 * B
(nDOC g −nDOC 0 )*P EG ΔnDOC 0 = P EG
nB g = nB 0 + B

Además la cantidad ​ΔnDOCo​ ​ se añade a ​nDOC​o


Cuando los buckets están vacíos, se da la condición de la
división por cero. En este caso se asume que la cobertura global
es infinita.
Método de redención del DOC
lim Cg = ∞ Los DOC no siempre pueden ser redimidos. Para poder hacer
nDOC g →0
esto, debe haber algún ​nDOC0 (DOCs en el bucket 0) y esta
es la cantidad máxima de DOCs que se pueden rescatar.

Método de emisión de BitPro Cuando se redimen algunos DOC, el titular recibe su valor en
El BitPros siempre se puede adquirir con RBTC a su precio RBTC al PEG con BTC u$s de precio spot y los DOC se
técnico. queman.
Cuando se produce una compra, algunos RBTC entran en el
ΔnDOC 0 * P EG
sistema aumentando la cantidad ​nB0.​ ΔnB 0 = B
Siendo el RBTC pagó por los BitPros, la cantidad de BitPros
comprados y acuñados es

-5-
Consistentemente, el ​nB0 y ​el nDOC0 son disminuidos en Algunos RBTC correspondientes a la compra de los BTCX se
esas cantidades. añaden al ​nBl.​ Éstos equivalen a la cantidad de BTCX
adquiridos a su precio técnico.
Cuando se canjean los DOCs, algunos BTCs son llevados a Siendo ​Δ​nBTCXl​ ​ ​ la cantidad de BTCX adquirida
pagar el costo del dinero hasta el día de la liquidación. Para ello
se utiliza el cálculo descrito en el párrafo ​"Tasa de interés media ΔB l = ΔnBT CX l * BT CXbtc
pagada a BitPro" nB l = nB l + ΔB l
nBT CX l = nBT CX l + ΔnBT CX l

Ejemplo: Algunos RBTCs y DOCs adicionales se mueven del bucket 0 al


Supongamos que en los diferentes buckets hay las siguientes bucket 1, que es la forma en que los BitPros le dan palanca a los
tokens: BTCXs

bucket 0 q B = ∆B l * (Ll − 1)
nB0 = 11000.0 q DOC = qB *B
P EG
nDOC0 = 10000000.0
nB 0 = nB 0 − q B
nBH0 = 10000.0
nB l = nB l + q B
bucket l nDOC 0 = nDOC 0 − q DOC
nBl = 4000.0 nDOC l = nDOC l + q DOC
nDOCl = 20000000.0
nBTCXl= 2000.0 Cuando se acuñan los BTCX, algunos BTC deben pagarse como
intereses para pagar el apalancamiento utilizado. Para
Y el precio del BTC es determinar el monto de los intereses se utiliza el cálculo descrito
B= 10000.0 u$d en el párrafo ​"Tipo de interés medio pagado al BitPro".

En el bucket 0 hay 10.000.000 de DOC, por lo tanto sólo puedes


canjear hasta esa cantidad, no más. Ejemplo:
Si un poseedor de DOCs canjea, digamos, 10.000 DOCs, Supongamos que en los diferentes buckets hay los siguientes
debería recibir 1 BTC, pero en su lugar recibirá 0,988738 BTC tokens:
ya que pagará 0,011262 de intereses según el coste del dinero.
bucket 0
Después de la redención, el contenido de los buckets se verá así: nB0 = 11000.0
nDOC0 = 10000000.0
bucket 0 nBH0 = 10000.0
nB0 = 10999.0
nDOC0 = 9990000.0 bucket l
nBH0 = 10000.0 nBl = 4000.0
nDOCl = 20000000.0
bucket l nBTCXl= 2000.0
nBl = 4000.0
nDOCl = 20000000.0 Y el precio de la BTC es
nBTCXl= 2000.0 B= 10000.0 u$d

Método de emisión de BTCX Por lo tanto, la cantidad máxima de BTCXl que se puede emitir
Los BTCX no siempre pueden ser acuñados. Para poder hacer es:
maxBTCXl = 1000
esto debe haber algún ​nDOC0​ en el bucket 0​.
Si un usuario compra 100 BTCX después de la compra, el
La cantidad máxima de BTCX que puede emitirse en el sistema contenido de los buckets se verá así:
viene dada por la cantidad de ​nDOC0 en el sistema y expresada
por la siguiente fórmula: bucket 0
LB nB0 = 10900.0
maxBT CX = (L1 −1) * BT CXbtc nDOC0 = 9000000.0
nBH0 = 10000.0
Cuando se acuñan algunos BTCX ocurren varios movimientos
internos, a saber: bucket l
nBl = 4200.0
nDOCl = 21000000.0
nBTCXl= 2100.0

-6-
bucket l
¿Por qué? nBl = 4200.0
El valor técnico del BTC en este estado del modelo es de 1 BTC, nDOCl = 21000000.0
por lo tanto al comprar 100 BTCX, 100 RBTC se introduce en el nBTCXl= 2100.0
bucket l.
Además, como el apalancamiento del bucket l para este ejemplo Y el precio de la BTC es
es de 2, se pasan otros 100 RBTC del bucket 0 al bucket l. B= 10000.0 u$d

q B = ∆B l * (Ll − 1) Después de la redención de los 100 BTCX los buckets son los
100 BT C = 100 BT C * (2 − 1) siguientes.

Además 1 M DOC se transfieren del bucket 0 al bucket 1 para bucket 0


mantener la palanca de ambos buckets sin cambios nB0 = 11000.0
nDOC0 = 10000000.0
q DOC = qB *B nBH0 = 10000.0
P EG
1, 0000, 000 = 100 * 110,000 bucket l
En este ejemplo, el interés pagado por el comprador es de nBl = 4000.0
1,214312 BTC, que se calcula según el método estipulado en el nDOCl = 20000000.0
punto ​"Tipo de interés medio pagado a BitPro" y que se nBTCXl= 2000.0
explicará más adelante.
¿Por qué?
Método de redención de BTCX El valor técnico del BTCX en este estado del modelo es de 1
Los BTCX pueden ser redimidos siempre en cualquier BTC, por lo tanto, al canjear 100 BTCX, se liberan 100 BTC del
momento. Siempre pueden ser redimidos. Cuando algunos bucket l.
BTCX se redimen varios movimientos internos suceden, a saber: Además, como el apalancamiento del bucket l para este ejemplo
es de 2, otros 100 RBTC se pasan del bucket l al bucket 0.
Algunos RBTC correspondientes al rescate de los BTCX se
restan al ​nBl​. Éstos equivalen a la cantidad de BTCX rescatados q B = ∆B l * (Ll − 1)
a su precio técnico . 100 BT C = 100 BT C * (2 − 1)
Siendo ​Δ​nBTCXl​ ​ la cantidad de BTCX redimida
Además 1 M DOC se transfieren del bucket 1 al bucket 0 para
mantener la palanca de ambos buckets sin cambios
ΔB l = ΔnBT CX l * BT CXbtc
nB l = nB l − ΔB l q DOC = qB *B
P EG
nBT CX l = nBT CX l − ΔnBT CX l 1, 0000, 000 = 100 * 110,000
En este ejemplo, el interés recaudado por el titular es de 0,0882
Algunos RBTCs y DOCs adicionales son movidos del bucket 1 BTC, que se calcula según el método estipulado en el punto
al bucket 0. "Tasa de interés media pagada a BitPro" y que se explicará más
adelante.
q B = ∆B l * (Ll − 1)
q DOC = qB *B
P EG
nB 0 = nB 0 + q B
nB l = nB l − q B Tasa de interés media pagada a BitPro
nDOC 0 = nDOC 0 + q DOC Esta tasa debería ser inversamente proporcional a la relación
nDOC l = nDOC l − q DOC entre los DOC disponibles y el total de DOC. Llamémoslos
Cuando se canjean los BTCX, algunos BTC se devuelven como DOC0 y DOCt respectivamente.
una devolución de intereses. Para determinar el monto de los
intereses se utiliza el cálculo que se describe en el párrafo "Tasa Estamos interesados en la proporción de abundancia de DOCs
de interés media pagada a BitPro". Ab​.

DOCo
Ab = DOCt
Ejemplo:
Supongamos que partimos del contrato como en el ejemplo Cuanto mayor sea la proporción, mayor será la abundancia y
anterior y un usuario canjea 100 BTCX. menor la escasez y viceversa.

bucket 0 La escasez máxima se da cuando en el caso de que el coeficiente


nB0 = 10900.0 de abundancia sea 0 y el tipo de interés sea el máximo.
nDOC0 = 9000000.0 Recíprocamente la máxima abundancia es cuando
nBH0 = 10000.0

-7-
DOC 0 = DOC t y en este caso la relación será de 1 y el tipo de Ejemplo:
interés debe ser mínimo. Supongamos que partimos del contrato como en el ejemplo
anterior, por lo tanto el estado de los buckets es el siguiente:
Utilizaremos un factor de tasa F t tal que:

Ab = 0 ⇒ F t = 1 bucket 0
nBo = 11000.0
y nDOCo = 10000000.0
nBHo = 10000.0
Ab = 0 y Ab = 1 ⇒ F t = 0
bucket l
Esto es nBl = 4000.0
F t = 1 − Ab nDOCl = 20000000.0
nBTCXl= 2000.0
DOC 0
Ft = 1 − DOC t
La cantidad de DOC en el bucket 0 es

DOC0 = 10000000.0
Cálculo de la tasa de interés en un momento
y la cantidad total de DOC en el modelo es
dado
El tipo de interés es la función o el factor​ Ft​. DOCt = DOC0 +DOCl = 10,000,000.0 + 20,000,000.0 =
r = f (F t) 30,000,000.0

La función elegida es una función potencial Por lo tanto, el factor de abundancia de los DOC es
DOCo 10000000
r = (a* F tb ) + c Ab = DOCt = 30000000 = 0.333...

Ya sea que los BTCX o los DOC sean acuñados o redimidos, la Por consiguiente, el factor de la tasa es
abundancia relativa de los DOC cambiará de ​Ft1 a ​Ft2​, por lo
7
que tenemos que calcular una tasa promedio para esa operación ​. F t = 1 − Ab = 0.666...
Ahora vamos a calcular la antiderivada
El tipo de interés es función es
b
R = ∫(a * F t ) + c dF t = a * F tb+1
+ c * Ft + C r = (a* F tb ) + c
b +1

Observe que el dominio de la función es [0, 1]


La tasa de interés promedio será:
F t2 0 ≤ Ft ≤ 1
∫ (a *F tb )+c dF t a * F t2b+1 a * F t1b+1
F t1 b +1 +c*F t2 − b +1 −c*F t1
r = =
F t2 − F t1 F t2 − F t1 Asumamos los siguientes parámetros

0.0011114805470662
Fíjese que r es una tasa diaria expresada en formato decimal. b=8
c= 0.0000809862990532
Para calcular el tipo de interés hasta la fecha de liquidación debe
hacerse el siguiente cálculo: Que produce la siguiente curva
Siendo "n" los días restantes hasta la fecha de liquidación e ​ir el
tipo de interés medio hasta la fecha de liquidación expresado en
formato decimal.
ir = ((1 + r)n ) − 1

Para el cálculo de la tasa siempre se utilizará al menos 1 día. En


el caso de una redención BTCX
n = n−1

7
"Teorema del valor medio de las integrales".
http://people.math.sc.edu/meade/Bb-CalcI-WMI/Unit5/HTML-
GIF/MVTIntegral.html.

-8-
Así, en el estado actual el factor de abundancia de los DOC es Diariamente se transfiere una cantidad de RBTC, llamada aquí
0,3333 ... por lo tanto el tipo de interés spot según la curva iBTC, desde el depósito al bucket 0.
presentada es 0,0001243545386582827 iBTC = sBTC / (dts + 1)
Si se compraran 100 BTCX el factor de abundancia disminuiría
a 0,3 y, por consiguiente, la tasa aumentaría a Donde
0,00014506094074527774 y si se compraran 1000 BTCX el iBTC = Número de RBTCs que se transfieren de ibaggie al
factor de abundancia disminuiría a 0,0 y la tasa aumentaría a bucket 0
0,0011924668461194001. sBTC = Número de RBTCs en ibaggie
dts = Días para la liquidación, días restantes hasta la
Esto plantea el problema de encontrar una tasa media para la liquidación.
operación de compra de BTCX de tal manera que toda la
operación sea totalmente equivalente a microoperaciones
parciales que sumen la misma cantidad de compra. En el momento de la redención
La solución es el uso de la tasa media calculada con la En el momento de la redención del BTCX se devuelve una
antiderivada explicada anteriormente. Aplicando este método, si cantidad de RBTC como interés.
se compraran 100 BTCX la tasa promedio sería de Para calcular estos intereses, se procede de la siguiente manera.
0,00013411993054564234, y si se compraran 1000 BTCX la Dada la cantidad de BTCX a ser redimidos, su valor en BTC se
tasa sería de 0,0004418424281630265 calcula teniendo en cuenta su precio técnico.
Por otra parte, la tasa a pagar se calcula aplicando la fórmula
Como se ha dicho, esta es la tasa diaria expresada en formato explicada en la ​"Tasa de interés media pagada a BitPro".
decimal. Si queremos calcular la tasa en forma porcentual hasta Entonces el interés en RBTC que se devolverá será:
la fecha de liquidación debemos utilizar la siguiente fórmula
nBTCi = inrate * movBTC
ir = ((1 + r)n ) − 1 Donde
nBTCi = Intereses a devolver en RBTCs
Siendo "n" los días restantes hasta la fecha de liquidación (en Inrate = Tasa de interés calculada según "Tasa de interés
este caso 89 días) e ir el promedio de la tasa de interés hasta la promedio pagada a BitPro"
fecha de liquidación expresada en formato decimal. nBTC = Valor en RBTCs del BTCX a redimir según su precio
técnico.
En consecuencia, la tarifa para la compra de 100 BTCX en estas movBTC = nBTC * (​Ll​ - 1)
condiciones sería de 0,01200739021 y para la compra de 1000
BTCX 0,04009836578 Por otra parte, existe la posibilidad de que si se redimieran todos
los BTCX, no habría fondos suficientes en el fondo común de
intereses, por lo que se procedería al siguiente cálculo adicional.
Se calcula el total de los intereses que se pagarían si se canjearan
En el momento de la emisión todos los BTCX juntos.
En el momento de la emisión del BTCX, el tipo de interés que se
Ti = Interés total a pagar en caso de que todos los BTCX sean
pagará se calculará aplicando la fórmula que se explica en el
canjeados juntos
"Tipo de interés medio pagado a BitPro".
Si Ti > sBTC
El monto de los intereses a devolver a Imax será
nBTCi = inrate * movBTC
Imax = nBTCi * sBTC / Ti
Donde
nBTCi = Intereses a pagar en los BTCs
Inrate = Tasa de interés calculada según "Tasa de interés
promedio pagada a BitPro" Otras mejoras
nBTC = Valor en BTCs del BTCX a acuñar según su precio
técnico. Las siguientes características se añadirán en futuras versiones,
movBTC = nBTC * (​Ll​ - 1) no obstante, todas están especificadas y simuladas.

El comprador envía al contrato una cantidad de RBTCs que es la El Margin Call Bucket
suma de los BTCs para la compra del BTCX y los RBTCs Esta característica se desplegará reemplazando la emisión de
correspondientes a los intereses. BitPro con descuento. En el caso de que la cobertura alcance
8
el
umbral crítico UMC el mecanismo de Margin Call se activa .
En ese caso, el bucket 0 se convierte y se renombra como bucket
El depósito de intereses MC1 y se crea un nuevo bucket 0 vacío. El Bucket 0 podría ser
operado con las mismas reglas que el anterior.
La cantidad de RBTC correspondiente a los intereses se añaden Bucket MC tiene las siguientes características especiales:
a un depósito de intereses ​("ibaggie").
8
"Definición de margincall - Investopedia". 1 de julio... 2019,
https://www.investopedia.com/terms/m/margincall.asp.

-9-
Emisión y redención conjunta de DOC y
● No se podían acuñar más BitPros en Bucket MC.
● Las BitPros restantes en Bucket MC se cobran con una BitPros
tasa de interés diaria en nombre de las nuevas BitPros Como se ha mencionado, cuando la cobertura mundial está por
en Bucket 0. Esta tasa de interés es inversamente debajo del objetivo, no es posible acuñar DOC. En cualquier
proporcional a la cobertura de la Bucket MC. momento será posible comprar DOC y BitPros con RBTC en la
● La única manera de mover BitPros desde el Bucket proporción dada por la cobertura spot.
MC al Bucket 0 es añadiendo la garantía perdida para Por otro lado, los BitPros no pueden ser canjeados cuando la
reponer la cobertura del objetivo. Esto se puede hacer cobertura está por debajo del objetivo. Los DOC y los BitPros
ya sea canjeando DOCs libres o apostando por pueden enviarse a una cola de salida para que en el momento de
RBTCs. Canjear DOCs es mucho más rentable que la liquidación se rediman en la proporción adecuada y se
añadir RBTCs, pero se limita a los DOCs gratuitos devuelvan como RBTC.
disponibles.
● Los nuevos y los viejos BitPros pertenecen a Shorts
diferentes series y no son fungibles. Por cada bucket de BTCX apalancado al alza habrá un bucket
● En caso de llegar a la cobertura crítica Bucket MC simétrico con el mismo apalancamiento a la baja en el que se
podría ser liquidado sin afectar a Bucket 0 colocarán las posiciones colateralizadas por el BTCX, lo que
aumenta la cantidad de ingresos pasivos recibidos por el BitPros
Descuento a los DOC en la emisión y aumenta la cantidad de derivados en el sistema.
En algunos casos, se concede un descuento a las acuñaciones de
los DOC. Este descuento es inversamente proporcional a la Posiciones con apalancamiento arbitrario
abundancia de los DOC libres, esta abundancia se calcula como Al tener dos buckets con apalancamiento bajo y alto, se puede
la relación entre los DOC en el bucket 0 y la cantidad total de crear una posición con cualquier apalancamiento intermedio. El
DOC acuñados. sistema determinará las proporciones de cada una de las dos
bases para obtener el apalancamiento deseada.
DOCo
Ab = DOCt Si se liquida la posición de apalancamiento más alto, el sistema
determinará un nuevo porcentaje de la garantía restante para
Cuando esta proporción está por encima de un umbral, se activa restablecer una nueva posición con el apalancamiento
el descuento. La tasa de descuento se calcula con una función establecido.
potencial de la misma morfología que la utilizada para el cálculo
de los intereses pagados por BTCX a BitPRO, pero con
parámetros diferentes. Además, esta tasa se modifica por un Ejemplo:
factor que la corrige de manera lineal e inversa con la cobertura Supongamos que Alice tiene 2 BTC y quiere colocarlos en una
spot del sistema. posición de apalancamiento 6x. El Contrato Smart MoC está
configurado con un 2x y un bucket 10X. Alice envía sus 2 BTCs
a un Contrato de Apalancamiento Arbitrario que es un Smart
Contract intermediario que, basado en la preferencia de Alice y
Ejemplo: los buckets disponibles, distribuye los BTCs para obtener el
La forma de calcular el tipo de interés es similar a la ya apalancamiento deseado.
explicada en profundidad en ​"Tasa de interés media pagada a Hay un Nodo de Monitoreo que controla que el bucket de mayor
BitPro". palanca no se haya liquidado. Si es así, redimirá la posición 2x y
A diferencia de lo que ocurre en este caso, los intereses se pagan entregará los BTCs restantes al Contrato de Apalancamiento
a los DOC aplicándoles un descuento en el momento de la Arbitrario para su distribución de nuevo y obtener un
emisión. apalancamiento 6x.
La tasa aumenta con la disminución de la abundancia de DOC y
cuando dicha abundancia supera un umbral es cero.

- 10 -
Descripción del modelo detrás del Protocolo
MOC 1

Introducción 1

Definiciones 2

Explicando el concepto de "bucket" 4

Tasa de interés media pagada a BitPro 7

En el momento de la emisión 9

El depósito de intereses 9

En el momento de la redención 9

Otras mejoras 9

- 11 -

También podría gustarte