Bitcoin Wallet
Private keys

& Seeds

Wie funktionieren Wallets?

In diesem Beitrag erfahren Sie alles, über die Funktion der Wallet und die Bedeutung der Schlüsselpaare, Privater, öffentlicher Schlüssel und Mnemonic Seeds, wie Sie ein Wallet erstellen und auf was Sie besonders achten müssen!

Was ist dieses Wallet?

Das Wallet ist die primäre Nutzerschnittstelle, die digitale Geldbörse, sie kontrolliert den Zugriff auf die digitalen Einheiten des Nutzers. Wallets enthalten keine Coins, sondern Schlüsselpaare Private & öffentliche Schlüssel oder den Mnemonic Seed, sie sind der Besitznachweis für die Nutzer/in, indem die Software mithilfe des öffentlichen Schlüssels auf Transaktions-Outputs (bzw. UTXO – Unspent Transactions Output) in der Blockchain prüft.

Es gibt 2 unterschiedliche Arten von Schlüsselpaar verfahren: die nichtdeterministische Wallet und die hierarchisch deterministische Wallet. Für die praktische Aufbewahrung gibt es grundsätzlich 3 unterschiedliche Arten von digitalen Geldbörsen, das Software Wallet, Cold Wallet & Hardwarewallet. Entscheidend ist, dass eine Wallet benutzt wird, bei der der private Schlüssel oder Seed kontrolliert werden kann (export & import der Schlüssel) und diese nicht bei Drittanbietern gespeichert sind.

Achtung! Sollten Sie ihre privaten Schlüssel oder Seed verlieren, ist ihr Guthaben auch verloren! Sichern Sie Ihren privaten Schlüssel, bedenken Sie Umwelteinflüsse und organisieren Sie die Vererbung ihrer Schlüssel!

Für die Vererbung empfiehlt die BUni Ihnen das Nachlass-Tool von Marc Steiner. Mit diesem Werkzeug können Sie in maximal 16 Schritten, schnell und einfach ein Formular aufsetzen, das Sie nach dem Ausdrucken mit allen wichtigen Informationen Ihrer digitalen Guthaben ausfüllen können.


Was sind private key bzw. public key

Der private key ist der Besitznachweis für Ihre Bitcoins. Ein privater Schlüssel (private key) ist vereinfacht gesagt eine Zufallszahl, die in einer Elliptische Kurven Funktion verwendet wird, der ECDSA Elliptic Curve Digital Signatures Algorithm. Bei Bitcoin wird dazu eine Elliptische Kurve mit den Parametern secp256k1 verwendet mit der Gleichung:  

y2 = x3 + 7

An die Elliptische Kurve wird eine Tangente angelegt, die einen zweiten Schnittpunkt mit der Kurve hat, dieser Schnittpunkt definiert einen public key. Der public key wird also aus dem Private-Key abgeleitet und lässt sich vereinfach auch so darstellen: public key = private key^n. Dabei ist der Faktor n nicht zu bestimmen und somit ist es nicht möglich, den Privaten Schlüssel aus dem Öffentlichen Schlüssel herzuleiten! 

Ein private key (compressed WIF) besteht aus 2^256 Möglichkeiten von verschiedenen Zahlen und Buchstaben, mit einer Zeichenfolge von 52 Zeichen. Das sind 1,1579*10^77‬ Keys, zum Vergleich liegt die Anzahl der Atome im sichtbaren Universum bei 10^80 bzw. 10^90!


Mnemonische Passphrase / Mnemonic Seed

Ein Mnemonic Seed ist eine Aneinanderreihung von mehreren Wörtern, der entweder aus 12 oder 24 Wörtern besteht. Diese Wörter beschränken sich auf 2048 Wörter, die mit dem Bitcoin-Improvement-Protokoll BIP32 eingeführt wurden, dabei ist das 12. oder 24. Wort eine Prüfsumme, darum sollte der Seed von einer Software generiert werden.

Mathematisch betrachtet sind es 12!*2048 bzw. 24!*2048 Möglichkeiten für die Anzahl aller Seeds. Die Software rechnet zur Generierung einer hohen Zufälligkeit mit der Entropie, die z.B. vom Nutzer erzeugt wird. Seeds und Private-Keys können durch ein zusätzliches Wort verschlüsselt werden.

