Zum Inhalt springen

Kurs:Wie funktioniert eigentlich Bitcoin

Aus Wikiversity

Hier entsteht ein neuer Kurs für die Deutsche Schüler Akademie. Dieser ist ähnlich wie die beiden existierenden Kurse Kurs:Wie_funktioniert_eigentlich_ein_Computer und Kurs:Das_Internet_als_verlängerter_Arm_des_Militärs?

Posterrotation

Ressourcen als Leitfaden für wissenschaftliches Schreiben:


Posterthemen

[Bearbeiten]

Basiswissen Angewandte Kryptographie

[Bearbeiten]

Schnorr Signaturen

[Bearbeiten]

Lernziele

  • Wie berechnet man eine Signatur?
  • Wie verifiziert man eine Signatur?
  • Was für Eigenschaften haben Signaturen?
  • Was ist das besondere an der Linearität von Schnorr Signaturen?
  • Was ist die zufällige Nonce und warum ist sie wichtig?

Nützliche Resourcen

ECDSA

[Bearbeiten]

Lernziele

  • Wie berechnet man eine Signatur?
  • Wie verifiziert man eine Signatur?
  • Was für Eigenschaften haben Signaturen?
  • Was ist die zufällige Nonce und warum ist sie wichtig?

Nützliche Resourcen

Diffie Hellmann Schlüsselaustausch

[Bearbeiten]

Lernziele

  • Wie kann man nicht interaktiv ein gemeinsames Geheimnis erstellen?
  • Wie berechnet man den gemeinsamen Schlüssel?
  • Warum ist es nützlich einen gemeinsamen Geheimen Schlüssel zu besitzen?

Entweder im Fall des Elliptic Curve Diffie Hellman Schlüsselaustauschs oder wahlweise in der Version ohne Elliptische Kurven. Im Falle Elliptischer Kurven ist der Schlüsseltausch aus meiner Sicht einfacher zu verstehen, braucht aber mehr Vorwissen.

Nützliche Resourcen

Elektronische Münzen

[Bearbeiten]

Was ist E-Cash?

[Bearbeiten]

Lernziele

  • Wie definiert man eine elektronische Münze? (Als Kette Digitaler Signaturen, aber was bedeutet das?)
  • Was ist das Double Spend Problem?
  • Welche beiden Lösungen sind für das Double Spend Problem bekannt?
  • Was ist HashCash? B-Money? RPOW? Welchem Zweck dient es?
  • Was ist das UTXO Model?

Nützliche Resourcen

Transaktionsformat Bitcoin Transaktionen

[Bearbeiten]

Lernziele

  • Welche Informationen sind in einer Bitcoin-Transaktion enthalten?
  • Was sind Inputs und Outputs?
  • Was ist Bitcoin Script?
  • Wann wird eine Transaktion als 'valide' betrachtet?

Nützliche Resourcen

Proof of Work

[Bearbeiten]

Kryptographische Commitments & Merkle Bäume

[Bearbeiten]

Lernziele

  • Was ist ein Kryptographisches Commitment?
  • Was versteht man unter Binding & Hiding?
  • was sind die 2 Phasen eines Kryptographischen Commitments?

Nützliche Resourcen

Hash-Funktionen & Hashcash

[Bearbeiten]

Lernziele

  • Was ist eine Einwegfunktion (englisch: one-way function)?
  • Welche kryptografischen Einwegfunktionen werden in Bitcoin verwendet?
  • Was ist eine Hash-Kollision?
  • Was ist HashCash? Welchem Zweck dient es?
  • Welche Rolle spielt die Suche nach Hash-Kollisionen in Bitcoin?
  • Was ist ein ASIC? Warum verwenden Bitcoin-Miner sie heute?
  • Wie funktioniert ein Mining-Pool bei der Lösung des Proof-of-Work?

Nützliche Resourcen

Zahlungskanäle

[Bearbeiten]

Konstruktion von Zahlungskanälen

[Bearbeiten]

Lernziele

  • Wem gehören Bitcoins auf einem Multisignature Wallet?
  • Was bedeutet es dass einem Bitcoin's genau dann gehören, wenn man kontrollieren kann, wie sie ausgegeben werden
  • Was ist die Funktion der Commitment Transaktion?
  • Was versteht man unter der Refund Transaktion?

Nützliche Resourcen

Statusmachine von Kanälen

[Bearbeiten]

Lernziele

  • Wie verändert man die Bilanz in einem Zahlungskanal?
  • Durch welchen Trick lässt sich die bisherige Bilanz invalidieren?
  • Was versteht man unter einem Revocation Key bzw. Revocation Secret?
  • Welche Nachrichten Kommunizieren 2 Knoten im Netzwerk um eine HTLC zu offerieren?
  • Was passiert, wenn man ein Altes Backup verwendet?

Nützliche Resourcen

Schließen von Kanälen (insbesondere Force Close und Pentality)

[Bearbeiten]

Lernziele

  • Auf welche 3 Wege lässt sich ein Zahlungskanal schließen?
  • Wieso muss man regelmäßig online sein, um sein Geld im Kanal sicher zu wissen?
  • Wieso sind "Force Closes" in der Regel sehr teuer?

Nützliche Resourcen

Routing von Zahlungen

[Bearbeiten]

Atomare Swaps via HTLCs

[Bearbeiten]

Lernziele

  • Was bedeutet es in der Informatik, wenn ein Vorgang ```atomar``` ist?
  • In fern sind Hashed Time Locked Contracts atomar?
  • (optional) Case study: Was ist das free American Call Option Problem?
  • Wieso ermöglicht das verketten von HTLCs Zahlungen zu routen?

