A public key is derived from a private key. To derive the public key you need an Elliptic Curve, Bitcoin chose to use secp256k1. Your public key is your private key multiplied by the generator point (which is a constant set in the secp256k1 standard), so it's a point on the curve
You're hashing the string representation of things, not the actual hash itself. Hash the bytes of the hash, not the bytes of its string representation.
All of the should operations are on the bytes themselves, not the hexadecimal representation of those bytes which is what you have done.
Does the private extended key give you access to spend all the funds in all the public addresses generated with that 1 private extended key?
No, the extended private key just lets you derive all of the child private keys, which would then be used to spend any funds that were sent to the corresponding public keys (addresses). The extended private key itself ...
It is not more secure to use different adress for every bitcoin you receive, it just gonna give you more privacy since it is gonna be harder to track you.
I guess the exchange use different bitcoin account then generate different adress for them just like we could, and keep a track of all that.
I think you are just confuse about the way exchange keep your ...
A wallet.dat file will contain many, many bitcoin keypairs/addresses. So there is no reason to delete an older address, and in fact this is probably a bad idea. If you or anyone else ever mistakenly sends bitcoins to that address, it will be impossible to recover them once you've deleted those keys.
If you do not have the private key for an address, you ...