Frankencoin / Luzius Meisser
EthereumZuri.ch 2023 · April 2023 · 27:33
Luzius Meisser presents Frankencoin at EthereumZuri.ch 2023. Frankencoin is a collateralized stablecoin intended to track the value of the Swiss franc, and it does not depend on an oracle. Meisser explains the design and how its governance allows a wide range of assets to serve as collateral.
Speakers
Topics
From EthereumZuri.ch 2023, hosted by EthereumZuri.ch.
Transcript
foreign [Music] coin so this is a PhD project or start with a PhD project but I also want to push this into real life to make it a network to make it live on the ethereum network and to create oracle-free collateral size desertized Swiss franc stablecoin so I think there's quite a few things in there that make this uh unique project with the real chance of becoming
something that is relevant so first so I have these three points I have a vision it talks a little about the properties of the Franken coin and then I describe how it works so division is nothing smaller than to democratize the creation of money so today money creation is done through the central bank with the help of the commercial Banks and the Commercial Bank they multiply the money supply through their credit system and the problem is this is a very centralized system and uh and at the same time it's something very important so whoever controls the allocation of money also controls the
allocation of resources in the real economy and this is not only through the interest rates it's also through the capital requirements for example if Capital requirements for government bonds are very low Banks can leverage a lot on government bonds and not invest or create money as much for startups or for other projects and this has a real consequence so in in what we observe in practice is that the regulation the capital requirements the push Banks towards creating money for real estate and government bonds and to neglect small businesses or startups or more risky projects even though they would be more beneficial to the economy overall if they receive the money and this can change if we decentralize the creation
of money if anyone can create money and this should unlock a lot of value if the economist and economic theory is right the question is can we create a decentralized fully packed stable coin that does not depend on oracles and is open to any collateral so these are the two requirements that so far have not been fulfilled very well we will see a comparison later and these are the main challenges I aim to tackle with frankencoin so it by the way it doesn't have to be Swiss franc so this is just the first version it could also there could also be a copy of it with
dollars or euros and so on so but uh here in Switzerland we should have a strong Swiss franc on the blockchain so that's why I started with that so uh what stable coins are out there so there's different we've seen different types before and I think it's a great time to start new stablecoin because the centralized ones they are kind of boring they don't solve this economic problem they are helpful but they are not where we want to go in the end then there's a few decentralized ones most notably die which is a very interesting project I think it's one of the greatest D5 projects out there one problem there is
centralization so it's uh de facto governed by a relative small number of people and it's also actually not that decentralized because most of its reserves are in usdc and my favorite project on this list is the besides frankincense lust which did many things very well their main weakness which is shared by with Thai is their dependency on the chain link Oracle which can be manipulated Anytime by the admins of chain link so this is not that decentralized actually and I wanted to get rid of that dependency also liquidity is limited to either as a
collateral which causes everyone who means liquid US dollars to suffer from the opportunity cost of not being able to stake this error so I hope to create something more flexible and it's so there's one deployed version out there but it won't be the last so it's a at the moment there's a Code competition running on code Arena I think there's three days left where if you find bugs you can get a nice bug bounty so yeah so I mentioned this uh properties it should be Oracle free collateralized I don't believe in algorithmic stable coins they often have a weakness that they collapse eventually
if people lose trust like it happens with iron coin and Terra and so on and I also think it should be completely decentralized so that it's truly Democratic and it's not it cannot be manipulated by a centralized entity if we go a little deeper into the system you will see that there's actually two tokens so one is the stable coin itself and like many other projects there's also a governance token or a token that represents part so this is like the share of if this was a bank if the whole frontal consistent was a bank one would be the the deposit token which is stable and the other one would be the shares or the
equity capital of the bank and similar to the shares of a bank you can also speculate with that if you believe in a system you can buy the pool shares you will suffer if there are losses and you will make profits if there are gains so how does that work so what I did as part of my research I have one paper that is called The Continuous Capital Corporation where I looked into amms for automatically issue and redeem capital of a company and I found some solution that is optimal under white range of circumstances that can lead to the optimal Capital allocation
and this is based uh in the end so that I won't go deep in the mathematics but in the end what you get here for this system is a function where you say the market cap is proportional to the reserve and the reserve is the equity capital in this case and the price and supply of course when the you multiply them they must lead to the market cap and the price clamps with the squared cubic root of the reserve and supply goes up with the cubic root of the reserve so if reserves go up to a factor of 1000 of 1000 then Supply goes up by a factor of 10 and the price goes a lot up by a factor of 100. and this allows for
a dynamic Asians and Redemption of these pool shares and if you put in money your money is a little at risk because it's used to cover losses like Banks balance sheet and if you sell them you can take money out and the profits and the losses are also accumulate in that pool so this is very similar to shares also you get some voting rights with these shares so if you dig a Little Deeper we can look at it like a bank so you can we can say the whole frontal coin system has assets and liabilities so and on the liability side there's all the Franken coins in circulation because everyone
who owns a Francine coin basically has a claim towards the system saying I want to have one Swiss franc back at some point in time also there's uh some reserves and Equity Capital so there's a mint Reserve which I will mention later in more detail which is kind of that or framed Capital so and there's Equity Capital which is the value of the system if you would liquidate it on the asset side you have the so some people who provide collateral main tokens they have to return these tokens and the number of tokens they have been that need to return that's in this exams 80 million that's what they
owe the system basically then there might be some we have a stablecoin bridge there might be some other stable coins locked in that bridge for conversion and then there's the reserve that is used to absorb losses and so this is more or less the balance sheet and if the system makes profits Equity goes up if the system makes losses Equity goes down and the pool shareholders are poor so if you look at it more technically there's a number of smart contracts so each of these boxes is one of the most essential smart contracts in the system there's two erc20 tokens the the Franken coin and pool shares and
frankencoin is actually very modular so anyone can propose a new mint plugin so this is to make it future proof maybe you have a different idea than I did so far so I so far had two ideas for mending plugins one is the stablecoin bridge where you get can supply one crypto Frank and get mint of frankencoin crypto Frank is the Swiss franc stable coin from Bitcoin service so we trust that stablecoin up to a certain limit and uh everyone who anyone who provides a crypto Frank can get the Franken coin and vice versa as long as there are crypto Franks left in the bridge so this is a very simple amm that's fixed a one-to-one conversion then there's the
collateralized minting Hub which contains all the logic for the collateralized minting with this novel auction Oracle free liquidation mechanism and but if you have a different idea on how Franken coins should be minted you are free to propose to suggest a new Mentor the new smart contract that then has the power to maintain burn Franken coins arbitrarily of course if you do that in a way that is not beneficial for the system uh then the hopefully the shareholders step in and veto your proposal and that's part of the governance so it's not a vote it's just a veto anyone who has three percent of the voting power can veto any
proposal and the vedos veto power comes from holding pool shares and the same way to power you can also use the weight or new types of collaterals so the minting Hub also recognizes the vato power of the full shareholders and if someone creates a new possession with a completely new collateral that can be vetoed by the pool shareholders but once it's approved it's approved and you can start minting so how does that work let's make an example let's say and and here a lot of brain Cycles went into it making this
really uh attack proof there's also this is also core part of my frankencoin paper where I look at it from a game theoretic perspective with decision trees and also at payoff matrices and so on to show that this is really solid because there's a few problems with Liquidations in the existing protocols the first problem is they often depend on Oracle and even if you get rid of the Oracle and say we look at an exchange there is the problem of price manipulation and even if you do an auction like in the Dye System there's sometimes an auction under certain circumstances there's a risk of price manipulation
that someone who does not want to get liquidated beats a too high price or things like that so it's you need to design the system carefully in a way that is not attackable by someone who wants to manipulate it and the solution I've come up with here is that we don't depend on anything external we just use this auction mechanism so for example Alice opens the position and says I want to have wrapped it as a collateral I claim that this reputator are worth 1500 Swiss Francs each and when you propose a position you also need to propose a reasonable Reserve ratio this is like the haircut when you do collateralized lending
yes when you do collateral minting so in this case maybe 20 percent this means that when she gets liquidated and the market price is only 10 percent below what she said is the liquidation price then we are still good this is kind of a reserve buffer to absorb uh price shocks and so when she does that when she opens a position she pays a minting fee or a proposal fee to make sure the systemic doesn't get spammed then if no one vetoes her position she is free to use it for as long as as the position is valid this is also parameter can be two years it can be one year
whatever makes sense for Alice so she's she means 150 000 Crypt of ranks uh Franklin coins and out of touch receives 120 000 and 30 000 is automatically put aside into the so-called maintenance Reserve this is used if there's a liquidation below the liquidation price so now prices start to fall and Bob says this is not worse this collateral is not worse 1500 Swiss Francs per heater anymore so I challenge that so he and this is one of the key factors when he starts the challenge he has also put some collateral at risk and say Here's 100
wrapped eight of my own and now the auction depending on who wins it or how high the price gets the auction is about getting Alice's or Bob's rapt either or collateral so in one case if the market price is still above 1500 Swiss Francs per acre the Peter gets Bobs wrapped either and Bob get bitters a bit and Alice is unaffected so that means that as long as the market price is higher than 1500 all is fine for Alice and the the Bobcats to sell his wrapped it or maybe below Market but maybe market price is even 16 700 then Bob has made a loss and
sold he's wrapped either below the market price so this is the case where the challenge is averted but there's also a case where the challenge is successful for example the highest speed is only 130 000 crypto foreign coin in that case the challenge is considered successful because the challenge has shown that the market price is below the liquidation price and in this case the Challenger gets his 100 wrapped it back and a reward of two percent of the whole Capital At Risk which is three thousand uh Frank coin the bidder gets to buy 100 rep data from Alice
so and his a bit goes to the reserve also Alice's mental reserve of 30 000 is allocated Reserve so this is potentially lot to gain for for the equity holders but we need to cover the loss from that as well so basically there's a loss of 120 000 which we don't get back so this gives a profit and for the system of uh let me see if this is correct should be 27.
yes so there was a debt uh though there was a debt of 150 000. but I think you're right could be 27 because we got 30 000 back and 130 000 is 160 together and three thousand goes to the challenge then it's 27 000 uh profits left you're right so yes and uh Alice gets to keep whatever frankincense currency has minted and so this is the basic system and there's a lot a lot of small subtle difficulties that could happen for example what happens if Alice makes a very high bid to fool the system then she just over pays and it's very
expensive and the system is structured that even if she overpays to end the challenge she cannot immediately withdraw everything and closed position There's an opportunity first for the challenge to repeat it so it can be repeated and Alice will suffer infinite losses over time if she manipulates the system so and and there's also other things that are thought of for example you can make as much smaller challenge you can only challenge 10 of the whole position then everything is scaled down is to make sure that you even can challenge the system if you don't have 100 rapt heater there can be multiple challenges in parallel and so on so I hope that
every conceivable use case is actually covered if you look at this from of course from a risk perspective then there's this challenge period so this challenge can run from between whatever is specified in this position between one days or 10 days so and if the in this period the price drops too low then of course we have a risk that we have to cover a loss also there's cases as especially if you use an exotic collateral if you use the shares of a chocolate factory for example the tokenizers of a chocolate factory and the factory burns down then the value of
the shares they go from 100 to zero and then you have no chance at liquidating at the good price and in these cases the system covers the loss and then you need to have some overview over all the positions and see how the risk balance is out and this is basically what the bank does so your bank needs to know that it uh what it risks are and how they are balanced and if it how the different risks are correlated and this will be one of the harder and more difficult part in the long run for for the governance to do to to get right to make sure that the the risks are in balance and there's no Bank Run with the bankruptcy like you've seen
in the real world the main difference the real world of course is that we have full transparency here so no one exactly knows even today what is on the balance sheet of credit swiss but here with the Franklin coin system at any given point in time we have full transparency and know all the collateral we know all the assets all the liabilities and this would create a lot of trust I would hope and it would also allow an attacker to step in in time and to challenge all the positions if the attacker notices that the value drops below so we have built this front end for that so this is on the frankencoin.com
um there's two screenshots if you would like to join this project let me know especially welcome would be someone to to cover the front end and take ownership of that uh and but overall I think this would be a very interesting opportunity so we are the distributed team I do a little bit there's a few others but there's no formal company or so behind the idea is that the incentives in the end will uh make sure that that the system works and uh that's it so if you have questions let me know thank you very much for the talk [Applause]
so we have a bit of time for questions maybe there is one or sorry you can start well thank you for the presentation fascinating project I really liked it uh it seems like you're aiming at fixing maker though so it it seems like maker Dao was one of the major Inspirations behind your project and the what you call a stablecoin bridge is very similar to the PSM in maker Dao and the PSM like during the usdc scare that you have shown it also proved to be a major weakness of the maker though because it also made the uh price of of die to collapse
together with usdc uh even though less than half of their reserves were in usdc because of the PSM the price went all the way to usdc's price and it seems like you have introduced the same vulnerability like why do you need the stable coinbridge so that's my first question could couldn't it work without the stablecoin bridge and the second question that I have is with the particular choice of the stable coin the crypto Frank which is prepared for the situation which is not the case now but was the case like two years ago that the interest rate on the Franc was negative and because of that if you put Swiss coin a Swiss franc in a bank
you're actually earning a negative interest rate and the crypto Frank also did did the same and if you're using if that were the case again then what you could do is you could take your crypto Frank which is depreciating effectively because your balance is decreasing and get the frankencoin which doesn't have that problem and kind of shift the the loss onto somebody else so these are my two questions like how are you dealing with this yes this problem so the first question uh the answer is why are we doing this because it's very convenient it allows users to get in and out easily and of course
there's a risk so there's also limit with each stablecoin bridge where you specify what is the limit up to how much can you deposit there but of course it's a risk then the other question regarding the crypto Frank so I built this system under assumption that interest rates won't turn negative again so it works well with positive rates but on the negative rates everything is very strange and complicated so I just said I assume that this doesn't happen great so I think we have for one short question and then after that we will set up the follow-up or the following panel yeah short question so
about the example you presented the second Point assuming was assuming no one is vetoing so I wanted to ask a little bit more more in detail how the beta works is again with the three percent of the votes or the voting power or is there also some negative incentive not to wait or in a bad way like for instance to sense or some specific positions and you know you can imagine that someone wants to collateralize who uses collateral some specific token and then to you can identify and you say I don't want this position I will just fail it so is there some feat of it or is it easy to veto how does it work so uh events are correctly position is that the question
is can positions be abused to create uh Franklin coin with any collateral as an attacker I know no I mean the second point was in the in the algorithm let's say as I say it was said no one is vetoing so I just want to know more details on who is this no one that can veto and anyone can wait of the the so so yes so uh if you propose a new position you can people who own three percent of the pool share votes they can wait or that position and here it's actually not just three percent of the balance of our pool shares it's a Time
weighted voting so if you have held 10 shares for 10 days you have the same voting power as someone else who held five shares for 20 days this is to make sure that someone with a flash loan cannot manipulate the system and then there's another but this is one of the spots where uh it's still under construction because this governance is very hard I want to have a very so there's a few very important elements one is I don't want to have votes I don't want to have explicit governments governance because that also creates responsibility I want the aveto-based governance because then and this is legal consideration if you do nothing no one
can accuse you of having done something like in the legal system if you actively kill someone that is punished much harder than if you are just a bystander and watch someone drowning right so that it's kind of legal protection to say no one did anything and and it's only if you step in and waito and prevent something from happening then also you're not liable for the whole system so this is one consideration and also and and this is even more important I would say it's much more usable if the system is in this is designed in a way that if everyone behaves well then you don't need to organize votes and step in and do anything you can just sit there and watch it happen
so the system is designed that you only need to step in and veto when something bad happens and if the threat of some of waiting is credible enough then no one will do anything bad thank you thanks a lot so again a round of applause to luteus and you will stay with us because we have now a panel on the Swiss blockchain community and ecosystem we will shortly set the stage up