Der Schnorr Zoo

Protokolle auf Taproot & mehr

 Jonas Nick 

nickler.ninja

Blockstream Research

  • Forschung an
    • Signaturverfahren
    • Scriptsprachen (Miniscript, Simplicity)
  • für das Bitcoin Protokoll, Wallets, Elements Sidechain, Lightning Network, etc...
  • Sowie Beiträge zu Open Source Projekten wie Bitcoin Core, libsecp, rust-bitcoin, uvm.

Bitcoin Heute

Alice

Bob

bc1q... Adresse

bitcoin

Bitcoin nach Taproot Upgrade

Alice

Bob

bc1p... Adresse

bitcoin

mit Taproot

Taproot Aktivierung

  • Taproot ist eingelockt, und wird Mitte November aktiviert.
  • Das Bitcoin Regelwerk wird von Full Nodes durchgesetzt, also Computern mit Software die die Blockchain verifizieren.
  • Für reibungsloses Update, muss überwältigende Mehrheit Taproot unterstützen.
  • Heute (2021-07-28) sind es nur etwa 36% bis 41% der Full Nodes.

Meine Wallet benutzt eine eigene Bitcoin Full Node

Ich nutze die Zitadelle um das zu ändern

Ich update auf Bitcoin Core 0.21.1

Ich nutze Bitcoin Core Version (oder equiv.)

Ich stelle sicher dass meine Freunde Core 0.21.1 nutzen

Nein

Ja

< 0.21.1

0.21.1

Taproot Basics

Design Goal: Widerstandsfaehigkeit

  • Widerstandsfaehigkeit gegenüber Einflussnahme einzelner Parteien
  • Entscheidender Faktor: Benötigte Ressourcen für Full Node

I hope it's obvious it was only the centrally controlled nature of those systems that doomed them. I think this is the first time we're trying a decentralized, non-trust-based system.

Satoshi:

Schnorr Sigs in Taproot 

Autorisierung von Transaktion:

In Blockchain: ECDSA Schnorr Signatur von Alices öffentlichem Schlüssel (Key)

Alice

Charlie

bitcoin

Der Schnorr Zoo

Taproot

TR + ½ Agg

TR + Agg

Batch Verify

Key Agg

Rek. Key Agg

Adaptor Sigs

on-chain

off-chain

Taproot

TR + ½ Agg

TR + Agg

Batch Verify

Key Agg

Rek. Key Agg

Adaptor Sigs

on-chain

off-chain

Schnorr Batch Verifizierung

  • Ohne: Full Node muss jede Signatur in Blockchain einzeln verifizieren
  • Mit: Full Node verfiziert einen Batch von Signaturen auf einmal
  • Beispiel Batch = 10.000: Verifizierung doppelt so schnell
  • Daher Full Node Ressourcenverbrauch reduziert
  • Status: Proof-of-Concept Implementierung existiert

Weitere Design Goals

Tauglichkeit als Zahlungsmittel

(On-chain und Layer 2)

Überwachungsresistenz

Sicherheit von Wallets

Ununterscheidbarkeit

  • Transaktionen haben gleiche Struktur, unabhängig davon ob sie einfache Zahlungen sind oder Teil komplexerer Protokolle.
  • Erschwert Ausspähen mit Blockchain
  • Layer 2 (L2) und Multisig kostengünstiger

Transaktion

Multisig?

Normale Zahlung?

Sidechain?

Lightning?

Taproot

TR + ½ Agg

TR + Agg

Batch Verify

Key Agg

Rek. Key Agg

Adaptor Sigs

on-chain

off-chain

Scripts versteckt in Merkle Tree

Taproot

TR + ½ Agg

TR + Agg

Batch Verify

Key Agg

Rek. Key Agg

Adaptor Sigs

on-chain

off-chain

Key Aggregation

  • Beispiel: Alice, Bob und Charlie haben ein 2-aus-3 Multisig Wallet.
  • Ohne: Alle drei Keys und zwei Signaturen müssen in die Chain geschrieben werden
  • Mit:
    • Gemeinsamer Key    
    • Gemeinsam erstellte Signatur
  • Daher ununterscheidbar zu normalen Transaktionen

A

B

C

ABC

MuSig vs MuSig2 vs FROST

  • MuSig: n-aus-n Multisig
    • Status: Ersetzt durch MuSig2
  • MuSig2: n-aus-n Multisig
  • FROST: m-aus-n multisig
    • Beispiel: reduziert Kosten einer 11-aus-15 Multisig Federation um 75%
    • Status: Impl. eines Prototyps im Gange

