Bitcoin shouldn't have anything but base58 addresses that begin with an 1.
Then tell me, should it have P2PK? Because in the Genesis Block, and in many blocks after it, coins were sent to public keys, not addresses.
the fact that an attacker needs less bits to steal all funds vs a non-HD wallet has not been disputed
Of course, because every HD wallet is in practice a single key, that is expanded in deterministic way. And if you somehow break that key, then you will access everything. But good luck with that. The famous puzzle from transaction
08389f34c98c606322740c0be6a7125d9860bb8d5cb182c02f98461e5fa6cd15 also used HD wallet.
And more than that: public keys from 161-bit to 256-bit range were revealed. Many private keys with lower ranges, up to 70-bit, are known. So what? Over 900 BTC is waiting for you, so just break a single key, and grab them all. Hmm, you don't know how? Well, maybe because it is not so easy, to compromise a HD wallet. So, don't worry too much about HD wallet security. This challenge can prove you, that HD wallets can be safe, otherwise you would sweep all of that instantly, if you would know some weakness.
no excuse to not support it
But they are supported. You can have a descriptor wallet, and load each and every key from WIF manually. So, what exactly is your problem?
Edit: For example, let's assume that you are purist, who wants to use only compressed P2PK with descriptor wallet:
createwallet "" false true
{
"name": ""
}
listdescriptors true
{
"wallet_name": "",
"descriptors": [
]
}
getdescriptorinfo "pk(KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn)"
{
"descriptor": "pk(0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798)#gn28ywm7",
"checksum": "c6fur0yd",
"isrange": false,
"issolvable": true,
"hasprivatekeys": true
}
importdescriptors '[{"desc":"pk(KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn)#c6fur0yd","timestamp":"now","label":"one"}]'
[
{
"success": true
}
]
listdescriptors true
{
"wallet_name": "",
"descriptors": [
{
"desc": "pk(KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn)#c6fur0yd",
"timestamp": 1231006505,
"active": false
}
]
}
See? It works. If you replace "pk" with "pkh", then you will get your favourite addresses, starting with one. So, just migrate your old wallet, and enjoy it. And you can still use the old wallet, if you want to. Nobody would stop you. Or you can call "createwallet" manually each time, when you want to get a new address. It is up to you.
P2PKH is the
saftersafer available option. When it comes to P2SH/P2WSH, the problem is the potential anyonecanspend attack vector. If after reading about that you are still okay
with it, then keep using addresses that do not begin with 1, but forcing this unto everyone else is a mistake.
Similarly, if you are ok with having a single point of failure were a single seed compromises all your existing and future addresses, then go for it, but do not force this unto others.
What you suggest is I think, migratingMigrating the wallet with the migration tool. But this will convert the wallet from non-HD to HD. I don't know what happens to existing keys. I assume the existing keys are not part of the new seed, so they wouldn't be exposed to this single point of failure risk, but any future keys will be derived from the new assigned hdseed key. Descriptors per se are not the problem, but the single point of failure that is hdseed. It is not possible to create a non-HD wallet with current Core software as far as I know. They are also disabling or going to disable importing and exporting private keys "to protect users". So you are basically forced to use the migration tool, which means your wallet is an HD-wallet.
If you create a blank wallet, you cannot generate new addressess since it has no hdseed, and if you cannot import and export private keys separately from your old wallet, then im not sure what you are suggesting there.Having the keys isolated with each
having it's own private keys is better. This makes it more cumbersome to deal with it, so what. Having to use some old computer to avoid Intel's/AMD spyware is also more cumbersome, but that is the only option we have. 99% don't do this, and this is part of the problem. HD wallets may be more handy, but introduce risks, same thing. Because Intel and AMD make it hell to flash their BIOS', you are forced to use older computers. Now Core wants to do the same with this or force people to relay spam. The conclusion is that one must run Knots to at least have the options to choose what to do with your keys and what is relayed by your node. None of this breaks consensus, so it should be up to the user, not to some so called developers which kick opposition, that isn't even trying to hardfork the network as others attempted.