Software & Hardware Wallets können mehrere Private-Keys aus dem Seed ableiten bzw. errechnen. Der Private-Key oder Seed sollte bei einer entsprechenden Software Wallet oder Hardware Wallet exportiert und aufgeschrieben werden, oder in ein Cold Wallet gesichert werden! Der Public-Key wird automatisch in einer Software aus dem Private-Key abgeleitet, daher muss er nicht zwingend gesichert werden.


Hierarchisch Deterministische Wallet

Das als deterministische Wallet bekannte Verfahren leitet die Schlüssel aus einem Master-Schlüssel mithilfe einer Einwegs Hash-Funktion ab, der Master Schlüssel ist als Seed bekannt. Alle Schlüssel dieses Typs können erneut aus dem Seed abgeleitet werden.

Die am häufigsten verwendete Methode bedient sich einer Baum Struktur, von „Parent“ und deren folgenden „Child“ Schlüsseln. Aufgrund dieser Baum Struktur wird das Verfahren als hierarchisch deterministisch kurz HD Wallet bezeichnet.


Multisignatur Wallet

Multi-Signatur Wallets ermöglichen es mehreren Parteien, Zugriff auf ein und dasselbe Guthaben zu gewährleisten. In der Blockchain ist zu sehen, welche Privaten Schlüssel eine Transaktion genehmigt haben. Es gibt unterschiedliche Kombinationen zur Multi-Signatur, die folgenden Beschreibungen sind Beispiele:

1 von 2 Gemeinschaftskonto - Zwei Schlüssel kontrollieren das Guthaben, bei einer Transaktion ist nur eine Signatur notwendig.

2 von 2 Gemeinschaftskonto - Beide Schlüssel müssen eine Transaktion signieren. Oder der zweite Schlüssel wird von derselben Person als 2 Faktor Authentifizierung verwendet.

2 von 3 Sparkonto der Eltern für das Kind - Mit der Zustimmung der Eltern kann das Kind Geld ausgeben, und das Geld kann dem Kind nicht weggenommen werden.

3 von 5 - Drei von fünf Personen müssen eine Transaktion signieren, damit sie gültig ist. Verringert das Risiko von Veruntreuung, Hacking etc..

Im Electrum Wallet können Multi-Signatur Wallets mit bis zu 15 Mitsignierern erstellt werden, wobei von einem/r Signierer*in bis zu 15 Signierer*innen erforderlich sind für eine gültige Transaktion.


Adressen

Es ist nicht wichtig, alles im Detail zu verstehen; wichtig ist für die Nutzung, dass Adressen öffentliche Schlüssel repräsentieren. Die Adresse wird selbsterklärend dafür verwendet, UTXO/Transaktionen/Guthaben bzw. Bitcoins zu erhalten, oder zu senden, sie erfüllt also die Funktion einer E-Mail Adresse.

Die unterschiedlichen Adressformate unterscheiden sich äußerlich von dem Präfix, also den ersten Zeichen der Adresse und der Zeichenketten länge. 


Legacy oder Pay-to-Public-Key-Hash (P2PKH) Adresse

Die Legacy Adresse ist das ursprüngliche Adressformat, sie hat als Präfix eine 1, ist also immer an dem ersten Zeichen zu erkennen. Die Software hasht den öffentlichen Schlüssel erst mit SHA256 und dann mit RIPEMD-160.Dann fügt sie an das Ergebnis die Bytes 00 als Präfix an den Anfang an – das ist der Grund weshalb P2PKH-Adressen mit einer 1 beginnen – und noch vier Prüfsummen-Bytes an das Ende.

Die vier Prüfsummen-Bytes werden erzeugt, indem die Wallet die RIPEMD-160 Hash inklusive Präfix zweimal mit SHA 256 hasht und dann die ersten vier Bytes des Ergebnisses nimmt. Die so bearbeitete RIPEMD-160 Hash, die noch hexadezimal ist, wird in das alphanumerische base58 konvertiert, und schon haben wir die Legacy Adresse.

Die Adresse ist nun besser zu lesen, da sie viel kürzer als der Public-Key ist, die Prüfsumme verhindert, dass Tippfehler gemacht werden. Wenn also eine Adresse in der Wallet Software eingefügt wird, werden Präfix und Prüfsumme kontrolliert.

