• Jeffrey Wilcke's avatar
    core: Added new TD strategy which mitigate the risk for selfish mining · 5b283663
    Jeffrey Wilcke authored
    Assuming the following scenario where a miner has 15% of all hashing
    power and the ability to exert a moderate control over the network to
    the point where if the attacker sees a message A, it can't stop A from
    propagating, but what it **can** do is send a message B and ensure that
    most nodes see B before A. The attacker can then selfish mine and
    augment selfish mining strategy by giving his own blocks an advantage.
    
    This change makes the time at which a block is received less relevant
    and so the level of control an attacker has over the network no longer
    makes a difference.
    
    This change changes the current td algorithm `B_td > C_td` to the new
    algorithm `B_td > C_td || B_td == C_td && rnd < 0.5`.
    5b283663
Name
Last commit
Last update
..
state Loading commit data...
types Loading commit data...
vm Loading commit data...
.gitignore Loading commit data...
asm.go Loading commit data...
bad_block.go Loading commit data...
bench_test.go Loading commit data...
block_validator.go Loading commit data...
block_validator_test.go Loading commit data...
blockchain.go Loading commit data...
blockchain_test.go Loading commit data...
blocks.go Loading commit data...
canary.go Loading commit data...
chain_makers.go Loading commit data...
chain_makers_test.go Loading commit data...
chain_pow.go Loading commit data...
chain_pow_test.go Loading commit data...
database_util.go Loading commit data...
database_util_test.go Loading commit data...
default_genesis.go Loading commit data...
error.go Loading commit data...
events.go Loading commit data...
execution.go Loading commit data...
fees.go Loading commit data...
filter_test.go Loading commit data...
gaspool.go Loading commit data...
genesis.go Loading commit data...
helper_test.go Loading commit data...
state_processor.go Loading commit data...
state_transition.go Loading commit data...
tx_pool.go Loading commit data...
tx_pool_test.go Loading commit data...
types.go Loading commit data...
vm_env.go Loading commit data...