Was ist die "Blockchain"?

wiki
info

#1

Wenn man über Kryptowährungen spricht, dann ist “Blockchain” das große Buzzword. Heute möchte ich ein wenig erklären was die Blockchain ausmacht und was sie so anders gegenüber z.B. unserem Banken-System macht. Anzumerken sei aber auch das bereits einige Kryptowährungen wie IOTA gibt welche das Konzept der Blockchain umkrempeln und anders nutzen, da auch die Blockchain seine Probleme hat.

Ich habe versucht den Guide so einfach und verständlich wie möglich zu halten während ich aber auch nicht zu viele Informationen weg lassen wollte. Ihr könnt gerne weiter unten weitere Fragen oder Anmerken posten!


Was genau ist den nun die Blockchain?
Im Grunde ist es eine verteilte Datenbank die meistens öffentlich zugänglich ist, die Datenbank wird hierbei normalerweise per Peer-to-Peer (bekannt von Torrents) Protokoll verteilt. In dieser Datenbank kann dann jeder nachsehen welche Adresse welche Transaktion getätigt hat. Diese Transaktionen werden in sogenannten “Blöcken” verpackt und hintereinander gereiht (chained), daher der Name “Blockchain”. Im Falle von Kryptowährungen wie Bitcoin und Ether kann nun aus dieser Liste an Transaktionen berechnen wie viele Einheiten Bitcoin bzw. Ether man auf einer Adresse hat.

Wie “öffentlich” ist die Blockchain?
Im Falle der meisten Kryptowährungen sind die Blockchains SEHR offen. Jemand der beispielweise weiß wie deine ETH Adresse (diese bestehen aus einem kryptischen Hash) lautet kann nachverfolgen wie viel ETH man gerade zur Verfügung hat und welche Transaktionen man in der Vergangenheit getätigt hat. Einige Kryptowährungen wie zum Beispiel Monero (XMR) schieben dem einen Riegel vor und verschleiern Transaktionen sodass man sie nicht mehr nachverfolgen kann.

Und was ist nun der Vorteil?
Eine Blockchain ist (fast) sicher gegen nachträgliche Änderungen, ist eine Transaktion erst mal in einem Block dann kann man diese nicht wieder rückgängig machen oder abändern. Je älter der Block desto schwieriger wird es eine Änderung einzufügen. Dies ist dadurch bedingt das in jedem Block auch automatisch ein Hash des vorherigen Blocks steht, ändert man einen Block dann ändert sich auch dessen Hash, dadurch ändert sich der Hash in allen Blöcken danach und der Aufwand dies neu zu berechnen steigt exponentiell.

Blockchain

Das generieren des Hashes wird hier auch “Proof-of-Work” genannt und soll versichern das eine nachträgliche Änderung zu viel Arbeit generiert, die verschiedenen Kryptowährungen nutzen hierfür verschiedene Hash Algorithmen.

Was hat es mit “Confirmations” auf sich?
“Confirmations” auf einer Transaktion zeigen an wie viele Blöcke sich nach dem Block in dem die Transaktion selber vorhanden ist, befinden. Viele Exchanges lassen Transaktionen erst ab einer bestimmten Anzahl an Confirmations gelten (Damit die Transaktion sich nicht auf einem Fork befindet der wieder verworfen wird).

21-12-2017 15-29-53

Was ist nun das “Minen” der Währung?
Beim sogenannten “Minen” bzw. “schürfen” wird anhand des Hash Algorithmus und einiger Transaktionen ein neuer Block berechnet. Der Miner der einen neuen Block an die Blockchain hängt, erhält einige Einheiten der jeweiligen Währung (z.B. derzeit bei Bitcoin 12,5 BTC und bei Ether 5 ETH). Zusätzlich bekommt der Miner noch die Transaktions-Gebühren die jeder Nutzer seiner Transaktion anhängen kann.
Anzumerken sei auch das die meisten Hash Algorithmen entweder für das schürfen mit einer GPU und/oder CPU ausgelegt sind. Bitcoin und Bitcoin Forks sind die einzigen die hier ausbrechen da dessen Hash Algorithmus leicht über sogenannte ASIC Chips berechnet werden kann, demnach schürft man Bitcoin viel effektiver mit einem solchen Miner (z.B. einem AntMiner) anstatt mit Grafikkarten.

Probleme bei Blöcken:
Die Bitcoin Spezifikation sieht vor das alle 10 Minuten ein Block mit Platz für 1 MB Transaktionen an die Blockchain angehängt wird. Ethereum als Beispiel generiert 4 Blöcke in einer Minute und die Blockgröße ist mehr dynamisch. Dadurch gibt es jedoch ein maximales Limit wie viele Transaktionen zur selben Zeit verarbeitet werden können, sollte es zu einem Stau kommen und zu viele Transaktionen warten dann gewinnen oft die Transaktionen mit höheren Transaktions-Gebühren.
Außerdem sieht z.B. die Bitcoin Spezifikationen vor das alle 210 000 Blöcke nur noch die Hälfte an BTC an die Miner verteilt wird, ursprünglich gab es noch 25 BTC für denjenigen der einen Block an die Blockchain hängt. Zusätzlich dazu wird das berechnen eines Hashes immer schwieriger je mehr Blöcke an der Blockchain sind und Miner werfen so über die Zeit weniger Gewinn ab.
Um dem die Krone aufzusetzen wird beim Mining unnötig viel Energie für das berechnen von sinnlosen Hashes vergeudet, die Umwelt dankt.