Diese Standard Adresse ist mit den Adressformaten P2SH & Native SegWit Bech32 kompatibel, kann SegWit aber nicht nutzen. Die Transaktionsgebühr liegt bei 1mBTC = 0.001BTC und ist aufgrund des umgerechneten Preises natürlich nicht mehr zeitgemäß.


Pay-to-Script-Hash P2SH Adresse

Das Pay-to-Script-Hash Verfahren wurde mit dem BIP16 2012 eingeführt. Beim P2SH wird nicht an den Hash eines öffentlichen Schlüssels gezahlt, sondern an den Hash eines Scriptes. Es muss also nicht die Signatur, die zu einem bestimmten öffentlichen Schlüssel passt, vorgelegt werden, sondern ein Script, das eine bestimmte Hash hat.

Diese Adressen ermöglichen es, unterschiedliche Methoden einzuführen, um sich als Eigentümer einer UTXO auszuweisen, sie ermöglichen z.B. Multi-Signatur Adressen (Multi-Sig-Adress), bei denen mehrere Parteien eine Transaktion signieren müssen.

Seit SegWit gibt es die Nested P2SH, sie nutzt SegWit, ist ebenfalls mit allen Adressformaten kompatibel, kann allerdings nicht das volle Potential des Segregated Witness (kurz SegWit wird in 7.1 ausführlich erläutert) nutzen und benötigt sogar 10% mehr Speicher. Das Adresspräfix ist die Ziffer 3 gefolgt von einem Großbuchstaben, die Länge beträgt 34 Zeichen.


Native Segwit - Bech32 Adresse 

Dieses Adressformat ist das fortschrittlichste, wenn diese Adresse vom Sender und Empfängerin benutzt wird, wird das volle Potential von SegWit genutzt, es können sehr geringe Gebühren eingestellt werden da der Speicherbedarf für die Blockchain sehr gering ist. Ein weiterer Vorteil ist die Lesbarkeit, indem Kleinbuchstaben verwendet werden.

Prefix: bc1q


Testnet Adresse

Testnet Adressen sind ausschließlich für das Testnetzwerk des Bitcoin vorgesehen, die P2PKH beginnen mit dem Buchstaben m oder n. Das Senden von Guthaben aus dem Mainnet führt zum Verlust des Guthaben. Testnet Bech32 beginnen mit tb1.


Das musst du beim erstellen der Wallet beachten! Software - OFFLINE -

Du bist soweit, dein erstes Wallet zu erstellen, es sollte natürlich ein modernes Adressformat benutzt werden, wie z.B. das Pay-to-Script-Hash (P2SH) oder Native SegWit/Bech32 für günstige Transaktionen und damit geringere Speicherbelastung für die Blockchain.

Neben dem Adressformat können verschiedene Wallet Typen ausgewählt werden. Soll es sich um eine HD-Wallet handeln, für die nur ein Seed zum sichern nötig ist, ein einfaches Schlüsselpaar SECP256k1 oder sogar eine Multisignatur Wallet? Diese aufgezählten kannst du im advanced Mode im Bluewallet (Software Wallet) auswählen.

Sei beim erstellen des Seeds oder privaten Schlüssels zur Sicherheit Offline!

Sichere deinen Seed. Schreibe ihn auf, stanze ihn in ein Stück Metall ein, damit dieser vor Umwelteinflüssen sicher ist, dies ist nun dein Cold storage- bzw. Paper Wallet! Es gibt eine Reihe von Lösungen für die sichere Aufbewahrung. Ein Stück Papier ist nicht besonders zu empfehlen, da es nicht gegen Umwelteinflüsse resistent ist - es sei denn es liegt in einem feuerfesten und wasserdichten Tresor. 

Wie eingangs schon erwähnt, sollte die Vererbung ihrer Schlüssel und Seeds organisiert sein. Zu Diesem Thema empfehle ich das Buch von Marc Steiner und sein Nachlass-Tool!

Einfach Bitcoin kaufen mit Relai!

Mit Sepa Überweisungen direkt auf das eigene Wallet oder Regelmäßig kaufen, mit einem Dauerauftrag.
Spare 0.5% Gebühren mit dem Relai Botschafter Code:  REL326 
Kein KYC, nur Verifizierung mittels Iban.