Mining: Bad Actor Prevention

Low level questions and answers.

Why can't a bad miner simply claim work done on transactions as their own?

Let's assume Eve is the miner who finds a block, Carol is the bad miner, and Alice is the miner to whom the real work is due.

In the question above Carol receives the transaction over the network from Alice with the proof of edit distance included. Carol can't re-assign the work because Alice's public key is concatenated in the string used to measure the edit distance before it was hashed. For example if Alice's public key was 0xc6e081d958963af0dcf856b3008333d8bcd6769d then when she submits the transaction to the network it looks like this:

{
  TXID: "HASH(0xc6e081d958963af0dcf856b3008333d8bcd6769d + <random none/string here>)",
  PROOF: "0xc6e081d958963af0dcf856b3008333d8bcd6769d + <random none/string here>",
  ... the rest of the transaction
}

Carol couldn't then steal the work and is only wasting compute power and time especially since Alice likely propagated her transaction work to others in the network.

Can a bad actor double spend a callback transferring the funds away once the callback sequence has started?

Each callback references a root collateral balance which is a small amount that would be revealed in the event the main function or storage of funds execute. This means that were the callback to fire the funds stored at that location could be spent by anyone monitoring the chain for such an event.

This small amount serves two purposes, first it acts like a marker for the cancellation, expiration, or resolution of a callback chain. Second it enforces the primary state of the callback to be qualified by the state of the Overline chain instead of the states of whatever transaction it intends to execute.

Finally, no callback address can be reused before it's expiration threshold a bad actor would have to stake this amount for every new callback making it economically impossible to spam the chain with each. Furthermore, the individual also loses the fees required to list the transaction in each block.