4

I've obtained a list of all current Bitcoin addresses with balances from Blockchair, which is downloadable from their data repository located here. I have downloaded the Bitcoin / Addresses TSV database dump.

The list consists of:

  • ~23m P2PKH (1xxx) addresses
  • ~5.8m P2SH (3xxx) addresses
  • ~1.3m Bech32 (bc1xxx) addresses

However, there are also ~400k addresses that have prefixes that I don't recognise, including:

  • d-xxx (example: d-b697921d996831d1a26ca8d8e92571c1)
  • m-xxx (example: m-942943e227462513f33c4f32ec6f1e56)
  • s-xxx (example: s-2ad548f2459c0ed6123400e5d61a479e)

Are these valid Bitcoin addresses?

If they are, how do I view information about them?

If they are not, any idea why they appear in the dump of current Bitcoin addresses from Blockchair?

7

Having investigated this following @MCCCS answer, the following is information about the addresses provided by Blockhair support:

In fact, there are no addresses on the Bitcoin blockchain. There are only scripts, some of them are standard and can be converted to a Bitcoin address, some of them can’t — like nulldata (OP_RETURN) outputs, nonstandard, and bare multisig. We use the d- prefix for nulldata, m- for bare multisig, and s- for everything else.

This is briefly mentioned in this API documentation section: https://blockchair.com/api/docs#link_300

Therefore, these addresses (for want of a better word) are valid transactions on the Bitcoin blockchain.

The prefixes used are:

  • d- nulldata
  • m- bare multisig
  • s- everything else

In conclusion, the data is valid but the outputs are not addresses in the normal sense of the word.

A link to the issue I raised on the Blockchair GitHub is here.

2

Those are invalid addresses that don't belong to any cryptocurrency. You should file a bug report at https://github.com/Blockchair/Blockchair.Support/issues since those might even be their database secrets.

Those are of 16 bytes. My initial guess about their format would be SHA-1, but Bitcoin does not use SHA-1. Probably it's related to their database.

For example on this page https://blockchair.com/dogecoin/address/942943e227462513f33c4f32ec6f1e56 it seems Blockchair thinks 942943e227462513f33c4f32ec6f1e56 is a valid Doge address. It's not.

To prevent this from happening again in the future, they could implement input sanitization before INSERT statements

2
  • 1
    Thank you. I've raised an issue on their support forum: github.com/Blockchair/Blockchair.Support/issues/273 – Martin Jul 2 '20 at 9:29
  • 1
    I've received a response from Blockchair support and provided the outcome in a separate answer. Thank you again for your input, which ultimately led to me finding the answer! – Martin Jul 10 '20 at 11:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.