Stablecoin Kolibri Devs: DeFi on Tezos Has a Lot of Potential But More Technologies Are Needed for It to Flourish
Our previous entries mentioned Kolibri (kUSD), a stablecoin on the Tezos blockchain. Today, we will cover it in greater detail: on February 18, the development team at Hover Labs has officially launched Kolibri on mainnet.
We talked with Kolibri developers Ryan Sears and Keefer Taylor of Hover Labs about the unique features of kUSD, funny bugs, and the upcoming governance transfer to the community.
Hello, Keefer and Ryan. Please tell us about your background. How did you get into cryptocurrency and blockchain development?
Ryan: Hello! Thanks a ton for putting this together, we’re really excited to chat through some of the work we’ve been doing over the past few months.
My background is primarily in cybersecurity, though I do a lot of development and consider myself more of a “developer with a security mindset” now than a “security dude with a developer mindset” which I would’ve identified as ~5 years ago. I’ve been a crypto enthusiast for a long while at this point. A good chunk of the security-focused work I’ve done in the past is cryptography-focused, but in a more traditional sense (PKI, HMACs, hashing passwords, etc). For me, one of the most exciting things that have come from the whole ecosystem is the advancements in cryptography itself. Things like ZK proofs were known about, but only in a real academic sense. Now you have things like reusable building blocks pioneered by folks like Monero and ZCash, and now in use on major platforms like Tezos (with the Sapling upgrade) and even entire blockchains based on the idea (like Coda/Mina and their succinct blockchain).
Keefer: Hey there! Nice to meet you all.
My training is as a software engineer. I think I followed a pretty typical engineer’s path into cryptocurrency: in the 2017 craze, I started to read the bitcoin whitepaper and write trading algorithms. Then I moved on towards investing in ICOs. Eventually, my job as an engineer at a large fortune 500 software company got pretty boring, and I started looking for side projects.
I think in the world of software and computer science there are basically two really cutting-edge, exciting, and high-impact fields to be in right now: machine learning and blockchain. I’m not enough of a math nerd to really enjoy the machine learning side, but I do enjoy being on the bleeding edge and that’s what led me to want to get way more involved in crypto.
I had invested in the Tezos ICO and didn’t see much mobile development going on and that was what I was specialized in at the moment. I ended up writing TezosKit, which was an iOS SDK for Tezos (which CamlCase took over and still lives today as CamlKit, and is used to build Magma). After that, I started investigating using my skills to run a baker, and then I started tumbling down the rabbit hole.
What is Kolibri? How does it work?
Kolibri is what’s called a stablecoin that we’re launching on Tezos. A stablecoin is an on-chain asset that tries to peg its value to $1USD, which is extremely useful as a Decentralized Finance (DeFi) building block since it’s not subject to wild volatility that the underlying token price usually is (Tezos and ETH have both been increasing a lot recently!). Kolibri is similar to DAI if you’re familiar with the Ethereum ecosystem in that we try to maintain this peg algorithmically, instead of through some other mechanism like USDtz which requires humans to mint and burn funds, KYC, and a traditional financial institution to hold the reserves.
How does Kolibri differ from Tether or other stablecoins?
One way to create stable coins is to back them with a real asset. This could be a fiat bank account where you deposit a US Dollar and get a token representing a US Dollar, or it could be a cryptographic wallet where you deposit another fiat-backed stable coin (ex. USDC) and get a new token. At any time, users can send the newly minted token back to the minter, who will destroy it and return the user’s dollar.
This approach is great because it means that all issued tokens should be worth exactly one dollar at all times (which we call a hard peg). However, there are some downsides as well. In order to use these fiat-backed stablecoins, you are trusting the issuer. There are a few assumptions you have to make:
- The issuer isn’t going to (or isn’t able to) withdraw all funds in the bank account, leaving the tokens backed by nothing and worthless.
- The issuer isn’t going to mint more tokens than they have dollars in the bank account, meaning that assets aren’t actually backed 1:1.
- The issuer isn’t going to censor transactions or refuse redemptions from users due to any number of reasons.
Kolibri is a bit different in that it is a completely trustless system. The issuing and burning of kUSD are all controlled via a smart contract on-chain without users having to trust an intermediary. In this case, the trust points are codified in software so that anyone can examine them and see how they will work.
The downside is that Kolibri ends up being “soft pegged” to the dollar, which is to say it will retain relative value but may have small fluctuations since it is a synthetic asset representing a dollar, not a dollar itself.
How can I buy and store kUSD?
At launch, Dexter (from the CamelCase team) will support kUSD on their decentralized exchange, which will let anyone who holds XTZ, or other tokens listed on Dexter, buy kUSD. We hope that Quipuswap (from the Madfish Solutions team) will launch soon and kUSD will be supported there as well.
Anyone can also mint their own tokens on our portal which has gone live today. Advanced users can also use Kolibri.js or interact with the contracts directly.
What wallets and exchanges will support kUSD in the future?
Right now for launch, we’re integrating the Kolibri app with Thanos since it was what we all use personally, though support will be in other wallets for kUSD itself. We think the team at MadFish Solutions is truly stellar and has worked with us to quickly remedy any issues we’ve encountered. That said, obviously, the world is becoming more and more mobile-first, so we’d love to see true mobile wallet support for the Kolibri app itself (it’s already designed to work on Mobile, it seems there just isn’t a generic mobile “DApp browser” in the ecosystem yet).
As said above, on the exchange front we’re going to have support for Kolibri in Dexter on launch day, with Quipuswap also hopefully being available once they launch to mainnet. Another upcoming project we’re really excited about is the SEXP exchange which is set to launch sometime in Q1.
Why did you decide to build a stablecoin on Tezos?
Tezos is an ecosystem in need of DeFi products. The primitives didn’t exist before Luke and Keefer went and wrote the Harbinger price oracle, but the underlying tech is pretty sound and well-proven at this point.
Tezos were some of the first to bring proof of stake economics to scale, and it creates some really interesting opportunities to build things like Harbinger’s “free updates” mechanism (it posts updates with the transaction fees being paid purely out of the staking rewards it gets from holding a single “roll” of Tezos, donated by the Tezos Foundation).
Likewise, the ability to create an oven that mints kUSD with a 2% APR is actually completely offset by the ~5% staking rewards from delegating those funds to a baker. So it’s less “you just lose 2% every year by holding kUSD” and more “you only get 3% back on the money you convert to kUSD instead of the 5% you’d get holding Tezos” which is much better than even ETH in that it lets those idle funds do *something*.
These unique properties mean that we can create never-before-seen financial products in this ecosystem, though there are still some building blocks like contract events and developer tooling that would greatly help bring more DeFi to the space. That said, every ecosystem starts somewhere, and we hope that kUSD is just the beginning of a larger trend of lending platforms, insurance platforms, and on-chain governance that has found great success in the ETH ecosystem. However, the ETH2 release is fast-incoming and it’ll be interesting to see how Tezos competes with it, but I hear the folks at the Tezos Foundation have some neat ideas on that front!
What are some cases for Kolibri on the Tezos blockchain?
Kolibri and kUSD are useful because other cryptocurrency assets traditionally have volatile prices. One of the fundamental principles of money is having a stable value (ex. a taco will always cost around $2, rather than a taco costing $1 one day and $4 the next). This enables a bunch of payment-related use-cases and lets users take advantage of the properties of the Tezos blockchain (strong governance, fast finality, highly decentralized baker network) while not having any of the downsides of a traditional cryptocurrency.
Another use case for Kolibri is that it’s a primitive that can be composed into other DeFi applications. For instance, options exchanges might want to settle into a stable value currency. Likewise, other higher-level DeFi primitives, like insurance might also benefit from having a stable value asset.
Was it actually difficult to develop a stablecoin? How did the process look like?
This was a pretty challenging project. We started reading whitepapers and messing around with prototypes as early as August 2020, right after we launched Harbinger (and one of the motivating factors to launch Harbinger was so that we could get into more advanced projects like this).
Back then, the mainnet was running the Carthage protocol, operations had really high gas costs and we spent a lot of time trying to optimize. We’re really thankful for the gas improvements in the Delphi and now Edo protocol since they make our lives much easier. We also have been working with a lot of toolmakers in the Tezos ecosystem to push the boundaries on what their tools can do since I think Kolibri is one of the biggest projects written on Tezos so far. We want to give a huge thank you to the Conseil, Taquito, Thanos, and SmartPy teams who all helped us implement feature requests and smooth out rough edges we found in their software. We also ran into problems where Tezos itself was more restrictive than we want, and Keefer actually dug in and wrote a core Tezos protocol contribution to address some of the pain we found around contract size limits.
After we had a working prototype, we started refining the feature set and building more robust implementations. We probably had a more or less complete implementation around October. At that point we began productionization – which is basically a fancy word to mean that we spent a bunch of time making sure the code was resilient, doing automated and manual testing, and verifying things work as they should in all conditions.
Lastly, we released a beta version on testnet to get user feedback. We really appreciated all of the users who participated – this let us test that the UI we built was intuitive and understandable to people who hadn’t spent hundreds of hours working on the project.
You mentioned Discord “Bugs Channel”. Can you name a few funny or dangerous bugs you found in Kolibri?
We’re actually really fortunate that we didn’t uncover any bugs in the contracts themselves. We mostly had bugs that we found in the front-end UI, which just came up because users were constantly banging on things in ways we didn’t anticipate.
Fortunately, most of the funny bugs come in during development – the on-chain storage for Kolibri uses a mantissa, which is just a big integer that represents a number with 18 decimal places. As you can imagine, calculating things with the wrong number of digits suddenly ends up with the frontend telling you you have more money than has ever existed!
Speaking of users doing unexpected things, we did hide a small easter egg in the front end which we’re surprised no one has found from clicking around.
What do you think about Tezos DeFi potential?
Tezos has a lot of potential, and at this point, the devil is in the details in terms of implementation. There are some great ideas at work and in general, the ecosystem’s foundation is solid, but the ecosystem as a whole lacks some technologies that are desperately needed to have a flourishing DeFi ecosystem. Things like developer tooling, contract views, contract events, and even a fundamental change in how the contract callback mechanism works would go a very long way in enticing people to build things in the ecosystem. The good thing about Tezos though is that the core protocol is upgradable, so these are all problems that are able to be overcome if the foundation focuses on it.
What would you like to develop next?
I think in the near future we’re going to be really focused on how to turn the Kolibri project fully over to the community to govern. At the current time, we still hold some admin abilities via a multisig contract, and after we’ve validated the system is behaving as expected we want to relinquish those rights, and programmatically ensure that no one else can ever get them. At the current time, we have some ideas on how to do that but nothing concrete to share at the moment.
Hover Labs (the entity who we work for and who builds Kolibri) is meant to be somewhat experimental. We’ve been kicking around some ideas for some NFT based projects which involve more than just trading NFTs and we’re also interested in pursuing more DeFi projects.
In all cases, we want our projects to compose together and build on each other so that we build a Hover Labs ecosystem, which is also open to other smart contract developers who want to integrate or compose our products.
Never miss a new interview by subscribing to Tezos Ukraine on our social media channels: