Because when I delete my wallet and recreate it from the seed (the 12 words), all the transactions appear as well as all the addresses with funds. That's what scares me.
For the moment I still don't understand.
That is a feature of the seed. It is about as secure as your private key, because the number of permutations is similar with both.
Everything I say is wrong, it's just an example to popularize, same for the Pythonn, I can do it in C or other it was an example, not to be taken literally.
Nope. Unfortunately the most optimized code ever cannot bruteforce at millions, much less billions of times per second.
[1]
https://btcrecover.readthedocs.io/en/latest/GPU_Acceleration/Let
If my seed is :
word1 word2 word3
And I do a brute force, and the brute script tells me that the words : word1 word2 word3 are a valid wallet, it's over ?
What prevents a person from having access to the wallet?
Nothing. However, you have correctly demonstrated why we have a 12 word seed instead of a 3 word seed.
A simple demonstration would be using the word list to randomly generate a 12 word seed and iterate through the permutations and determine the number of iterations it takes to find that exact set of 12 words. The problem is there are 2048^12 (5.4445179e+39) possible permutations of it. You need to iterate at a rate of (10^30) to be able to find a seed in 5 centuries. That would be a factor of 21 over a billion, which is impractical, especially given that we established that the overheads makes this a very inefficient process.