Test project: Transfer between Easygrin web wallet and Ironbelly Android mobile wallet

I’ve just tested it and it only takes about 10 seconds to confirm, really incredible transaction speed!

I guess that the average should be around 30 seconds to appear in the wallet, since we have 60 second block times.

Wrong; at a random time in the past, both the time since the previous block and the time until the next block is expected to be 60s.

Step 1:Send

Step 2:Receive

Step 3:Confirm

Step 4:Upload, transaction successful

When I tested it today it took about ten seconds between steps three and four.

Previously tested, between steps 3 and 4 usually in about a minute.

Today’s transaction experience is particularly good

Maybe useful to elaborate bit on why the average time is 60 seconds and not 30 seconds using an analogy. Proof of work is like throwing a dice. No matter whether you have tried to throw a six on a six sided dice one time before, 2 times before, or a million times before, each time the chance of throwing a six will be 1/6. In other words the chance for each throw is independent from past attempts.

The same goes for mining a block, no matter how long you waited for a block (previous work that has been done), the chance to mine a new block always is the same.

t_(n) defined as timestamp from block with blocknumber of the variable n

t_(n+1) defined as timestamp from block with blocknumber of variable n+1

t_(n+1) - t_(n) ~= 60s (if I average on many random n) right?

(with valid random n I mean: n **and** n+1 need to exist in the blockchain already.)

So if I pick a Random time t_(r) in past. Where a blockpaare exists with t_(n) < t_(r) < t_(n+1).

t_(n+1) - t_(r) ~= 60s (is expected to be on average)

and

(t_(r) - t_(n) ~= 60s (is expected to be on average)

so what is the expectation of:

[t_(n+1) - t_(r)] + [(t_(r) - t_(n)] ~= ?

But if pick a random blocknummber n and depending on that a random time between t_(n) and t_(n+1).

Then [t_(n+1) - t_(r)] + [(t_(r) - t_(n)] ~= 60s (on average)

If we simplify this, and imagine that every block is exactly 60 seconds apart, and imagine that when we press send that our transaction is included in a block (lol)

The longest time taken would be 60 seconds, and the fastest would be less than a second.

Then you’re confusing your notation. A random time would be unrelated to the t_() sequence you already defined, so just call it t_r.

E[t_(n+1) - t_r] + E[t_r - t_(n)] = E[t_(n+1) - t_(n)] = 60s

Then still E[t_(n+1) - t_r] + E[(t_r - t_(n)] = E[t_(n+1) - t_(n)] = 60s.