Tier 4 Fund Management Discussion

In response to @JordanLee’s post and this motion, which propose the management of funds in tier 4 and 6 by shareholders, a group of potential trustees has arranged an online meeting to discuss the operating details of this arrangement.

The first meeting has been successfully carried out with the participation of @desrever, @mhps, @dhume, @masterofdisaster, @woodstockmerkle, @nmei and myself. Logs are hosted at the following links:

We have highlighted several issues during the meeting, and we would like to ask the community to join our discussion on the following matters.

Firstly,

We would like to divide the funds into two main segments:
(a) a smaller part over which fund managers collectively have full authoritym in case of emergency; and
(b) a larger part whose usage requires shareholder approval. Further subdivisions may be necessary, such as funds that are dedicated to specific projects supported by tier 4.

We have yet to decide the exact portions of the two segments, as well as the threshold for shareholder approval. The purpose of this division is to require consensus regarding the general usage of funds, while also allowing the fund managers to act quickly upon urgent situations that put the NBT/USD peg at risk.

Second,

We will need to design workflows that ensure tier 4/6 liquidity provision to other tiers can be secure.

For example, a custodian may delegated the task to submit funds to an exchange, use BTC to purchase NBT, and provide a proof of burn; this custodian may need to post a collateral to show he will not abscond with the funds.
On the other hand, we may ask liquidity providers to burn NBT in exchange for an equivalent amount of BTC, where our bottleneck would be an escrow.
In general, at some point, the funds will leave the multi-sig wallet and lose various forms of decentralized protection, and we need more input regarding which approaches are more acceptable.

Last but not least,

We need to establish a more detailed view of the roles of all tiers of liquidity, which amounts to a grand architecture of tiers 1-6, which provides a clear designation of responsibilities and a more precise definition of the interfaces among the tiers.

For example, we need to understand the current state of tier 3 liquidity, in order to understand how we can support it using tier 4 funds. We also want to ask @JordanLee regarding the comment that we should regularly maintain tier 4 funds at 80,000 USD worth of BTC, such as how we should seek to replenish these funds when they are used, and whether our role subsumes some form of financial management.

Finally, I would like to thank @desrever for moderating and initiating the meeting, and also everyone else who took their time to make this first step toward building solid foundations for an important project. It is unfortunate that we could not accommodate @cryptog, despite his wishes to join, due to scheduling conflicts. We will work to overcome such limitations arising from decentralized collaborations in the future.

11 Likes

Thanks a lot for the follow-up report @dysconnect .
Looking forward for shareholder’s feedback, Jordan’s reply and next meeting!

This is a very well-written report that sums up what the meeting was about. I’m looking forward to seeing the fund management framework evolve!

Discourse is not in the shape to classify topics by importance except for pinning topics.
@coingame or another mod, please pin this topic. It’s of utter importance for improving Nu’s level of decentralization!

Shareholders, chime in!

A lot needs to be discussed and defined.
A split of the funds which offer different levels of control (by NSR holders) and agility (by fund management) has already been outlined.

Allow me to make a list (not intended to be sound or complete!) with aspects that need to be discussed:

  • what are the (objective, measurable, verifiable) conditions under which how much of the funds get released?
  • how to eliminate single points of failure
    • how to bring the funds to market without putting them in the hands of one single person, e.g. the person that holds the exchange account where the BTC get sold for NBT?
  • escrow can fix that, but reduces the agility
  • what happens with the proceeds from selling tier 4 buy side funds
  • will they get burned?
  • will they get put to tier 4 sell side?
  • maybe a combination of both?
  • how will tier 4 buy side funds be (re)filled?
  • on what level ($) shall tier 4 buy side funds be (e.g. in relation to the total NBT in the wild)?
  • does a term that allows quick decision making by “special motions” to release funds make sense? These “special motions” would pass with different limits (e.g. 201 of 400 blocks to name an extreme) and allow NSR holder to decide in case conditions arise which are not caught by the rules of fund management, but require quick action.
1 Like

From a protocol perspective, how can you distinguish a special motion from a normal motion?
Possible, but it would complicate the Qt client interface, at least.
Perhaps, generalized faster motions would be a simple solution.

