{"id":54,"date":"2016-10-03T15:48:41","date_gmt":"2016-10-03T13:48:41","guid":{"rendered":"http:\/\/www.robert-kofler.at\/?p=54"},"modified":"2016-12-18T13:34:27","modified_gmt":"2016-12-18T12:34:27","slug":"bitcoins-technik-in-a-nutshell","status":"publish","type":"post","link":"https:\/\/www.robert-kofler.at\/Blog\/2016\/10\/03\/bitcoins-technik-in-a-nutshell\/","title":{"rendered":"Bitcoins Technik in a nutshell"},"content":{"rendered":"<p>Bitcoin zu erkl\u00e4ren ist nicht so einfach. Obwohl das System\u00a0gar nicht kompliziert ist, l\u00e4sst seine Komplexit\u00e4t es durchaus so erscheinen. Und das macht es auch schwer es einfach zu erkl\u00e4ren.\u00a0Aber hier soll der Versuch stehen\u00a0Bitcoin in verst\u00e4ndlicher Weise so weit zu erkl\u00e4ren, dass man als Neuling begreift worum es geht &#8211; ohne dabei zu\u00a0sehr in Details zu gehen, dass man vor lauter Fachausdr\u00fccken gar nichts mehr versteht.<br \/>\n<!--more--><\/p>\n<p>Am Beginn steht ein vielleicht ersch\u00fctternder Fakt:\u00a0Es gibt gar keine Bitcoins. Es gibt lediglich ein \u00f6ffentliches Verzeichnis, oder besser eine Datenbank, von Transaktionen (public ledger) aller Teilnehmer des Bitcoin-Netzwerkes. Eine Transaktion ist im Prinzip nichts anderes als die Information, dass ein Teilnehmer einem anderen Teilnehmer einen bestimmten Betrag an\u00a0Bitcoins \u00fcbertr\u00e4gt. Jeder Teilnehmer des Netzwerks hat Zugriff auf diese\u00a0Datenbank der Transaktionen, im Idealfall hat er sogar eine Kopie davon bei sich liegen (Cilents f\u00fcr Mobiltelefone haben z.B. &#8222;nur&#8220; Zugriff auf einen Datenbank die von einem anderem Ger\u00e4t gehalten wird, das mehr Speicher zur Verf\u00fcgung hat). Jeder Teilnehmer darf auch Transaktionen durchf\u00fchren. Im Prinzip kann eine Transaktion ohne Geb\u00fchr\u00a0durchgef\u00fchrt werden. Da aber die &#8222;Sachbearbeiter&#8220; einer Transaktion diese Geb\u00fchren als Lohn f\u00fcr ihre Arbeit\u00a0bekommen, wird es mit der Zeit (mehr dazu sp\u00e4ter) immer unwahrscheinlicher dass Transaktionen ohne angef\u00fcgte Geb\u00fchr bearbeitet werden. Gar so gratis, wie man es oft h\u00f6rt, ist also das \u00dcberweisen von Bitcoins nicht.<\/p>\n<blockquote><p>&#8222;Es gibt gar keine Bitcoins.&#8220;<\/p><\/blockquote>\n<p>Die Teilnehmer sind alle miteinander \u00fcber ein <a href=\"https:\/\/de.wikipedia.org\/wiki\/Peer-to-Peer\">peer-to-peer Netzwerk<\/a> verbunden. Solche Netzwerke funktionieren ohne zentralen Server. Jeder Teilnehmer ist ein gleichberechtigter Teilnehmer. Das hei\u00dft er ist gleichzeitig ein Server und ein Client. Der Vorteil davon ist, dass solche Netze sehr stabil sind. Es gibt einfach keinen zentralen Server der ausfallen und damit das gesamte Netzwerk lahmlegen kann.<\/p>\n<p>Will Teilnehmer Alice nun Teilnehmer Bob z.B. 3 Bitcoins \u00fcbergeben, so \u00a0meldet sie im Netzwerk\u00a0eine Transaktion zum Eintrag in\u00a0diese Datenbank an. Diese Meldung wird von den Teilnehmer des Netzwerkes verbreitet bis sie letztendlich zu allen Teilnehmern des Netzes gelangt ist. Jeder wei\u00df nun: Alice will Bob 3 Bitcoins geben.<br \/>\nWeiters kann jeder Teilnehmer des Netzwerkes diese Meldung pr\u00fcfen ob es sich um eine ordnungsgem\u00e4\u00dfe Transaktion handelt. Hierf\u00fcr wird zum einen gepr\u00fcft ob die Transaktion von Alice<a href=\"http:\/\/www.robert-kofler.at\/?p=22#more-22\"> digital signiert<\/a> (vgl. unterschrieben) ist. Denn nur wenn Alice es auch wollte, sollten Bitcoins von ihr zu Bob wandern. Durch die Unterschrift ist das gew\u00e4hrleistet und jeder Teilnehmer im Netz akzeptiert nun den Willen von Alice.<br \/>\nWeiters wird auch gepr\u00fcft ob denn Alice \u00fcberhaupt ausreichend Bitcoins besitzt, um sie Bob geben zu k\u00f6nnen. Da alle Teilnehmer die Datenbank aller jemals durchgef\u00fchrten Transaktionen vor sich liegen haben, k\u00f6nnen sie das leicht nachvollziehen. Angenommen Alice hat zuvor von Charly 2 Bticoins bekommen und irgendwann davor auch mal 4 von Bob, dann verf\u00fcgt sie nun \u00fcber 6 Bitcoins &#8211; sie kann also Bob jetzt 3 Bitcoins geben. Da Alice willens ist und auch \u00fcber ausreichende Mittel verf\u00fcgt*, akzeptieren nun alle Teilnehmer des Netzwerks diese Transaktion.Bob hat nun 3 Bitcoins mehr auf seinem &#8222;Konto&#8220; und Alice hat um eben diesen Betrag weniger Bitcoins auf\u00a0ihrem &#8222;Konto&#8220; &#8211; die Transaktion war erfolgreich.<br \/>\nDie Pr\u00fcfung ob Alice \u00fcber ausreichende Mittel f\u00fcr die Transaction verf\u00fcgt ist \u00fcbrigens der Grund warum f\u00fcr die Behauptung mit\u00a0Bitcoin g\u00e4be es keinen Kredit mehr. Was nat\u00fcrlich so nicht stimmt. Einen Kredit in Bitcoins kann es nat\u00fcrlich trotzdem geben! Warum sollte man sich auch nicht Geld\/Bitcoins ausleihen k\u00f6nnen und dieses dann (mit oder ohne) Zinsen zur\u00fcckzahlen? Nichts anderes ist ein Kredit.<\/p>\n<figure id=\"attachment_119\" aria-describedby=\"caption-attachment-119\" style=\"width: 300px\" class=\"wp-caption alignleft\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-119 size-medium\" src=\"http:\/\/www.robert-kofler.at\/wp-content\/uploads\/2016\/09\/wallet-300x250.png\" alt=\"wallet\" width=\"300\" height=\"250\" srcset=\"https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/09\/wallet-300x250.png 300w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/09\/wallet-768x640.png 768w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/09\/wallet-1024x854.png 1024w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/09\/wallet.png 1167w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><figcaption id=\"caption-attachment-119\" class=\"wp-caption-text\">Ohne Wallet, keine Bitcoins<\/figcaption><\/figure>\n<p>Die &#8222;Konten&#8220;, welche Alice und Bob verwenden sind keine Konten im \u00fcblichen Sinn. Bei Bitcoin handelt es sich um Wallets (Brieftaschen). Ein Wallet ist im Prinzip nur ein Paar aus einem <a href=\"http:\/\/www.robert-kofler.at\/?p=22#more-22\">\u00f6ffentlichen und einem privaten Schl\u00fcssel<\/a>. Der \u00f6ffentliche Schl\u00fcssel wird verwendet um Adressen f\u00fcr die Wallet (k\u00f6nnte man mit einer\u00a0Konotnummer vergleichen) zu genieren. Diese Adresse darf ruhig \u00f6ffentlich sein, schlie\u00dflich ist es ja durchaus erw\u00fcnscht, dass auf diese Adresse Bitcoins eingehen. Der private Schl\u00fcssel wird verwendet um Transaktionen\u00a0<a href=\"http:\/\/www.robert-kofler.at\/?p=22#more-22\">digital zu signieren<\/a>. Jeder Teilnehmer im Netzwerk hat mindestens eine Wallet.\u00a0Bitcoins wandern also immer nur von einer Wallet in eine andere. Deshalb wird gerne behauptet, dass die Nutzung von Bitcoins anonym ist. Durch Analysen des public ledger (die Daten kann ja jeder einsehen) und dem pers\u00f6nlichen Verhalten von Teilnehmern kann man durchaus R\u00fcckschl\u00fcsse darauf ziehen, welche Person hinter welcher Adresse steckt. Man kann dies zwar auch relativ gut verschleiern, mehr dazu aber an anderer Stelle. Bitcoin ist also &#8222;nur&#8220; pseudonym.<\/p>\n<blockquote><p>&#8222;Woher kommen Bitcoins&#8220;?<\/p><\/blockquote>\n<figure id=\"attachment_118\" aria-describedby=\"caption-attachment-118\" style=\"width: 150px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-118 size-thumbnail\" src=\"http:\/\/www.robert-kofler.at\/wp-content\/uploads\/2016\/09\/mining-150x150.png\" alt=\"mining\" width=\"150\" height=\"150\" srcset=\"https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/09\/mining-150x150.png 150w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/09\/mining.png 300w\" sizes=\"auto, (max-width: 150px) 85vw, 150px\" \/><figcaption id=\"caption-attachment-118\" class=\"wp-caption-text\">mining braucht auch ein Qu\u00e4ntchen Gl\u00fcck<\/figcaption><\/figure>\n<p>Die eingangs erw\u00e4hnten \u00dcberpr\u00fcfungen beanspruchen einen gewissen Aufwand: es muss Strom, Hardware und Zeit zur Verf\u00fcgung gestellt werden. Und das verursacht Kosten. Im Netzwerk \u00fcbernehmen diese Aufgabe die so genannten &#8222;Miner&#8220;. Jeder\u00a0Teilnehmer des Netzwerkes kann ein Miner sein (wir erinnern uns, wir sind ja in einem peer-to-peer Netzwerk). Miner f\u00fchren die oben genannten Pr\u00fcfungen durch, deshalb\u00a0muss nicht jeder Teilnehmer selbst pr\u00fcfen ob die erhaltenen Transaktionen korrekt sind. F\u00fcr diesen Aufwand erhalten die Miner Bitcoins &#8222;aus dem Nichts&#8220;, wenn sie erfolgreich eine Pr\u00fcfung durchgef\u00fchrt haben. Da im peer-to-peer Netz die Transaktionen relativ chaotisch durch die Gegend flitzen, k\u00f6nnte es nat\u00fcrlich sein, dass zwei Miner die selbe Transaktion pr\u00fcfen und freigeben. Das w\u00fcrde in unserem Beispiel bedeuten, dass Alice zweimal die 3 Bitcoins ausgeben kann. Dieses &#8222;double spending&#8220; ist nat\u00fcrlich nicht erw\u00fcnscht. Bitcoin nutzt den proof of work um dies zu verhindern.<\/p>\n<figure id=\"attachment_120\" aria-describedby=\"caption-attachment-120\" style=\"width: 300px\" class=\"wp-caption alignleft\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-120 size-medium\" src=\"http:\/\/www.robert-kofler.at\/wp-content\/uploads\/2016\/09\/blockjain-300x86.jpg\" alt=\"blockchain\" width=\"300\" height=\"86\" srcset=\"https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/09\/blockjain-300x86.jpg 300w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/09\/blockjain-768x221.jpg 768w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/09\/blockjain-1024x295.jpg 1024w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/09\/blockjain.jpg 1049w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><figcaption id=\"caption-attachment-120\" class=\"wp-caption-text\">Symbolbild f\u00fcr die Blockchain<\/figcaption><\/figure>\n<p>Hierf\u00fcr werden zum einen Transaktionen gesammelt. Jeder Miner schaut in seinen Pool an erhaltenen Transaktionen, welche denn nicht ohnehin schon im public ledger stehen. Findet er Transaktionen in seinem Pool, die bereits im ledger stehen, werden diese von ihm ignoriert. Die restlichen formt er zu einem Block (=er fasst diese Transaktionen einfach zu einer Gruppe zusammen). Diesen Block h\u00e4ngt er an den public ledger und bildet \u00fcber das Ergebnis einen <a href=\"http:\/\/www.robert-kofler.at\/?p=43\">Hash<\/a>. \u00a0Dies tun auch alle anderen Miner mit ihren Bl\u00f6cken. Um zu verhindern, dass es nun Bl\u00f6cke gibt in denen sich Transaktionen befinden, die auch in den Bl\u00f6cken von anderen Minern vorkommen, was zu einem double spending f\u00fchren w\u00fcrde, muss jeder Miner nun ein &#8222;R\u00e4tsel&#8220; l\u00f6sen. Die &#8222;L\u00f6sung&#8220; des R\u00e4tsels ist ein Hash, gebildet aus dem Block an dem gemined wird, der eine bestimmte Eigenschaft aufweist. Im Fall von Bitcoin muss der produzierte Hash eine bestimmte Anzahl von f\u00fchrenden Nullen aufweisen.\u00a0Ein Miner b\u00fcndelt also nun Transaktionen zu einem Block, h\u00e4ngt diesen Block an die bereits vorhandenen Bl\u00f6cke (das public ledger) an und bildet einen Hash. Hat der Hash zu wenig f\u00fchrende Nullen f\u00fcgt der Miner seinem\u00a0Block noch ein Zeichen hinzu, den &#8222;nonce&#8220;. Und wiederholt den Hashvorgang. Den nonce kann der Miner so lange erh\u00f6hen\u00a0bis er dadurch einen Hashwert erh\u00e4lt der den Anforderungen des Netzwerkes gen\u00fcgt. Dann, und nur dann, erh\u00e4lt er als Belohnung die Bitcoins &#8222;aus dem Nichts&#8220;**. Den gefundenen Block gibt der Miner ans Netzwerk weiter. Alle Teilnehmer k\u00f6nnen nun, mit relativ <a href=\"http:\/\/www.robert-kofler.at\/?p=43\">wenig Aufwand<\/a>\u00a0pr\u00fcfen ob der Block valide ist und den neuen Block an die alten im public ledger anh\u00e4ngen. Dadurch bildet das public ledger eine Reihe von miteinander verketteten Bl\u00f6cken &#8211; die soganannte Blockchain.\u00a0 Durch den proof of work herrscht Konsens dar\u00fcber, dass dieser Block valide ist. Miner die ebenfalls an Bl\u00f6cken arbeiteten, welche Transaktionen enthalten die in diesem validen Block enthalten sind, werfen nun diese Transaktionen \u00fcber Bord, erg\u00e4nzen ihren Block eventuell um neue Transaktionen, h\u00e4ngen den neu gefundenen Block der Konkurrenz an das bestehende public ledger an und beginnen wieder von vorne mit dem proof of work. Mit neuen Transaktionen hoffen sie diesmal der Schnellste zu sein.\u00a0Die &#8222;Gier&#8220; der Miner nach neuen Bitcoins ist also die Absicherung des Netzwerkes.<\/p>\n<p>F\u00fcr das Finden eines Blocks gab es\u00a0am Beginn 50 Bitcoins. Dieser Betrag halbiert sich alle 210.000. Bl\u00f6cke Das hat zur Folge, dass die Gesamtanzahl aller jemals erzeugten Bitcoins nicht mehr sein wird als 21.000.000. Es k\u00f6nnen also nicht beliebig viele Bitcoins erzeugt werden.<\/p>\n<figure id=\"attachment_129\" aria-describedby=\"caption-attachment-129\" style=\"width: 840px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-129 size-large\" src=\"http:\/\/www.robert-kofler.at\/wp-content\/uploads\/2016\/10\/BitcoinMengenFormel-1-1024x99.jpg\" alt=\"Anzahl der Bitcoins ist durch diese Folge mathematisch bestimmt.\" width=\"840\" height=\"81\" srcset=\"https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/10\/BitcoinMengenFormel-1-1024x99.jpg 1024w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/10\/BitcoinMengenFormel-1-300x29.jpg 300w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/10\/BitcoinMengenFormel-1-768x74.jpg 768w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/10\/BitcoinMengenFormel-1-1200x116.jpg 1200w, https:\/\/www.robert-kofler.at\/Blog\/wp-content\/uploads\/2016\/10\/BitcoinMengenFormel-1.jpg 1376w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption id=\"caption-attachment-129\" class=\"wp-caption-text\">Anzahl der Bitcoins ist durch diese Folge mathematisch bestimmt.<\/figcaption><\/figure>\n<p>Das war Bitcoin in a nutshell. Im Groben ist das alles was man wissen muss, um zu verstehen wie das System Bitcoin funktioniert. Die dezentrale Architektur verhindert, dass einzelne (Stichwort: single point of failure) das gesamte System kontrollieren bzw. nach ihren W\u00fcnschen ver\u00e4ndern k\u00f6nnen. Au\u00dferdem ist das Bitcoin Netzwerk durch seine Dezentrali\u00e4t extrem stabil. Durch einen zutiefst menschlichen Trieb, der Gier, wird das System abgesichert und damit eine b\u00f6swillige Manipulation an den Transaktionen (wie zum Beispiel double spending) verhindert. Da Transaktionen nur zwischen Adressen stattfinden, ist das System obendrein auch noch pseudonym.<\/p>\n<p>Was die Bedeutung der Technik von Bitcoin in der \u00d6konomie, der restlichen Technik oder in sozialen Bereichen haben wird, wird sich in den n\u00e4chsten Jahren zeigen. Ich\u00a0freue mich jedenfalls \u00fcber Kommentare, Kritik, Diskussionen und Anregungen zu diesem Artikel!<\/p>\n<p>&nbsp;<\/p>\n<pre>*es wird nat\u00fcrlich noch einiges mehr gerpr\u00fcft. Z.B. ob die verwendeten Adressen \u00fcberhaupt valide sind u.v.m. Das ist aber f\u00fcr das systemische Verst\u00e4ndnis nicht wichtig.\r\n\r\n** Miner erhalten f\u00fcr das Finden von Bl\u00f6cken zus\u00e4tzlich auch noch alle Transaktionsgeb\u00fchren der Transaktionen des gefunden Blocks. Damit haben sie auch noch einen Anreiz zu minen wenn die Belohnung an neuen Bitcoins immer weiter gegen Null geht.<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Bitcoin zu erkl\u00e4ren ist nicht so einfach. Obwohl das System\u00a0gar nicht kompliziert ist, l\u00e4sst seine Komplexit\u00e4t es durchaus so erscheinen. Und das macht es auch schwer es einfach zu erkl\u00e4ren.\u00a0Aber hier soll der Versuch stehen\u00a0Bitcoin in verst\u00e4ndlicher Weise so weit zu erkl\u00e4ren, dass man als Neuling begreift worum es geht &#8211; ohne dabei zu\u00a0sehr in &hellip; <a href=\"https:\/\/www.robert-kofler.at\/Blog\/2016\/10\/03\/bitcoins-technik-in-a-nutshell\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eBitcoins Technik in a nutshell\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":122,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,3],"tags":[4,5,31,28,32,29,33,30],"class_list":["post-54","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","category-bitcoin-grundlagen","tag-bitcoin","tag-hash","tag-miner","tag-mining","tag-netwerk","tag-peer-to-pper","tag-public-ledger","tag-transaktion"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/posts\/54","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/comments?post=54"}],"version-history":[{"count":13,"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/posts\/54\/revisions"}],"predecessor-version":[{"id":368,"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/posts\/54\/revisions\/368"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/media\/122"}],"wp:attachment":[{"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/media?parent=54"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/categories?post=54"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.robert-kofler.at\/Blog\/wp-json\/wp\/v2\/tags?post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}