Probably not
I've never used VanitySearch (because I hardly trust any new software), and I don't know how it works internally, but I would expect it to generate a new random private key after finding a match. I think it's okay to add "+1" from a random number to search the next one (which I expect to be much faster than generating new private keys all the time), but two similar private keys shouldn't happen.
I'm just using the official build, unaltered. (OS: Windows 10 with the latest security updates)
Just found another 2 even more similar private keys:
0x90AD2D51198584C695F79D27512B147C865C7093E10065F4B4363881C882C87D
0x90AD2D51198584C695F79D27512B147C865C7093E10065F2B4363881C87CF970
PubAddress: bc1q22ace8n7qwe3xtazp05x6vl8fy7mkf5cwznnp5
Priv (WIF): p2wpkh:L24wedqSrZsKNmmF33fxZj75Xz4P4K562VzHKJCE4Q2p6TrBoJha
Priv (HEX): 0x90AD2D51198584C695F79D27512B147C865C7093E10065F2B4363881C87CF970
PubAddress: bc1q22acevaq6x6r4867ay2n73qfgjlcj95pzrxx9x
Priv (WIF): p2wpkh:L24wedqSrZsKNmmF33fxZj75Xz4P4K562WivkuVB3vnYXXDimUkL
Priv (HEX): 0x90AD2D51198584C695F79D27512B147C865C7093E10065F4B4363881C882C87D
At this point I'm guessing this is due to performance optimizations made by the developer?
Can anyone try to reproduce this?
I'm using the following search pattern: bc1q22ace
Yes, this can happen and is expected behavior.
If you do not use the rekey function then the program spaces out the threads, CPU or GPU, and then with each thread, searches sequentially.
You are using a fairly simple vanity/not a huge difficulty level,
Difficulty: 33554432
Search: bc1q22ace [Compressed]
So you will find many of those if you let the program continue to run.
I am surprised LloyceV would say it should not happen because I know he knows about vanity addresses/search. If one is searching for 1Bxyz, in a given range, you will find many, and obviously if you are searching in a given range, many keys will be "close".
Even if you use the rekey function, but are searching for an easy vanity, you could get keys in which their private keys are close in nature. If you use the rekey, it generates random starting points for each thread and then searches sequentially until the rekey number is met; then it rinses and repeats.