Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explorer: Proof of Reserves #317

Open
Tracked by #337
orkunkilic opened this issue Sep 24, 2024 · 6 comments
Open
Tracked by #337

Explorer: Proof of Reserves #317

orkunkilic opened this issue Sep 24, 2024 · 6 comments

Comments

@orkunkilic
Copy link
Member

orkunkilic commented Sep 24, 2024

Proposal Description

Traditionally, all kind of bridges provide some easy to use interface to check proof of reserves. We should have a similar interface.

Ideally, user should be able to see truncated list of individual UTXO's that locks bridge funds (10 BTC), and a button to check UTXO balances with cBTC on Citrea on client side.

We can use bridge-backend's, any operator/verifier's DB, or brand new explorer for Clementine UTXOs. I prefer using existing infra.
Client side checking the balances is easy with electrs/mempool. Client side checking cBTC on Citrea (- bridge contract) should be engineered somehow.

Let's keep this issue as meta and open smaller issues as we decide on details.

River.com
WBTC

@ekrembal
Copy link
Member

A simple client side ui that will asks bridge events from the given citrea rpc

for deposits we know the utxo, it will ask mempool space about it.

for withdrawal, we can know which operator paid it, how much amount it was paid, and what was the tx paid the withdrawal.

All can be done with a simple citrea rpc and api access for smth like mempool.space

@orkunkilic
Copy link
Member Author

for deposits we know the utxo, it will ask mempool space about it.

How do we know, through bridge-backend? Is this verifiable? can you look to UTXO and determine that belongs to Clementine? It doesn't have to be verifiable - just wondering the details.

@ekrembal
Copy link
Member

it is musig2, we can also verify that the scriptPubKey belongs to a musig2 that is an aggregated key of every public keys

@ekrembal
Copy link
Member

utxo is written in the deposit event, to make a deposit you show an SPV proof

@ekrembal
Copy link
Member

@orkunkilic
Copy link
Member Author

Started some here: https://github.com/chainwayxyz/clementine-explorer

Preview: https://clementine-explorer.netlify.app/

Cool! Though don't spend much time on frontend UI part - I think the correct way to implement an explorer is to do smth similar to batch-explorer and embed to citrea.xyz. For the PoR - we can use this app's scripts in frontend to handle everything on client-side.

@ekrembal ekrembal mentioned this issue Oct 14, 2024
34 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants