How To Implement Time Vaults And Hive Bonds

We have a lot of discussion surrounding the Hive Backed Dollars (HBD), time vaults, and Hive Bonds.

In this article we will look at a few options as to how to accomplish this.

The Complete Package

We will start with the end first.

In a perfect world, it would be ideal to have the bond system put in place immediately. This would include time vaults that mirror a bond tree with time breakdowns something like this:

  • 1 month
  • 3 months
  • 6 months
  • 1 Yr
  • 3 Yr
  • 5 Yr
  • 7 Yr
  • 10 Yr

You could even go out to the 20 and 30 year duration.

This would then be complimented, on the base layer, with the bonds. Here we see another token created when the time vaults are entered into. The transaction is tied to the token (which is basically a NFT), containing amount, vault, date, and APR.

Reason:

The reason why this is best at the base layer, from a financial perspective, is counterparty risk. We are removing any application or entity serving as the counterparty. We all know one of the main tenets of Bitcoin was the removal of this risk that is tied to financial institutions.

It is also the entryway into high quality collateral. By operating at the blockchain level, there is full transparency coupled with, what I believe, could be the benchmark in risk.

The Approach

The ideal and reality often differ.

We could be looking at a number of valid reasons as to why going full-tilt is not the proper approach. The most obvious factor that pops out is simply time of coding. This could be a mammoth task for the core developers to undergo. For that reason, we need to phase things in.

Another is to start the "testing" process. We can game theory things all we want. However, until we see it in the real world, it is just theory.

Hence, the most logical starting point is to get the time vaults built. This is crucial for any type of "bonding" system.

My suggestion would be to start with the 1 year and under vaults. Establish 4 of this so people have options. This will allow the community tojudge how people are approaching this. We will have to understand, from the base layer, there will be no access to the funds. This is another reason for keeping it relatively short-term.

Layer 2 Bonds

To provide a solution to this problem, layer 2 bonds can be created.

At this point, we have to mention this will incur another layer of risk. This is why it is not part of the ideal scenario. However, for brevity with time along with testing, this approach makes sense.

Projects can start to tinker with developing bonding platforms. This would likely require applications that take the HBD in and the application operates as the bonding mechanism. It is something that could utilize multi-sig wallets as a means of security.

Once the level of success is determined, discussion can occur around the idea of moving this to the base layer or not.

Of course, these tokens are pretty useless unless they can be traded. This means an exchange is required so people can move in and out of their positions. Some are going to use the time vaults and get the full return over the duration of the transaction. Others will want to liquidate at some point.

This is what the bonds allow for.

Lending Platforms

Collateral is not very useful if there is no way to post it and get a loan.

If there are layer 2 bonds constructed, then projects can also look at developing lending platforms. Here is where the bonds can be posted in return for a loan. Under this scenario, I would think the payout coin is HBD, since this is all tied to Hive.

Here again, we are dealing with some additional risk since we are not operating at the base layer. However, as we will see, there is a valid reason for this.

More Expansion

The tendency might be to conclude that we are engaging upon extra work that will eventually be negated. By this I mean that why build all this layer 2 stuff if we eventually move it to the base layer?

To start, not everything is going to end up on there. Secondly, nothing has to be eliminated.

Even if the community does decide to move the bonding to the base layer, so there are both time vaults and basically the NFT creation there, that does not mean layer 2 stuff is eliminated. People need options and are willing to take on varying degrees of risk. There is nothing that says base layer and layer 2 bonding solutions cannot co-exist. In fact, it is healthy for the ecosystem to have more options since thais helps to provide resiliency.

The same holds true for the lending platform. Perhaps the base layer does, at some point, get the ability to post the tokens as collateral in return for a HBD loan. That does not mean other applications cannot offer the same. They will have the ability to offer different rates, most likely compensating people for some additional risk. We could also see some other value-added services provided by these platforms that the base layer does not.

Since we are small in number, we seem to believe that have multiple options means dilution since all projects are fighting over the same people. If we are talking hundreds of millions of dollars flowing into the ecosystem, there will be enough to support many options.

interest Rates

This seems to get a lot of attention of late.

Let me start by emphasizing this:

The interest rates for the time have only one purpose: draw in capital. We are not looking at controlling the money supply through this mechanism. The money supply, i.e. the amount of HBD, is really going to be controlled through the conversion mechanism. Lowering an interest rate does not eliminate any excess HBD.

With that in mind, what are the proper rates?

Here we are throwing darts at a board, after drinking a 12 pack of beer, while on a slippy-slide. Nobody has the answer.

If we have 4 time vaults, I would suggest something like this to start:

1 month - 5%
3 months - 7%
6 months - 10%
1 year - 25%

Naturally, this is in the hands of the consensus witnesses and can be adjusted. The community will have to understand this is a starting point during a "testing" phase.

There is another factor that we must raise with interest rates. We can already foresee people saying what is the 10 year going to be 60%? That is not possible.

Let us look at the present rates for U.S. Treasuries:

Notice how it goes from 1 month to 30 under 1%. With the size of the market, we see very tight rate separations.

