Probability of mining headers but not relaying transactions?


#1

Any ideas on the probabilities of mining headers only without relaying transaction?


#2

Bumping this thread because it was a concern back in the day with Bitcoin mining and is currently being exploited in Ethereum by the 2 larger pools.

@zooko @str4d @tromp @jtoomim @daira @tim_olson

Can anyone chime in on this ?

Excuse my rudeness for tagging everyone


#3

If you're referring to validation-free mining (or SPV mining), then it may end up being an issue. The severity of the issue can be reduced by pulling code like XThin Blocks or Compact Blocks from Bitcoin Unlimited and Core, and by optimizing the block validation code like they did in Bitcoin Unlimited.

The problem can be almost completely eliminated by using something like the Casper Proof-of-Stake system, since Casper is not a poisson process and has a guaranteed minimum interval between blocks. This basically eliminates the chance of block orphanage except in anomalous network/CPU conditions.


#4

I think what we should do first is set up detection of how much this is happening. Let's seeā€¦ is there a good way to do that? Hm.


#5

First we need transactions.

One obvious counter to VFM/SPV mining is transaction fees. The more the transactions are worth, the less likely miners will be to do this type of mining. Since Ethereum has nearly zero tx fees, the inventive is more strongly in favor of SPV mining.


#6

These might have changed but are not zero

"Operation name Gas Cost Function

step 1 Default amount of gas to pay for an execution cycle.
stop 0 Nothing paid for the SUICIDE operation.
sha3 20 Paid for a SHA3 operation.
sload 20 Paid for a SLOAD operation.
sstore 100 Paid for a normal SSTORE operation (doubled or waived sometimes).
balance 20 Paid for a BALANCE operation
create 100 Paid for a CREATE operation
call 20 Paid for a CALL operation.
memory 1 Paid for every additional word when expanding memory
txdata 5 Paid for every byte of data or code for a transaction
transaction 500 Paid for every transaction

The gas price limit is fixed at present to provide for a stable launch of Ethereum but will be allowed to free float according to the demand and the amount of total gas per block will be increased gradually to encourage the stability of the Ethereum network."