Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
2019 is considered to be the DeFi (Decentralized Finance) year for blockchains which is bringing new challanges to most blockchains to subsist, Callisto Network has to evolve and face this new challenges to attract more users, investors and traders.
The objective of this proposal is to implement a set of tokens using ERC223 standard on CALLISTO BLOCKCHAIN that reflect the price of some major cryptocurrencies, the newly implemented tokens will be pegged by the staked CLO.
This will allow Callisto stakers to keep trading their favourite currencies while earning CLO staking reward.
The staked CLO will be used as collateral following a precise ratio (CR) to mint pegged tokens. Many projects have implemented pegged tokens successfully creating a new crypto model where their main currency gained more support and especially more reason on why to hold it and use it.
The collateralization ratio ( CR ) will be defined to absorb CLO price volatility, for example CR=400%.
If a clo staker decide to receive X amount of a given token he has to satisfy the following condition:
( X MINTED CUT ) < ( CLO STAKED x CLO price in USD x 100 / CR )
( MINTED CBT x BTC price in USD ) < (( CLO STAKED x CLO price in USD x 100 ) / CR )
The higher the CR is the stronger is the newly minted pegged token, however the stakers will get less tokens which will reduce the liquidity.
Each user will have to maintain his collateralization ratio, when CLO value change the user ratio will change.
A global collateralization ratio can be defined for each minted token (the average of all user ratio) , proving that at all time each minted token is always backed by at least their value worth of CLO.
New Staking Rules
This proposal requires an oracle or the team to set the different prices on-chain (tokens and CLO prices).
The created pegged tokens can be either listed on exchanges or traded on a DEX.
All the development will be done using solidity, truffle, node.js etc ..
2.2M CLO payable to 0x05Ad027cc96f43304DA3E49027EF47C278CF022c . The time plan and further detailed will be provided if the proposal is accepted.
Please note that all aspects of the proposal are open to discussion, the main goal is to provide Callisto users more tools, while attracting more investors, and traders.
I've read the proposal description and there are some points that I'd like to clarify first.
1. The proposal lacks a description of the token conversion mechanism
The main idea of the proposal is to give users the opportunity to mint pegged tokens while holding their CLOs in staking. How exactly is the token minted and at which rules?
Example: I own 1BTC worth of CLO in staking. I decided to mint 1 BTC-pegged token (CBT).
If I will keep receiving rewards from CLO staking then it will devalue CLO definitely as my investment portfolio will be tied to assets that have no correlation with CLO. Even more - I will be incentivised to sell my monthly CLO rewards to hold my favourite assets (or convert them into more pegged tokens, however).
Given that we are in crypto industry with crazy volatilities the collateralization ratios must be very high. I'm not sure that this token conversion mechanism is suitable in this case. Maybe it's better to use something like Bancor algorithm.
How frequently should we update the oracle to keep the proposed system sustainable? This may be costly at some point as well.
I see an attack vector here: assuming that it is known that Bitcoins price has dropped by ~15% in the last minutes and the price oracle is not yet updated a user can manipulate the contract.
We can go with an open-source solution I guess. McAfeeDEX for example.
@shivneja first of all, this is a non-custodial solution. We do not create tokens and lend them, the user does, no daily lending limit is applied since the user put a collateral then mint his pegged tokens, the user is free to take any action at any moment.
for liquidation, we will neither do a 1:1 ratio nor an under collateralization that require critical liquidation mechanisms . Many project subsist without liquidation already (take a look at synthetix, I used their idea mainly to make this proposal).
In the opposite of liquidation we should implement mechanisms to incentivize users to maintain their ratio, since we will only do over collateralization the users will have plenty of time to handle it (nothing comparable with bitmex 200x margin trading).
This proposal do not aim to create stable coins but pegged tokens to allow trading while staking callisto, If we decide to implement a stable coin it will be the first in callisto blockchain.
Please, if you are aware of the regulatory issues involved cite them, while taking into account what I answered to you.
I'm not sure what do you mean with this, at this time if a user have a diversified portfolio no one is obliging him to keep his clo staking reward if he wants to to hold other coins.
The goal of this proposal is to allow trading only not diversify users portfolios, since they can just sell CLO and buy another coin instead even now without this proposal.
Yeah you are right.
But the benefit is if a user ratio goes down (CLO price goes down or pegged token price goes up or both), the user will have to buy more CLO from the open market and lock them whithout minting just to increase his ratio. Another solution for him will be to burn part of his pegged tokens to make his ratio higher (of course here we can implement some mechanism to incentivize users to maintain their ratio).
If the ratio goes up (CLO price goes up or the pegged token goes down or both) the user will be able to mint more pegged tokens by reducing his ratio, so he will have more liquidity for trading.
This model will only incentivize users to hold CLO and raise the clo price.
I think that bancor algorithm is more about how to provide liquidity in a decentralized exchange, by relying on bancor price algorithm the pegged tokens price will be independent from the open market price.
The collateralization ratio is way to give a reference price to the minted tokens, then they will be freely traded on a DEX, however, if the price deviate from the ref price, this will create trading opportunities that will stabilize the price just like an arbitrage bot does.
Another solution can be the implementation of a liquidation mechanism that will liquidate any user under a certain ratio threshold, but since we are over collateralizing we can implment solution to always push the users to maintain their ratio instead (check my answer to shivneja).
Also I didn't come with the ratio idea from my mind, there is a very sucessfull project that implemented it (Synthetix) without using liquidation, the ratio was set to 750%. I do think that callisto can be better since callisto coin is mined and synthetic was an ICO, plus we already have the staking algorithm
Since we will use callisto coins to pay the gas fees to update the prices, we will have access to enough of CLO for such transactions. We can also make the platform auto sustainable by applying a minimal fee for the oracle.
The update frequency should adapt to the price action. If anyone decide to use a front running attack, we should just make them win the minimum of benefit to force them to give up, also trading will have it fees, so they have to account for it which give us more margin for actions without talking about the block mining time ~15s. if we assume a 6000 block mined a day and 20gwei gas price and a 120000 gas per transaction, the total will be 14.4 CLO.
For the DEX solution I will suggest uniswap liquidity pool algorithm, since we can use staking to push users to be market makers and provide more liquidity for trading. For example instead of giving staking reward when locking CLO to mint tokens, we can reward the market maker that participate in liquidity pool. A user that lock his CLO to mint pegged tokens will receive staking reward when participating in a liquidity pool, to be participant to a liquidity pool you have to add the pegged token plus the equivalent amount of the other token to be tradded, the staking reward will be correlated with the amount that a user participated with.
If the pegged tokens ref price change this will open a trading opportunity pushing the users to not stake since at one moment the trading benefit will be higher than staking benefit. of course here the CLO is always locked since the minted tokens are not burned.
Another point is that in a liquidity pool users participating in a pool will automatically receive the trading fees (0.3% or other to be defined).
Thanks for the response, and also thanks for bringing an interesting and thought provoking idea for CLO use case. In my comments below I am using “I” as = customer/consumer and “You” as the provider.
is my understanding correct:
I did take a look at Synthetix and I was unable to find the process for satisfying the C Ratio.
Please define “plenty of time” that you envisage?
I understand that now, thanks for clarifying. To put it very simplistically you are proposing that a holder of CLO can extract 25% of the value of their holding and spend it for 27 days.
Not relevant at this stage as you are not issuing a stablecoin.
Apologies if some of these comments or queries are very simplistic, I like to break things down into smaller bite sized components.
Would suggest @KryptoSoulKing also take a look at this as he is in the finance field and maybe able to make some suggestions/comments.
Also following today's price, 25000 CLO is 17.3 USD otherwise we will be rich :p.
and you got everything correctly except that you don't give us more CLO, you stake more to stabilize your ratio then you be able to withdraw them later on. and for burning pegged tokens it is like if you are burning part of your debt which is also not a loss since they don't belong to you anyway.
There is not time specified to satisfy you ratio in synthetix, however everything is done so you do it naturally by urself. plus they have a 750% ratio meaning that (also they plan to implement a liquidation logic but it is not done now), you don't want to loose them anyway for 7 times less worth of a pegged token (since you are over collateralizing, you will be at big losses if you don't stabilize your ratio). so plenty of time is unlimited in synthetix use case.
Please note that this is just an example and since we already have staking reward we can always incentivize the users to maintain their ratio by many ways.
My bad! I used 250,000 CLO for the calculation. You are correct.
Ok. That’s clear.
I see the following issues:
All this might sound complicated, but it can be implemented, and with a simple interfaces users will quickly catch up the idea.
There are two points to discuss:
1. Time locking
'In this new implementation the stakers will be free to withdraw their tokens at any time (this rule is open to discussion).' - the time locking mechanism of Cold Staking is a financial feature that incentivises users to lock&hold. Eliminating it completely does not seem to be a good idea to me. It may be better to lower the locking period to 3 days or introduce some "early withdrawal penalties" to incentivise users to hold for a prolonged period of time.
While the idea with oracles can work, it will also rely on some centralized service provided by centralized party (i.e. CLO Team in our case). Centralization of power is not beneficial for the project.
I can't suggest any ready-to-go solution to this issue at the moment but this is definitely a huge area for improvement.
Shouldn't it be 2020?
I understand you concerns since the main goal of staking at the moment is to push the users from BUY/HOLD to STAKING/HOLD as described here, which will reduce the sell pressure in case of FOMO.
In this proposal we can implement a time lock as proposed by you and a CR lock.
We can define:
For example with the actual implementation: MRSP = MSP = 27 days.
Also if the mint ratio is fixed by the algorithm the user will be locked automatically if there is any price change, since his ratio might fall under the threshold. Meaning that the MSP might not be needed but we can keep the MRSP to incentivize to user to stay and not leave early.
In the opposite if the users are free to pick their minting CR where CR is always higher than the minimum CR (400% or other) than MSP should be implemented.
I completely agree with you, since my own position toward administration centralization is clear. solution as Oraclize are centralized (here we ask who should we trust) and decentralized solution such as Chainlink cannot be implemented in Callisto network if we don't provide a market for it at first.
Also for this issue, to remove the attack vector (just as an example), we can split the minting process into three steps.
Please note that the procedure require just three mined block only.
If a user decide to wait after sending his CLO for more price action and mint,for example if BTC price goes up to 9000USD and the price for the block when he sent his CLO was set to 7000USD, he will start with a ratio that is lower than minimum ratio, meaning that he will have to burn the extra btc that he got to stabilize his ratio, however if he decide to keep it then his locked CLO won't be released even after the MSP period (if implemented).
The opposite scenario is also possible, in this case the user ratio will be higher than the minimal ratio, allowing him to mint more tokens if wished.
Wow how come i missed this proposal!
1 similar comment
first at all @RideSolo a very great contribution and idea
As you have already written, cold staking is a powerful tool, but it is up to people like you to deliver such great ideas
Usable value: One suggestion is to think of usable value that is not defined, for example - a gaming token that need not be benchmarked to any store of value but can define itself over time. You could use the basic strengths of CLO in this: liquidity, security and fast transaction processing. You would also open the doors for CLO to connect to a very large community out there, if this is at all feasible within your project.
Yes, that makes sense and hence the suggestion to focus on a user segment that will quickly accept your idea.
Instead of modifying the lock-in period that we currently have can we look at 2 alternatives:
so, if I have 100,000 CLO staked for a 27 day contract and on the 14th day I have urgent need for cash or the market is at a good price, I borrow by assigning my staked CLO contract (The C Ratio can be pretty tight here because there is no price risk). The CLO I borrow can then be sold for USD or BTC. If it’s workable maybe something the miners maybe interested in?
Your example is about the creation of a utility token that allows you to access a platform, which is different than what the proposal is about.
Thanks for the feedback. Another good example is proposal 87 you are already aware of it propably.
@RideSolo I'd like to accept the proposal but we need to clarify some details first:
@Dexaran I'm highly comfortable when coding using C++, however I have never used EOS dev tools. I'm ready to work on it if we implement solidity contracts and Dapp first.
I understand the need for these steps since cross-blockchain ecosystem or Dapps will have better chance to subsist, but I also have some concerns since when implementing such functions in EOS, the users will be interacting with EOS instead of Callisto blockchain making our miners lose the gas fees generated by such Dapp, especially in case of usage growth.
For salary expectation I will be more comfortable talking in private. once agreed you can publish it if needed.
@Dexaran I'm actually making some drafts, we have two possible way to go for this proposal:
The first solution is better since it will be more optimized, however second one is safer since it will reduce risks, in case of any issue the users can just use normal staking contract.