Cryptocurrency Café UVa cs4501 Spring 2015 David Evans Class 14: Selfish Mining.

Slides:



Advertisements
Similar presentations
Chapter 12 Binary Search Trees
Advertisements

The easy answers to the hard questions! WHAT IS BITCOIN?
Def f(n): if (n == 0): return else: print(“*”) return f(n-1) f(3)
1 Chapter 24--Examples. 2 Problem In the figure to the left, a potential difference of 20 V is applied across points a and b. a) What is charge on each.
Cryptocurrency Café UVa cs4501 Spring 2015 David Evans Class 12: Mostly About Superfish Image from
Cryptocurrency Café UVa cs4501 Spring 2015 David Evans Class 16: Alternate Cryptocurrencies flickr cc: epSos.de.
Stefan Dziembowski Why do the cryptographic currencies need a solid theory? Forum Informatyki Teoretycznej, Warsaw
Cryptocurrency Café UVa cs4501 Spring 2015 David Evans Class 25: Proof of Reserve New York City, 1929.
Bell Work: Simplify: (1) (10) -2. Answer: 100 LESSON 64: USING A UNIT MULTIPLIER TO CONVERT A RATE.
Cryptocurrency Café UVa cs4501 Spring 2015 David Evans Class 23: Blooming Sidechains!
Parent Session #1 Thursday, March 5th, Parent Session #1 Thursday, March 5, 2015.
Motion, Speed, Velocity and Acceleration. Motion ► Motion – an object’s change in position relative to a reference point.
Cryptocurrency Café UVa cs4501 Spring 2015 David Evans Class 11: Mining Pools and Attacks.
 1: I can explain how to determine if an object is in motion.  2: I can differentiate between distance and displacement.  3: I can differentiate between.
Bitcoins and the Digital Economy Presented By: Matt Blackman.
Simulation Time-stepping and Monte Carlo Methods Random Number Generation Shirley Moore CS 1401 Spring 2013 March 26, 2013.
Motion Review Physics TCHS.
LECTURE 14 THURSDAY, 12 March STA 291 Spring
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 23: Review.
赴国际水稻所访学情况汇报 长江大学农学院 邢丹英 2010 年 6 月. 学习目的 学习时间、地点 学习内容 学习收获 几点体会 汇报提纲.
More Mining David Evans and Samee Zahur CS4501, Fall 2015 University of Virginia.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 3: Levels of Abstraction
Bitcoin today (October 2, 2015)
2.1 Using Problem Solving Strategies and Models Math Midterm: March 11.
Work Smart. Call Today!!! (770) Grant Source Writing Services.
Class 20: Hidden Services, Zero Knowledge Cryptocurrency Cabal cs4501 Fall 2015 David Evans and Samee Zahur University of Virginia.
Motion Chapter 2. What is motion? Describing Motion.
SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains Loi Luu, Viswesh Narayanan, Kunal Baweja, Chaodong Zheng, Seth Gilbert, Prateek.
Subverting Bitcoin David Evans and Samee Zahur. Mining Why do we need miners?
Happy Thursday, Chemistry! Have your homework out for Ms. Kovach to check off! Date: Bellwork #5 On the front of your Unit 1 Packet, please look.
Cryptocurrencies: challenges and caveats Khaled Baqer Cambridge University.
Cryptocurrency Café UVa cs4501 Spring 2015 David Evans Class 18.
南水北调东线第一期工程山东段 情况简介. 主要汇报内容 二、南水北调山东段工程总体布置 三、山东段工程项目划分及工程主 要建设内容 一、南水北调东线工程概况 四、前期工作及工程建设进展情况 五、工程总投资.
Stubborn Mining: Generalizing Selfish Mining and Combining with an Eclipse Attack With Srijan Kumar, Andrew Miller and Elaine Shi 1 Kartik Nayak.
Lecture 18 Page 1 CS 236 Online Prolog to Lecture 18 CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
First… What is Cryptocurrency? A Cryptocurrency is a digital currency that is created through mathematical engineering (algorithm). It is designed to.
Do Now   Algebra 2.
“Connecting bitcoiners worldwide”
1. If you travel at 10mph for 1 hour, how far do you travel?
CS260 Data Mining Using Tensor Methods 00 – Paper Title
Motion & Speed Ch. 3.
Bitcoin - a distributed virtual currency system
Instability Of Bitcoin Without the Block Reward.
Distributed Systems for Information Systems Management
Cryptocurrencies By Rui Sakurai and Shane Spears
Creating Crypto Community……!
M onero is an open source, secure, private and non-traceable cryptocurrency. Monero token is known as XMR. Monero is aimed at privacy of transaction and.
Lecture 13 review Explain how distance vector algorithm works.

