Hey everyone! Welcome to this Tuesday edition of Crypto AMA.
Extremely excited to be hosting Keep today. Let’s give a warm welcome to Matt Luongo (Project Lead), Antonio Salazar Cardozo (Head of Engineering), and Laura Wallendal (Head of Growth)!
As a reminder for everyone participating—please keep the discussion respectful at all times.
@matt @antonio @laura—could you guys start off by giving us brief bios on your background as well as how you got started in crypto? And then a short overview of Keep / tBTC and a brief update on your progress to date? We’ll then be off to the races with questions.
Thanks Spencer!
Sure, a little bit about us. I'm an engineer by training, and a year out of school I founded a search startup with my co-founder, Corbin.
I got into crypto in 2013, and made the jump to full-time in 2014 when we built Fold. Fold was (and in fact still is) a Bitcoin 1.0 company focused on spending bitcoin at major retailers.
I'll let @antonio and @laura share a bit more about themselves
Sure!
👋 I’ve been in crypto since early 2016 when I started working with Matt and his co-founder Corbin on growth for Fold and the gift card exchange Card for Coin.
Before that, I was steeped in the startup world. I ran marketing and operations for an edtech company that I co-founded and then worked as a marketing and sales strategist for early stage to post series-A companies in a wide range of different fields from farming to software.
Excited to be here 🙂
Hey folks! I've been coding since well before I got a CS degree, and made my way through an edtech startup and a company in the supply chain industry in various individual contributor and technical leadership roles.
I met Matt and Corbin when I was doing edtech stuff and started hearing about crypto when he and Corbin took the dive, but only really got into it myself a couple of years ago when Matt talked to me about starting Keep. Needless to say, it's been a wild ride already 🙂
Looking forward to the questions!
Keep came about from some frustrations I had working on Fold. In 2017, I started looking for a opportunity to decentralize parts of the business (that sweet regulatory arbitrage...) and dove deeper into Ethereum.
Most of the stuff that frustrated me on Ethereum as an app dev was pretty mundane. I wasn't concerned about mixers, financial privacy, or fungibility- all cool, but not problems I had. I just wanted private variables. Eg how can a dApp or DAO manage SSNs without spewing them all over 1000s of geth nodes? What about encrypted files? Or a Bitcoin keypair?
What were the biggest technical hurdles you had to overcome while developing tBTC?
What's the timeline from here?
Let's hold off on questions guys until we finish intros!
One sec and I've got you, I'm on a tiny laptop keyboard :)
The need for private data access for smart contracts between users is what led to Keep. The first class of apps we built support for was decentralized signing - it has huge implications for custody and interoperability
To that end, we've built a robust random beacon and work token that's just entered private testnet with Figment and Bison Trails (and Staked around the corne), and a bonded threshold ECDSA protocol enabling smart contracts to sign material off-chain
Which... is fairly esoteric, and difficult to describe to a random dApp developer 😂
After a little baiting by @charlie we decided to build the obvious first use case - a decentralized, properly permissionless bridge between Bitcoin & Ethereum
We're calling it tBTC. Next week, we're demoing a dApp that allows anyone to deposit Bitcoin, and mint a corresponding token- TBTC- on Ethereum. But the real trick is allowing any TBTC holder to trustless redeem TBTC for the backing BTC, maintaining a trustworth supply peg. No KYC, no middlemen, no weird economics stapled on- and mostly devoid of moon math.
The goal here is to maintain all the properties of the underlying BTC, as best as Ethereum allows. Censorship, seizure, and inflation resistance.
Okay let's do this thing
*slow claps*
Super exciting stuff. Thanks for sharing guys. Let's open it up for questions!
First I just want to say thank you for taking the time today. This is exceptional and pioneering work! Now, my two questions:
1. Do you have any plans to help bootstrap tBTC liquidity in the early days?
2. Building a BTC bridge on Ethereum seems like the natural first step, but what’s next after that? Do you plan to bring tBTC support to other turing complete blockchains like Tezos?
Technical hurdles
* from a mech design perspective, the first revision required a whopping 2.5X total system collateral - 1X BTC and 1.5X ETH. Since then, we've realized a fix that gets us to more like 1.4X cross-system. Way more satisfying
* Also like omg, low-level Bitcoin script is a lost art. James Prestwich leaned in heavily, and the whole Summa team has been killer
I think we can all immediately grok why having TBTC could be transformational for things like the DeFi space. That said, I think it's worth orienting the investors and builders in this room a bit with the current landscape of BTC solutions on ETH. Can you walk us through those, what are some of the major issues with them?
👋
@matt mind quoting + reply (i.e. right click the message)? Easier to keep track of Q&A - thanks!
Derp, forgot TG doesn't do markdown- will do
Sure! Today, there's a couple interesting approaches.
One is cross-chain swaps, which James et al can tell you all about. They're powerful, but by themselves they aren't the best fit for using BTC as collateral on an expressive chain
Another is federated approaches like WBTC (and Liquid on the pure BTC side). Those approaches help expose BTC on other chains, but they aren't censorship resistant
For example, if someone in Iran wants to redeem WBTC for BTC- well, it's not going to be pretty for WBTC's custodians, and will likely mean a tainted coin and denied redemption
Waiting very patiently here :)
Yes! I've got ~300 BTC set aside in-house, and closer to 2500 in total liquidity committed out of the gate
I'm also happy to help anyone who wants to lend their BTC out in a trust-minimized way when we launch- DMs welcome :)
> 2. Building a BTC bridge on Ethereum seems like the natural first step, but what’s next after that? Do you plan to bring tBTC support to other turing complete blockchains like Tezos?
You've got it. Cosmos, Tezos, Polkadot are all obvious next steps. We've been planning for Keep to go cross-chain from day one
😍
Makes sense. Are there any other trustless approaches you're aware of?
Ren announced a thing yesterday, but it's still light on details. From what I've seen privately of the design, it looks like it relies on trusted nodes :/
It's the closest I've seen announced though, and I imagine they'll try to fix that
I was just going to ask about REN. It is trustless afaik.
The MPC isn't bonded
So perhaps trustless against a passive adversary- not anyone who's staking and maliciously running a node
Do you foresee any reason to implement cross chain swaps for tokenized equities?
Also - do cross train swaps make sense? Because trains are pretty slow
Actually, we've had this request from a project working on Algorand- to use Algorand as a speedy ST sidechain of ETH
😜
Can you please explain a bit how MPC is used here to facilitate tBTC?
Yes! It's surprisingly simple. We *only* use MPC for more efficient federated signing per deposit
So each requested deposit creates a new signing group with a new Bitcoin address. You deposit to that address, and prove your deposit to mint tokens on the ETH side. When it comes time to redeem, that signing group uses threshold ECDSA to generate a signature
Hey everyone!
Can you explain how the UX for BTC depositers will look?
At the end of the day, you could do the same with Bitcoin multisig- it'd just be far more expensive to validate / track on the ETH side, and there's a lower ceiling for the total number of signers
Hey Tom! It's actually a single dApp- you load it up via our site or locally, you request to make a deposit, you're presented with a QR code / address to send your BTC, then wait for a confirmation. After that, you click a button that says "submit proof" and your TBTC is minted
The white paper is great, but fairly technical. I’m doing my best to grok it so I can explain it to others. I realize this may be a big ask, but can you try giving a high level overview of a tBTC mint/redeem cycle in layman’s terms? What kind of security and censorship resistance guarantees can the system credibly claim?
What are some other applications besides tBTC that you can envision being built using the Keep network? Has this changed at all from the examples in the original Keep whitepaper?
You've got it.
Here's the most important idea re: how robust this design is. Instead of using a single wallet / federated peg like eg Liquid, each BTC deposit gets its own federation. That means that a single wallet or deposit can fail without jeopardizing the fungible token. We're calling it a "bonded, multi-federated peg" in Bitcoin-speak
Once you've made a deposit, those custodians are bonded either 1X in TBTC or 1.5X in ETHBTC- so if they do fraudulently move money, the system has strong recourse and seizes their bond. Those bonds are used to replace the lost TBTC and maintain the supply peg
How long does this process take in total? Is there anything preventing this from being integrated with other DeFi flows (e.g. opening a CDP, lending on Compound)?
In the short-term we want to focus on the interop / custody solutions. Keep is a great pick for some things like cross-chain stake delegation, for example, as well as estate planning and fancy wallets
There are some variables here, but really think ~1-2 confirmations on the BTC side. This is completely composable with Maker, Compound, etc, even at the browser level
Is the return for someone who bonds collateral market? How does that work with 25 basis-point custody fees?
Other stuff that's easy but less validated by the market- decentralized dead man switches, private file sharing markets on Ethereum. It's cool stuff, the hard part is mostly deciding "what's next"
Struggling to parse this, but worth noting that all fees are subject to change- "parameterization" will be right before mainnet, since we want a full discrete event simulation to estimate failure rates, etc
hey guys. first off - congrats! think its a very elegant solution. really enjoyed the wp.
1) interested to see from the outset that part of the motivation is to provide 'inflation resistant' cross-chain BTC exposure. would you agree that 'inflationary' exposure via synthetics is an inevitability (assuming some trustlesss solution to 'oracle problem')? already seeing it happen via derivative products.
2) what do you think the implications are for BTC from security perspective if majority of BTC-related economic activity takes place on host chains?
Hey All - Thanks for joining us today. 2 Qs pls: 1) Where do you expect the bulk of the demand for tBTC will come from? 2) You mentioned focusing on UX and driving an initial liquidity pool, both will help with distribution. Could you please share your thoughts on how to increase distribution for tBTC beyond liquidity and UX levers?
This is along similar lines as a couple other ?s but given the opportunity cost of capital can you talk a little about the incentives for signers, projected fee structure, and any other plans to entice greater signer participation?
Let me try to re-phrase. If I tie up collateral equal to 1 BTC, I assume I am giving up a market-driven yield from other options. Is there an economic return for doing so?
1) Oh yeah, we can't prevent eg Maker building BTC-DAI- that's just not what we're building. I think there's a strong desire for a hard-backed token first, especially as it can open up a ton of liquidity from Bitcoiners
2) Great question! In some ways, it's exactly what the Bitcoin community says today- "oh, that should happen on L2". Since tx fees pay for security, I could see it going well or poorly- time will tell
Going to try to touch all of the fee / return questions here.
If you deposit 1 BTC, the custodial fees for a 6 month deposit are withheld from that to make sure signers are paid. That said- if and when your deposited UTXO is redeemed by another party, you are rebated those fees plus a small reward.
This moves the friction / cost of the system onto redeemers rather than depositors.
The reason to go from BTC to TBTC is going to be access to markets like Compound et al on the Ethereum-side
Thank you!
I tried to address some of this in the other comment 👆 , but the part I missed is "signer participation"
Part of that is driving up signer revenue. On the one hand, we want it to start low to incentivize early deposits, on the other we want to grow it and ideally reach a market equilibrium. Right now, this i a centrally planned parameter that I'm desperate to plug in to the market
The other big component is lowering collateral requirements. Getting the total collateral down by allowing signers to post TBTC and not require extra ETH exposure means a great deal. The other way that is a little earlier on our side is putting all bonds on Compound by default, meaning all signers get some approximation of the risk-free-rate atop their signing fees
1) Great q! It's all about DeFi, first, but I also think there's an opportunity for any hit we've seen with ETH to now be made open to BTC holders. PoolTogether with BTC for a Bitcoin savings account lottery sounds pretty cool
2) Getting buy-in from DeFi teams will matter, dApp interest will matter. Hard to say in the same way that it was for BTC- "what's the killer app? I dunno, money"
@matt what is the purpose of the random beacon?
And similarly, how might other projects leverage the Keep random beacon? By forking the code?
Good question! Internally we like to say "a system is only as decentralized as it's most centralized part". There's an entire class of attacks you can pull off by choosing the members of an MPC group, so the beacon + token is a strong Sybil resistance mechanism
Thanks Matt!
They can use the one we're launching! We try to build "modular incentives"- so all of the pieces in our stack can be built on by another team without a loss of functionality, and without jeopardizing higher up the stack
We've got a toy demo app we published a while back. We've also got a slightly less toy demo launching with the beacon at the end of the quarter- teams can use those as templates
Would this mean using the Keep network?
Indeed! No need to hold any tokens or any other nonsense- their apps can just pay in ETH, wait a couple blocks, then get a robust, unbiased random number
Since the beacon is backed by quite a bit of money, it's *should* be somewhat fork resistant. Beacons without much money at stake are easy to cheat
Makes sense, so this naturally makes your system censorship resistant assuming true randomness and a large distributed group of signers. Follow ups: How many members are in each signing group? What are the max number of Bitcoin that each signing group can custody?
I like it :)
We have two different groups here- the beacon signing groups and the BTC groups. For the beacon, expect 50 - 100 per group.
For the BTC groups, we're still stress testing and working on gas costs, etc. Expect 15-50 signers per deposit- that should be enough to get a good spread across multiple jurisdictions. RIght now, we're assuming a fixed deposit size of 1 BTC rather than floating deposit amounts. While that might be made lower before mainnet, we won't be introducing mixed deposit sizes until v2 as that comes with a bunch of baggage
Either way here, you're ensured the same $ amount of protection via bonds- so this is largely about cost and making sure no three-letter agencies try to block redemptions
Got it. Makes sense.
how expensive is this to operate? who is paying for the fees, and how much?
trying to understand the economics in the long run — is this decentralized network systemically more expensive to run than wbtc? (I would assume so)
Depositors put fees down, redeemers pay. This is one of the few centrally planned parameters right now, and it's a wide range until we finish our sims and launch- 25-150 basis points per 6 month deposit
Does TBTC expire or can it be outstanding indefinitely?
Actually I expect it to be cheaper than WBTC long-term- you're opening up the potential custodians to anyone with capital and the ability to run the system
Individual deposits have a fixed lifetime, but the fungible TBTC is indefinite.
Thanks Matt!
What informed that design choice?
Paying signers. Eventually they need permission to unbond :D
Gotcha. Also, can you talk about how the redemption process works? What is the incentive to redeem TBTC?
10-minute warning. Get your last-minute questions in!
One more from me! Do you expect TBTC to trade at a discount to BTC? Interesting that WBTC doesn't trade at a discount.
The big idea- a depositor creates a deposit, then becomes the "beneficiary". Anyone can redeem a particular deposit- not just the beneficiary- and deposits gets cheaper and cheaper to redeem after their 6-month term. After term, you'd expect a signer might redeem their own deposit to get their fees and redeploy capital.
As far as actual redemption, you return the TBTC + the original deposit fee to cover signing costs. The signers have a timeout to prove successful redemption before bond seizure
Going to be really interesting to see in / outflows across the two chains
This piece is fascinating. I'd expect it could trade above, below, and at parity depending on whether there's a growing or shrinking market cap and deposit / redemption friction
But really this is a great data point for how immature this market is. You give up your bearer bond to hold WBTC and it's priced the same?! Madness 😂
This has been really great, thanks Matt!!
Thanks so much for having us folks!
Yup, time to wrap this up! @matt any details on launch timeline for interested folks? also, best way to stay up to date and get in touch?
Yes and yes.
We've got a private launch event next week in SF with some stellar teams in the interop space- DM me and I'm happy to get you on the list. As far as keeping in touch and getting updates, happy to chat on Telegram or have you in the Keep Slack until the tBTC announcement goes
In summary, "hit me up" 😄
Love it. Thanks guys for coming on today!
🙂 Thanks so much!
Thanks y'all!
And thanks everyone for tuning in and asking thoughtful questions. Until next time ✌️