Digitale Geldbörsen 
- Wallet -

Wallet Funktionen

In diesem Beitrag erfahren Sie alles, über die Funktion der Wallet und die Bedeutung der Schüsselpaare, Privater, Öffentlicher Schlüssel und Mnemonic Seed. Welche Adresstypen es gibt und wie genau Transaktionen funktionieren.

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.

Es gibt viele Online Wallet Anbieter, die Geldbörsen für user verwalten. Mittels E-mail Adressen und Passwort können deren Kunden/Innen Zugang zu ihrer Wallet erhalten, allerdings sind sie nie im Besitz ihrer Guthaben, da sie nicht über ihre Schlüsselpaare verfügen.

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 public-Key

Ein Privater Schlüssel (private-Key) ist eine Zahl die in eine Elliptische Kurve umgewandelt wird. Jeder Punkt auf dieser mathematischen Funktion definiert eine Adresse mit x & y Koordinaten in Hexadezimal. Der Private-Key besteht aus 2^256 Möglichkeiten von verschiedenen Zahlen und Buchstaben, mit einer Zeichenfolge von 52 Zeichen.

Das sind 1,1579*10^77‬ Keys, was fast der Anzahl der Atome im sichtbaren Universum entspricht! Der Private-Key ist der Besitznachweis für Ihre Bitcoins. Der Public-Key wird aus dem Private-Key abgeleitet, z.B. 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!

Eine Transaktion sieht dann wie folgt aus: Alice signiert mit ihrem Private-Key Transaktionen, wodurch der Besitz an den Transaktions-Outputs bewiesen wird. Der Inhalt der Transaktion wird durch den Öffentlichen Schlüssel - Public-Key von Lina verschlüsselt. Lina kann nun mit ihrem Private-Key die Nachricht entschlüsseln, die einen Betrag in BTC enthält.


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 determinischtische 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 hirarchisch determinischtisch kurz HD Wallet bezeichnet.


Multi-Signatur 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 Gemeinschafts-Sparkonto - 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. Veringert 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 & Nachrichten 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 Zeichenkettenlä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 SHA 256 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 Lagacy 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.

Prefix: 3


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 Wallettypen 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 Multisignaturwallet? Diese aufgezähleten kannst du im andvanced 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 Umweteinflüssen sicher ist, dies ist nun dein COLD STORAGE 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 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!