I'm writing a blockchain parser and I keep running into this type of scriptPubKey in the Litecoin blockchain:
The length suggests they might be compressed public keys but there is no parity byte. I can look at a few dozens of these and all bytes vary, except for the prefix 20 which is the length.
Blockchair seems to parse these as 's-something' addresses, like this:
What are these addresses, and how is it doing that? I assume they artificially add the
s- because dash in not in base58, but I can't get anything to match the address to the right of it either.
I've tried the regular way of compressing other formats like this:
temp = prefix + hash160(scriptPubKey)
address = base58Check(temp + checksum(temp))
With and without checksum, with and without hash160. Even scanning for all possible prefix bytes I can't get the address to the right of the dash.
I've discovered that I have to base58 something with 23 bytes to get the target length, but that's about it.
Other parsers can't seem to decode this address (see links on blockchair page itself), only blockchair.