Here is an article that explains the concept of child keys in BIP32 in a way that even a five-year-old can understand:
—
What’s going on under the hood when we talk about Bitcoin and Ethereum wallets?
Imagine you have a super secret box where you keep your favorite toy. You want to share it with a friend, but you don’t want anyone else to know what’s inside.
In digital wallets like Bitcoin and Ethereum, there are special “keys” that help control access to the toy (wallet). But how do they work?
Let’s talk about two types of keys: Child-Kids and Hardened Child-Kids.
Child-Kids Keys
Imagine your friend wants to borrow your secret box. You say, “Okay, you can look inside, but just for a minute.” It’s like giving them a Child-Key.
A Child-Key is a copy of the original key that doesn’t contain all the information about the toy (wallet). Think of it as a simplified version of a toy. This Child-Key is good for borrowing things from the owner, but not for storing real toys.
Hardened Child-Keys
Now imagine your friend coming back and saying, “Hey, I borrowed your secret box, but now I have to keep it safe!” You say, “Okay, here’s the Hardened Child-Key. This one has all the information about my toys (wallet).”
The Hardened Child-Key is just like the original key itself! It’s a special version that includes all the information about the toy (wallet). But unlike a regular Child-Key, the Hardened Child-Key can’t be easily copied or shared with others.
Why are they different?
Think of it this way: if someone has a super long password to get into your secret box, the Child-Key will only give them access in a minute. The Child-Key won’t protect the toy (wallet) itself.
But when you create a Hardened Child-Key, you create a special key that can only be used with the actual toy (wallet). That way, even if someone gets a copy of your Hardened Child-Key, they won’t have access to all of your toys (wallets).
In BIP32
Bitcoin Improvement Proposal 32 (BIP32) is a set of rules for creating and managing digital wallets. In BIP32, child keys are generated based on a parent key (the source key). The idea is that when you create a wallet, you can choose to use either a Child-Key or a Hardened Child-Key.
When you generate a Child-Key, it’s like creating a simplified version of your toy (wallet). But if you want to store all of your toys (wallets) securely, you should use a Hardened Child-Key.
So, to summarize: child keys are like simplified versions of the original key, while strengthened child keys are like the original key itself. They are designed to protect your digital assets from unauthorized access and sharing.
Hope this helps!