online advertising

Saturday, September 5, 2015

Bitcoin and Cryptocurrency Technologies - Quiz 2 Problem 1

Question 1

Which of these factors make distributed consensus hard? (check all that apply)
Nodes may crash (Correct, sad fact of life)
Nodes may be taken over by malware (Correct, that happens)
Encrypted messages may be intercepted and decrypted (Wrong, see below)
There is latency on the network (Correct, nodes cannot agree on sequences of events by timestamp)

if encrypted message can be decryted by attacker easily, we are in big trouble. And even if it does happen, that is not the reason why distributed consensus is hard.

Bitcoin and Cryptocurrency Technologies - Quiz 1 Problem 5

Alice and Bob use ScroogeCoin. Alice owns ten coins, each under a different address (public key) and each of value 3.0. She would like to transfer coins of value 5.0 to Bob. Recall that the PayCoins transaction consumes (and destroys) some coins, and creates new coins of the same total value. Alice’s transfer will require, at a minimum: (check all that apply)

Two PayCoins transactions, two new coins created, and four signatures
One PayCoins transaction, two new coins created, and two signatures  (This is correct- see below)
Two PayCoins transactions, one new coin created, and two signatures
One PayCoins transaction, one new coin created, and one signature

Conceptually, this is one transaction. In one transaction, multiple addresses can be used, but for each address, we need a signature. In terms of coin. coins are only created or destroyed, never changed (including changing owner), so the two coins by Alice has to be destroyed, and we create one 5.0 coin for Bob, and one 1.0 coin for Alice as change.

I got this wrong the first time. I thought a transaction can involve only two addresses, apparently I am wrong.

Bitcoin and Cryptocurrency Technologies - Quiz 1 Problem 4

If you generate numerous identities (public keys) for yourself and interact online using
 those different identities: (check all that apply)

It is essential to have a good source of randomness. Otherwise adversaries might be able to deduce your secret key and take control of your identities. (Correct, this is important)
Adversaries may be able to link your identities because public keys generated on the same computer tend to look similar.(Any reasonable pseudorandom number generator should not 'look' similar)
Adversaries may be able to de-anonymize you by analyzing your activity patterns. (Correct, this is important)

The activity pattern analyzing attack pattern is pretty interesting.

Bitcoin and Cryptocurrency Technologies - Quiz 1 Problem 3

Which of these keys are required for verifying a signature? (check all that apply)

The secret key (No, you don't need secret key, that is needed only for signing)
The public key (Yes, this is needed)
Both the secret and the public key (No, secret key is not needed)
None. Keys are required only for signing: anyone can verify the signature without a key (No, we do need public key)

Bitcoin and Cryptocurrency Technologies - Quiz 1 Problem 2

Which of the following types of modifications of a block chain data structure can be
 detected by someone who holds a hash pointer to the latest block? (check all that apply)

Deletion of a block (Yes - the hash will not check out)
Insertion of a block (Yes - the hash will not check out)
Re-ordering of blocks (Yes - the hash will not check out)
Tampering of date in a block (Yes - the hash will not check out)

This is simple.

Bitcoin and Cryptocurrency Technologies - Quiz 1 Problem 1

Which of the following is true of SHA-256? (check all that apply)

It has been proven that there is no fast way to find collisions (Wrong - this is no proof)
No collisions has ever been publicly found (Correct)
It has been proved not to have a collision (Wrong - this is no proof)
We hope that there are no collisions (Wrong -  there is collision, we just cannot find it)

Coursera Bitcoin and Cryptocurrency Technologies Series

In this series of blog entries we will learn how BitCoin from Princeton.

I sort of know how BitCoin work before I joined this class. I read from the BitCoin website the official papers. Some fine print are still not understood from the paper, so I would want to learn more here.

I will talk about the problem solutions, as well as some study notes about things I feel like explaining or I feel like I do not understand well enough.