Oder ist die für einen Block nötige Rechenleistung so gering, dass auch ich mit meinem schwachbrüstige Laptop einen bauen könnte, wenn ich es dürfte, und dass Hashs eigentlich unendlich viele per "Klick" zu erzeugen sind?
Das hat mit der Anzahl "Lose" zu tun. Dein Laptop erstellt sagen wir ein Los pro Sekunde, ein Moderner Miner 1000. Alle 10 min gewinnt im Prinzip ein Los, egal wie viele Lose es gibt, je mehr Lose desto kleiner deine Chance per los. Wenn jetzt alle nur mit nem Laptop Lose ziehen würden, wäre dein Laptop ausreichend.
Du gehst davon aus, dass ich mit meinem Laptop an der Mining-Tombola teilnehmen will. Nein, das habe ich nicht gemeint. Ich meinte: Woraus besteht ein Block, und wer generiert ihn? Moment --- sind wir jetzt wieder bei den Clients, also den Wallets, die Transaktione generieren, und besteht ein Block aus allen Transaktionen + der einen, die dem Miner 12,5 BTC schenkt?
Aber warum werden dann je Block nur rund 300 Transaktionen ausgeführt? Woraus besteht der Rest? Aus Spam?
Und ist die Hash-Rate des Netzwerkes demzufolge vollkommen bedeutungslos? Bisher dachte ich: Hohe Hash-Rate = schnelle Transaktionen.
Ein Block besteht aus einigen Transaktionen, die ein Miner für bestätigenswert erachtet (z.B. weil sie Gebühren beinhalten). Diese trägt er in eine Liste ein (in Wirklichkeit ein sogenannter "Merkle Tree") und erstellt für die gesamte Liste eine Prüfsumme. Bis hierhin kann das auch noch jeder 386er PC aus dem vorigen Jahrtausend ohne Probleme in Sekundenbruchteilen erledigen.
Ein Block besteht dann aus einem sogenannten "Header" (in dem z.B. diese Prüfsumme der Liste, die aktuelle fortlaufende Nummer des Blocks, die ungefähre aktuelle Zeit (+/- 2 Stunden) etc. stehen) und eben der Liste an Transaktionen als variabler Anteil. Eine davon ist diejenige, in der sich der Miner bis zu 25 BTC derzeit aus dem Nichts generieren darf.
Hier wird's eben schwierig: Wenn es ja so einfach ist, einen Block zu erstellen (Liste einiger Transaktionen basteln + ein paar allgemeine Daten anhängen) - wie soll man dann verhindern, dass nicht einfach jemand gleich mal ein paar Millionen Blöcke zusammenbastelt?
Hier setzt das Mining an - das ist ein Verteilungsmechanismus, der auf "Proof of Work", also "Arbeitsbeweis" aufsetzt. Um einen gültigen Block zu senden, muss er nicht nur ordentlich erstellt sein (das ist ja leicht), sondern man muss auch beweisen, dass man eine gewisse Arbeit erledigt hat. Im Fall von Bitcoin ist das die Erstellung einer SHA-256 Prüfsumme des Blockheaders, die mit einer gewissen Anzahl an Nullen beginnt.
Ein praktisches Beispiel wäre z.B. "Würfelcoin": Du hast 10 Münzen + 2 Freunde + 1 Würfel. Dein "Proof of Work" ist: "Würfle eine 6". Es wird reihum gewürfelt und dann geschaut, ob eine Münze bezahlt wird. Im Schnitt wird also jeder deiner beiden Freunde 5 Münzen erhalten. Jetzt hören aber andere Leute auch von dem Spiel und wollen auch mitmachen. Plötzlich hast du 1000 Leute vor dir. Jeder will der erste sein, da die späteren Leute schon sehr schlechte Chancen haben, überhaupt noch um eine Münze (es gibt ja nur 10) würfeln zu können. In deiner unendlichen Weisheit machst du das Spiel aber einfach um einiges schwieriger: ab sofort muss man 4 6er hintereinander würfeln. Damit ist es unwahrscheinlich genug, dass die "Erstwürfler" einen Vorteil haben und alle sind zufrieden. Und wenn sie nicht gestorben sind, dann würfeln sie noch heute...
Die Idee von mining ist also nicht, dass es schwer oder kompliziert ist, einen Block zu erstellen (würfeln ist einfach). Es ist aber schwer, die Spielregel zu erfüllen (4x hintereinander eine 6) und so unvorhersehbar, dass man die Münzen dadurch fair unter allen Teilnehmern verteilen kann. Der Trick dabei ist, dass du die Teilnehmer nicht mal sehen/kennen musst! Es reicht, sich deren Würfelergebnisse anzuschauen (einfach und billig) um die schwierige Arbeit des Würfelns zu verifizieren. Das Würfeln an sich ist wiederum komplett sinnlose Arbeit und dient auch keinem höheren Zweck - aber es ermöglicht den Teilnehmern, ein verifizierbares Ergebnis zu erzielen.
Im Falle von Bitcoin hat eben jeder seinen eigenen Würfel (und manche würfeln sehr viel schneller als ihre Kollegen), die Grundidee ist aber immer noch die gleiche. Hier würfelt man eben um 50/25/12,5... Münzen aus einem 21 Millionen Stapel und macht sich das gemeinsam schwerer (z.B. "ab sofort muss man 5 6er hintereinander würfeln!") falls es zu schnell geht bzw. leichter falls es zu lange dauert. Die Anzahl an Nullen ist dann die Schwierigkeit der Aufgabe bei der Art von "Arbeit" die Bitcoin verwendet, so wie die Anzahl der 6er hintereinander bei Würfelcoin.
Hohe Hashrate im Netzwerk bedeutet nur, dass es schwierig ist, Bitcoins zu errechnen (du musst viel Glück haben), nicht dass irgendetwas schneller geht. Wachsende Hashrate bedeutet, es dauert im Schnitt leicht unter 10 Minuten pro Block, das bedeutet aber auch, dass in spätestens 2 Wochen, wenn sich jeder anschaut wie lange man gebraucht hat, die Aufgabe schwieriger gemacht wird, um wieder auf die gewohnte Rate abzubremsen. Im Vergleich zu vor 2 Jahren ist die Hashrate mittlerweile locker 10 Mal so hoch, allerdings siehst du ja selbst, dass deswegen nicht Blöcke im Minutentakt aufploppen.
Blöcke dürfen nach den aktuell gültigen Regeln max. 1000 kB groß sein, das Limit ist derzeit hart vorgegeben, es gibt aber Diskussionen wie man das ändern kann/sollte (und was ein sinnvolles Limit dann wäre). So viel zu deinen ~300 Transaktionen pro Block. Ich weiß nicht genau was du mit "Spam" meinst, in der Blockchain landen nur Daten, die zu einer Transaktion gehören. Dadurch, dass das Ganze nun eben schon seit einigen Jahren läuft und derzeit alle Transaktionen aufgehoben werden, ist es eben so, dass das eine gewisse Datenmenge ergibt.