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

Track coins lost due to committing to invalid BIP340 public keys #6

Open
vostrnad opened this issue Sep 13, 2022 · 6 comments
Open

Comments

@vostrnad
Copy link

Inspired by this article: https://suredbits.com/taproot-funds-burned-on-the-bitcoin-blockchain/

There are P2TR outputs on mainnet whose 32-byte scriptPubKey commitment isn't a valid x-coordinate of a secp256k1 point as specified in BIP340, and so are forever unspendable. The article shows an example output that burned 0.0002 BTC.

@anders94
Copy link
Owner

anders94 commented Jan 4, 2023

Thanks for pointing this out. I'll take a look to see how pervasive this issue is.

@anders94
Copy link
Owner

As the blog post points out, there aren't tools to verify BIP340 compliance for public keys so I'm going to have to write something to check this. As you can see, I'm not on this full time so I don't know when I'll be able to get to this. I'm open to whomever would like to help.

@0xSaksham
Copy link

@anders94 I've been learning so much from your website's blockchain demo, I would like to help here.

@anders94
Copy link
Owner

Thanks @0xSaksham for the offer of help. I haven't had the time to work on the above if that's something you can help with...

@0xSaksham
Copy link

0xSaksham commented Mar 20, 2024

Please lead me to helpful resources related to the project.

@anders94
Copy link
Owner

Look at the secp256k1 parameters and make a tool that checks to see if the x coordinate is on the curve. Reference the above article and this: http://www.secg.org/sec2-v2.pdf - you could also look at the various implementations and wrap one of them in a try / catch block or something.

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

3 participants