Data Structures and Analysis (COMP 410)
Motion, Speed, Velocity and Acceleration
Crypto Mining LLC.
Mixed Numbers and Improper Fractions
Cryptocurrency value formation
Registering for AP Exams
Proof-of-Personhood: Redemocratizing Permissionless Cryptocurrencies
Motion, Speed, Velocity and Acceleration
Data Structures and Analysis (COMP 410)
Speed, Distance, Time Calculations
Presentation On Bit-Coins.
Motion, Speed, Velocity and Acceleration
Speed, Distance, Time Calculations
Motion, Speed, Velocity and Acceleration
Motion, Speed, Velocity & Acceleration
EARTH.
Motion, Speed, Velocity and Acceleration
Majority is not Enough: Bitcoin Mining is Vulnerable
Motion, Speed, Velocity and Acceleration
Author: Satoshi Nakamoto
Motion, Speed, Velocity and Acceleration
Presentation transcript:

Cryptocurrency Café UVa cs4501 Spring 2015 David Evans Class 14: Selfish Mining

Plan for Today 2140 (?) Selfish Mining Attacks on the Blockchain 1 Reminders: Project 2 due Thursday Project Ideas: preliminary project proposal will be due March 19 (present in class on March 23)

Why 2140? 2

3

4

5 INTERVAL = COIN = def subsidy(height): val = 50 * COIN halvings = height / INTERVAL val = val >> halvings return val >>> subsidy(0) >>> subsidy(1) >>> subsidy(210000) >>> subsidy(345869) >>> subsidy(420000) >>> subsidy( * 3) >>> subsidy( * 4) … >>> subsidy( * 20) 4768 >>> subsidy( * 30) 4 >>> subsidy( * 31) 2 >>> subsidy( * 32) 1 >>> subsidy( * 33) 0

2140? 6 Last block with a subsidy: ( * 33) – 1 = 6,929,999 “Expected” time to reach block = time of block * 10 minutes/block

7 import datetime def expect_block(block): minutes = block * 10 start = datetime.datetime.strptime(" ", "%Y-%m-%d") return start + datetime.timedelta(minutes=minutes) >>> print expect_block(0) :00:00 >>> print expect_block( ) :50:00 >>> print expect_block(345871) :10:00

8 >>> (now - genesis) / datetime.timedelta(0, 561, ) Why is average time per block seconds, not 600?

9 import datetime def expect_block(block): minutes = block * 10 start = datetime.datetime.strptime(" ", "%Y-%m-%d") return start + datetime.timedelta(minutes=minutes) >>> print expect_block(0) :00:00 >>> print expect_block( ) :50:00 >>> print expect_block(345871) :10:00

10 import datetime def expect_block(block): minutes = block * (561.8 / 60) start = datetime.datetime.strptime(" ", "%Y-%m-%d") return start + datetime.timedelta(minutes=minutes) > print expect_block( ) :50:

Selfish Mining 11 Mined Block! Last Public Block H(PrevBlock)

12

13

14

15 α : fraction of mining power owned by selfish pool γ : fraction of honest miner’s that mine from selfish branch (given tie block)

16

17

18

19 Normal network: 17 ms Spread Networks ($300M): 13 ms NASDAQ Data Center Chicago Mercantile Exchange

20 Normal network: 17 ms Spread Networks ($300M): 13 ms (827 miles) Microwave Links: ~9 ms NASDAQ Data Center Chicago Mercantile Exchange 1260 km / km/s = 4ms at lightspeed

Charge Project 2 Part 2: Due Thursday 5 March 21