1/ Exploring this line of thought some more. H/t @real_vijay for raising a very interesting question.
There are 2 big challenges if you want to bake “reward sharing” into the protocol:
a/ Keeping a record of “who did what”
b/ Payout distribution process that honors that^ recordhttps://twitter.com/real_vijay/status/1004962539187257345 …
-
-
5/ The difference is that claims would be accepted as first-class citizens by the protocol & the nodes, just like transactions & blocks. Blocks still need to meet difficulty target to be added to the chain.
Show this thread -
6/ Nodes validate claims just like they would validate normal blocks. If the claims are valid, they get added to a “claim mempool” (similar to a transaction mempool), maintained by all full nodes. The claim mempool is the record of “who did what”.
Show this thread -
7/ You could, in theory, record valid claims (in a compressed format) directly into the blocks, but block space is already hard to come by, even for txs. So storing this record off-chain in a mempool is more practical.
Show this thread -
8/ Miners are free to send claims for a past block up to a certain point (claiming process can’t go on indefinitely). Say, 100 blocks after the original block has been mined.
Show this thread -
9/ At height T+100 the protocol mandates that payouts for block T must go out to individual miners. It’s important that payouts for a specific block go out at the same time & not incrementally, since you need all claims before you can calculate correct share percentages.
Show this thread -
10/ Modified definition of coinbase tx: The coinbase tx(s) for block T+100 will use claim data recorded in the claim mempool (sorted by PoW in descending order), and pay miners accordingly.
Show this thread -
11/ So coinbase txs in this hypothetical protocol are payouts for *blocks mined in the past*, not the present. They are essentially deferred payments.
Show this thread -
12/ It’s possible that not all claims will be honored, since the number of claims is *unbounded*. When there’re too many claims, you can only reward the miners who contributed the most amount of PoW, not every single one.
Show this thread -
13/ The first claim is always by the miner who successfully mined the block. So there will always be at least one claim for each pot of reward.
Show this thread -
14/ Potential problems with such a protocol: - Huge overhead in validation / traffic, as nodes will have a lot of claims to process / propagate
Show this thread -
15/ Miner who mines block T+100 has a lot of power in terms of choosing what claims to honor. He can’t include a bogus claim, but he can choose which claims in the mempool to include / overlook. Not clear if this is solvable.
Show this thread -
16/ What if someone retroactively goes back and mines block T. He won’t be able to rewrite the block, but he could send a claim for block T even though he did not originally work on block T. Effectively “stealing the pot”.
Show this thread -
17/ One possible way to alleviate (not eliminate) this problem is to limit the amount of reward that could be re-distributed beyond the initial miner. Say, initial miner is guaranteed at least 50% of the pot.
Show this thread -
18/ Biggest problem: Complexity. Already you can see how much complexity is added to the protocol to accommodate sharing behavior. There are potentially many unknown gaming behaviors that can arise due to the added rules. Complexity is the enemy of security. Exhibit A: Ethereum.
Show this thread -
19/ Conclusion: IMO, if sharing reward is desirable, it's much better to add that functionality via a higher layer protocol, such as BetterHash, without compromising the underlying protocol. Unix philosophy has served us extremely well.https://twitter.com/hugohanoi/status/1004455570953330689 …
Show this thread
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

