Skip to content
This repository has been archived by the owner on Mar 28, 2023. It is now read-only.

Janitorial Juice #19

Merged
merged 10 commits into from
Mar 21, 2019
8 changes: 4 additions & 4 deletions bonding/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ forfeits their bond, and risks their work token stake.

== Acceptable collateral

Two tokens present themselves as obvious choices for signing bond collateral-
Two tokens present themselves as obvious choices for signing bond collateral--
TBTC and the underlying work token. During the bootstrap phase of the network,
neither is an appropriate candidate due to low liquidity.

Expand Down Expand Up @@ -59,7 +59,7 @@ of ETH crosses a security threshold, open `Deposit` s will enter
This threshold will be determined by the contract owner.

If the value of BTC drops precipitously, signers won't make the return on their
bonded capital that they'd hoped- as <<Custodial Fees>> are denominated in TBTC.
bonded capital that they'd hoped-- as <<Custodial Fees>> are denominated in TBTC.
This doesn't pose a problem for tBTC reserves, but is expensive to signers,
lessening their value proposition.

Expand All @@ -74,7 +74,7 @@ This threshold will also be determined by the contract owner.
== A resilient price feed

Unlike popular synthetic stablecoin schemes, the tBTC system design makes no
effort to stabilize the value of TBTC relative to BTC- TBTC will be priced by
effort to stabilize the value of TBTC relative to BTC-- TBTC will be priced by
the market. Instead, the goal is to ensure that the TBTC supply is strictly
less than its backing BTC reserves.

Expand Down Expand Up @@ -144,4 +144,4 @@ ceiling of the TBTC surplus. If any TBTC is left over after, it's given to the
`Deposit` owner.

What the unresponsive signers do with the BTC outside the tBTC system design is
for them to decide- it might be split up, stolen by a signing majority, or lost.
for them to decide-- it might be split up, stolen by a signing majority, or lost.
62 changes: 58 additions & 4 deletions custodial-fees/index.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,60 @@
[#custodial-fees]
= Custodial Fees: Paying for security
= Custodial Fees

* Custodial fee rate
* "Earnest money"
* Deposit ownership
Signers put their own <<Bonding,funds at risk>> to assure depositors there will
be no foul play. The bonds they put down are capital that could otherwise be
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notably, they also do work on behalf of the network.

productive, and need to earn a return relative to the risk to remain competitve
with other opportunities.

== Paying for security

There are a number of pricing models that could cover the opportunity cost of
signers' bonds. An adjacent space offers a strongly aligned pricing model.

Today's centralized cryptocurrency custodians charge 50 to 75 basis points
(between 0.5-0.75%) on _assets under custody (AUC)_ per year. For each year
that a centralized custodian protects a bitcoin deposit, that's as much as
0.75% lost to the costs of custody.

A decentralized model should eventually allow a lower effective fee on custody
by introducing more competition to the space. There's a caveat, however-- a
decentralized approach to custodianship makes legal recourse more difficult,
requiring additional bonded collateral to ensure recompense in case of failure.

Applying this pricing model to tBTC's bonding, it's clear that a signer would
like to make a similar return on the total capital it's responsible for-- its
portion of `Deposit` security. In the full threshold case, that's
`1 / min(m, n)` in deposit security, or `1 / m` as `m` is less than `n`, with
`m` signers are required to move funds. Those `m` signers would each require
`1 / m * OverCollateralizationFactor` in bonds, assuming for a moment a shared
value currency.

For a few conservative values,
`n = 20, m = 15, OverCollateralizationFactor = 150%, LotSize = 1 BTC`, a single
prestwich marked this conversation as resolved.
Show resolved Hide resolved
signer can make .0005 TBTC a year per deposit. For depositors, that costs 1.5% a
year. Lowering single-signer returns from 0.75% to 0.25% across the security
value they provide means total signing revenue is 0.5% of the market cap of TBTC
each year, with a return a year of their locked up capital, denominated in TBTC.

While these returns are reasonable relative to their risk in the cryptocurrency
space, we can save both sides money through a more efficient use of capital. As
the network matures, these costs can be lowered through the introduction of
leveraged bonds.

== Deposit ownership and maintenance

A _minimum custodial deposit_ is set aside from the initially available TBTC of
each `Deposit`. This withheld balance ensures signers will be paid for their
work as time goes on.

Over time, the _custodial deposit_ is earned by signers, who will be paid for
their efforts when the `Deposit` is redeemed. A portion of the unwithdrawn
_minimum custodial deposit_ must be maintained at all times for a `Deposit` to
be in good standing.

A _deposit owner_ can maintain their `Deposit` by returning TBTC, or by leaving
a larger balance undrawn.

`Deposit` s that fall out of good standing will be put up for auction,
potentially forfeiting a _deposit owner's_ remaining _custodial deposit_. More
details can be found in <<Handling Failure>>.
22 changes: 7 additions & 15 deletions deposits/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -138,21 +138,13 @@ improving the resilience of the system to signing group failure.

== TBTC Minting

:collateral: 200%
:custodial-fee: 20%
:base-custodial-time: 2 months
Once a deposit has been made and funded, the corresponding TBTC are minted. The
_custodial fee rate_ coupled with the _minimum custodial lockup period_
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the minimum custodial lockup period?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incoming. Going to rework it but it's basically how you get the "custody fee security deposit"

determines how much TBTC is immediately available for withdrawal by the
_depositor_, who is now the owner of a funded `Deposit`.

Once a deposit has been made and funded, the _depositor_ is authorized to mint
an amount of TBTC that provides for {collateral} collateralization plus
a custodial fee of {custodial-fee} of the deposit for maintaining the deposit up
to {base-custodial-time}. The amount of mintable TBTC is expressed by this
equation:

`TBTC = {lot-size} / ({collateral} + {custodial-fee})`

The depositor mints their allowed TBTC by sending a transaction to the tBTC
system, which in turn credits their account with the full amount of TBTC they
are due.
A _custodial fee rate_ of 1% a year with a _minimum custodial lockup period_
of 1 year would immediately enable 99% of the `Deposit` to be withdrawn as TBTC.

Custodial fees are described in more detail in
<<{root-prefix}custodial-fees/index#custodial-fees,their own section>>.
<<../custodial-fees/index#,their own section>>.
11 changes: 6 additions & 5 deletions index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -223,20 +223,21 @@ all of which are implemented by the Keep network.

The architecture is broken down into

* Deposits
* Deposits and signer selection
* Bonding and price feeds
* Custodial fees
* Signing
* Price feeds
* Wallet and collateral failure
* Wallet failure
* Redemption

include::deposits/index.adoc[leveloffset=+2]

include::bonding/index.adoc[leveloffset=+2]

include::custodial-fees/index.adoc[leveloffset=+2]

include::signing/index.adoc[leveloffset=+2]

include::bonding/index.adoc[leveloffset=+2]

include::failure/index.adoc[leveloffset=+2]

include::redemption/index.adoc[leveloffset=+2]