Motions do nothing, but detect consensus.
Motions to release tier 4 funds would be in the “tier 4 fund context” and different rules could apply.
No change of interface would be required, only the interpretation would change.
Tier 4 funds might require even faster motions than generalized faster motions.
The alternative would be to give the fund managers discretion - I’d consider that not in the interest of NSR holders nor the fund managers.

I see. In my interpretation, it implies that you would have to check whether or not a rolling window of 400 blocks contains 201 votes. If the client does not do it for your automatically, someone would have to write an open sourced script…

To have a status, you can use something like this if you are on a linux shell:

nud getmotions 573114 400 | grep 5febe97664ed02c8d24dbb444b6a9f43f7a8dea9 -A 5
    "5febe97664ed02c8d24dbb444b6a9f43f7a8dea9" : {
        "blocks" : 304,
        "block_percentage" : 76.0,
        "sharedays" : 85916741,
        "shareday_percentage" : 74.91029758
    },

To find out whether a motion has > 50% in a rolling window of x blocks, you could create a script and run by configuring

blocknotify=/path/to/script

in the nu.conf file. So this script would get executed each time the block height changes. All you have to do is look into the log file or create another script that gets triggered if “block_percentage” and “shareday_percentage” are above 50%.

The log script could look like this:
edit - I included the check whether the motion passed into the script.
edit2 - tripped once again in bash’s “inability to deal with floating point numbers” trap; adjusted!

#!/bin/bash
#
logpath=~/logs
rolling_window=400
motion=f651bef0d942fe47cbc0d47bd3c38ce0fff7f902
#
block_height=`nud getinfo | grep blocks | awk '{print $3}' | sed s#,##`
#
date >> $logpath/$motion
echo "$block_height,$rolling_window" >> $logpath/$motion
nud getmotions $block_height $rolling_window | grep $motion -A 5 >> $logpath/$motion
#
block_percentage=`nud getmotions $block_height $rolling_window | grep $motion -A 5 | grep "block_percentage" | awk '{print $3}' | sed s#,##`
shareday_percentage=`nud getmotions $block_height $rolling_window | grep $motion -A 5 | grep "shareday_percentage" | awk '{print $3}' | sed s#,##`
#
block_percentage_passed=`echo "$block_percentage > 50" | bc`
shareday_percentage_passed=`echo "$shareday_percentage > 50" | bc`
#
if [ $block_percentage_passed -eq 1 ] && [ $shareday_percentage_passed -eq 1 ]; then
        echo "do whatever attracts your attention"
fi
1 Like

Indeed. It is possible and very straightforward! Thank you.
You are really good at bash scripting.

PS: By the way, Python scripting is easier and more powerful, I think :smile:

1 Like

We shouldn’t digress any further.
I just wanted to show that simple solutions might be possible and available to every shareholder to check and track the status of “special motions” in case they were considered by NSR holders.
Let’s not dive into the details before we know this is worth it.
Bash scripting is quite easy; programming is something completely different…
But thank you for the compliment!

1 Like

So I haven’t caught up yet, there’s a lot of material here and I want to go through it all with a fine tooth comb. However, my basic statement is that we can use the blockchain like B&C does for signers. Instead of voting for a motion hash, we can simply vote for words and numbers as our hash. Something like:

Tier4Buy100000NSRByOctober20for200NBTxxx

Again, I haven’t read anything, however the important bit is the fluidity between the hot and cold funds. So the hot funds are to be used by consensus amongst the signers at their full discretion. Fine, it should definately be <10%, possibly even something like 1%, of the total reserve. So, let’s make an example:
Tier 4 has 100 kNBT
Hot address has 10 kNBT, cold has 90 kNBT
Peg is in trouble, managers use all 10 kNBT
The only way they should ever be able to touch the cold reserve is with a shareholder vote. So, what’s the threshold? What if we did more than a simple majority? If (200 blocks in a row) vote to refill, or (350 out of 400) or (600 out of 800) or (1000 out of 1600) or (1600 out of 3200) and all simple majorities over 3200 blocks, then the signers can refill with another 9 kNBT. The refill command could be simple:

refill1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

and we can increment the number for each refill.

2 Likes

I love the he simplicity of that idea, but I fear only [0-9,a-f] are allowed characters for motion hashes.
But your idea made me think about (readable) messages written in the block chain.

I’d like to propose an idea, a kind of translation table that can be used my minters to embed messages to fund managers directly into the minted blocks, because I like simple and effective ideas!

