L5 - Bitcoin Evolution and Challenges Flashcards

1
Q

Which two parts of the network are affected by updates?

A
  • software relying on full nodes (wallets)

- blockchain network (full node implementation)

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

Two well-known issues with software updates

A
  1. Incompatibility btw. old and new software components
  2. Incompatibility between historic data and current data scheme expected by the software components

-> Bitcoin network inherits these standard problems

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

3 stages in the process of Bitcoin Protocol Update

A
  1. Design
  2. Signaling
  3. Results
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Design stage.

Which layers can proposals target?

A
  • Consensus Layer
  • Peer Services Layer
  • API/RPC Layer
  • Applications Layer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How are proposals in Bitcoin referred to?

A

as Bitcoin Improvement Proposals (BIP)

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

What does a final BIP contain?

A

detailed description and reference implementation.

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

What can happen in the design stage?

A

A soft or hard fork can result.

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

When is a hard fork created?

A

Structures that are invalid under old rules become valid under new rules.

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

Can it happen that there is a chain split with a soft fork?

A

Yes. If a majority sticks with the old version

–> You have some people following the old and some the new vesion

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

What is the disadvantage of a chain split?

A

That both chains compete for users

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

How to find out whether a chain split would occur?

A

The signaling phase is used.

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

What is signaling and who does it?

A

Signaling is the process that is used to vote on proposals. Miners are the only network participants who can cast their votes. They gain the right to vote only when they mine a new block. They signal their vote by including a special value in the header of the blocks they mine.

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

How is a proposal accepted in the signaling phase?

A

A: If the overall support for the proposal is higher than a certain threshold (usually 1916 out of 2016 blocks = 95%) in one difficulty period. The proposal is then accepted so locked in. The rules then apply after further 2016 blocks to allow the remaining miners to update as well.

B: If the support is too low the proposal is rejected.

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

What can the results be?

A
  • If the signaling leads to acceptance, the proposal is automatically implemented.
  • Upon a rejection the community can split (chain split)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Two main problems with the creation of a second chain

A
  1. If the community behind the hard fork has less than 50% of the computational power, the new chain will not work, as the new software will switch back to the old chain, as the old chain will probably have the higher weight.
  2. One transaction can be executed on both chains –> Replay attack
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a hard fork?

A

A hard fork occurs when rules are removed from the protocol. This makes previously invalid blocks valid.

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

What is a soft fork?

A

Adds extra rules to the protocol making some structures that were valid before now invalid.

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

Changes in which layer create forks?

A

Changes in the consensus layer.

19
Q

Is the hard fork compatible with the old chain?

A

No.

20
Q

Is the soft fork compatible with the old chain?

A

Yes. The soft fork is always compatible with the old chain. The reason for this is that when you have a new block with more rules so that is more restrictive then the new structures are still valid under the previous more lenient rules. (You have to think from new to old)

21
Q

How can the two problems of a second chain be avoided?

A

The new community has to make the new chain incompatible with the old chain. This is done via the creation and adaptation of new parameters. Another possibility is to create a second genesis block which has to be contained in the longest chain. If the second block contains the new rules (rejected by the old software), the chains are split indefinitely and cannot merge together.

22
Q

Two major upgrades in the Bitcoin network (both soft forks)

A
  • Segregated Witness

- Taproot

23
Q

SegWit

A
  • increase transaction throughput by reducing weight of transaction in a block
24
Q

Taproot

A

Introduced a new signature scheme

25
Q

Is it possible to steal bitcoin?

A

No, since UTXOs are secured with the hash of the public key of a user. The attacker cannot generate a valid transaction spending these UTXOs.

26
Q

Is it possible to block a participant in the blockchain network?

A

Assume that a malicious node wants to block all transactions by Bob. This malicious node was selected randomly by the network to propose the new block. It does not include the transaction from Bob, blocking his transaction from getting into its block. However, the next random node (if it is honest) will include Bobs transaction.

