Der neue 3. Entwurf: https://bitcointalk.org/index.php?topic=1015371.msg11004178#msg11004178Bitcoin Netzwerk
Grundidee
Bitcoin ist ein 2009 eingeführtes länderübergreifendes Zahlungssystem in Form von virtuellem Geld. Die Übertragung der Beträge erfolgt direkt von Teilnehmer zu Teilnehmer (Peer-to-Peer). Dadurch werden die beim herkömmlichen Bankverkehr üblichen Zwischenschritte und auch Finanzbehörden umgangen. Um Bitcoin zu verstehen – oder jede andere Krypto-Währung – ist es zunächst wichtig zu verstehen, dass es sich bei Bitcoin nicht einfach um irgendwelche Dateien handelt, die man zb. per E-Mail verschickt, sondern dass Bitcoins nur im Bitcoin-Netzwerk vorhanden sind und auch nur dort angewendet werden können. Es gibt beim Bitcoin-Netzwek keine zentrale Instanz oder Server. Bitcoin ist ein reines Peer-to-Peer-Netzwerk. Dies bedeutet, dass jeder Teilnehmer (peer) direkt mit allen anderen Teilnehmern (peers) verbunden ist. Wenn ein Peer des Netzwerkes andere Peers über Informationen versorgen möchte, teilt er diese mit ihm verbundenen Peers mit, die diese sofort an die mit ihnen verbundenen Peers weiterleiten. So können Informationen Sekundenschnell rund um den Globus verteilt werden und alle Teilnehmer sind diesbezüglich zu jeder Zeit auf dem gleichen Wissenstand, ohne auf die Datenbank irgendeiner zentralen Instanz zugreifen zu müssen.
Die Teilnehmer
Teilnehmer des Netzes ist jeder, der einen mit dem Internet verbunden Bitcoin-Client, eine Bitcoin-Software, installiert hat. Diese kann eine oder mehrere Wallets (Brieftaschen) enthalten mit denen Bitcoins verwaltet werden. Der Vorteil einer digitalen Wallet ist, dass diese durch Verschlüsselung und entsprechende Backups gesichert werden kann. Wallets verwalten die sogenannten Bitcoin-Adressen, denen im Neztwerk bestimmte Bitcoin-Guthaben zugeordnet sind.
Bitcoin Adresse
Jede Bitcoin-Adresse besteht aus einem privaten und einer öffentlichen Adresse. Die öffentliche Adresse (16fxSFvc2J5yanCdoj4Mb1u99ck98tecjt) kann jeder sehen. Dieser Schlüssel ist wie eine IBAN, diese wird benötigt, um einem bestimmten Teilnehmer Bitcoins zu senden. Der private Schlüssel (5JkfNEg6Zkjp4d3bCoi9urLVfu2X4s3pNZctEHbdg8jmU95F3SY) dient als Nachweis, um zweifelsfrei festzustellen, dass der Teilnehmer hinsichtlich der Bitcoins, die zu einer öffentlichen Adresse gehören (16fxSFvc2J5yanCdoj4Mb1u99ck98tecjt), verfügungsberechtigt ist.
Blockchain
Bitcoins liegen nicht irgendwo auf einer Computer Festplatte oder auf anderen Geräten. Eigentlich existieren Bitcoins einzig und allein als Einträge in einer grossen Dantenbank, der Blockchain. Einen Bitcoin von einem Nutzer zum nächsten zu schicken, bedeutet eine Umbuchung in der Datenbank und nicht eine Art Datei-transferierung zwischen zwei Nutzern. Der Besitz der Bitcoins wird also nicht geklärt, wer wie viel Bitcoins auf der Festplatte hat, sondern wer dem Rest des Netzwerkes belegen kann, das die Bitcoins einer Adresse einem gehören. Der Besitz der Bitcoins kann mit dem privaten Schlüssel, der auf der Festplatte liegt, nachgewiesen werden. Mit dem privaten Schlüssel ist man autorisiert Transaktionen mit der verbundenen Bitcoin-Adresse zu tätigen. Da jeder Client jeder Zeit auf die Blockchain zugreift, weiss auch jeder welche Adresse wie viele Bitcoins besitzt. So kann jeder Client einfach überprüfen ob eine Transaktion vom einem selber oder anderen Nutzern durchgeführt werden kann. Noch einmal kurz gesagt: Wenn die Blockchain weiss, wem zu welchem Zeitpunkt was gehört hat, beziehungsweise gehört, können die Clients prüfen, ob der, der gerade Bitcoins verschicken möchte, dieses auch tatsächlich besitzt. Die Blockchain wird vom jedem vollwertigen Client vorgehalten. Es wäre jedoch ziemlich aufwendig nach jeder Änderung der Datenbank oder nach jeder getätigten Transaktion an alle Teilnehmer untereinander ein Update der Datenbank zu verschicken. Um dieses Problem zu lösen, wird die Blockchain des Bitcoin-Netzwerkes in Häppchen unterteilt und ein solches Häppchen nennt man einen Block. Ungefähr alle zehn Minuten entsteht ein solcher Block der die Transaktionen, die dem Netz seit der Erstellung des letzten Blocks von den Peers gemeldet wurden enthält. Da alle 10 Minuten ein solcher Block entsteht, bildet sich eine Kette von Blöcken mit allen getätigten Transaktionen.
- Wallet
Eine Wallet ist im Prinzip eine Ansammlung von beliebig vielen Adressen, die zusammen dem Nutzer den aufsummierten Wert der Bitcoins als verwendbares Guthaben angezeigen. Die Wallet ist dazu da Adressen zu generieren, um Bitcoins Beträge überhaupt entfangen zu können. Natürlich besitzt die Wallet auch alle privaten Schlüssel die zu den generierten Adressen gehören. Sie benötigen also eine Wallet um mit Bitcoin Transaktionen durchzuführen. Wenn man eine neue Bitcoin Adresse generiert kontrolliert niemand ob diese nicht schon generiert wurde. Dies ist auch nicht nötig. Die Wahrscheindlichkeit zwei mal die identische Adresse zu generiren liegt bei unglaublichen: 0.000000000000000000000000000000000000000000000000684% Noch eines um vielleicht einer Verwirrung vorzubeugen: Es ist völlig kostenlos und mit keinem Aufwand verbunden eine Adresse zu generieren. In der herkömmlichen Bitcoin Software muss man nur auf den "Neue Empfangsanderesse generieren" Button drücken. Eine Wallet/Bitcoin Software ist ein Programm, das auf dem Computer ausgeführt wird. Das Programm kann man sich von der Benutzung her wie das normale Onlinebanking vorstellen.
Eine Eigenart die das Bitcoin Netzwerk noch besitzt ist die des Wechselgeldes. Wenn ich genau zwei Bitcoins erhalte - dieser Bertrag wird unspent input gennat also nicht ausgegebene Beträge - und von diesen nur einen an eine andere Adresse weiterschicken möchte, kann das Bitcoin Netzwerk nur den gesamten unspent input verschicken. In diesem Fall sind das zwei Bitcoins. Ein Bitcoin kommt in diesem Fall auf der neuen Adresse an und der andere Bitcoin wird als Wechselgeld auf die usprüngliche Senderadresse überweist. So wird sichergestellt das win neuer unspent input entsteht. Wenn der Zahlbetrag den unspent input einer einzelnen Adresse einer Wallet überszeigt, fasst die Wallet automatisch die Unpent inputs mehrerer Adressen der Wallet zusammen, der in der Blockchain natürlich noch Bitcoins zugeprdnet sind.
Miner
Das Bitcoin Mining steuert die Herstellung der Bitcoins und ermöglicht nebenbei überhaupt die Blockchain, da die Miner deren Richtigkeit überprüfen. Miner sind diese, welche die sogenannten Blöcke bilden. Die Miner nehmen alle die Transaktionen in den neuen Block auf die seit dem letzten Block getätigt wurden. Dazu muss eine schwere Rechenaufgabe gelöst werden, die die Sicherheit des Netzwerkes garaniert. Die Rechenaufgabe ist so aufgebaut das alle Miner zusammen diese Rechnung in ca. 10 Minuten ausrechnen. Ein Computer der eine Mining Software installiert hat, kann allen anderen Minern helfen diese zu lösen. Der Computer nützt normalerweise alle seine verfügbaren ressourcen um diese zu lösen. In diesem Zustand braucht er auch sehr viel Strom und dieser kostet wiederum Geld. Um Leite zu optimieren eine Mining Software zu installieren, um diese Rechenaufgabe zu lösen, bekommt der, der die Lösung der Rechnung präsentieren kann Bitcoins. Diese Bitcoins werden vom Netzwerk ausgeschüttet und sind neu. Um dies sehr vereinfacht zu sagen, ist ein Miner die Gelddruckmaschiene im Bitcoin Netzwerk.
Was passiert bei einer Transaktion
Nehmen wir also an ich möchte einem Freund einen Bitcoin übertragen. Auf einer meiner öffentlichen Adresse ist ein Bitcoin gebucht und ich habe ausschliesslich die Kontrolle über sie, da nur ich den dazugehörigen privaten Schlüssel habe, dazu bin auch nur ich autorisiert Transaktionen mit dieser Adresse durchzuführen. Als erstes gibt mein Freund mir seine Adresse bekannt. Nun teile ich dem ganzen Netzwerk mit, dass ich einen Bitcoin von meiner Adresse an diese meines Freundes schicken möchte. Hierzu signiere ich die Buchungsauforderung mit meinem privaten Schlüssel und danach schicke ich diese Auforderung an meinem verbundenen Peers, die diese Auforderung wieder weiterleiteten. Alle Peers können nun meine Auforderung validieren. Mithilfe der Blockchain wird überprüft ob ich überhaupt einen Bitcoin auf meiner öffentlichen Adresse besitze und es wird erkannt das ich befugt bin eine Transaktion auf meiner öffentlichen Adresse durchzuführen. Dies geht mit dem privaten Schlüssel meiner öffentlichen Adresse. Alle Clients nehmen nun die Umbungung zur Kenntis, diese ist aber noch nicht ein fester Bestandteil der Blockchain. Jetzt kommt der Miner ins Spiel. Der Miner nimmt den bisherigen Stand der Blockchain , auf den sich das Netzwerk geeinigt hat - den letzten Block- und fasst die seit dem letzten Block gemeldeten Transaktionaufforderungen zusammen in den neuen Block. Wenn ein Miner noch die Lösung der Rechnung gefunden hat, ca. nach 10 Minuten nachdem die letzte Lösung für den letzten Block gefunden wurde, sendet er die Lösung dem gestamten Netzwerk und bestätigt damit die zwischenzeitlich angefallenen Transaktionen nach dem letzten Block. Ein neuer Block ist enstanden. Jeder Peer/Client kriegt den neuen Block von einem Peer zugeschickt und kann sich sicher sein das die Buchhaltung auf dem neusten Stand ist. Dies sagt jetzt auch aus das ich erfolgreich meinem Freund einen Bitcoin gesendet habe.
- Anonymität von Bitcoin
Im Bitcoin Netzwerk kann man selber entscheiden, wie offen man sich dem Netzwerk oder der Umwelt zeigt. Eine einzelne Bitcoin Adresse ist schlussendlich nur eine Reihe von Zahlen und Buchstaben. Wenn ich jedoch weiss wer sich hinter dieser Reihe verbiergt kann ich jede Aktivität, die diese Person macht Nachverfolgen. Wie wenn ich zugriff auf jede Bankauszug der jeweiligen Person hätte. Es gibt 2 Szenarien wie man in diesem Zusammenhang jetzt schlussendlich Bitcoin verwenden kann.
- Ich habe zur einer Spende in der Bitcoin Community aufgerufen, um mir bei einer Finanzierung eines Projekt zu helfen. In diesem Falle gebe ich - um überhaupt Spenden entfangen zu können - meine öffentliche Adresse bekannt. Nun kann jeder diese Adresse mit meiner Spendenanfrage idendifizieren. Dies bedeutet: Jeder kann in der Blockchain nachsehen was mit den Spenden passiert.
- Ich möchte anonym bleiben und versuche keine Adresse mit mir in verbindung zu bringen. Es ist zum Beispiel möglich beliebig viele Adressen in der Wallet generieren zu lassen und jeder Person die einem Bitcoins senden möchte, eine andere Adresse mitzuteilen.
Der zweite Entwurf der theoretischen Arbeit:Grundidee:
Bitcoin ist ein 2009 von privater Hand eingeführtes länderübergreifendes Zahlungssystem in Form von virtuellem Geld. Die Übertragung der Beträge erfolgt direkt von Teilnehmer zu Teilnehmer (Peer-to-Peer). Dadurch werden die beim herkömmlichen Bankverkehr üblichen Zwischenschritte und auch Finanzbehörden umgangen.
Das Bitcoin-Netzwerk:
Um Bitcoin zu verstehen – oder jede andere Krypto-Währung – ist es zunächst wichtig zu verstehen, dass es sich bei Bitcoin nicht einfach um irgendwelche Dateien handelt, die man zb. per E-Mail verschickt, sondern dass Bitcoins nur im Bitcoin-Netzwerk vorhanden sind und auch nur dort angewendet werden können.
Das wichtigste zu wissen ist, dass es beim Bitcoin-Netzwek keine zentrale Instanz oder Server gibt.
Bitcoin ist ein reines Peer-to-Peer-Netzwerk. Dies bedeutet, das jeder Teilnehmer (peer) direkt mit allen anderen Teilnehmern (peers) verbunden ist. Wenn ein Peer des Netzwerkes andere Peers über Informationen versorgen möchte, teilt er diese mit ihm verbundenen Peers mit, die diese sofort an die mit ihnen verbundenen Peers weiterleiten. So können Informationen Sekundenschnell rund um den Globus verteilt werden und alle Teilnehmer sind diesbezüglich zu jeder Zeit auf dem gleichen Wissenstand, ohne auf die Datenbank irgendeiner zentralen Instanz zugreifen zu müssen.
Die Teilnehmer
Teilnehmer des Netzes ist jeder, der einen mit dem Internet verbunden Bitcoin-Client, eine Bitcoin-Software, installiert hat. Diese kann eine oder mehrere Wallets (Brieftaschen) enthalten mit denen Bitcoins verwaltet werden. Der Vorteil einer digitalen Wallet ist, dass diese durch Verschlüsselung und entsprechende Backups gesichert werden kann. Wallets verwalten die sogenannten Bitcoin-Adressen, denen im Nertwerk bestimmte Bitcoin-Guthaben zugeordnet sind.
Bitcoin-Adresse
Jede Bitcoin-Adresse besteht aus einem privaten und einem öffentlichen Schlüssel. Der öffentliche Schlüssel (16fxSFvc2J5yanCdoj4Mb1u99ck98tecjt) kann jeder sehen. Dieser Schlüssel ist wie eine IBAN, da man diese benötigt, um einem bestimmten Teilnehmer Bitcoins zu senden. Der private Schlüssel (5JkfNEg6Zkjp4d3bCoi9urLVfu2X4s3pNZctEHbdg8jmU95F3SY) dient als Nachweis, um zweifelsfrei festzustellen das der Teilnehmer hinsichtlich der Bitcoins, die zu einer öffentlichen Adresse gehören (16fxSFvc2J5yanCdoj4Mb1u99ck98tecjt), verfügungsberechtigt ist.
Die Blockchain
Da jeder Client jederzeit auf die gleiche Informationsquelle zugreift, nämlich eine Datenbank, in der alle jemals im Netzwerk getätigten Transaktionen verzeichnet sind, können die Clients sofort überprüfen ob eine Transaktion stimmen kann. Die Datenbank ist die Blockchain, die von jedem vollwertigen Netzwerkkonto lokal vergehalten wird. Wenn die Blockchain weiss, wem zu welchem Zeitpunkt was gehört hat beziehungsweise gehört, können die Client prüfen, ob der, der gerade Bitcoins verschicken möchte, dieses auch tatsächlich besitzt. Im Gegensatz zu einer zentralen Buchhaltung, stehen im Bitcoin-Netzwerk jedem Teilnehmer zu jeder Zeit alle diese Informationen zur Verfügung. Jedoch wäre es ziemlich aufwendig nach jeder Veränderung der Datenbank ein Update der gesamten Datenbank an alle Teilnehmer zu schicken. Um dieses Problem zu lösen, wird die Buchhaltung des Bitcoin-Netzwerkes in Häppchen verteilt und ein solches Häppchen nennt man einen Block. Ungefähr alle zehn Minuten entsteht ein solcher Block, der die Transaktionen, die dem Netz seit der Erstellung des letzten Blocks von den Peers gemeldet wurden.
Zusätzlich ein sogenannter „Proof-of-Work“ (Arbeisbeweis), der das Ergebnis des Bitcoin-Minings ist (wird später erklärt). Dazu einen überprüfbaren Bezug zum letzten Block, um jedem Peer zu belegen, dass der neue Block auf dem bisherigen Stand der gemeinsamen Buchhaltung aufsetzt.
Aufgrund dieses Bezuges eines neuen Blocks auf den vorherigen, entsteht eine Kette von Blöcken, der so genannten Blockchain. Auch die zeitliche Reihenfolge der Transaktionen wird auf diese Weise gestgehalten, da der Block, mit dem eine Transaktion bestätigt wurde dieser Transaltion einen unwiderruflichen Zeitstempel aufdrückt.Um dies vor Augen zu führen: Mit der Blockchain kann nicht nur festgestellt werden, wer zum aktuellen Zeitpunkt über wie viele Bitcoins verfügt, sondern ob das auch stimmen kann, weil ja jede einzelne Transaktion der Vergangenheit einsehbar ist.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Der erste Entwurf der theoretischen Arbeit:Entstehungsgeschichte
Das Bitcoin-Netzwerk entstand am 3. Januar 2009 mit der Berechnung des ersten Blocks, der die ersten 50 Bitcoins erzeugt hat. Einige Tage später veröffentlichte Nakamoto die erste Version des Bitcoin-Clients auf derselben Mailingliste wie schon das Whitepaper, bei SourceForge und im Internetforum der P2P Foundation. Die erste Version ist in C++ geschrieben, verwendet die Softwarebibliotheken wxWidgets, OpenSSL, Berkeley DB und Boost und enthält neben Programmdateien für Windows auch Quellcode unter der MIT-Lizenz. Ende 2009 portierte der Finne Martti Malmi den Client auf Linux und unterstützte Nakamoto bei der Entwicklung.Mitte 2010 zog sich Nakamoto aus der Entwicklung zurück und übergab die Projektleitung an Gavin Andresen.
Grundidee:
Bitcoin ist ein 2009 von privater Hand eingeführtes länderübergreifendes Zahlungssystem in Form von virtuellem Geld. Die Übertragung der Beträge erfolgt direkt von Teilnehmer zu Teilnehmer (Peer-to-Peer). Dadurch werden die beim herkömmlichen Bankverkehr üblichen Zwischenschritte und auch Finanzbehörden umgangen (= keine Transaktionskosten).
Konzept:
Das Kernproblem konventioneller Währungen ist das Ausmass an Vertrauen, das nötig ist, damit sie funktionieren. Banken muss vertraut werden, dass sie unser Geld aufbewahren und es elektronisch transferieren, doch sie verleihen es in Wellen von Kreditblasen mit einem kleinen Bruchteil an Deckung. Wir müssen den Banken unsere Privatsphäre anvertrauen, vertrauen, dass sie Identitätsdieben nicht die Möglichkeit geben, unsere Konten leerzuräumen. Vor dem Aufkommen von starker Verschlüsselung mussten die User sich auf Passwortschutz für ihre Daten verlassen und dem Systemadministrator vertrauen, dass dieser ihre Informationen vertraulich hielt. Diese Privatsphäre konnte jederzeit aufgehoben werden, wenn der Administrator zu dem Schluss kam, dass sie weniger wog als andere Belange, oder auf Anweisung seiner Vorgesetzten. Dann aber wurde starke Verschlüsselung für die Masse der Nutzer verfügbar, und Vertrauen war nicht länger nötig. Daten konnten auf eine Weise gesichert werden, die einen Zugriff durch Dritte – egal aus welchem Grund, egal mit wie guten Entschuldigungen, egal was sonst – unmöglich machten.
„Es ist Zeit, dass wir dasselbe mit Geld machen. Mit einer elektronischen Währung, die auf einem kryptografischen Beweis beruht und kein Vertrauen in Mittelsmänner benötigt, ist Geld sicher und kann mühelos transferiert werden.“
-Santoshi Nakamoto (Ceo)
Bitcoin verwendet ein Peer-to-Peer-Netzwerk, um Zahlungen zwischen den Teilnehmern ohne Mittelsmann zu tätigen. Eine Zahlung kann nicht widerrufen werden, nachdem sie durch das Netzwerk bestätigt wurde. Die Zshungen werden durch andere Bitcoin-Miner bestätigt. Die Bestätigung einer Zahlung dauert etwa zehn bis zwanzig Minuten, wobei die Bestätigung umso verbindlicher wird, je länger sie zurückliegt. Zur Durchführung einer Zahlung kann eine Gebühr abgeführt werden, wobei Zahlungen mit höheren Gebühren bevorzugt bestätigt werden. Der Besitz von Geldbeträgen wird durch den Inhalt einer elektronischen Geldbörse nachgewiesen, welche kryptographische Schlüssel enthält. Die Verwendung des eigenen, privaten Schlüssels ist erforderlich, um die Durchführung einer Zahlung zu autorisieren. Die privaten Schlüssel als solche müssen bei diesem Verfahren nicht offenbart werden. Die Geldbörse muss jedoch gegen Verlust durch Ausspähen und Schadsoftware geschützt werden. Dieser kryptographische Schlüssel dient wie als Kreditkarte.
Zahlungen finden an pseudonyme Adressen statt. (z.B.1Lu3nfXbD3QP76NMAgvTAVdUzWdvvB3rCQ), welche die Software für jeden Teilnehmer beliebig neu erzeugen kann. Eine Identifizierung der Handelspartner ermöglicht Bitcoin nicht. Eine vollständige Anonymität garantiert das System allerdings auch nicht, da die Kette aller Transaktionen öffentlich in der Transaktionsgeschichte verzeichnet wird und eine Verknüpfung von Bitcoinadressen mit identifizierenden Informationen prinzipiell möglich ist.
Neue Geldeinheiten (Bitcoins) werden nach und nach erzeugt, wobei die maximale Geldmenge durch das Netzwerkprotokoll auf 21 Millionen Einheiten festgelegt ist und nicht durch einzelne Teilnehmer beeinflusst werden kann. Die Bitcoin-Teilnehmer können sich durch Aufwendung von Rechenleistung an der Erzeugung neuen Geldes beteiligen. Hierbei konkurrieren alle Teilnehmer um einen Betrag, der etwa alle zehn Minuten an einen der Teilnehmer ausgeschüttet wird, sowie um den Erwerb der Zahlungsgebühren. Das Ergebnis der aufwendigen Berechnung dient der Bestätigung von fremden Zahlungen und sichert den Betrieb des Bitcoin-Netzes.
Es existieren, ähnlich dem Devisenmarkt, unregulierte Börsen, an denen Bitcoins in andere Währungen getauscht werden können.
Herstellung von Bitcoins
folgt...