Wie setzt sich ein Miner durch das ausgerechnet sein Block in die Blockchain kommt?
Wenn ein Miner einen Block erstellt hat, macht er das durch einen Broadcast im P2P Netzwerk kund (genauso wie Transaktionen auch nur einen Broadcast aussenden), dennoch kommt es vor das Blöcke zur selben Zeit gefunden werden. Wenn jetzt die nächsten Miner 2 oder mehrere verschiedene Blöcke als Vorgänger-Hash nutzen, dann passiert ein sogenannter “Fork” entsteht.
Fork
Dabei entsteht eine Abzweigung (Branch) und die Abzweigung mit den meisten Blöcken davor wird früher oder später sich durchsetzen während die anderen verworfen werden. Weil bei dieser Methode viel Rechenleistung flöten geht wenn ein solcher Zweig verworfen wird, hat man sich z.B. bei Ethereum Wege überlegt wie man trotzdem für das errechnen solcher Abzweigungen belohnt wird und diese anderweitig eingepflegt werden.

Was sind “Hard-Forks”?
Wenn wir schon bei Forks sind, "Hard-"Forks ist auch ein geläufiger Begriff. Bei einem “Hard-Fork” wird gezielt ein neuer Zweig der Blockchain erstellt, meist um eine Grenze mit neuen Code und neuen Regeln zu definieren. Hard-Forks werden auch genutzt um eine bestehende Kryptowährung zu nehmen und diese in einem separaten Zweig nach seinen Wünschen anzupassen. So geschah zum Beispiel im August diesen Jahres ein Hard-Fork von Bitcoin zu Bitcoin Cash, wer vor dem Hard-Fork 1 BTC besaß, hatte nun also 1 Bitcoin und 1 Bitcoin Cash.
Dies geschah vor allem durch den Unmut das die derzeitigen Bitcoin Entwickler kaum einen Finger rührten um Herr über die Problematik mit hohen Transaktionsgebühren und langen Wartezeiten zu werden, Bitcoin Cash konnte diese Probleme jedoch mit einigen Änderungen beheben und erfreut sich steigender Beliebtheit.

Was sind Mining-Pools?
Die Wahrscheinlichkeit das ausgerechnet der eigene Miner einen Block zuerst erstellt, ist verschwindend gering. Trotz hohem Gewinn, lohnt es sich selten für kleine Miner aufs Glück zu hoffen. Abhilfe schaffen sogenannte “Pools” bei denen sich mehrere Miner zu einer Gemeinschaft vereinigen und jeder einen Teil der Rechenleistung übernehmen. Findet der Pool einen Block, wird dieser fair unter allen die am Block mitgearbeitet nach ihrer Rechenleistung belohnt. Nachteil ist das bei vielen Pools erst mal eine hohe Summe schürfen muss bis man diese ausbezahlt bekommt, außerdem ziehen die Betreiber einen kleinen Teil vom Gewinn für sich ab. Kleinere Pools (dort wo man evtl. mehr Gewinn bekommt da weniger Miner bezahlt werden müssen) können jedoch auch einfach von der Bildfläche verschwinden und sind mit allen geschürften Gewinnen über alle Berge.

Was sind Smart Contracts?
Maximal seit Ethereum sind “Smart Contracts” ganz groß. Während bei der Blockchain von Bitcoin in einem Block nur Transaktionen, Vorgänger-Hash und Meta-Daten stecken, können bei Ethereum auch ganze Code-Scripte hinterlegt werden die unter bestimmten Bedingungen ausgelöst werden. Beliebt sind vor allem eigene Kryptowährungen (sogenannte “Tokens”) die mit relativ wenig Code bereits realisiert werden können. Beliebte Tokens die auf Ethereum aufbauen sind zum Beispiel: OmiseGo, Golem, Binance Coin, TRON oder Kyber. Aber auch virtuelle Katzen können erstellt und versendet werden.
Smart Contracts werden auch gerne “dApp” genannt, kurz für “Distributed App”.


#2

Wenn ihr weitere Fragen habt, bitte stellen. Auch bei Korrekturen bitte schreiben, auch ich bin nicht perfekt.

Weiterhin habe ich den ersten Beitrag in einen “Wiki-Beitrag” geändert, d.h. jeder ab Level 2 kann diesen bearbeiten und weitere Infos hinzufügen!