The point is we might have a time where all the Hive bonds is a much tighter range. Again, the interest rate is to set to attract the most capital (or whatever capital is desired).

In Conclusion

To me, the time vaults start the entire process. I think it critical that we get at least some semblance of a tree going with multiple lock up options. It is easy to get caught up in words so let us make it easy.

What is being constructed, in this aspect, is nothing more than the idea of certificates of deposit. If the decision is to simply have the time vaults at the base layer and leave the "bonds" to sidechains, perhaps, at some point, an early withdrawal penalty is implemented. This would allow for base layer lock up while also offering access to the funds, albeit at a cost.

Without knowing the technical challenges, if there is a coding issue, then perhaps the first starting point is simply to move the lock up from 3.5 days to 365. That will provide developers with the opportunity for layer 2 development and could kickstart the process.

Personally, I would like to see the different options to get a sense of what people will gravitate towards with their money. Nevertheless, it does have to be framed against the backdrop of development.

Now it is time for the discussion to start. These are some of my ideas for the moment regarding the path forward.

What are yours?


What is Hive

Posted Using InLeo Alpha



0
0
0.000
14 comments
avatar
const Hive = require('hive-js');
// Other necessary libraries and configurations

class Vault {
    constructor(interestRate) {
        this.interestRate = interestRate;
        this.deposits = {}; // Stores deposits by user
    }

    addDeposit(user, amount) {
        if (!this.deposits[user]) {
            this.deposits[user] = { amount: 0, interest: 0 };
        }
        this.deposits[user].amount += amount;
        this.calculateInterest(user);
    }

    calculateInterest(user) {
        const deposit = this.deposits[user];
        deposit.interest = deposit.amount * this.interestRate;
    }

    getDepositInfo(user) {
        return this.deposits[user] || null;
    }
}

// Vaults for different durations with respective interest rates
const vaults = {
    '1m': new Vault(0.05),
    '3m': new Vault(0.07),
    '6m': new Vault(0.10),
    '1y': new Vault(0.25),
    // Add other durations as needed
};

function createBond(user, amount, duration) {
    const vault = vaults[duration];
    if (vault) {
        vault.addDeposit(user, amount);
        // Additional logic to interact with the blockchain
    } else {
        console.error('Invalid duration specified');
    }
}

function lockHBD(user, amount, duration) {
    // Logic to lock HBD on the blockchain
    createBond(user, amount, duration);
}

function handleMaturity(user, duration) {
    const vault = vaults[duration];
    if (vault) {
        const deposit = vault.getDepositInfo(user);
        if (deposit) {
            // Logic to pay interest and release funds
            // Update blockchain and user balances
        } else {
            console.error('No deposit found for this user in the specified vault');
        }
    } else {
        console.error('Invalid duration specified');
    }
}

function main() {
    // Example usage
    lockHBD('user123', 1000, '1y');
    // Other program logic
}

main();

I could see something like this in a smart contract, even beign managed by a thrid part that could work well

0
0
0.000
avatar

There are a lot of different possibilities. Ideally it is on the base layer of Hive (not that it couldnt be replicated by others using SC on different chains.

That would only enhance the resiliency of the system in my opinion if that were to happen.

0
0
0.000
avatar

Thanks for explaining this to us. I took notes and made a small map with this ideas.

0
0
0.000
avatar

What about creating the bonds via account creation.

So for example 'bond-000000' would be the first minted bond... then 'bond-000001' the second etcetera.

Not sure if it is the best approach but it would offer a lot more functionality than a Layer one (or Layer 2) NFT.

0
0
0.000
avatar

The account isnt tradeable. The idea of the NFT (bond) is to provide liquidity if the person who lock up for a year wants to sell it into the market.

0
0
0.000
avatar

Maybe an account could be made tradeable via the account recovery function.

0
0
0.000
avatar

Thank you so much for sharing this with us

0
0
0.000
avatar

Hi, excellent content, take my like, nice day.👍👍👍

0
0
0.000
avatar

I was just thinking recently that we needed some kind of bonds and loan systems. A friend was unhappy to discover that there are some things about Kiva (the microlending site) that she doesn't like, and I thought, it's too bad Hive doesn't have a lending mechanism.
Is this something already being considered for a future HF or your suggestion that it SHOULD be considered? It's a great idea.

0
0
0.000
avatar

It is in some stage of discussion. We talked about it for a couple years and the time vaults are going to make it into a hard fork, just a question of which one. It might be the next one it might be one after that.

I would like to see some type of time vault system, even if limited go into the base layer as soon as possible. From there, people can work on some layer 2 apps that can test the rest of the system being discussed. If things work out, that could be then added in future hard forks if the decision is to put it on chain.

0
0
0.000
avatar

Wow! Impressive piece!

Three key takeaways from your post: the idea of lending platforms, multiple options, and the idea of attracting capital. I consider these as good talking points.

!BBH

!PIZZA

0
0
0.000
avatar

It's very interesting to think about different time locks and APRs.
APR of 20%, payed out monthly & compounds to nearly 22%.

What's the payout like for a USD Bond?

0
0
0.000