Erfüllung der drei Transaktionsbedingungen bei BitcoinsteemCreated with Sketch.

in #deutsch6 years ago (edited)

Hallo liebe Bitcoin und Kryptowährungs (Technologie) Interessierte:D Gestern habe ich auf diesem Blog meinen ersten Artikel über die Funktionsweise von Bitcoin verfasst. Dort ging es um "Das Bitcoin-System" (könnt ihr hier gerne nachlesen).

In diesem Artikel wird es darum gehen, wie die drei Transaktionsbedingungen (Transaktionsfähigkeit, Transaktionslegitimität und Transaktionskonsens) bei Bitcoin erfüllt werden.

Transaktionsfähigkeit

Wie im gestrigen Artikel bereits erklärt wurde bedeutet Transaktionsfähigkeit schlicht und einfach, dass der Besitzer eines Guthabens eine Transaktion seines Guthabens vornehmen kann. Bei einer Bank wird dies durch entsprechende Infrastruktur sichergestellt (Filialnetz das schriftliche Aufträge annimmt sowie vom Kunden initiierte Transaktionen über Terminals, Heimcomputer, weitere elektrische Kanäle)


Im Bitcoin-System funktioniert dieser Austausch der Transaktionsaufträge bzw Transaktionsnachrichten über das "Bitcoin-Netzwerk" (siehe Abbildung 2)

Wie schon im vorherigen Artikel kurs angesprochen basiert das Bitcoin-Netzwerk auf "peer-to-peer" Technologie, was bedeutet das alle Netzwerkteilnehmer gleichgestellt sind (nicht wie mit einer Bank, wo die Bank alles machen kann). Im Bitcoin-Netzwerk existieren also keine Teilnehmer mit Sonderrechten und auch keine zentralen Strukturen.

Über das Bitcoin-Netzwerk werden nun Transaktionsnachrichten und Nachrichten zur Konsensfindung verschickt. Wie genau dies mit dem Standard des Bitcoin Protokolls verfasst wird und welche Rolle der public key und der private Key dabei spielen wird später noch erklärt. 

In dem Bild (Abbildung 1) seht ihr nun den einfach dargestellten Ablauf des initiieren einer Transaktion. In einem späteren Artikel wird das ganze noch genauer erklärt. Abbildung 1

Wann der Empfänger des Zahlungsauftrages von der Transaktionsnachricht erfährt ist egal. Sie muss also nicht zuerst an den Empfänger der Zahlung geschickt werden (er muss nichtmal zu den direkten Netzwerkteilnehmern gehören aber dazu später mehr).

Durch diese Topologie des Bitcoin Netzwerkes ist ebendieses extrem robust. Einzelne Ausfälle von Netzwerkteilnehmern sind egal. Um eine Transaktion zu initiieren genügt es die Transaktionsnachricht einem beliebigen Netzwerkteilnehmer zuzustellen und dann die Ausbreitung dieser Nachricht abzuwarten. Sollte die Weiterleitung der Nachricht scheitern, wird die Transaktionsnachricht einfach erneut an andere Netzwerkteilnehmer weitergeleitet. Dadurch ist die Transaktionsfähigkeit immer sichergestellt.

Jetzt gibt es allerdings ein Problem. Wenn ihr mitgedacht habt, wird euch aufgefallen sein, dass die Nachrichten einfach gefälscht werden könnten. Zum Beispiel: Ich könnte mir jetzt zum Beispiel denken, ja du hast ziemlich viele Bitcoins. Ich schreibe jetzt eine Transaktionsnachricht in der ich behaupte, dass du mir 100 Bitcoins schicken willst. Denn wie sollen andere Netzwerkteilnehmer wissen, ob das jetzt stimmt oder nicht? Das ist auch das im letzten Artikel kurz von mir angesprochene Problem "Der byzantischen Generäle". Ihr bekommt eine Nachricht die über verschiedene Personen weitergeleitet wurde. Wie könnt ihr sicher sein, dass der Inhalt der Nachricht wahr ist? Das ist jetzt der Knackpunkt(mit dezentralem Register) der erst mit Kryptowährungen gelöst werden konnte.

Da jeder Mensch unbegrenzt viele Pseudonyme erstellen kann sind Systemausschlüsse einzelner Personen die Transaktionsnachrichten fälschen auch keine Lösung.

Also muss jeder Empfänger einer Nachricht im Bitcoin Netzwerk in der Lage sein, deren Wahrheitsgehalt zu überprüfen.

 

Abbildung 2

Transaktionslegitimität

Um nun zu wissen, ob die Transaktion von einem bestimmten Guthaben auch tatsächlich vom Eigentümer des Guthabens initiiert wurde, bedient sich Bitcoin bewährter kryptographischer Verfahren.

Der Eigentümer eines Guthabens ist als einzigster im Besitz eines privaten Schlüssels (hoffentlich:D) Mit diesem privaten Schlüssel wird nun die Transaktionsnachricht vor dem Versenden ebendieser kryptographisch verschlüsselt. Mit dem zugehörigen öffentlichen Schlüssel kann die Nachricht dann wieder entschlüsselt werden. Wie wahrscheinlich jeder weiß/wissen muss der in Kryptowährungen investiert und diese vorbildlich auf eine sichere Wallet gesendet hat, ist der öffentliche Schlüssel bekannt(im Gegensatz zum privaten schlüssel den nur der Eigentümer des Guthabens kennt).

