• Aucun résultat trouvé

Data Analytics and Consensus Mechanisms in Blockchains

N/A
N/A
Protected

Academic year: 2021

Partager "Data Analytics and Consensus Mechanisms in Blockchains"

Copied!
61
0
0

Texte intégral

(1)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

1/43

Data Analytics and Consensus Mechanisms in

Blockchains

Daniel Feher

University of Luxembourg

24 September 2020

PhD Defense

(2)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Outline

Introduction

Linkability of Mining in Zcash

Further Transaction Linking in Zcash

ASIC Mining Zcash

(3)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

3/43

Introduction to Blockchains

I Started by Bitcoin

I First decentralized P2P currency

I Key new features popularized and introduced (PoW, UTXO)

I Digital Signature based transaction authentication

I Transactions in Blocks, Blocks in an immutable Hash Chain

(4)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Unspent Transaction Outputs

Transaction 1

Input 1

Output 1

Output 2

Output 3

Transaction 2

Input 1

Input 2

Output 1

2 BTC

0.5 BTC

1 BTC

0.5 BTC 1.5 BTC

Figure: An example for the transaction structure of Bitcoin. See that the output of a

(5)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

5/43

Proof-of-Work

I The next solver of a difficult hash puzzle (PoW) generates the new

blocks

I The generator receives reward in coins

I Only way of minting new coins

I Performed in pools of miners to reduce the variance of payouts

(6)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Introduction to Zcash

I Bitcoin has a few privacy issues

I Zcash is a privacy oriented digital currency.

I Built on a variety of cryptographic primitives:

I zkSNARKs, commitment schemes, Merkle trees, encryption, etc.

I Zcash coins are called ZECs. 1 ZEC corresponds to 10 8 Zatoshis.

(7)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

7/43

Zcash: Addresses

I Zcash offers two types of addresses:

I transparent or public, commonly referred to as t-addresses.

I shielded or private, commonly referred to as z-addresses.

(8)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Zcash Transaction Types

Public Hiding Revealing Private

t-address

t-address

t-address

z-address

z-address

t-address

z-address

z-address

t-to-t t-to-z z-to-t z-to-z

(9)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

9/43

Zcash Transaction Layout

Transparent Input(s) Transparent Output(s)

Hidden Value Balance Fee

Spend Description 1 Output Description 1

Spend Description 2 Output Description 2

. .

.

. .

.

Spend Description K Output Description L

Binding Signature

(10)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Zcash Transaction Layout

Transparent Input(s) Transparent Output(s)

Hidden Value Balance Fee

Spend Description 1 Output Description 1

Spend Description 2 Output Description 2

. .

.

. .

.

Spend Description K Output Description L

(11)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

10/43 Picture credit: Cointelegraph

(12)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Zcash Mining

t-address

(13)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

11/43

Zcash Mining

t-address z-address

(14)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Zcash Mining

z-address

(15)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

12/43

z-address

(16)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Pattern T

z-address

(17)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

14/43

Pattern Z

z-address

(18)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Introduction

Linkability of Mining in Zcash

Further Transaction Linking in Zcash

ASIC Mining Zcash

(19)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

16/43

Core Idea

I We know how much is hidden per mining pool

I Link it to the same revealed amount

I Verify by examining different block periods

(20)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Pattern T Payouts

I Calculate received amount for every address

I Compare with amounts mined and hidden

I Verify by investigating different connecting block periods

(21)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

18/43

Pattern Z Payouts

z-address

(22)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Pattern Z Payouts

z-address

(23)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

19/43

Results

I 88.4% of mining rewards linked

I 84% of all z-t revealing volume has been linked

I 68.4% of all revealing transactions in terms of number of transactions

have been linked

I 95.5% of all Zcash transactions are linkable, close to privacy level of

Bitcoin

(24)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Introduction

Linkability of Mining in Zcash

Further Transaction Linking in Zcash

ASIC Mining Zcash

(25)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

21/43

Zcash Transaction Layout

Transparent Input(s) Transparent Output(s)

Hidden Value Balance Fee

Spend Description 1 Output Description 1

Spend Description 2 Output Description 2

. .

.

. .

.

Spend Description K Output Description L

Binding Signature

(26)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Transaction Linking v1

Shielded Pool

z-address

t-address

1.23456789 ZEC

z-address

t-address

1.23456789 ZEC

(27)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

22/43

Transaction Linking v1

Shielded Pool

z-address

t-address

1.23456789 ZEC

z-address

t-address

1.23456789 ZEC

(28)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Transaction Linking v1

Shielded Pool

z-address

t-address

1.23456789 ZEC

t-address

1.23456789 ZEC

(29)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

23/43

Transaction Linking v2

Shielded Pool

z-address

t-address

1.23456789 ZEC

z-address

t-address

1.23446789 ZEC

(30)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Transaction Linking v2

Shielded Pool

z-address

t-address

1.23456789 ZEC

z-address

t-address

1.23446789 ZEC

−10 −4 ZEC Fee

(31)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

24/43

Transaction Linking v3

Shielded Pool

z-address

t-address

X.XXXX6789 ZEC

z-address

t-address

Y.YYYY6789 ZEC

(32)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Transaction Linking v3

Shielded Pool

z-address

t-address

X.XXXX6789 ZEC

z-address

t-address

Y.YYYY6789 ZEC

(33)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

25/43

Value Fingerprints

I ∼ 97% of shielded transactions use 10 4 Zatoshis as fee.

I Last 4 digits are not changed by the fee.

I Can be used maliciously

(34)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Danaan-Gift Attack

(35)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

26/43

Danaan-Gift Attack

(36)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Danaan-Gift Attack

I What is the success ratio of the attack?

I What is the likelihood of a fingerprint surviving?

