The address
Knowing what the string actually is explains every attack on this page in advance.
It is a key, not a name
Fifty six characters of base32 plus the suffix, computed from an Ed25519 public key rather than assigned by anybody. No registrar, no application, no list. Holding the address means holding the matching private key.
Two consequences pull in opposite directions. No authority can take an address away, which is the property the design exists for. And no authority can confirm one belongs to whoever claims it, which is why a signature is the only thing that settles anything.
Why forgeries look the way they do
You cannot choose an address, but you can generate keypairs until one starts with characters you want. That is ordinary and it is why real addresses begin recognisably.
| Matching | Cost |
|---|---|
| Four or five characters | Seconds to minutes on a laptop |
| Seven or eight | Hours to days, entirely practical for somebody motivated |
| Twelve or more | Not feasible |
| The whole address | Impossible, and everything rests on this |
Things that are not the problem
- Confusable characters. Base32 as used here excludes visually ambiguous pairs by design. An address that looks slightly off genuinely is off. Never a font issue.
- Case. Onion addresses are case insensitive, so mixed case somewhere is formatting rather than a different address.
- Length. Always fifty six characters before the suffix. A sixteen character one is from a retired protocol version and has not resolved for years, which makes it an instant answer about whatever published it.
Why a retired address is the dangerous kind
An address that never worked is harmless, because nothing happens and you move on. One that used to work is the problem, because it carries years of accumulated recognition in old posts, archives, directories and bookmarks.
Anyone answering at something resembling it inherits all of that for free, and the traffic arriving from old links is disproportionately people who recognise the address and therefore do not check it. This is why an address that was dead for a stretch and starts answering again is not a recovery. Nothing retired returns under the same string.
The practical habit is small: copy from a published list rather than retyping, delete rather than archive when something drops off, and verify on arrival regardless of how familiar the string looks.