GoConqr has a new look! Let us know what you think.

Flashcards

BlockChain

Ben Parish BlockChain English 18 cards

Cards in this deck (18)

  1. 1What is the Double-spend problem?The double-spend problem is a situation whereby:
    - a malicious Alice sends digital coins to Bob in exchange for goods or service
    - Alice sends the same coins to Charlie in exchange for other goods or service
    - Both Bob and Charlie deliver the goods or service but only one of them will be able to spend the received coins
  2. 2What is Proof-of-Work?The original consensus algorithm in a Blockchain network achived through 'mining'.
    The version of the block accepted as the truth is the one that comes with a nonce, a one-time-use word, which, when added to the block and then hashed, returns a small enough value; in effect returns a hash that starts with enough 0s.
    The winner wins the privilege of being authoritative for one block of transactions. The nonce, is used as yet another input for the hash function. This is easily verified by other participants. The order of transactions within the block becomes the network's de facto official result.
  3. 3What is proof of stake?In PoS-based cryptocurrencies the creator of the next block is chosen via various combinations of random selection and wealth or age (i.e., the stake)
    The general idea is the privilege is passed around between parties with something to lose - the stake.
    Think about large bonds at risk, small rewards for producing outputs the network accepts and large penalties for producing errant outputs.
  4. 4What is a Merkle tree?A Merkle tree is a tree where:
    - each leaf node keeps a piece of the data.
    - the complete data is obtained by collating the leaf nodes in a depth-first search fashion
    - each parent node keeps the computed hash of its children hashes.
  5. 5What can you do with a Merkle tree?Keep data behind a single hash, just like a single-pass hash function would offer over the whole content
    - Download and verify the integrity of data pieces as they come in random order.
  6. 6What is an uncle?An uncle is a block that is referenced by another one according to certain criteria
  7. 7What is a distributed Hash table?A distributed hashtable is a P2P network where nodes store content and are able to return this content when requested by hash.
    The content itself may just be a piece of a merkle tree. In this case, the requesting node needs to keep querying until it reaches the leaf nodes of the tree.
  8. 8What is a gossip protocol network?In the same fashion as in human social networks, a computer gossip network works by having each individual node relay freshly received information to its own peers.
    Such protocols vary in their aspects, such as latency or laziness. Nodes may also choose to drop new information.
  9. 9What does the CAP theorem state?In a distributed system, you can at most pick 2 out of the 3:
    - Consistency
    - Availability
    - Partition tolerance
  10. 10What is 'Eventual Concensus'?Blockchain aims for perfect availability and reaches eventual consistency by making partitions economically uninteresting.
    The consensus is eventual. Indeed, two, or more, nodes may win the mining puzzle at the same time. Other nodes then receive competing claims. However individual nodes are unlikely to receive both claims simultaneously. The protocol provides for that. The block with the most transactions or with the most complex puzzle solved is selected.
    If undecided, then we have a fork, i.e. two competing truths. As further blocks are added to each side of the fork, nodes will reevaluate for length and complexity and potentially decide which side of the fork to keep working with. As time moves on, it becomes less and less likely that both sides of the fork will have identical lengths and complexities.
    Hence the eventual consensus.
  11. 11How is Immutability achieved? How does this new node eventually reach the same consensus as the honest nodes?A solution
    Each block of the blockchain is identified by:
    - the hash of its predecessor
    the root hash of its transactions merkle tree
    - a nonce that solves the mining puzzle
    a hash of the above
    For a malicious node to remove or insert transactions, it would need to:
    - update the root hash of the containing block's merkle tree
    - update the nonce of the containing block's
    - update the hash of the containing block
    do the same for all subsequent blocks
    This is theoretically possible but in practice requires the malicious nodes to harness more processing power than the honest nodes, hence the term 51% attack. During its life, a node will certainly end up connecting to an honest node. This honest node will tell the new node a truth different from that of malicious nodes, and as such it needs to make a decision. That decision is to go with the longest or more difficult fork.
    Because of this difficulty, in practice, the blockchain is immutable.
  12. 12Why are slow blocks built into a Blockchain- It levels the playing field for miners who may have different latencies
    - Prevents a well-connected clique from reaping most of the rewards, and from defeating decentralisation
    - Raises the cost of a 51% attack.
  13. 13What is GHOST?Greedy Heaviest Observed Subtree protocol
    How a subsequent block can mention the hash of one, or more, earlier (within limits) forked block; such a forked block is called an uncle in Ethereum
    - how a given uncle can only be mentioned once per chain
    - how the uncle's miner is rewarded a large fraction of the regular mining reward
    - how the nephew block miner is additionally rewarded a small fraction of the regular mining reward
    - how nodes include uncles in the length and complexity calculation when deciding which fork is the main ledger
  14. 14What is the double-spend problem within Bitcoin?The attacker sends the coin to a recipient in exchange for a consideration, then waits to receive the consideration, then it just so happens that the consensus switches to a fork that does not contain the previous transaction
  15. 15How would you go about collecting data from a Merkle tree?Traverse the leaves of the tree depth-first
  16. 16What's the difference between node and peer?Ethereum nodes are initially alone, and then they seek out other nodes to talk to. When nodes agree to talk, they become peers to each other.
  17. 17Nodes A and B have been mining on different forks and are now synchronising together. If A has been mining for longer than B, who wins?A may have mined for longer, but if its hash rate is lower than that of B, the difficulty of its fork will be lower, so less likely to win.
    On the other hand, if A's fork has more transactions, then it is more likely to win.
    Only the details fed into the protocol will be able to decide this case.
  18. 18If nodes A and B want to ensure they are on the same network what test is the strongest?A and B see 2 blocks (one with A, the other with B) with identical hashes at the same height
    EXPLANATION
    An identical balance is an extremely weak test. Likewise for same block number.
    Because a transaction may, in certain circumstances, be replayed on another network, a transaction hash is not a proper test. See this example:
    ETH: https://etherscan.io/tx/0x27248ac19a3c209ce777a4e06e4cdcd0cd7ca6150e1a1b2d82efa535a6f1728e on block 1,922,096
    ETC: https://gastracker.io/tx/0x27248ac19a3c209ce777a4e06e4cdcd0cd7ca6150e1a1b2d82efa535a6f1728e on block 1,920,144
    Also, because a network may fork, the "block" test works best if you pick a block that was created after the fork.

Information

Description
BlockChain Flashcards on BlockChain, created by Ben Parish on 17/11/2018.
Created by
Ben Parish
Views
3
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?