(37)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

28/43

Zcash Transaction Layout

Transparent Input(s) Transparent Output(s)

Hidden Value Balance Fee

Spend Description 1 Output Description 1

Spend Description 2 Output Description 2

. .

.

. .

.

Spend Description K Output Description L

Binding Signature

(38)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Zcash Transaction Layout

Transparent Input(s) Transparent Output(s)

Hidden Value Balance Fee

Spend Description 1 Output Description 1

Output Description 2

. .

.

. .

Spend Description K .

Output Description L

(39)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

29/43

Zcash Transaction Layout

Shielded Pool

(40)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Dust Attack

(41)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

30/43

Dust Attack

(42)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Dust Attack

(43)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

31/43

Dust Attack

(44)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Dust Attack

(45)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

31/43

Dust Attack

(46)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

The Survival Probability of Fingerprints

I We have developed a statistical model for the shielded pool.

I Based on the number of inputs and outputs in a shielded transaction.

I Markov-chain of all possible scenarios.

I Sample data based on characteristically the same public transactions.

(47)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

33/43

The Survival Probability of Fingerprints

FP

Shielded Pool

(48)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

The Survival Probability of Fingerprints

FP

(49)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

33/43

The Survival Probability of Fingerprints

FP

Shielded Pool

(50)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

The Survival Probability of Fingerprints

FP

(51)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

34/43

The Survival Probability of Fingerprints

I The average number of hops a path goes through inside the shielded

pool is only 1.42.

I The survival probability of good fingerprints is ∼ 16.6%.

I The survival probability of fingerprints corresponds, in turn, to the

success probability of Danaan-gift Attack.

(52)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Countermeasures

I Dust Attack is recognizable: move funds once.

I Danaan-gift Attack manual defense: do not use default fees.

I Danaan-gift Attack built-in defense: default fee is a random value

between 0.00009500 ZEC and 0.00010500 ZEC.

(53)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

36/43

Introduction

Linkability of Mining in Zcash

Further Transaction Linking in Zcash

ASIC Mining Zcash

(54)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

GPU and ASIC mining

I Evolution of mining hardware

I GPUs are more accessible

I More decentralization

I ASICs have higher entry cost but higher efficiency

(55)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

38/43

Introduction of ASICs

I Zcash uses Equihash-200,9 hashing algorithm

I Designed to be ASIC resistant, mining only with GPUs

I Late May, 2018 multiple ASIC (application-specific integrated circuit)

miners were announced for the version implemented in Zcash

I Was there hidden ASIC mining in Zcash?

I Similar circumstances in Monero, where the likelihood of hidden mining

was high

(56)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Developer Fees

I Most used mining software have built-in developer fees (not to confuse

with the founder’s fee in Zcash)

I Developer fee is paid by mining 2% of the time to the developer’s

address

I Find the addresses of developers

I Approximate their mining power, extrapolate for entire mining power

(function of time, received payouts and global hashing rate)

(57)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

40/43 Dec Jan FebMarApr May Jun Jul Aug SepOct Nov Dec JanFeb AprMay

2017 Mar

2018 400 Msol/s

200 Msol/s 600 Msol/s

Hashrate

1.0

0.75

0.5

0.25

Figure: Lower bound of GPU mining power based on the developer fees (Green: Claymore,

Blue: EWBF, Purple: dstm, Light Blue: Bminer, Orange: Optiminer, Red: Remaining Hash

rate)

(58)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

0 5.0 × 108 1.0 × 109 1.5 × 109 2.0 × 109

June August October

(59)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

42/43

Mining Centralization

0

10 000

20 000

30 000

40 000

50 000

60 000 Number of Miners Per Day

June August October

-

Less than 5ksol/s

-

Less than 35ksol/s

-

More than 35ksol/s

2018

(60)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

Summary

I Linkability of mining payouts in Zcash

I Further privacy issues

I Two novel attacks against Zcash user privacy

I Explored the effect of ASICs in Zcash mining

(61)

Data Analytics and Consensus Mechanisms in

Blockchains Daniel Feher

Introduction Linkability of Mining in Zcash Further Transaction Linking in Zcash ASIC Mining Zcash

44/43

List of Publications

Biryukov, Feher, Portrait of a Miner in a Landscape. CrybBlock 2020

Biryukov, Feher, Privacy and Linkability of Mining in Zcash. IEEE CNS 2019

Biryukov, Feher, Vitto, Privacy Aspects and Subliminal Channels in Zcash. ACM

CCS 2019

Biryukov, Feher, ReCon: Sybil-Resistant Consensus from Reputation.

Pervasive and Mobile Computing 2020

Références

Documents relatifs

Dans notre cas, nous allons partitionner la table HMEQ en deux sous-ensembles, 60% pour apprendre, et le reste, soit 40%, pour valider que notre modèle est robuste.. En effet,

The aim of the proposed approach is to replace domain expert and offer explanations to the results (semi)automatically using external knowledge base and ontologies.. Let us use

For this work, IBM SPSS Modeler 18.0 was used for all experiments. Different algorithms were assessed to benchmark the most appropriate and accurate dataset for classification and

Data-collection methods such as Latent Semantic Analysis (LSA) and Natural Language Processing (NLP) have enabled researchers in WA to present studies that portend a complex

The key to leveraging a social media platform to better understand con- sumer interests and behavior is through creating structured data from unstructured elements through text

As discussed in the previous section, it is believed that the optimal solution of most real-world optimization problems is found on the edge of a feasible area of the search space

After a quick look at the multivariate case of mutual information between more than two variables and the relation between mutual information and channel capacity, we will then

In particular, when a training set is available, and classification techniques can be used, then a partition in biclusters of the data can be found before the classification