27
Q

What is double spending?

A

When someone send money to someone else for a transaction and the same UTXO to himself.

When to realities are created. Block 3a declares are reality where Bob is paid and block 3b in which Alice sends the money to herself.

28
Q

What should the receiver (Bob) do to prevent such an attack?

A

Bob should wait until it is clear that the payment to him is actually included in the longest blockchain, ideally with several confirmations

29
Q

What is a replay attack?

A

When an attacker re-submits the same transaction to the network several times and gets it executed every time.

30
Q

How does a replay attack work in practice?

A
  • Alice sends coins to Bob.
  • The blockchain undergoes a hard fork
  • on the old chain A sends B bitcoin
  • then B replicates the transaction again on the new chain. (Since the addresses stay the same, this “repetition” is validated by the miners on the new chain.)
31
Q

Who is not vulnerable to a replay attack?

A

A person who joins the network after the hard fork is not vulnerable to the replay attack as their address has no transaction history in either of the chain.

32
Q

What is the 51% attack?

A

Means that more than 50% of the hash power belongs to one entity and this entity uses this power maliciously.

33
Q

What does the 51% enable?

A

History rewriting:

  • the attacker can build a blockchain with the highest accumulated value, defining all contents:
  • Blocking/ DoS-ing addresses/ users
  • collecting all mining reward
  • They may use this situation to activate double spending of coins, by reversing transactions that were completed while they were in control of the network
34
Q

What can the 51% attack not do?

A
  • cannot invent money (propose invalid blocks or transactions as they would be rejected)
  • entities highly invested with large hash power have no interest in destroying the network, as they profit from it
35
Q

How does double spending work for the 51% attack?

A

A fork/double-spend attack is one where the attacker causes previously confirmed blocks to be invalidated by forking below them and re-converging on an alternate
chain. With sufficient power, an attacker can invalidate six or more blocks in a row,
causing transactions that were considered immutable (6 confirmations) to be invalidated. Note that a double-spend can only be done on the attacker’s own transactions, for
which the attacker can produce a valid signature. Double-spending one’s own transactions is profitable if by invalidating a transaction the attacker can get a non-reversible exchange payment or product without paying for it

36
Q

Can a 51% attack be successful in the long run?

A

No, a successful attack would destroy the trust in the system and with that the value of the currency in the system.

37
Q

What is a selfish-mining attack?

A

Exploits the probability to be able to propose two blocks one after the another.

Possibility A: The node finds a second block 4A
building on its block 3A. The network is still at
block 2. When the network finds another block 3B,
the attacker publishes both block 3A and 4A,
making the new 3B an orphan block. The network
has worked on an old chain, practically wasting its
power.

Possibility B: When the network proposes a block
3B before the attacker finds a block 4A, the
attacker publishes 3A, hoping the network will
select block 3A with probability .

38
Q

What is the theoretical maximum transaction throughput determined by?

A
Block time (10 min)
Block size (1MB)
Transaction size (250 byte or 500 byte)

144/day*(1.000.000/250) = 576K.

39
Q

How to compute the power consumption?

A
Current speed of the network = 
18,6*10^19 hashes/s
power consumption of Antminer =
1320 W for 14*10^12 hashes/s
Number of Antminers to provide network speed:
18,6*10^19 / 14*10^12 = 13,285,714
Power consumed by Antminers =
13,285,714 * 1320 W  = 17,5 GW
(giga = billion)
40
Q

What results in longer waiting times for transactions?

A

More transactions in the memory pool

41
Q

Is Bitcoin limited in its expressive power?

A

Yes. Ethereum and other solutions provide a Turing complete Smart Contract language.

42
Q

Solution to Bitcoin’s scaling problem?

A

Bitcoin is too slow. Second layer solutions like Lightning Network enable higher transaction throughput with lower fees.

43
Q

What can provide more stable prices?

A

Stable coins backed by other currencies