Nützliche Resourcen

Onion Routing

[Bearbeiten]

Lernziele

  • Wieso spricht man beim Onion-Routing von einem Source-Routing Verfahren?
  • Welche Daten und Informationen werden in den Onions des Lighting Netzwerks transportiert?
  • Welche Daten über zwischenliegende Nodes / Hops braucht 'Alice' (der Zahlungsabsender), um eine Onion-Route zu bauen? Welche Daten braucht 'Alice' von dem finalen Node (dem Zahlungsempfänger, 'Dina')?
  • Welche Schlüssel werden aus dem Shared Secret des Diffie-Hellman-Schlüsselaustauschs generiert? Wann / wo werden sie verwendet?
  • Was bedeutet der Replay-Schutz im Kontext von Lightning?
  • Warum müssen zwischenliegende Nodes "die Onion wieder auffüllen"?
  • Was sind die Vor- und Nachteile des Onion Routings im Lightning Netzwerk?
  • Warum ist die Unsicherheit über die Liquidität eine Herausforderung für die Zuverlässigkeit von Zahlungsvorgängen?

Nützliche Resourcen


Minimum-Cost Flows

[Bearbeiten]

Lernziele

  • Was hat das Minimum Cost Flow Problem mit Zahlungen im Lightning Netzwerk zu tun?
  • Welche möglichen Wahlen der Kostenfunktion sind plausibel?
  • Wie aufwändig sind Minimum Cost-Flow Probleme zu berechnen?

Nützliche Resourcen


(Liquidity Management & alles um on chain fees fehlt.)

Privatsphäre und Sicherheit

[Bearbeiten]

Blockchain Analyse

[Bearbeiten]

Lernziele

  • Was ist der Unterschied zwischen Pseudonymität und Anonymität?
  • Auf welche Weisen lassen sich Bitcoinaddressen bzw. UTXOs clustern? Was sind Heuristiken zur Blockchain-Analyse?
  • Wie aussagekräftig sind Verfahren der Blockchainanalyse? Bzw. was ist das Problem mit der Aussagekraft solcher Analysen?
  • Was ist der Unterschied zwischen Blockchain-Analyse und Überwachung, i.e. wann wird die Analyse zur Überwachung?

Nützliche Resourcen

CoinJoin Methoden

[Bearbeiten]

Lernziele

  • Was ist ein CoinJoin?
  • Was ist ein PayJoin?
  • Was ist ein Change Output?
  • Was bedeutet Fungibilität?
  • Was ist das Ziel von CoinJoin-Verfahren?
  • (Wie) ist der Schutz der Privatsphäre mit Bitcoin möglich?

Nützliche Resourcen

Schlüssel Management

[Bearbeiten]

Lernziele

  • Was ist eine (Pseudo)zufallszahl?
  • Warum ist die Zufälligkeit in der Public-Key-Kryptographie und bei digitalen Signaturen so wichtig?
  • Was sind gute Quellen für Zufälligkeit bei der Generierung privater Schlüssel? Wie kann man sicher eine Zufällige Zahl (mit bzw. ohne Computer) generieren?
  • Wie sieht ein privater Schlüssel aus?
  • Wie haben BIP-32 und BIP-39 die Benutzerfreundlichkeit von Bitcoin verbessert?
  • Wie verbessert BIP-47 den Datenschutz beim Empfang von Bitcoin?
  • Wie lassen sich private Schlüssel sicher aufbewahren? Auf was ist zu achten?
  • Wenn man mit offenen Lightning-Kanälen arbeitet, welche zusätzlichen Informationen außer dem privaten Schlüssel muss man auch verwalten?

Nützliche Resourcen

Aktivitäten

[Bearbeiten]

Im Folgenden eine erste Idee für mögliche Themen, die als interaktive Aktivitäten durchgeführt werden könnten.

  1. Signieren und Verifizieren mit PGP
  2. "DSA Coin" (mit einer Kette von PGP-signierten E-Mails und/oder Rollenspielen)
  3. Onion Routing (mit einem Staffelrennen und/oder Briefumschlägen)
  4. Eine Lesung von Kapiteln aus dem Buch "Wie Wir Menschen Die Welt Eroberten" (Yuval Noah Harari) über den sozialen Konsens
  5. etwas zum Thema Privatsphäre

Lernziele

[Bearbeiten]
  • Was ist Geld und was sind seine Funktionen?
  • Was ist elektronisches Geld?
  • Was leisten digitale Signaturen?
  • Wie funktionieren Digitale Signatur Schemata?
  • Was ist ein kryptographisches Commitment?
  • Wie beweist man mathematische Eigentum an einem digitalem Gut?
  • Wie hilft HashCash bzw. Proof of Work um die Zentrale Authorität eines Geldsystems zu entfernen
  • Was ist ein verteiltes elektronisches Kassenbuch?
  • Was sind Unspent Transaction Outputs?
  • Was sind die Limitierungen von Blockchain Systemen?
  • Warum braucht es das Lightning Netzwerk um Bitcoin zahlungen effizient und effektiv durchführen zu können?
  • Wann bzw. wie kann man eine elektronische Münze besitzen?
  • Was ist digitale Identität?
  • Was bedeutet Privatsphäre?
  • Wieso herrscht im Lightning Netzwerk unsicherheit über die Liquidität?
  • Wie schafft man Konsens in einem verteilten System über die Ordnung (Sortierung bzw. das Auftreten) von Ereignissen (z.b. Übertragung von Werten)
  • Was ist ein Zahlungskanal?
  • Welche Optimierungsprobleme müssen gelöst werden, um Bitcoin Zahlungen im Lightning Netzwerk durchführen zu können