Ok now we know how our keys look like. But in order for everyone to have their own keys to prove to the network that they own some specific moneros, we need some way of assigning those keys first. But for obvious reasons, those keys must be secret to anyone else besides the owner. What could we do to create and give keys to players of the Monero game without knowing them? What’s more, how could we do it without a single key master that controls the making of keys? Because otherwise we’d have a key god that could access any monero at will.
The solution is to have a super huge box full of a gazillion keys and make every player pick a key for themselves without telling anyone. That way, it’s their secret. But people are very bad at randomness. If I tell you to pick a random number between 1 and 10, depending of your personal background, there’s a 45% chance that you’ll pick 7. We’re also very bad at faking randomness. That’s how some financial crimes are solved, by the way. Analysts find human-made patterns in spreadsheets that should have a lot of organic noise.
So when a user creates a Monero wallet using any Monero app, what that app will do is get a random number from the device, run it through some code three times for better obscurity, and come up with a individual pick from our mega huge set of possible keys. Then show it to the user, and beg for the user to write it down somewhere safe, just in case. Because life happens, phones fall in toilets, computers get stolen, etc.