Cryptography Final Review
A 51% attack cannot steal coins from an existing address.
False
A bitcoin transaction contains information about previous transactions of the users initiating the transaction.
False
A lightweight node has the same security level as a fully validating node.
False
A node in a Merkle tree can have more than two children.
False
A node that created a block with invalid (such as double-spend) transactions is penalized
False
A user with separate hot and cold storage options needs to use the same secret keys for each.
False
Bitcoin is anonymous by default since it does not use names at all
False
Cold storage of Bitcoin is more convenient but less secure than hot storage.
False
Cryptographic hash functions are private, that is, their algorithm is kept secret.
False
Every GoofyCoin can only be spent once. A GoofyCoin is immune to a double-spending attack.
False
Every digital identity (user) creates exactly one digital signature for all documents to be validated. A digital signature is not tied to a particular document.
False
If you make a transaction that does not meet the fee requirements, your transaction cannot find its way into the blockchain.
False
If you want to find or create an address that starts with a specific 3 character string (for vanity, for instance), you will need to generate 358 addresses on average.
False
In a Bitcoin transaction, joint inputs always imply joint control from the same user
False
In a blockchain, if an attacker tampers a block without modifying other blocks, then we cannot detect the change.
False
In a digital signature, the public key is used to encrypt a message/document.
False
In the Bitcoin consensus model, the nodes must agree on exactly when each of these transactions happened.
False
In the Bitcoin network, the outstanding transaction pools are always the same at all nodes.
False
In the digital signature example in class, the algorithms GenerateKey, Sign, and Verify should be randomized algorithms.
False
It is impossible to find the input of a cryptographic function given the output value.
False
Lightweight nodes only mine bitcoin.
False
Mining pools increase the population of people running a fully validating Bitcoin node.
False
New nodes in the Bitcoin network must be validated by miner nodes before becoming fully validated nodes.
False
Storing bitcoins on a file on your own local device (such as computers) is the best option for availability and security.
False
The Bitcoin network contains master nodes that must be online at all times.
False
The address of a Bitcoin is encoded as a text string using a bit conversion to base 42 (utilizing 42 printable characters).
False
The mining difficulty in the Bitcoin network never changes.
False
It is very hard but not impossible to find the input of a cryptographic function given the output value.
True
Loops are not allowed in the Bitcoin scripting language.
True
Mining pools make Bitcoin mining more predictable for the participants and they make it easier for smaller miners to get involved.
True
Mining today is dominated by Bitcoin ASICs.
True
Puzzle friendliness is a required property of cryptographic hash functions to be considered secure.
True
Social engineering and social tracking can de-anonymize a Bitcoin user.
True
Storing bitcoins is primarily about storing and managing Bitcoin secret keys.
True
Storing bitcoins on a file on your own local device (such as computers) is convenient.
True
The Bitcoin network is a peer-to-peer (P2P) network.
True
The Bitcoin scripting language is stack-based.
True
The fee goes to the miner who makes the block that includes this transaction. (Note: This is separate from the reward the miner gets from creating the block.)
True
The information on an online wallet is stored in the cloud.
True
The longer a transaction output sits unspent, the more it ages, and the more it will contribute to priority when it is finally spent.
True
The pool manager of a Bitcoin mining pool will run a Bitcoin node on behalf of participants, collecting transactions and assemble them into a block.
True
The three goals of storing bitcoins are availability, security, and convenience.
True
The validity of a GoofyCoin can be verified by anyone following the chain of hash pointers back to its creation by Goofy.
True
There are ASIC chips that were designed, built, and optimized for the sole purpose of mining Bitcoins.
True
Transaction fees are currently voluntary, but they may be mandatory in the future when the block reward has run out.
True
Two popular ways to encode addresses so that they can be communicated from receiver to spender are as a text string or as a QR code.
True
Unlinkability means that if a user interacts with the system repeatedly, these different interactions should not be able to be tied to each other from the point of view of the adversary.
True
Wallets typically generate a fresh address whenever a change of address is required.
True
Whoever owns a coin can transfer it to someone else.
True
You can access your online wallet using a web interface on your computer or using an app on your smartphone.
True
You must must join the Bitcoin network and connect to other nodes in order to be a bitcoin miner.
True
Cold storage does not have to be online to receive coins.
true
In the Bitcoin network, nobody is forced to reveal their real‐life identity.
true
In the blockchain, within each block there is a Merkle tree of all of the transactions included in that block.
True
A 51% attack cannot change the block reward and suppress transactions (such as by refusing service to certain users).
True
A Bitcoin script must contain a public key embedded in the script that, when hashed, provides a destination address.
True
A Merkle tree can be considered as a binary tree of hash pointers
True
A bitcoin transaction contains information about a number of inputs (bitcoin addresses used to fund transaction).
True
A designated entity called Goofy can create new coins whenever he wants and these newly created coins belong to him.
True
A digital signature should be unforgeable, but can be validated by anyone who sees it.
True
A distributed consensus protocol is designed to terminate with all honest nodes in agreement on the value and the value must have been generated by an honest node.
True
A hash pointer is a way to retrieve information in a linked list and verify that information has not been changed
True
A hierarchical wallet allows the cold side to use an unbounded number of addresses and the hot side to know about these addresses.
True
A transaction fee is the difference between the total value of coins that go into a transaction minus the total value of coins that come out.
True
A wallet may contain addresses containing varying amounts of bitcoin and change from bitcoin transactions.
True
Alice wants to pay Bob 9 bitcoins. She has output worth 12 bitcoins. In order to pay Bob, Alice needs to send 9 bitcoins to Bob and 3 bitcoins back to herself.
True
At any time if the amount of money in your hot wallet becomes uncomfortably large, you can transfer a chunk of it over to cold storage, without putting your cold storage at risk by connecting to the network.
True
Bitcoin mining can be parallelized easily. GPU mining affords computing multiple hashes at the same time with different nonces.
True
Bitcoins proof-of-work uses more energy that other consensus algorithms, such as Ethereum's proof-of-stake.
True
CHKMULTISIG has an implementation bug.
True
CHKMULTISIG is a basic instruction in the Bitcoin scripting language rather than a script.
True
Cryptographic hash functions are one-way functions.
True
Each node in the Bitcoin network connects with other random nodes.
True
Every instruction in a Bitcoin script is executed exactly once.
True
For ScroogeCoins, a designated entity called Scrooge publishes an append‐only ledger containing the history of all the transactions that have happened.
True
For a Merkle tree, we can use hash pointers in any pointer‐based data structure as long as the data structure does not have cycles.
True
Fully validating nodes must store the entire blockchain and need a good network connection.
True
Graphics cards have many floating-point units that aren't used at all in SHA‐256.
True
Hierarchical wallets generate address generation info instead of a single address.
True
In a Bitcoin transaction, shared spending by and large implies joint control of different input addresses.
True
In a K-out-of-N secret sharing scheme with K=2 and N=2, the secret is divided into 2 pieces, and we need to get both pieces to obtain the original secret.
True
In a Merkle tree, it takes O(log n) computations for proof of membership, where n is the number of nodes in the tree.
True
In a blockchain, the (current) head of the list is a regular hash pointer that points to the most recent data block.
True
In a digital signature, the private key is used to encrypt a message/document.
True
In the Bitcoin consensus model, nodes must agree on exactly which transactions were broadcast and the order in which these transactions happened.
True
In the Bitcoin context, the network is highly imperfect: not all pairs of nodes are connected to each other in this P2P network.
True
In the Bitcoin network, a user is free to create as many addresses as he or she likes.
True
In the Bitcoin network, there is a blockchain where each block header points to the previous block header in the chain.
True