Taproot

TR + ½ Agg

TR + Agg

Batch Verify

Key Agg

Rek. Key Agg

Adaptor Sigs

on-chain

off-chain

Rekursive Key Agg

Alice Key 1

  • Beispiel: Alice verteilt Schlüssel ihres Lightning Channels mit Bob auf mehrere Geräte
  • Ohne: Änderung des Lightning Protokolls, Bob erkennt Alice's Setup
  • Mit:

Alice Key 2

Alice Agg Key

Agg Key

Bob Key

  • Status: Forschungsgegenstand

Taproot

TR + ½ Agg

TR + Agg

Batch Verify

Key Agg

Rek. Key Agg

Adaptor Sigs

on-chain

off-chain

Adaptor Signatures

  • Beispiel: Atomic Swaps wie Lightning Payment, DLCs, Cross-Chain Swaps
  • Ohne:  Benötigt on-chain Hash
  • Mit: Stattdessen off-chain Adaptor Signature
  • HTLC: Hash Timelocked Contract, sichtbar on-chain, auf der Route dasselbe
  • PTLC: Point Timelocked Contract
  • Status: Spezifizierung (des Primitivs) im Gange

Lightning:

HTLC PTLC

HTLC PTLC

Taproot

TR + ½ Agg

TR + Agg

Batch Verify

Key Agg

Rek. Key Agg

Adaptor Sigs

on-chain

off-chain

Schnorr Half Aggregation

  • Ohne: Blöcke enthalten (mind.) eine Signatur pro ausgegebenen Coin
  • Mit: Blöcke enthalten eine "halb-"aggregierte Signatur, die etwa halb so groß ist wie die Summe der einzelnen Signaturen
    •  
    • Nicht-interaktiv
  • Beispiel: 10 halb-aggregierte Signaturen benötigen Platz von 6 normalen Signaturen
  • Daher mehr Transaktion pro Block möglich

  • Status: Forschungsgegenstand, würde weiteren Softfork benötigen

\mathsf{Aggregate}(\mathsf{sig}_1, \ldots, \mathsf{sig}_n) \rightarrow \mathsf{sig}

Taproot

TR + ½ Agg

TR + Agg

Batch Verify

Key Agg

Rek. Key Agg

Adaptor Sigs

on-chain

off-chain

Schnorr Full Aggregation

  • Ohne: Transaktionen enthalten (mind.) eine Signatur pro ausgegebenen Coin
  • Mit: Transaktionen enthalten genau eine, aggregierte Signatur
  • Größe gleich normaler Schnorr Signatur
  • Signieren ist interaktiv
  • Kleinere Transaktionen, schafft Anreiz für CoinJoin
  • Status: Forschungsgegenstand, würde weiteren Softfork benötigen

Zusammenfassung

  • nickler.ninja/slides/
  • Full Nodes updaten!
  • Widerstandsfähigkeit ist A und O
    • Überwachungsresistenz
    • Tauglichkeit als Zahlungsmittel
    • Sicherheit von Wallets
  • Ununterscheidbarkeit
  • Key Aggregation: Aggregierung in einem Multisig Wallet
  • Sig Aggregation: Aggregierung über Wallets hinweg

Zusammenfassung

Protokoll Anwendung Nutzen Status (inkl. Warten auf TR)
Batch Verify Schnelleres Verifizieren Full Node Ressourcen Prototyp Impl.
TR Merkle Tree Versteckte Script Paths Kleinere Txs, Überwachungsresistenz -
MuSig n-aus-n Multisig Kleinere Txs, Überwachungsresistenz Ersetzt durch MuSig2
MuSig2 " " Spezifizierung in Gange
FROST t-aus-n Multisig " Impl. in Gange
Rek. Key Agg Multisig aus Multisigs L2 Tricks Forschungsgegenstand
Adaptor Sigs Swaps, HTLCs nützlich fuer L2, Überwachungsresistenz ​Spezifizierung in Gange
Blind Sigs Blind Swap Überwachungsresistenz Anwendungen?
Half Agg Alle Txs Kleinere Txs Forschungsgegenstand, benötigt Softfork
Full Agg Alle Txs Kleinere Txs Forschungsgegenstand, benötigt Softfork

Schnorr Zoo

By iamjon

Schnorr Zoo

  • 276