Das "ganze Ding" ist eine öffentlich einsehbares Transaktionssystem zu "Nummernkonten" (das sind die einzelnen Adressen, an die man Bitcoins senden kann).
Öffentlich einsehbar deshalb, weil jede Transaktion nachvollziehbar gespeichert wird und auch von jedem Netzteilnehmer überprüft werden kann (wenn du den Client startest, lädt der erst mal ALLE Transaktionen seit 2009 runter und überprüft jede einzelne)
Transaktionssystem deshalb, weil - um Transaktionen abzuschließen - diese in einen sogenannten "Block" inkludiert werden müssen.
Nummernkonten daher, weil man zwar nicht unerkannt Geld versenden kann, man kann aber quasi beliebig viele Kontonummern haben, und jede nur für eine einzige Transaktion nutzen. Dadurch kann ein Außenstehender ohne weitere Informationen niemals wissen, wem welches Konto gehört.
Um Transaktionen verifizierbar zu machen und in "Blöcke" einzufrieren, werden die Transaktionsnummern jedes Blocks + eine Zufallszahl mit einer Hashfunktion (=Prüfsumme) so lange getestet (mit immer anderen Zufallszahlen) bis zufälligerweise der Hashwert mit genügend Mullen beginnt um der aktuellen "Schwierigkeit" zu genügen.
Hat man dann quasi nach mehreren Milliarden Versuchen (das sind diese "Megahashes/sekunde" von denen hier die Rede ist) eine passende Zufallszahl gefunden, tut man das dem Netzwerk kund: "Ich behaupte, dass Transaktion 1,2,3,4... + Zufallszahl X dann den passenden Hash für den nächsten Block ergibt!"
Jeder Client der sowas erhält, braucht nur eine einzige Berechnung durchzuführen (um das zu überprüfen) und wenn das stimmt, fügt er den Block seiner Liste hinzu und sagt es seinen Nachbarsknoten, dass der nächste Block seiner Meinung nach gefunden wurde.
Die 50 extra-Bitcoins jedes Blocks kommen daher, dass die erste der Transaktionen in einem Block an eine beliebige Adresse (meist die des miners oder des mining-pools) gehen darf - sie darf jedoch maximal (derzeit) 50 Bitcoins beinhalten. Das sind dann also die "frischen " Bitcoins, die aus dem Nichts entstehen.
Hält sich jemand nicht daran, und versucht z.B. 1 000 000 Bitcoins statt 50 in die erste Transaktion zu schummeln, wird jeder andere Client sagen "Die Lösung für den Block stimmt ja... ABER da stimmt was nicht mit der ersten Transaktion, sorry!" und den Block ablehnen.