There are tons of block explorers out there. Some just display basic blockchain info from full nodes, while others focus on UTXO and pruned data. But you know what we might actually need? A signature explorer.
So why is this a good idea? There are a bunch of questions around z-values. Pulling those from transactions and signed messages can be a real hassle. Honestly, it’s way simpler to just hack into the client and grab the signatures than to code something from scratch that deals with FindAndDelete, Segwit, Taproot, Bitcoin Messages, and whatever else.
Plus, signed messages are pretty similar to what block explorers show anyway. Like, instead of a scriptSig, you've got the output script from before. If we could actually see what’s been signed, we’d get a better grip on the different sighashes, the SIGHASH_SINGLE bug, s-value grinding, and more.
Signature explorer idea
6 replies 215 views
To be clear the z-values aren't part of the transaction so they are not stored in the blockchain to be "extracted". They have to be computed, then the explorer has to store this additional data on top of what they are storing (that is tens of gigabytes of additional data).
I honestly don't see the utility for such a explorer though.
Talking about different explorers, someone was recently Talking about a OP_RETURN explorer, which would allow users to search for particular messages written in the blockchain. This could be a more interesting idea imo
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#4Jul 31, 2024, 01:52 AM
Blockstream's explorer can already show the signature of each input when you toggle "Details +" button at the right-hand side of the TXID (below).
It's hidden by default since the information aren't meant for and useless for regular users.
Check if out if it satisfies your use-case.
I don't want to get only (r,s) pair, because it is trivial. I want to get data, behind a given z-value.
For example, you can see this transaction:
And then, you can easily notice this signature:
Then, extracting (r,s) pair is trivial, and anyone can do that easily:
However, to fully verify things, you also need z-value. And it is not just a transaction hash. Instead, it is that thing:
And then, you can complete the proof:
But: getting this z-value is far from trivial. And it is different, if you have different address types. It is not just a hash of the transaction, it is much more complex. For example: https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki
So, is there any tool, which would work in that way?
They don't have to "store" it, just "compute" and "show to the user". And if this is computationally expensive, then maybe it can be done on a client side, instead of server side?
It is just a bunch of SHA256 hashes, so it is not really expensive in 99% of the cases. That 1% may be those weird transactions that are big and/or are abusing certain things like FindAndDelete.
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#7Jul 31, 2024, 11:37 AM
Yeah, I'm aware that it's not the transaction's hash; in fact, I demonstrated how to do it here: https://bitcointalk.org/index.php?topic=5479862.msg63427494#msg63427494
I thought you only need the signature which is what you've asked in the OP.
Anyways, AFAIK, 2coins.org's online rsz tool that can do exactly that but it's exclusive to legacy transactions.
Paste an existing TXID and it'll automatically fetch the transaction from various blockchain API then compute the message hash.
But I'm not aware of any that will work on SegWit and TapRoot transactions, the mentioned website has contact info, perhaps they accept feature requests.
Related topics
- Bitcoin Core displaying coins (UTXOs) in a new tab 13
- Are you in favor of BIP-110? Let's get a Bitcoin poll going. 0
- Erlay seems to have some issues here’s a better proposal for a bitcoin protocol without invites 3
- New Optional Hourglass Implementation is Live 3
- Ways to earn some sats by contributing to bitcoin core development 5
- Exploring the Potential and Challenges of a Kardashev-Scale Bitcoin Network 3