Read the middle
The cheapest improvement available, and it takes about five seconds longer than what most people already do.
How people read a long string
Shown fifty six characters of unpredictable text, almost everybody reads the first four or five, glances at the end, and accepts it. That is how reading works: long random strings get sampled, and the samples are the boundaries.
Forgery is built around that. Matching a recognisable opening is cheap, matching the middle is not worth the compute, and matching everything is impossible.
| Matching | Cost to produce |
|---|---|
| Four or five opening characters | Seconds to minutes on an ordinary machine |
| Seven or eight | Hours to days, still practical |
| Twelve or more | Not feasible |
| The whole address | Impossible, and everything rests on this |
The one exception
A substitution on your own machine replaces the whole string rather than resembling it, so it is caught by checking the ends of what actually landed in the field. That is rank nine, and it is the only place where the quick check is the right one.
Things that are not the problem
- Confusable characters. The alphabet used here excludes visually ambiguous pairs by design, so an address that looks slightly off genuinely is off. Never a font issue.
- Case. These are case insensitive, so mixed case is formatting rather than a different address.
- Length. Always fifty six characters before the suffix. A shorter one is from a retired protocol version.
What the address actually is
Fifty six characters derived from a public key rather than assigned by anybody. Nobody registers it, no authority can revoke it, and there is no possible dispute about who owns it, because holding the corresponding private key is the ownership. That is why the string is unmemorable, and the unmemorability is a consequence of the property that makes the whole scheme work rather than a design failure.
The comparison that removes the judgement
- Paste both strings into the same plain text field, one under the other.
- Look at whether they line up. Two identical strings on consecutive lines are obvious at a glance and two differing ones are not.
- Or use a tool that reports an exact match, which is better than any amount of careful reading.
- Keep the current set in a file you control, so the comparison always has something to compare against.
Reading carefully is the fallback rather than the method. Human attention is bad at long random strings on the hundredth repetition, and the method should not depend on being unusually alert that day.
Where the near miss shows up
Search results, forum replies, message threads, comment sections, and lists that were accurate when written. Rarely anywhere that presents itself as suspicious, because the whole point is to appear where somebody already trusts what they are reading. That is why the check is on the string rather than on the source, and why rank four reaches careful readers.