It would look complicated at first glance, but in difference to motion hashes of motions that are written on websites this message could be read as long as the translation table is known.

What about this scheme:

[from tier][separator][to tier][separator][amount][separator][unit][separators to fill the rest]

Tier 4 buy side deals with BTC (eventually with NSR), other tiers and sides with NSR and NBT, so we need at least 3 different units. If more units were ever needed, 2 digit unit codes could be used.

But for now let

  • the separator be “a”,
  • units BTC be “b”, NSR be “c”, NBT be “d”,
  • the tiers be numbered (with two digits for "sub"tiers):
    • cold tier 4 be “42”,
    • hot tier 4 be “41”,
  • an amount be a number,

A motion to transfer 10,000 NBT from cold tier 4 to hot tier 4 could look like this:
42a41a10000adaaaaaaaaaaaaaaaaaaaaaaaaaaa

In the same way NSR holders could control releasing the funds to market, by transferring them to tier 3:
41a3a10000adaaaaaaaaaaaaaaaaaaaaaaaaaaaa

The motion on which the fund managers’ scope of action will be defined would need to have a translation table as well as the limits for executing transfers if this scheme makes sense.

Moving funds from cold tier 4 (“42”) should require a bigger rolling window than moving funds from hot tier 4 (“41”).
Just as an example:

  • 600 of 800 to move cold tier 4 funds (could be moved to tier 3 if there’s enough time for that?)
  • 201 of 400 to move hot tier 4 funds

Does that sound overly complicated? In my head it’s quite easy :wink:

2 Likes

Agree, I think any emergency scenarios we can think of which require action within e.g. 1 week should be delegated to the trustees/custodians. The challenge is to come up with this set of rules which needs to be very clear and limited (rules and $). Everything else requires shareholder approval. We could possibly also think of a motion which endorses or challenges an emergency action of the trustees after the action took place. This can be useful when actions go against the will of the majority or have unexpected adverse effects not covered by the emergency rules. The action might be reversed or lead to a change of the rules the fund managers will need to comply to in the future.

Spreading the risk is usually the safest, but can be a bit dreadful. Ensuring every trustee has one or more exchange accounts they can use to fulfil their roles would be a good starting point. With that the trustees can vote amongst themselves which trustees would bring the funds to the exchange.

There could be one trustee randomly chosen when the value is relatively low or multiple ones. The random factor could partially mitigate ‘created’ emergency scenarios by a rogue trustee (remember power corrupts) in order to obtain funds and use them for other than intended purposes.

Full or partial collateral held by the Shareholders for each trustee would be ideal, but might be complex to manage. Escrow would be centralised. Decentralised tools to do this are not very straightforward for the average non-technical Shareholder.
No easy answer here. Maybe a smart contract on the Ethereum blockchain?

Fully agree, although the function of each tier has been described before, the interface and ‘rules’ when funds are transferred in tier 3-6 are not transparent at all. To see the attempts to have tier 4 transparent and decentralised is a big step forward and I like to thank the potential trustees for sharing their thoughts and efforts towards this. We might just need to take it step-by-step…

2 Likes

This is one of the places I don’t agree with. I think the job of Tier 4 managers is to provide fund to liquidity providers of Tier 3, 2, and 1 when their fund runs low. It is the Tier 3, 2, and 1 LPs’ job to deal with exchanges. The reason to design Tiered structure is so that managers of different Tiers have different response time, functions, risk, cost, and a limited set of things to worry about.

This foundation needs to be laid down before individual tiers can be coherently designed. @JordanLee’s input in vital here.

Requesting a collateral held in multi-sig somewhere while at the same time minimizing the amount dealt with by the elected custodian who receives the actual fund seems to be the natural way to go.
Let us say that Nu needs to protect the peg with NBTs burning (BTCs are brought to markets and are used to buy back NBTs). The BTCs are unfrozen from Tier4 and sent to several addresses controlled single-handledly by each member of the multi-sig custodians group instead of one custodian.
That complicates the process but minimizes the loss risk.
At the same time, each custodian needs to show some form of collateral held in a multi-sig address controlled by the shareholders. B&C Exchange could be very useful here. An escrow mechanism coupled with a time lock function should be very relevant. If the elected custodian happens to steal the fund that Nu shareholders have entrusted him or her with, the collateral is confiscated; if there is no fraud, then the fund is not confiscated and released after the locking period is over.

