‹ KAPITEL 16, ALLE LEKTIONEN

MASTER · KAPITEL 16 · LEKTION 1 VON 5

Skript & Upgrades

Bitcoin Script

Was steht tatsächlich in einem Output, um ihn zu sperren? 6 min

Jeder Output enthält ein kleines Programm, sein Sperrskript. Um ihn auszugeben, liefert ein Input einen entsperrenden Teil. Nodes führen beide zusammen aus: endet das Programm mit true, ist die Ausgabe gültig.

Eine Stack-Maschine

Skript arbeitet mit einem Stack: Elemente werden auf den Stack gelegt, und Operationen nehmen Elemente vom Stack und legen Ergebnisse ab. Die klassische Legacy-Zahlung lautet: OP_DUP OP_HASH160 <public key hash> OP_EQUALVERIFY OP_CHECKSIG. In Worten: kopiere den bereitgestellten öffentlichen Schlüssel, hashe ihn, prüfe, ob er mit dem im Output übereinstimmt, und prüfe dann die Signatur dagegen.

Absichtlich limitiert

Skript hat keine Schleifen und keinen allgemeinen Speicher. Jedes Programm endet schnell, und jeder Node kann vorhersagen, was die Prüfung kosten wird. Das macht es weitaus weniger ausdrucksstark als die Sprachen einiger anderer Blockchains und weitaus einfacher zu beurteilen.

  • Multisig: erfordert mehrere Signaturen aus einer Menge von Schlüsseln.
  • Hash-Locks: erfordern die Enthüllung eines Geheimnisses, dessen Hash bekannt ist, wie bei Lightning.
  • Zeit-Locks: verbieten die Ausgabe vor einem Datum oder einer Blockhöhe.

Was man sich merken sollte

  • Outputs werden durch kleine Stack-basierte Programme gesperrt.
  • Skript hat keine Schleifen: jede Prüfung endet vorhersagbar.
  • Signaturen, Hashes und Zeiten sind seine Bausteine.

Schnellcheck

Wann ist eine Ausgabe auf Skript-Ebene gültig?

Warum hat Skript keine Schleifen?

Bitcoin Script · Bitcoin Universität