Daraus folgt, dass die Entschlüsselung der Transaktionsnachricht (die durch den privaten Schlüssel verschlüsselt wurde) jeder beliebigen Person möglich ist(mithilfe des zugehörigen öffentlichen Schlüssels des Guthabens)

Dadurch kann nun die Verifizierung des Initiianten der Transaktionsnachricht erfolgen. Die Entschlüsselung der Transaktionsnachricht klappt nämlich nur dann, wenn die Nachricht mit dem dem privaten Schlüssel zugehörigen öffentlichen Schlüssel entschlüsselt wird.

Da der Besitzer des Guthabens der einzige Mensch ist, der seinen privaten Schlüssel kennt kann durch dieses Verfahren überprüft werden ob der Initiiant der Transaktion tatsächlich der Besitzer dieses Guthabens ist. Der private Schlüssel wird auch nirgendswo gespeichert (außer auf der Hard-Wallet des Besitzers).

Also:

Du willst mir 10Bitcoins schicken (Danke:D). Du verschlüsselst die Nachricht:"Ich schicke urdreamscometrue 10 Bitcoins" also mit deinem privaten Schlüssel. Raus kommt dann irgend ein komisches Zahlen/Buchstabengewirr. Dann verschickst du dieses Buchstaben/Zahlengewirr (also die verschlüsselte Transaktionsnachricht) an einen beliebigen Netzwerkteilnehmer der nun versucht die verschlüsselte Transaktionsnachricht mit deinem öffentlichen Schlüssel zu entschlüsseln. Gelingt diese Entschlüsselung und es  kommt der Satz: "Ich schicke urdreamscometrue 10 Bitcoins" (also ein nach dem BItcoin Protokoll richtig formatierter Satz heraus der Sinn macht) weiß dieser Netzwerkteilnehmer, dass die Nachricht wirklich von dir ist (dem Eigentümer des Guthabens). Er leitet die Transaktionsnachricht also an seine Verbindungen weiter, die diese ihrerseits wieder überprüfen um die Echtheit der Nachricht zu überprüfen und manipulation vom vorherigen Empfänger auszuschließen.

Die Verbindungen, an die die Transaktionsnachricht nun immer weiter gesendet wird, werden also nur die verschlüsselte Originalnachricht akzeptieren. Ist die Transaktionsnachricht legitim kommt sie in die individuelle Transaktionssammlung des überprüfenden Netzwerkteilnehmers, wo sie sich dann in einer art "Warteschlange" befindet und bereit für die (mögliche) Übernahme ins Register ist.

Transaktionskonsens

Wäre nun die nächste Transaktionsbedingung, aber der Artikel ist länger geworden als gedacht und ich denke das war jetzt fürs erste genug input:) Ist ja doch ein recht komplexes Thema daher gliedere ich das ganze lieber in "kleine Happen":D MOrgen werdet ihr also erfahren, was es mit der dritten Transaktionsbedingung auf sich hat und eventuell werde ich noch andere Themen anschneiden (je nachdem wieviel Zeit ich zum Schreiben habe)


Ich hoffe der Artikel hat euch gefallen und konnte ein paar Informationen vermitteln. Gaanz anfänger geeignet ist das ganze jetzt zwar nicht (Begriffe wie Wallet habe ich nicht extra erklärt aber hole ich vielleicht noch nach) aber ich denke mit ein bisschen Konzentration ist das ganze gut verständlich. Falls ihr irgendwelche Fragen habt oder etwas anmerken wollt könnt ihr das sehr gerne in die Kommentare schreiben:) 

Würde mich freuen wenn ihr mir folgt und diesem Artikel einen Upvote gebt. Ich wünsche euch noch einen schönen Tag!

Quellen

  • Bild (Abbildung 2)

 Das Bild habe ich mithilfe von Paint 3D erstellt. Als Vorbild diente mir dafür die "Abbildung 8" aus dem Buch "Bitcoin, Blockchain und Kryptoassets von Aleksander Berentsen und Fabian Schär.

  • Mein Wissen über dieses Thema habe ich ebenfalls größtenteils aus diesem Buch.

https://www.amazon.de/gp/product/3738653929/ref=as_li_tl?ie=UTF8&tag=urdreamscomet-21&camp=1638&creative=6742&linkCode=as2&creativeASIN=3738653929&linkId=d95515f27071b70b443408ad7170a100

Dies ist ein ref Link von mir zu dem Buch.

Ebenfalls als Quelle empfehlen kann ich Medium und https://coinforum.de/forum/19-technik-entwicklung-sicherheit/ 









Sort:  

Ja liest sich sehr gut. Intressanter Beitrag weiter so.
upvote

Vielen Dank für dein Feedback:)

super liest sich gut. Das Übertragen von 10 Bitcoin natürlich nur via der Übertragung des Besitzrechtes und nicht der Token als Datenpaket. Aber das wirst du sicher noch erklären. Resteem.

Danke dir! Genau:) das ist aufjedenfall ein wichtiger Punkt, den viele glaube ich noch nicht so ganz verinnerlicht haben (wahrscheinlich weil man umgangssprachlich eben immer schicken, senden der Bitcoins etc sagt).

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63061.76
ETH 2602.70
USDT 1.00
SBD 2.75