By the way, note that in the past when for example @jmiller brought to markets NuBits with the goal to sell them for dividends creation, she was not asked to show proof of collateral, was she?
If she was not, then should we think about changing the policy and ask for a collateral requirement regarding NuBits sales, from now on?
I think we should for consistency’s sake.

Ok, so I totally agree with this statement. Let’s talk about each tier:

  1. Tier 1 is very decentralized at this point. The absolute best way to interact with a decentralized tier like this is to use an open market like an exchange. If we need to drop money into tier 1, we should do what others are talking about and give BTC to a contracted and trusted shareholder to sell on an open exchange.

  2. Tier 2 funds are transient and constitute the trusted shareholder’s exchange account in the time before turning it into tier 1. Note that in tier 2, the trusted shareholder has the opportunity to time the market and get the best possible rate from the custodians on exchange.

  3. Tier 3 only currently exists as NuLagoon. NuLagoon should be allowed to ask for a rebalance for Tier 3 from Tier 4 signers at a reasonable market rate. This would coincide nicely with the new rebalancing rules for NuLagoon. Somehow, the signers and NuLagoon would decide on a rate, then NuLagoon would burn the NBT and the signers would respond to publicly displayed proof of burn with a signature to send BTC to NuLagoon at the pre-approved price.

1 Like

What advantage is there to requiring shareholder approval for the larger amount? I think it should be assumed that shareholders will always immediately authorize all tier 4 funds to be used for maintaining the peg, as it’s our primary business goal. I can’t think of a scenario where shareholders would or should decline to use those funds for peg maintenance.

I would be in favor of granting full discretion to the Tier 4 fund group to use the entirety of the funds for peg maintenance when required, with the stipulation that shareholder approval is required for non-emergencies like conducting buybacks, funding development, etc.

@Coingame and I discussed this here: [Withdrawn] Faster motions. While I still agree with the concept of different motion lengths that can be applied if they adhere to pre-set criteria, Coingame made an excellent point that shorter block windows naturally exclude more shareholders. I would prefer relying on the Tier 4 group’s discretion in using the funds for emergency peg maintenance rather than relying on a short motion that doesn’t include most shareholders.

I agree with @mhps here.

You make a good point. However, I would like to suggest that we could still have a hot and a cold wallet but do it with signer consensus. So something like 4/10 to access hot wallet and 7/10 to access cold wallet.

Just in case, I’ll add that the consensus requirement for using the cold wallet is a regulatory limitation rather than a technical one. The only thing stopping trustees using the whole lot is that at least a majority can be relied upon to uphold this rule, and the operating assumption “because they are shareholders…” can sometimes be rather willy-nilly.

Systematically it still costs less trust than what we have now (one JL to rule them all), but full decentralization won’t be possible until we complete the transition to zero-reserve. So this is a transient state and we should make better use of the flexibility.

Requiring shareholder voting even for the hot wallet is simply too much because there’s very little marginal gain compared its costs, that we need more eyes and time to react to urgency. If there’s anything that we should add to serve the consensus beyond the cold wallet, it would be check and balances, which may make use of collateral or specially designed compensation schemes.

It’s the shareholders’ money. The tier 4 custodians only manage it. Hopefully the rule set, the guidelines how to use the money (may I call it fund charter?) are sufficient to create no conflict and leave no room for interpretation.
If there is such a conflict, shareholders need to decide.

This is basically correct, but largely depends on the size of the rolling window. I’ve made some calculations in the same thread to show that: [Withdrawn] Faster motions

In the case of releasing tier 4 due to an exceptional - in terms of funds charter - emergency we should assume that a voting is a formality.
By exceptional I mean circumstances, for which are no rules the fund managers can follow; shareholders should decide in this case. This would need to be quicker than standard voting, though.
Most of those (possibly never to be made) decisions would be no-brainers (I hope).
But I wouldn’t feel comfortable if the fate of Nu were in my hand (assuming that I will be one of the fund managers).

We should keep it at the back of our mind that the normal activity of fund mangers would be “allowed” by the motion that defines the fund charter, that determines which actions need to be taken under which circumstances.

Urgent votes would only be necessary under rare occasions (if the charter is good, they are never needed).
The standard motion voting procedure with the standard passing limits would be used to adjust the fund charter.