Lightweight clients Flashcards

1
Q

simple payment verification

A

Do not store entire blockchain nor validate all transactions
Only perform some verifications and offload most of the others to fullnodes
SPV clients request full blocks from a given height on, verify proof of work and check difficulty, check if their transaction is in merkle tree

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

SPV Problems

A

If all connections are dishonest wrong chain may be obtained also spv client can be DOSed
If one connections is secure then SPV client is secure => always aware of longest chain and able to receive and send transactions
=> many clients little full nodes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Bloom filters

A

n bits space and k independent hash functions
for all k hashfunctions compute h_k(s) for all s in S
if h_k(s) mod n set A[h_k(s)] = 1.
False positives exist => 0.1 %

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Problems with bloom filters

A

If both public key and address are in filter it can be checked in the filter => cant be false positive => dont use address and public key
If users have less addresses than 50 and bloom filter is designed for 50 than the false positive rate is too low and all addresses are leaked.
If adversary has access to two bloom filter(due to restart) and A is in both it is very unlikely a false positive => dont change seed
If bloom filter is resized create new filter instead

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Other ideas for lightweight client serving?

A

Could also use TEEs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly