You did it twice because nothing seemed to happen
Mars market mirrors
marshjhtog245vzjzcicnmv2ci6yljibvdm4pngq5kmkfvcutppboxad.onion
marsiujka6lrsaqpnxiwvknthhzsrlmq77mnl2fi62guc4lwxif65syd.onion
marsmtbwtxkohhpu34m4jkwcntian7n257wsex5tbkmsjdjrsz6me3yd.onion
Printed as supplied, in no order. Nothing here is watched or timed, so an address that opens is not proof of anything. More about the set
The page hung. Nothing confirmed. The reader went back and did it again. Now there are two orders, or two transfers, or two support tickets, and the market is accused of double processing.
The market processed exactly what it received. It received two of them.
- Responsible
- You. The second action was a real action and the system had no way to know it was meant as a retry.
- Usually blamed on
- The market, for a broken interface, or the network, for eating the first attempt.
- What follows
- The cure is a waiting rule, decided in advance, applied when it is least comfortable to apply it.
Why the interface cannot save you
A page that hangs has told you nothing about what happened at the far end. The request may never have arrived. It may have arrived and been fully processed, with only the reply lost on the way back. From your chair those two look the same and there is no display that distinguishes them.
Over Tor this is more common than on the ordinary web, because a circuit can fail at any hop after your request has already gone through. The request is not the reply. Losing the reply does not undo the request.
Where it hurts most
| The repeat | What it actually costs |
|---|---|
| A repeated payment | Money already moved. There is no undo, and recovery depends on somebody else being willing |
| A repeated order | Two orders exist against one intention, and cancelling one is a request not a right |
| A repeated message | Mostly harmless, but it makes you look frantic to somebody deciding how to treat you |
| A repeated dispute | Actively harmful. Duplicate cases make a genuine complaint look like noise |
The rule that prevents it
Before repeating anything, refresh and look. Then wait. A useful pause is longer than feels reasonable, because the feeling is the problem being solved. If the action involved money, do not repeat it at all until the earlier attempt has been accounted for, however long that takes.
Write the rule down before you need it. A rule invented while staring at a hung page is not a rule, it is a rationalisation, and it will conveniently permit whatever you already wanted to do.
What follows from getting it right
The obvious gain is that the duplicate stops happening. The less obvious one is that the reader stops making a bad situation into a complicated one. A single unclear transaction can be asked about plainly. Two transactions, one of which you created in a panic, is a conversation you now have to explain your way through.
When the hang really was the network and not the market, the mechanism is described under a page that half loaded. Knowing that does not change the rule. The rule exists precisely because you cannot tell at the time.
What to do while you are waiting
The waiting is the hard part, so give it something to do. Write down what you did, at what time, with what amounts, before you do anything else. Two minutes of notes taken while the memory is fresh is worth more than an hour of reconstruction later.
Then go and look for the evidence that the first attempt landed. An order list. A transaction that exists on a chain whether or not any page mentions it. A balance that moved. Look for the record rather than for a confirmation message, because the confirmation message is precisely the thing that went missing.
If the record is there, the action happened and there is nothing to repeat. If the record is absent after a genuine wait, then repeating it is a decision made on evidence rather than on discomfort, which is the only version of that decision worth making.
