Can I build a fractional reserve mint which accept 1 satoshi, and issue a 1 BTC eCash?
@calle would you be able to expand on this point about mints and auditing supply? this particular comment may be a bit facetious but the issue didn’t seem to be covered too deeply in the waxwing video, just acknowledged as a bit of a problem that needed more research. Unless I missed it? The video was great video though, loved it. Great intro to the topic. Thank you 🙌
reply
What I mean is: how do users know the total supply of minted coins isn’t fractional? Is it possible to do some Proof of Reserves or something?
reply
This is something we've been discussing very intensely in the last few months and afaik there is no perfect solution for this (yet?). First of all, Cashu is 100% Lightning and as long as you can't audit the balance of a Lightning node, that won't be possible really. But let's assume it was an on-chain wallet with full auditability. Now you know how many BTC went into the mint. How you know how many ecash tokens went out of the mint?
There are a couple of options but one solution I find interesting is having users post a proof on a third party site (controlled by a separate entetiy than the mint) that they received tokens from that particular mint, which would establish at least a lower-bound of issued tokens. The mint could post seen secrets to that site to account for spent tokens.
Question is now, how do you get the upper bound and that's not that easy. The mint could print itself infinitely many tokens without anyone realizing it. If you want to tie each token to, say, a UTXO or a Bitcoin transaction you need something like a global state... and you end up building a blockchain again.
If anyone has ideas, please share them. Happy to discuss, this is an ongoing research question afaik.
reply
Thank you for such a detailed answer, appreciate it. Does sound like a difficult problem to solve. Did Chaum write about it back in the day I wonder. Going to be interesting to see how it evolves. All the best with the project then. Thanks 🙌
reply