I did not. Soooo I might not be able to help you with the questions you have refering to certain times on the video. but Ill see what I can do.
I have some specific questions remaining:
MiningI guess a miner is not always a node (e.g. when he joins a pool) but a node is always a miner? My understaning is that you are a node as soon as you support the network with the blockchain database running the bitcoind client and update that database.
I also heard the term "full node". Do half nodes exist?
![Wink](https://bitcointalk.org/Smileys/default/wink.gif)
Anyone running the official client (bitcoinqt) is considered a full node, as in "I have a full copy of the blockchain" (thus "full") and Im willing to share it with anyone on the network (thus "node"). There are other clients that do not have a full copy of the blockchain, not sure if they are called "half nodes"
![Wink](https://bitcointalk.org/Smileys/default/wink.gif)
Do miners run specific mining software? Can mining be enhanced by specific mining software? Or are you just as likely to find a block with the bitcoind client? (I am not talking of mitigating the risk by joining a pool)
Yes there are several programms (e.g. guiminer, cgminer, ...) to mine. You can implement the algorithms badly, but most mining programms do it similarly well. Guiminer is considered a little slower because it has to run a gui. Afaik bitcoinqt no longer supports mining. You might be able to do it anyway, but it does not change the likelyhood of finding a block. The computationpower is the deciding factor wether you have a reasonable chance to find a block or not.
Transaction validation
The following questions are based on my understanding that the miner that finds the next block defines which transactions are included in this block (if he is a honest miner he takes those transactions into the block that have the higherst tx fees). See 13:00 Correct me if this assumption is wrong.
Miners form a new block with the transactions according to their rules. Some might only accept if there a transaction fee payed, some might accept transactions without fees. So yes to miner who finds a new block decides which transactions to include.
So the question is then how does the network actually control that the transactions chosen by the miner that found the block are actually valid (enough input, no double spend, --> do other reasons exist why a tx would be invalid?)?
- Is it that the client/network doesnt let me broadcast transactions that I am not entitled to based on my inputs in he first place? If so how does the client / network know this?
- Or does the puzzle and its solution depend on the tx messages? That would make sense to me
The miner checks wether you have the funds according to all previous transactions in the blockchain. So while you could spoof the transactions message, no miner would accept it.
The "puzzle" does depend on the transactions, but its more like a lottery than a puzzle.
To form a new block the miner takes all unconfirmed transactions and a random value (nuance) and computates a hashvalue. In order for it to be considered a new block the hash value must have a certain number of leading 0's. The number depends on the difficulty. If you guesses wrong you pick another nuance and try again.
My understaning of the term "transaction message" = all the transaction specific details: Input and output address, btc amount, what else?
https://en.bitcoin.it/wiki/Transactions
How many transactions does a miner have to take into a block?
At least one. According to this
https://en.bitcoin.it/wiki/BlocksThe list of transactions must be non empty.
How is it possible to send the same bitcoin twice at the same time when trying to do a double spend attack? See 10:03
The longest chain matters. If you manage to make a new chain that is longer than the current one, only the transactions in your chain are valid, all others are no longer considered to have ever happend. Thus it is -theoretically- possible to make a transaction and afterwards make 2 new blocks very fast which exclude this transaction. So you have a very small window for this attack and the longer the reciving part waits the harder it gets to make another longer chain.
What's the deal with getting the hash below a certain number (see 15:00)? My of the "puzzle" to be solved was something like: All the letter of a sentence that makes sense are mixed randomly. No a computer tries all different possibilities so that the sentence makes sense again. This wouldnt work of with sentences because whether it makes sense if up for interpretation...
Yeah the "puzzle" idea is just wrong, I wrote about it above. Its more like lottery not a puzzle.