Bitcoin Allgemein

Der Bitcoin ist das erste rein digitale Zahlungsmittel, das zudem ohne Kontrollinstanz arbeitet. Durch das geschickte Zusammenspiel vieler unabhängiger Rechner und die manipulationsfeste Blockchain wurde der Bitcoin zum bevorzugten Kryptografie-Geld.

Neben dem „echten“ Bitcoin, der im MainNet zu Hause ist, existiert noch ein Bitcoin im Testnetz (TestNet), der ein gefahrloses Ausprobieren ermöglicht. Zusätzlich sind diese Test-Bitcoin kostenfrei erhältlich und damit das ideale Medium für unsere Versuche. Die Services zur Bereitstellung von Test-Bitcoins könnt Ihr mittels einer einfachen Google-Suche finden (Stichworte „Bitcoin Testnet Faucet“) oder über meine Bitcoin-Linksammlung.

In unserer klassischen Welt der Zahlungsabwicklung arbeiten der Zahler und der Empfänger nicht direkt miteinander, sondern nutzen die Dienste von Banken, welche als Ansprechpartner für alle Fragen rund um die Zahlung zur Verfügung stehen. In der Bitcoin-Welt existieren derartige Ansprechpartner nicht, zusätzlich sind alle Zahlungen nach der Absendung als „final“ anzusehen. Sobald Ihr daher mit „echten“ Bitcoins arbeitet, benutzt unbedingt etablierte Programme und Services, denn bei einem Fehler oder der Fehlfunktion eines selbstgeschriebenen Programms sind die Bitcoins „weg“!

Wie funktioniert der Bitcoin? Der Kern der gesamten Architektur ist die Nutzung einer digitalen Signatur auf Basis von elliptischen Kurven (für den Bitcoin wird die Kurve „secp256k1“ verwendet). Die einzelnen Aufträge landen in einer Liste, wobei alle Elemente durch Hashwerte miteinander verbunden und es nahezu unmöglich ist, die Liste („Blockchain“) im Nachhinein zu verändern. Die Erstellung eines „EC-Keys“ (steht für „Elliptic curve key“) erzeugt ein Schlüsselpaar („keypair“) aus einem Privaten Schlüssel („private key“) und einem öffentlichen Schlüssel („public key“).

Aus dem public key wird über ein Rechenverfahren die öffentliche Adresse ermittelt, auf die Bitcoins überwiesen werden können. Der unbedingt geheim zu haltende private key ermöglicht es später, die Bitcoins von der obigen Adresse wieder zu transferieren. Ich werde Euch in weiteren Artikeln drei Beispiele zeigen, wie Ihr die Schlüssel und die dazugehörenden Adressen manuell erzeugen könnt.

An dieser Stelle muss ich darauf aufmerksam machen, dass Ihr in der realen Welt zwingend eine professionelle Softwarelösung oder einen Webservice benötigt, denn sobald Ihr mit Euren Bitcoins „arbeiten“ wollt ist ein professionelles Wallet („Brieftasche“) notwendig. Ebenso ist es zwingend notwendig, das Ihr Euch Gedanken zur Sicherheit Eures elektronischen Geldes macht – der Artikel Bitcoin Nutzung und Sicherheit gibt Euch viele Hinweise.

Die Aufbewahrung Eurer Bitcoin Münzen erfolgt in aller Regel in einer Geldbörse oder „Wallet“. Dort werden der private und öffentliche Schlüssel gespeichert und es gibt zwei Arten von Wallets:

a) Wallets mit einem Schlüsselpaar: In der Anfangszeit des Bitcoins gab es nur Wallets, die genau das eine generierte Schlüsselpaar enthielten. Das Konzept hat allerdings den großen Nachteil, das jeder (mit Kenntnis der öffentlichen Adresse) alle Transaktionen einsehen kann, welche über diese Adresse jemals abgewickelt worden sind. Die Sicherung des Wallets erfolgt durch einen Export des Schlüsselpaares, wobei die langen Zahlenkombinationen bei einer späteren Neueingabe fehlerträchtig sind. Daher wurde das Konzept der HD-Wallets entwickelt:

b) Hierarchisch deterministische (HD) Wallets: Auch bei diesem Konzept wird ein Schlüsselpaar als „Masterkey“ erzeugt, allerdings werden von diesem Masterkey fortlaufend neue Schlüssel und Adressen abgeleitet, sodass auf Wunsch für jede Transaktion eine neue Adresse genutzt werden kann. Ein Merkmal dieser HD-Wallets ist der sogenannte „seed“, welcher aus 12 Wörtern besteht und deshalb auch „mnemonic seed“ genannt wird. Diese 12 Wörter entstammen einer Wörterbuchliste und sind in der richtigen Reihenfolge einzugeben. Da es sich um 12 Wörter handelt, ist die Gefahr einer Falscheingabe deutlich geringer als einem 64 Zeichen langen hexadezimalen Code.

Dem Thema Gebühren („Fees“) solltet Ihr Euch auch widmen, denn das Bitcoin-System ist nicht komplett kostenlos. Der Empfänger einer Zahlung erhält immer den kompletten Zahlungsbetrag, aber der Auftraggeber bezahlt eine Gebühr, welche für die Tätigkeit des „Miners“ bestimmt ist. Die Zahlung (Transaktion) wird ja mit anderen Zahlungen in einem Block zusammengefasst und über eine Hashwert-Berechnung mit dem vorhergehenden Block verknüpft. Da diese Berechnung (gewollt) sehr rechenintensiv ist, wird der Miner mit der Fee für seine Mühen entschädigt. Allgemein gilt: je höher die Fee ist, desto schneller wird die Transaktion im nächsten oder übernächsten Block berücksichtigt. Auch die Gebühr ist für jede Transaktion öffentlich abfragbar, hier am Beispiel einer echten Transaktion vom 23.02.2020 (der Link verweist auf https://btc.bitaps.com). Demnach sind für die Zahlung von 0.00597848 BTC (umgerechnet 55 Euro) Gebühren in Höhe von 0.00017510BTC oder 1,60 Euro angefallen – das ist kein Schnäppchen.

Der nächste Artikel beschäftigt sich mit der manuellen Erstellung von Schlüsseln und Adressen.

Letzte Bearbeitung: 23.02.2020