pull down to refresh

But if she publishes when a ≤ b, her chain is not the longest and will not be accepted as the public chain.

Nit: when a = b, it is an alternative longest chain, but most nodes would have seen Bob’s chain already and therefore would not switch to her chaintip.


Alice and Bob produce about d exahashes until a new block is found. Alice is producing $xd$ of those hashes. Therefore, she is expected to expend $u(x) = -xdc$ until a block is found either by Alice or Bob.

If Bob finds the next block, Bob immediately publishes his block, and both Alice and Bob resume mining on top of a shared chaintip. Therefore, the state $V(0, 1) = V(0, 0)$ and the transition results only in the aforementioned cost and no value addition: $λ_{B}[V(0, 1) - V(0, 0)] = λ_{B}[V(0, 0) - V(0, 0)] = 0$

If Alice finds a block, she pulls ahead and gains one block reward, i.e., $λ_{A}[V(1, 0) - V(0, 0)] = λ_{A}R×1$.


TBH, I’m writing this up a bit too quickly, and I’m not sure whether the flow of utility shouldn’t rather be per second, so please don’t be shocked if I’m completely lost—this was just a quick and dirty guess. ;)


Edit: I’m also not sure why the inline math is not rendering as expected. :(
Time for dinner, tho.

You are quite close.

  • The flow cost should be rather than , since I'm no longer constraining as I was previously.
  • You are correct that because there's no point of Alice mining secretly on C while Bob mines on C-B.
  • Where you are incorrect: We cannot say that . That's because is the value function of privately mining on C-A while Bob mines on C.
    • Note: We can say that . is the value function of publishing C-A when Alice gets ahead. But necessarily.
I’m also not sure why the inline math is not rendering as expected

Inline math needs double dollar signs: $$ y = f(x) $$

reply
525 sats \ 2 replies \ @Murch 8h

Thanks, I feel I understand much better what you meant with V(x) and P(x), then.

Adding to above reasoning, I replace the flow cost with the corrected value:

Yet, I am still not sure how to exactly compose the value of Alice finding the next block. It seems to me that it is dependent on whether Alice will publish once she gets ahead. From what I know this would depend on Alice’s hashrate. I therefore introduce another term, a binary decision function that returns 0 or 1 if Alice would publish the state based on a, b, and x: D(a, b, x):

If she publishes, she is one block ahead and gets one block reward:

If she does not publish, she gains the reward of mining with a one-block lead V(1, 0), which in turn would either resolve to Bob catching up or Alice pulling ahead further, but is left as a black box because it was given in the problem statement.

reply

Yes, this is correct! Congrats

The challenge going forward will be characterizing the function you introduced, .

Just as a quick note, I would have written it like this, but your introduction of D(a,b) is also correct.

reply
71 sats \ 0 replies \ @Murch 7h

Aye! Expressing it with a maximum function is much more elegant. Thanks for the guidance. This series is fun.

Oh and thanks on clearing up what I was doing wrong about the inline math. Looks much better now. :)

reply