Can anyone point me to the spec on this? I just keep finding Base58 specs that *do* include 4 byte checksums e.g.
https://en.bitcoin.it/wiki/Base58Check_encoding
That is Base58Check encoding. That is Wallet Import Format (WIF).
Base 58 itself (not base58check) is just a numbering system with a radix of 58 (like binary has a radix of 2, octal a radix of 8, hexadecimal a radix of 16, decimal a radix of 10, etc.)
Yes. When it is not in WIF, a private key is just a very big number. Any number between 0x1 and 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141 is a valid private key. Using base 58 simply allows you to represent that number with fewer digits (making it easier to type/write).