惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 【当耐特】
小众软件
小众软件
S
SegmentFault 最新的问题
GbyAI
GbyAI
量子位
爱范儿
爱范儿
L
LangChain Blog
Vercel News
Vercel News
A
About on SuperTechFans
腾讯CDC
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
U
Unit 42
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
V
Visual Studio Blog
美团技术团队
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
N
Netflix TechBlog - Medium

ashishb.net

A day in Luxembourg - the richest country in the world I was asked to install malware during a fake interview Book summary: Breakneck - China's quest to engineer the future by Dan Wang Book summary: How to Teach Your Baby to Read Book Summary: The Discontented Little Baby Book by Pamela Douglas Introducing Amazing Sandbox - run third-party tools and AI agents securely on your machine Why software outsourcing gets a bad reputation? Book summary: The Natural Baby Sleep Solution by Polly Moore A day in Antwerp, Belgium Journey of online influencers Two days in Brussels, Belgium Shortcuts - when we love them and when we don't A visit to Rakhigarhi Three days in overhyped Paris Empty Japan, crowded Tokyo The real lock-in in GitHub is not the code, but the stars 11-day Norwegian Breakaway East Caribbean cruise Sanskrit and Sri Lankan Air Force Use REST with Open API The Achilles heel of American capitalism Costa Rica in 4 days At a juice stall in Sri Lanka A short stay at Warsaw, Poland Best practices for using Python & uv inside Docker Two days in Vilnius, Lithuania How IntelliJ IDEs waste disk space Pregnancy Why there aren't many digital nomads from India Two days in Riga, Latvia To keep your machine secure, run third-party tools inside Docker
Stanford CS251: Lecture 6
Ashish Bhatia · 2019-04-01 · via ashishb.net

Lecture 6: Bitcoin Miner interactions and Game Theory

Game Theory: P x S -> R x P P: Players S: Strategies R: Rewards

Examples

  1. For the prisoner’s dilemma, tit-for-tat with some positive randomization is the best strategy.
  2. Trench soldiers in World War 2 decided to start aiming artillery at random “safe” locations instead of killing the enemy. This all happened without any communication.

Mechanism design: Design the rules of the game with the outcome you want.

If we thinking of Bitcoin mining as a game then miners are players and the different strategies they have to decide which transactions to choose (default: everything), which to relay (default: everything), which to extend(default: most accumulated work), etc.

Attacks

  1. Temporary block withholding - selfish mining
  2. Fee sniping attack
  3. Goldfinger attack
  4. Bribery attack
  5. Feather forking

Selfish mining

Miner generates a block but does not publish it. It keeps mining on top of that block. If someone else mines a block in the meanwhile then you don’t broadcast theirs but broadcast yours. It can be proven that if a miner has >= 33% mining power than withholding is a better strategy.

Fee Sniping

If an already mined block has a really high transaction fee then a miner might decide to re-mine that block to claim the transaction gee. Note that, Coinbase transactions mature after 100 blocks and cannot be spent till then.

Goldfinger attack

A 51% attack or something similar which destroys the value of Bitcoin completely. The attacker’s interest is that Bitcoin should go down in value

Bribery attack

A->B transaction has been added to the block and A might have received some physical goods as well in return. A bribes miners to mine on A->A’ transaction making A->B moot. There are multiple ways to bribe, apart from physical cash delivery, A can create a negative fee mining pool or pay-to-anybody transactions build on A->A’ to incentivize miners to mine on it.

Feather Forking

To censor a certain transaction. The attacker announces a credible threat that they will fork if a certain transaction makes into the blockchain. Miners will avoid including that certain transaction and the attacker pay no cost for this. For example, if the attacker has 20% mining power and is going to try up to 2 blocks to re-mine then the likelihood of success is 4% but a miner does not want to take 4% chance of losing the mining fee.