Die Nutzung einer Blockchain führt zur Datensicherheit und Datenhoheit. Datenmanipulation soll mit ihr verhindert und Datenzugriff gewährleistet werden. Erreicht wird dies dadurch, dass alle in der Blockchain gespeicherten Daten einen digitalen Fingerabdruck erhalten und Kopien dieser Daten, an viele Teilnehmer des Netzwerkes versendet werden. Von der Blockchain existieren also viele Kopien in deren Netzwerk. Um die Blockchain zu verstehen, muss zunächst verstanden werden, was ein Hashwert ist. Der Hashwert ist der digitale Fingerabdruck einer jeden Datei, unabhängig von ihrem Datenformat. Alle Daten bestehen aus einem Binärcode von 1 und 0. Ein Hashwert wird dadurch gebildet, dass die Datei durch einen kryptografischen Verschlüsselungs-Algorithmus geschoben wird, welcher den Binärcode einer Datei in einen Hashwert umwandelt. Der Verschlüsselungs-Algorithmus (Hashfunktion) wird als Einwegfunktion bezeichnet, da es bei aktuellen Hashfunktionen (noch) keine Möglichkeit gibt, vom Hashwert auf die Daten zurückzurechnen. Die Hashfunktion ist keine Erfindung der Blockchain. Erstmals wurde die SHA-Hashfunktion (Secure Hash Algorithm) 1993 vom National Institute of Standards and Technology (NIST) als sicheren Verschlüsselungsfunktion vorgeschlagen. Diese Funktionen werden dem Stand der Technik angepasst. SHA-3 wurde im Januar 2011 veröffentlicht und am 5. August 2015 als Erneuerung zu SHA-2 standardisiert.
Jede Datei hat also ihren eigenen individuellen Hashwert. Da mit dem Hinzufügen, Ändern oder Entfernen von Daten, sich zwingend der Binärcode der Datei ändert, ändert sich ebenfalls ihr Hashwert. Anhand des Hashwertes kann daher erkannt werden, ob Daten verändert wurden. Visualisiert dargestellt, kann man sich eine Blockchain derart vorstellen, dass Daten in einen Datenblock gespeichert werden. Der Datenblock besteht aus einer Datenblocknummer(1), einer Nounce (2), dem eigentlichen Datenpaket(3), einem Verkettungshash(4) und einem Validierungshash(5).
Die (1) Datenblocknummer entspricht der Blockanzahl der Blockchain in chronologischer Reihenfolge. Für jeden neuen, an die Blockchain angehängten Datenblock, erhöht sich die Datenblocknummer. Der Genesisblock, also der erste Datenblock einer Blockchain, hat die Blocknummer 1.
Die (2) Nounce ist eine zu berechnende Zahl oder Datencode, welcher zur Validierung des Validierungshashs benötigt wird.
Das(3) Datenpaket enthält die eigentlichen Daten, welche in der Blockchain gespeichert werden sollen.
Der (4) Verkettungshash ist identisch mit dem Validierungshash des vorherigen Blocks. Hierdurch verbindet den aktuellen Block mit seinem vorherigen und garantiert die Unveränderlichkeit der Daten. Sobald sich die Daten im Datenpaket (3) ändern, also beim Löschen, Hinzufügen oder Austauschen von Daten im Datenpaket, wird diese Änderung vom nachfolgenden Datenblock in der Blockchain erkannt und als nicht valide, nicht mehr berücksichtigt.
Der (5) Validierungshash muss mit der Eingabe der richtigen Nounce (2) errechnet werden und dient dazu, dass der Datenblock von der Blockchain als richtig und dazugehörend erkannt wird.
1. Blockaufbau
Der Binärcode der Nounce (2), des Datenpaketes (3) und des Verkettungshashes (4), liefern zusammen den Validierungshash (5). Zuvor wurde festgelegt, dass die Blockchain nur einen bestimmten Hash akzeptieren darf. Z. B. könnte festgelegt werden, dass ein valider Hashwert der Blockchain mit fünf Nullen beginnen muss. Es besteht nämlich mathematisch nur eine verschwindend geringe Wahrscheinlichkeit, dass das Datenpaket und der Verkettungshash zusammen einen (validen) Hash ergeben, welcher mit fünf aufeinander folgenden Nullen beginnt.
Der Binärcode der Nounce (2), des Datenpaketes (3) und des Verkettungshashes (4), liefern zusammen den Validierungshash (5). Zuvor wurde festgelegt, dass die Blockchain nur einen bestimmten Hash akzeptieren darf. Z. B. könnte festgelegt werden, dass ein valider Hashwert der Blockchain mit fünf Nullen beginnen muss. Es besteht nämlich mathematisch nur eine verschwindend geringe Wahrscheinlichkeit, dass das Datenpaket und der Verkettungshash zusammen einen (validen) Hash ergeben, welcher mit fünf aufeinander folgenden Nullen beginnt.
Beispiel:
Hier sieht man den ersten Block einer Blockchain (Genesisblock). Vor Erstellung des Genesisblocks wurden die Bedingungen für einen validen Validierungshash (5) festgelegt. Im vorliegenden Beispiel, muss der Validierungshash (5) unserer Blockchain stets mit fünf Nullen beginnen, damit der Block von der Blockchain als valide akzeptiert wird. Unser Verkettungshash (4) wurde einmalig mit dem Genesisblock frei bestimmt und ihm der Wert "00000000000000" zugeordnet. Der Wert des Validierungshashes (5) wird durch den Dateninhalt des Datenpaketes (3) und dem (vorher bestimmten) Verkettungshash (4), sowie dem Wert der Nounce (2) bestimmt. Der Validierungs(hashwert) (5) hat durch Addition der Nounce (2) welche aktuell leer ist, des Datenpaketes (3) und dem Verkettungshashes (4) den Wert "3a77h79ol543fg". Da dieser nicht mit fünf Nullen beginnt, ist der Hash noch nicht valide und es kann noch kein neuer Block erstellt bzw. angefügt werden.
2. Mining
Mit Hilfe der Nounce (2), also durch Eingabe einer bestimmten Zahlenfolge, muss erreicht werden, dass durch das Hinzukommen der Nounce, sich der Hashwert des Validierungshashes derart ändert, dass er mit dem erforderlichen validen Wert von fünf Nullen beginnt. Das Finden bzw. Errechnen der richtigen Nounce wird in diesem Zusammenhang als Mining bezeichnet. Da es nur eine sehr geringe Wahrscheinlichkeit gibt, die passende Nounce zu finden, ist für das Errechnen der passenden Nounce ein sehr aufwendiger Rechenprozess erforderlich. Der Rechenprozess (Proof of Work oder PoW) dient dem Schutz vor Netzwerk Angriffen und soll den Abstimmungsprozess lenken. Sobald mit der gefundenen richtigen Nounce ein valider Validierungshash gefunden wurde, ist der Datenblock erstellt und valide.
Beispiel:
Mit dem Errechnen und Hinzufügen der bestimmten Nounce (2), ändert sich der Wert des Validierungshashes (5) in der Art, dass dieser dann mit fünf Nullen beginnt. Im vorliegenden Beispiel wird durch das Hinzufügen der Nounce (2) mit dem Wert "11234" der Wert des Validierungshashes (5) auf "0000079ol543fg" abgeändert. Der Block wurde "gemined". Dadurch, dass der Validierungshash (5) dann mit den zuvor bestimmten fünf Nullen beginnt, er also als valide erkannt wird, kann an diesem der zweite Block angefügt werden.
3. Blockchain
Der nächste Datenblock hat als Verkettungshash (4) stets den Validierungshashes (5) des vorherigen Datenblocks. Der Verkettungshash des nachfolgenden Blocks ist mit dem Validierungshash des vorherigen Blocks verbunden.
Beispiel:
Im vorliegenden Beispiel ist der Verkettungshash (4) des zweiten Blocks identisch mit dem Validierungshash (5) des ersten/vorherigen Blocks. Durch das Datenpaket (3) des zweiten Blocks und Verkettungshash (4) des zweiten Blocks, wird dann erneut der Validierungshash (5) des zweiten Blocks gebildet, welcher in dem Beispiel den Wert "fg78H5dk9890g6" hat.
Mit dem Errechnen und Hinzufügen der bestimmten Nounce (2) für den zweiten Datenblock, hier mit dem Wert "98805", ändert sich der Wert des Validierungshashes (5) des zweiten Blocks in "000005dk9890g6". Damit wird der zweite Block der Blockchain als valide erkannt und es kann der dritte Block angefügt werden, welcher ebenfalls den Validierungshash des zweiten Blocks als eigenen Verkettungshash hat. Es muss dann erneut mithilfe der richtigen Nounce der Validierungshash des dritten Blocks valide werden bzw. das "Mining" des dritten Blocks erfolgen.
Beim dritten Block ändert sich dann mit der Nounce "85008" der Validierungshash von urspünglich "87vc6H0665s9U7", zu einem validen Wert (mit beginnenden fünf Nullen), von "0000087vc6H066". Der dritte Block wurde dann "gemined".
4. Sicherheit
Da der Validierungshash (5) stets aus der Nounce (2), dem Datenpaket (3) und dem Verkettungshash (4) gebildet wird, ändert sich der Validierungshash sobald Daten im Datenpaket geändert, hinzugefügt oder entfernt werden. Zudem ändert sich der Validierungshash ebenfalls, wenn sich ein Validierungshash eines vorherigen Datenblocks ändert, da ja der Validierungshash des vorherigen Blocks stets als Verkettungshash des nachfolgenden Blocks übernommen wird und der Validierungshash des geänderten Blocks stets mit dem Verkettungshash des nachfolgenden Blocks identisch sein muss, damit dieser als valide erkannt wird. Auch müssen der Validierungshash und der Verkettungshash die zuvor bestimmten Validierungsvoraussetzungen erfüllen, um für die Blockchain valide zu sein.
Eine nachträgliche Veränderung des Datenblocks, hat daher zur Folge, dass sich zwangsläufig der Validierungshash des geänderten Blocks ändert. Damit besteht aber zum einen keine Identität mehr zwischen dem Verkettungshash des geänderten Blocks und dem Validierungshash des vorigen Blocks und die Validierungsbedingungen des Validierungshashes des geänderten Blocks -Der Hash muss mit fünf aufeinander folgenden Nullen beginnen- werden nicht mehr erfüllt. Sowohl der geänderte Block als auch der nachfolgende Block werden von der Blockchain als nicht mehr valide erkannt.
Würde man den Validierungshash des nachträglich veränderten Blocks erneut errechnen, so dass dieser valide mit fünf Nullen beginnt, müsste man den Validierungshash des nachfolgenden Blocks ebenfalls erneut berechnen, da dieser den (neuen validen) Validierungshash des geänderten Blocks als Verkettungshash nutzen muss um Valide zu sein. Der (neue valide) Validierungsahsh des zweiten Datenblocks ist dann aber nicht identisch mit dem Verkettungshash des nachfolgenden dritten Datenblocks.
Ein Validierungsmangel führt sich also auf alle nachfolgenden Datenblocks fort, so dass das Netzwerk durch Vergleich der Validierungshashes alle nachfolgenden Blöcke der Blockchain, ab dem abweichenden Verkettungshash, als nicht mehr valide erkennt. Die nachträgliche Datenänderung führt also dazu, dass das Netzwerk die Datenänderung erkennt und als unwahr identifiziert und die geänderten Daten nicht mehr berücksichtigt. Die vorgenommene Datenänderung hat also keinen Einfluss auf das Netzwerk. Es werden weiterhin nur die Kopien der Blockchain mit den unveränderten Daten berücksichtigt.
Beispiel:
Im vorliegenden Beispiel werden nachträglich die Daten im Datenpaket (3) des ersten Blocks (Genesisblock) geändert. Hierdurch ändert sich der Validierungshash (5) von ursprünglich "0000079ol543fg" zu "876Hgh98S1vx54". Der Validierungshashwert ist nicht (mehr) valide, da er nicht mit fünf Nullen beginnt.
Durch die Änderung des Validierungshashes im ersten Block ändert sich aber auch der Verkettungshash (4) des zweiten Blocks ebenfalls von ursprünglich "0000079ol543fg" zu "876Hgh98S1vx54", da der Validierungshash dem nachfolgenden Block stets als Verkettungshash dient.
Durch die Veränderung des Verkettungshashes ändert sich aber der Validierungshash des zweiten Blocks von ursprünglich "000005dk9890g6" zu "jKl897cS37u11X", da dieser durch die Nounce (2), dem Datenpaket (3) und dem (jetzt geänderten) Verkettungshash (4) gebildet wird. Dies führt wiederum dazu, dass sich der Validierungshash des dritten Blocks -welcher den Validierunsghash des zweiten Blocks als Verkettungshash nutzt- ebenso zu "jKl897cS37u11X" ändert und nicht mehr dem ursprünglichen validen Verkettungshash entspricht. Durch diese Kettenreaktion werden alle nachfolgenden Blocks in der Blockchain, ab dem nachträglich geänderten Block, als nicht mehr valide erkannt, so dass eine weitere Benutzung der Blockchain dann nicht mehr möglich ist. Die nachträgliche Veränderung der Daten konnte nicht verheimlicht werden.
Dadurch, dass die Blockchain nicht zentral an einem Ort gespeichert, sondern auf vielen Netzwerkknoten verteilt ist, kann durch Vergleich der einzelnen Blockchains erkannt werden, welche die "richtige" Blockchain ist. Hierdurch wird zusätzliche Datensicherheit verwirklicht. Um Datenblöcke zu verfälschen, ist es nämlich nicht ausreichend, dass ein Datenblock oder eine Blockchain verfälscht wird, da die Mehrheit der anderen Netzwerkknoten Kopien der unveränderten Blockchain besitzen und eine Abweichung erkennen. Daher müsste eine Mehrheit der Kopien der Blockchains im gesamten Netzwerk verändert werden, damit diese von der Mehrheit des Netzwerk als "echt" erkannt wird.
Durch die Dezentralisierung der Datenblöcke muss der Dateninhaber als weiteren Vorteil nicht mehr darauf vertrauen, dass ihm der Zugriff von demjenigen, welcher die Daten zentral verwaltet, gewährt oder ermöglicht wird. In einem zentralisierten System, bei dem die Daten beispielsweise auf einem oder mehreren Servern von einem Mittelsmann gelagert werden, ist der Datenzugriff davon abhängig, dass der Mittelmann den Zugriff zulässt oder diesem überhaupt möglich ist. Der Zugriff auf ein dezentrales Netzwerk kann hingegen nicht und nur sehr schwer verhindert werden, da dieses öffentlich ist und Kopien der Daten im gesamten Netzwerk verteilt sind.
Derzeit kommt die Blockchaintechnologie überwiegend bei Kryptowährungen wie Bitcoin und co. zum Einsatz. Jedoch wird die Technik ebenfalls bei dezentralen Projekten wie Smart Contracts oder DApps zum Einsatz.
Disclaimer: Der Seitenbetreiber will ausdrücklich keine Empfehlung dafür abgeben, in Kryptowährungen zu investieren. Kryptowährungen werden nicht reguliert und sind höchst volatil. Ein Totalverlust ist immer möglich. Für weitere Informationen wird auf das Impressum verwiesen.
Bitcoin ist die erste digitale Währung und wurde im Jahre 2008 erstmals in einem sogenannten Whitepaper beschrieben. Der Autor des Whitepapers nennt sich "Satoshi Nakamoto". Bis heute weiß niemand wer der Autor ist und es gibt viele Theorien hierzu, wer der Verfasser des Whitepapers sein könnte. Am 03.01.2009 um 18:15 Uhr wurde der erste Bitcoinblock gemined. Am 09.01.2009 um 02:54 Uhr wurde dann die erste Transaktion durchgeführt, bei der 50 Bitcoin an die Adresse "12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX" versendet wurden. Am 22.05.2010 wurde erstmalig ein Kauf mit Bitcoin durchgeführt, bei dem der Softwareentwickler "Laszlo Hanyecz" Pizza für 10.000 Bitcoin erwarb. Die Anzahl der Bitcoin ist auf 21 Mio begrenzt. Aktuell wurden bereits ca. 17 Mio erschaffen. Im Jahr 2140 soll voraussichtlich der letzte Bitcoin erschaffen werden. Die Gesamtanzahl der täglichen Transaktionen im Zeitraum Mai 2017 bis Juni 2018 schwank zwischen ca. 130 tsd. und 420 tsd. und dürfte in diesem Zeitraum bei durchschnittlich 250 tsd. liegen, soweit man die höchsten Peeks im Zeitraum November 2017 bis Februar 2018 vernachlässigt. Das gesamte Transaktionsvolumen lag zwischen 515 Mio USD und 5.5 Mrd USD und dürfte durchschnittlich bei 1 Mrd USD liegen (Zeitraum November 2017 bis Februar 2018 vernachlässigt). Die Bitcointechnologie steht besonders in der Kritik, wegen der schlechten Skalierbarkeit und dem ernormen Energieverbrauch, welcher für die Konsensusgewinnung durch Prof of Work benötgt wird. Auch wird der Bitcoin als Kryptowährung kritisiert, da lediglich ein geringer Teil von Personen einen sehr großen Anteil an Bitcoin halten. So sollen 111 Personen, mit jeweils mehr 10 tsd. Bitcoin, 19% der bisherigen Bitcoinmenge halten. Demgegenüber sollen 12.611.803 Personen, also 71% aller Bitcoinnutzer, jeweils weniger als 0,001 Bitcoin, halten. Trotz aller Kritik wurden im Dezember 2017 an zwei US Börsen der Handel mit Bitcoin Futures eröffnet. Mit dem Block Nr. 481.824 wurde der erste Lösungsansatz für das Skalierungsproblem implementiert und das Bitcoinupdate für Segwit aktiviert. Zudem wächst das Bitcoin Lightning Network stetig an, welches ein Payment Channel zwischen den Netzwerkknoten öffnet und so Transaktionen durchgeführt werden können, ohne die gesamte Blockchain zur Validierung nutzen zu müssen.
Bitcoin Cash hat sich am 01.08.2017 anlässlich des gescheiterten "New York Agreements", durch eine Hardfork vom Bitcoin abgespalten. Bitcoin Cash kritisierte die langen Transaktionszeiten und hohen Transaktionsgebühren, welche der Idee von Bitcoin widersprechen. Zur Beschleunigung der Transaktionen und Verringerung der Transaktionsgebühren wurde von einem großen Teil des Bitcoin-Netzwerkes entschieden, die Blockgröße von 1 MB auf 8 MB zu erhöhen und ausschließlich Blöcke in dieser Größe zu akzeptieren. Damit konnten ab diesem Zeitpunkt keine Blöcke des ursprünglichen Bitcoin-Netzwerks verarbeitet werden. Umgekehrt konnte das Bitcoin-Netzwerk keine Blöcke des Bitcoin Cash Netzwerkes verarbeiten. Bitcoin Cash war geboren.
Ethereum wurde ende 2013, von Vitalik Buterin, in seinem Whitepaper, beschrieben. Im Juli 2015 wurde die Blockchain von Ethereum gestartet. Ethereum ist im Wechsel mit Ripple, nach Bitcoin die Blockchain mit der zweitgrößten Marktkapitalisierung. Ethereum ist eigentlich keine Kryptowährung, sondern ein Dezentrales Netzwerk. Hierfür läuft eine vollständige Programmiersprache auf der Blockchain, welche eine echte universelle Programmierbarkeit ermöglicht und die Ethereum Blockchain zu einem Weltcomputer macht. Die dort geschriebenen Programme sind sogenannte Smart Contracts und DApps (decentralized Apps). Ether ist die digitale Währung von Ethereum, die für den Kauf von gas benötigt wird, um den Computer der Ethereum Blockchain zu nutzen und diese Programme ausführen zu können. Eine der bisher erfolgreichsten und zugleich skurrilsten DApp ist das Sammelspiel CryptoKitties, bei dem Katzen gekauft, gepaart und (teilweise zu Preisen von 100.000,- €) weiterverkauft werden können. Ethereum kann derzeit bis zu 15 Transaktion pro Sekunde leisten. Zudem gibt es wesentliche technische Unterschiede zu Bitcoin. Ethereumblöcke bestehen aus zwei Layern, bei denen einmal der Programmiercode und einmal die Menge der Coins verarbeitet werden. Ethereum nutzt den "KECCAK-256" hash, welcher anders als Bitcoin, nicht durch sogenannte ASICs berechnet werden kann und so eine Zentralisierung durch Miner verhindert werden soll. Die Skalierbarkeit soll zukünftig mit dem sogenannten sharding erhöht werden. Auch hat sich Ethereum vorgenommen, durch Implementierung des Casper Protokolls, den Wechsel von Proof of Work (PoW) zu Proof of Stake (PoS) zu vollziehen. Ethereum erstellt derzeit alle 15 Sekunden einen neuen Block, wobei sich diese Zeiten wegen der geplanten difficulty bomb bis zum Jahr 2021 konstant erhöhen wird um den vollständigen Wechsel zu Proof of Stake zu vollziehen. Aufgrund des großen Potenzials von Ethereum haben sich viele Unternehmen zusammengeschlossen und die Enterprise Ethereum Alliance gegründet, um gemeinsam die Idee von Ethereum zu fördern. Hierzu gehören auch namhafte Unternehmen wie die Credit Suisse, Intel, JP Morgan, Microsoft und Santander.
IOTA bezeichnet sich als die 3. Generation der Blockchain und soll im Internet der Dinge (IOT Internet Of Things) von Bedeutung werden. Hierzu soll IOTA das für Blockchains bekannt Skalierungsproblem lösen. IOTA verwendet nicht mehr die typische Blockchain-Technologie, sondern nutzt eine weiterentwickelte Form, den sogenannten Tangle. Im Tangle muss der Nutzer, der eine Transaktion durchführen möchte selber zwei fremde Transaktionen validieren, so dass jeder Nutzer zum Miner wird. Beim IOTA soll in der Theorie, die Geschwindigkeit und Stabilität des Tangles mit steigender Nutzerzahl zunehmen. Theoretisch kann IOTA damit eine unbegrenzte Anzahl an Transaktionen in einem festgelegten Zeitabschnitt durchführen. Das Skalierungsproblem ist insoweit gelöst. Allerdings gibt es derzeit noch technische Hürden und Schwierigkeiten, die gelöst werden müssen.
...in Bearbeitung...
...in Bearbeitung...
Mit dem Casper Protokoll soll Konsensus auf der Ethereum Blockchain nicht mehr durch Proof of Work (PoW), sondern durch -Proof of Stake (PoS) generiert werden. Hierzu wurde bereits am 07.09.2015 eine sogenannte Difficulty Bomb in das Protokoll von Ethereum eingebaut. Die Difficulty Bomb sorgt für das sogenannte Ice Age in Ethereum. Die Difficulty Bomb sorgt dafür, dass sich die Schwierigkeit zum Errechnen des Blocks beim Proof of Work kontinuierlich erhöht, so dass eine immer größere Hashrate benötigt wird, um einen Block zu validieren. Dies soll so weit gehen, dass bis zum Jahr 2021 die benötigte Hashrate zu hoch sein soll, um einen Block noch durch Proof of Work, validieren zu können. Parallel zur steigenden Difficulty, soll Konsensus und neue Blöcke durch den neu eingeführten Proof of Stake Algorythmus generiert werden. Anfänglich soll nur jeder hundertste Block durch PoS validiert werden, diese Häufigkeit wird dann aber kontinuierlich steigen, während die Anzahl der Blöcke, die noch durch PoW validiert werden, durch die steigende Difficulty stetig weniger werden. Durch die Verwendung von Proof of Stake, soll u. a. das Problem des enormen Energieverbrauchs von Proof of Work behoben werden.
Die Coin ist, anders als der Token, die virtuelle Münze der Kryptowährung und dient ihr als Recheneinheit.
...in Bearbeitung...
Die Difficulty Bomb soll bei Ethereum dazu führen, dass das Casper Protokoll erfolgreich implementiert werden kann und ein vollständiger Wechsel der Konsensusgenerierung von Proof of Work (PoW) zu Proof of Stake (PoS) stattfindet. Es ist beabsichtigt, dass die Difficulty Bomb dafür sorgt, dass im Jahr 2021 eine so große Hashrate benötigt wird, dass mit PoW keine Validierung der Blöcke mehr möglich ist.
"ERC20" ist das Tokenformat der Ethereum-Blockchain. Alle dort gestarteten ICO´s werden in diesem Format ausgegeben und als Smart Contract auf der Ethereum-Blockchain ausgeführt.
...in Bearbeitung...
Als Hardfork wird die Abspaltung von einer bestehenden Blockchain bezeichnet. Durch das Abspalten von der bestehenden Blockchain wird eine weitere autonome Blockchain begründet. Hardforks entstehen, wenn z. B. durch ein Protokoll-Update der Blockchain keine Abwärtskompatibilität gewährleistet ist und nicht das gesamte Netzwerk das Update durchführt. Ein Protokoll-Update mit nicht so weitreichenden Folgen für das Blockchain-Netzwerk wird als Softfork bezeichnet.
Beim Hashgraph wird der Konsensus durch "Gerüchte", einem sog. Gossip-Protocol, erzielt. Durch den Vergleich der Zuverlässigkeiten der Gerüchte in der Vergangenheit, wird berechnet wie Zuverlässig ein Gerücht ist. Sobald mehrheitlich ein zuverlässiges Gerücht als Wahr oder falsch gilt, wird Konsensus erzielt. Durch die Verwendung des Hashgraph müssen nicht alle Teilnehmer des Netzwerks alle Informationen des Netzwerks haben. Damit soll das sogenannte Skalierungsproblem gelöst werden.
ICO steht für den Begriff Initial Coin Offering und ist von IPO, dem Initial Public Offering, also dem Börsengang abgeleitet. Dem Käufer wird erstmalig vor Veröffentlichung der späteren Kryptowährung die Möglichkeit eröffnet, einen Token der zukünftigen Coin zu kaufen. Die ICO gibt dem Entwickler die Möglichkeit durch die Tokenkäufe zu Kapital zu gelangen (Crowdfunding).
"IOT" steht für Internet Of Things und ist das Synonym für den Anschluss von Dingen an das Internet. Ob dies der Kühlschrank oder die Heizung ist. In naher Zukunft sollen unsere Alltagsgegenstände internettauglich werden, damit diese entweder autonom oder mittels "Anruf" agieren.
Der Konsensus dient zur Verifizierung eines Geschehnisses, ob dieses stimmt oder nicht. In einem Netzwerk muss Einigkeit darüber bestehen, ob ein Geschehnis z. B. der Kontensaldo wahr oder falsch oder ob die Bedingung eines Smart Contracts eingetreten ist oder nicht. Es gibt verschiedene Ansätze und Möglichkeiten Konsensus zu erzielen. In einem zentralen System wird der Konsensus durch die übergeordnete Instanz erzielt. In unserem herkömmlichen zentralen Geldsystem wird beispielsweise der Konsensus durch eine Zentralbank erzielt, welche den Kontensaldo bestätigt. In der typischen Blockchain wird Konsensus dadurch erzielt, dass die Mehrheit darüber abstimmt, bzw. bestätigt oder nicht bestätigt, dass das Geschehnis wahr ist. Derzeit gibt es meherer Ansätze Konsensus zu erzielen (u.a. Blockchain, Tangle, Hashgraph).Comit, ETH??
Der Proof of Importance kommt bei der Bildung des Konsensus zum Einsatz. Um im Rahmen der Blockchain zu einem Konsens zu kommen, müssen deren Teilnehmer abstimmen. Damit es Teilnehmern nicht möglich ist, eine unbegrenzte Anzahl an Stimmen abzugeben und dadurch das Stimmergebnis zu beeinflussen (Sibel Attack), muss die Anzahl der Stimmenabgabe limitiert werden. Dies wird dadurch erzielt, dass der Abstimmenden beim Abstimmprozess Resourcen verbraucht, so dass eine Stimmenabgabe für den Abstimmenden "Kosten" verursacht. Beim Proof Of Importance soll einer Stimmenabgabe unterschiedliches Gewicht/Bedeutung zukommen. Wieviel Gewicht/Bedeutung eine Stimme hat, soll von verschieden Faktoren abhängen und beeinflusst werden können. Der POI ist gegenwärtig noch nicht weit verbreitet und aufgrund des noch nicht langen Einsatzes muss er derzeit wohl noch als "Experimentell" gesehen werden. Durch Einsatz des POI soll zukünftig auf den derzeit erheblichen Energieverbrauch beim Proof of Work (PoW) verzichtet werden können. Eine weitere Möglichkeit Konsensus zu bilden ist der Proof Of Stake (PoS).
Der Proof of Stake kommt bei der Bildung des Konsensus zum Einsatz. Um im Rahmen der Blockchain zu einem Konsens zu kommen, müssen deren Teilnehmer abstimmen. Damit es Teilnehmern nicht möglich ist, eine unbegrenzte Anzahl an Stimmen abzugeben und dadurch das Stimmergebnis zu beeinflussen (Sibel Attack), muss die Anzahl der Stimmenabgabe limitiert werden. Dies wird dadurch erzielt, dass der Abstimmenden beim Abstimmprozess Resourcen verbraucht, so dass eine Stimmenabgabe für den Abstimmenden "Kosten" verursacht. Beim POS soll das Gewicht einer Stimmenabgabe von der Anzahl der gehaltenen Coins beeinflusst werden. Die "Kosten" der Stimmabgabe entsprechen dann der Anzahl der gehaltenen Coins die für eine Stimmenabgabe erforderlich sind. Der Abstimmende muss also finanzielle Mittel einsetzen, um ausreichend Coins zu erwerben, um eine Stimmenabgabe zu ermöglichen. Andere Arten Konsensus zu erzielen sind der Proof of Work (PoW) und Proof Of Importance (PoI).
Der Proof of Work kommt bei der Bildung des Konsensus zum Einsatz. Um im Rahmen der Blockchain zu einem Konsens zu kommen, müssen deren Teilnehmer abstimmen. Damit es einem Teilnehmer nicht möglich ist, eine unbegrenzte Anzahl an Stimmen abzugeben und dadurch das Stimmergebnis zu beeinflussen (Sibel Attack), muss die Anzahl der Stimmenabgabe limitiert werden. Dies wird dadurch erzielt, dass der Abstimmenden beim Abstimmprozess Ressourcen verbraucht, so dass eine Stimmenabgabe für den Abstimmenden "Kosten" verursacht. Beim Proof of Work muss zum Abstimmen ein Rechenprozess erfolgreich abgeschlossen werden (Mining). Dieser Rechenprozess erfordert einen hohen Einsatz an Rechenleistung und ist sehr Energieintensiv, so dass der Abstimmende nur unter hohem Einsatz von technischen Ressourcen und hohem Energieaufwand Abstimmen kann. Aufgrund der großen Kritik der "Energieverschwendung" wird an weiteren Methoden gearbeitet, den POW abzulösen. Diese Methoden sind u. a. der Proof of Stake (PoS) und Proof of Importance (PoI).
...in Bearbeitung...
Als Scam kann allgemein eine Täuschung bezeichnet werden. Im Zusammenhang mit Kryptowährungen wird hier oftmals der Begriff Scam verwendet, wenn durch Täuschung Privat-Keys von Kryptowallets erlangt werden soll. Allerdings gibt es keine allgemein gültige Definition des Begriffs Scam, so dass auch vereinzelt unrentable Investitionen als Scam bezeichnet werden.
Segwit soll der Erste Schritt zur Lösung des Skalierungsproblems bei Bitcoin sein und wurde am 24.08.2017 eingeführt. Segwit steht für "Segregatet Witness" was übersetzt "Abgetrennter Zeuge" heißt. Bitcoin verwendet eine Blockgröße von 1 MB. Durch SegWit wird unter Beibehaltung der Blockgröße dennoch die doppelte Anzahl der Transaktionen ermöglicht. Ein Block bei Bitcoin besteht aus den Daten der Transaktion und den Daten des Privat-Keys (sog. Witness). Die Daten des Privat-Keys beanspruchen ca. 50% der Blockgröße. Bei Segwit wird nun der Blockteil mit den Daten des Privat-Keys abgetrennt und außerhalb der Transaktion im Netzwerk abgearbeitet. Der nun zur Verfügung stehende Speicherplatz im Block kann für weitere Transaktionsdaten verwendet werden. Durch Beibehaltung der Blockgröße von 1 MB ist SegWit abwärtkompatibel, so dass alle SegWit-Blöcke vom gesamten Bitcoinnetzwerk verarbeitet werden können. Bei SegWit2X wird die Blockgröße von 1 MB auf 2 MB verdoppelt. Allerdings ist durch die Veränderung der Blockgröße keine Abwärtskompatibilität gegeben, so dass nur Netzwerkknoten SegWit2X verarbeiten können, welche auf SegWit2X updaten. Sobald nur ein Netzwerkknoten kein SegWit2X akzeptiert, entsteht eine Hardfork, mit der Folge, dass es zwei (weitere) verschiedene Versionen des Bitcoins gäbe. Ähnlich ist dies am 01.08.2017 bei der Gründung von Bitcoin Cash geschehen.
...in Bearbeitung...
...in Bearbeitung...
Der Smart Contract enthält, wie ein echter Vertrag in der realen Welt, eine Vereinbarung über ein Rechtsgeschäft mit Rechten und Pflichten der jeweiligen Vertragspartner. Im Unterschied zum realen Vertrag in der Wirklichkeit, ist der Smart Contract digital und ähnelt einem kleinen Computerprogramm. Der Smart Contract übernimmt jedoch zusätzlich die Funktionen einer dritten Partei bzw. überwacht, ob die Vertragsbedingungen eingehalten wurden und automatisiert dann die vertraglich vereinbarte Rechtsfolge. Die Vorteile des Smart Contracts können anhand folgender Beispiele verdeutlicht werden. Bei einem Immobilienkauf übernimmt der Notar regelmäßig, neben dem Käufer und Verkäufer, als Dritte Person eine Treuhand- und Überwachungsfunktion. Der Kaufpreis wird vom Käufer an den Notar gezahlt und von ihm an den Verkäufer weitergeleitet, wenn er feststellt, dass die Vertragsbedingungen erfüllt wurden. Bei einem Crowdfunding-Projekt zahlen die Investoren die Investitionssumme an den Treuhänder, welcher die Summe an den Investmentnehmer auszahlt, wenn die vorher festgelegte Investitionssumme erreicht wird. Andernfalls zahlt der Treuhänder die Investitionssumme an die Investoren zurück. Bei diesen Beispielen, muss stets, eine Dritte nicht unmittelbar am Vertrag beteiligte Person, die Vertragsbedingungen prüfen und den Geldtransfer veranlassen. Mit der Verwendung eines Smart Contracts ist eine Dritte Person oder Mittelmann nicht mehr erforderlich. Der Smart Contract hält die Geldsumme und gibt diese autonom frei, wenn die Vertragsbedingungen erfüllt sind. Allerdings hat der Smart Contract noch viel bedeutsamere Vorteile. Da der Smart Contract an jedem Netzwerkteilnehmer auf der Blockchain verteilt wird und jeder Netzwerkteilnehmer eine Kopie erhält, gibt es keine Einzelperson, die die Geldsumme kontrolliert oder über die Einhaltung und Durchführung des Vertrages entscheidet (distributed). Zudem kann der Smart Contract nicht eigenmächtig durch eine Person geändert oder verfälscht werden, da der Smart Contract vom gesamten Netzwerk validiert werden muss. Eine verfälschte Kopie weicht von allen anderen echten Kopien ab und wird daher als verfälscht erkannt (immutable). Der Smart Contract bringt daher Ausführungssicherheit und Datensicherheit. Gegenwärtig kann man sich leicht vorstellen, dass der Smart Contract bei vielen Branchen anwendbar ist. Z. B. bei Banken im Rahmen des Automatic Payments oder der Kreditvergabe, bei Versicherungen zur automatisierten Prüfung der Eintrittspflicht und Durchführung des Versicherungsfalls sowie bei der Post und Briefsendungen im Rahmen des Postal-Payments.
Der Softfork ist wie der Hardfork ein Protokoll-Update einer Blockchain. Anders als beim Hardfork ist der Softfork jedoch Abwärtskompatibel. Dies bedeutet, dass nicht das gesamte Blockchain-Netzwerk dem Update zustimmen muss um weiterhin alle Transaktionen oder Blöcke verarbeiten zu können, welche bereits das Update erhalten haben.
Eine von IOTA verfolgte Idee Konsensus zu erzielen ist der sogenannte Tangle. Anders als die Blockchain gibt es in dem Netzwerk von IOTA keine Aufteilung zwischen Nutzer, welche nur eine Transaktion durchführen und Miner, welche die Transaktionen validieren. Auch müssen im Tangle anderes als in der Blockchain, nicht alle Teilnehmer Kenntnis von einem Geschehnis haben und hierüber abstimmen. Vielmehr wird ein Ausschnitt des Netzwerkes gebildet und nur ein Teil des Netzwerks stimmt über das Geschehnis ab. Dadurch, dass nicht alle Geschehnisse allen Netzwerkteilnehmern mitgeteilt werden und der Nutzer für jede eigene Transaktion selbst zwei fremde Transaktionen validieren muss, wird der Informationstraffic im Netzwerk verringert und kontrolliert. Hierdurch soll das sogenannte Skalierungsproblems gelöst werden.
Der Token ist eine Art Ersatzkryptowährung. Ein Token wird für eine ICO benötigt, wenn die eigentliche Kryptowährung noch nicht fertig entwickelt und veröffentlicht wurde. Der Käufer kann dann bereits den Token für die spätere Kryptowährung kaufen. Ein Token ist streng genommen ein Smart Contract mit dem Inhalt, dass der gekaufte Token später in die eigentliche Kryptowährung getauscht wird. Die meisten Tokens oder ICO´s werden gegenwärtig auf der Ethereum-Blockchain veröffentlicht.
Der Zero Knowledge Proof ist eine kryptografische Methode, die im Rahmen der Blockchain zur identitätsfeststellung dient. Das besondere am Zero Knowledge Proof ist, das die Identität bestätigt werden kann, ohne seine Identität bekannt geben zu müssen. Dies wird mithilfe des Privat-Keys und Public-Keys erreicht. Der Zero Knowledge Proof ermöglicht es dem Nutzer seinen Privat-Key geheim zu halten.