Ich möchte heute über einen technischen Detailpunkt sprechen, über den nur selten gesprochen wird: den OP_CHECKSIGADD-Opcode, der in den Vault-Skripten von Babylon verwendet wird.
Dieser Opcode ist eine Neuerung, die durch das Taproot-Upgrade eingeführt wurde. In traditionellen Bitcoin-Skripten, wenn du mehrere Signaturen verifizieren willst, musst du mehrere OP_CHECKSIG-Operationen schreiben – jede Signatur wird einzeln geprüft, und der Skriptumfang wird riesig. OP_CHECKSIGADD erlaubt dir, mehrere öffentliche Schlüssel und Signaturen in einen Batch-Verifizierungsablauf zu packen und alles auf einmal zu erledigen; dadurch schrumpft die Skriptgröße erheblich.
Im Vault-Skript von TBV wird dieser Opcode auf dem Multisig-Pfad eingesetzt. Ein typisches Vault richtet mehrere Co-Signer ein – der Depositor selbst, der Vault Provider, der Keeper-Knoten – und jede zulässige Kombination darf diese UTXO ausgeben. Mit OP_CHECKSIGADD wird diese Logik umgesetzt; das Skript ist im Vergleich zur alten Lösung ungefähr 40 % kleiner.
Ich habe mir das ausgerechnet. Wenn es kein Taproot-Upgrade gäbe, könnte das Babylon-Vault-Skript auf über 4000 Weight Units anwachsen: Die Anzahl an Vaults, die in einen einzelnen Block passen, würde sich halbieren, und die Transaktionsgebühren würden sich verdoppeln. Taproot bringt nicht nur mehr Privatsphäre, sondern ganz konkret auch Gas-Einsparungen.
Ein weiterer verwandter Opcode ist die Schwester-Variante von OP_CHECKSIGADD: OP_CHECKSIGADDVERIFY. Er sorgt dafür, dass das Skript bei einem Verifizierungsfehler direkt fehlschlägt und die Transaktion beendet. Babylon verwendet diesen Opcode in einigen entscheidenden Pfaden, um Sicherheitsprüfungen zu erzwingen – etwa indem man am Ende des Skripts im Rahmen der Reaktion auf die Challenge-Phase die VERIFY-Variante ergänzt, sodass die Ausführung erst weitergeht, nachdem alle Signaturprüfungen bestanden sind.
Diese kleinen Details werden im Alltag kaum beachtet, aber sie bilden die fundamentalen Bausteine des TBV-Sicherheitsmodells. Jede Weiterentwicklung der Bitcoin-Skriptsprache schafft wieder neuen Spielraum für die Fantasie der Anwendungen darüber.
$BABY #baby @BabylonLabs_io
Dieser Opcode ist eine Neuerung, die durch das Taproot-Upgrade eingeführt wurde. In traditionellen Bitcoin-Skripten, wenn du mehrere Signaturen verifizieren willst, musst du mehrere OP_CHECKSIG-Operationen schreiben – jede Signatur wird einzeln geprüft, und der Skriptumfang wird riesig. OP_CHECKSIGADD erlaubt dir, mehrere öffentliche Schlüssel und Signaturen in einen Batch-Verifizierungsablauf zu packen und alles auf einmal zu erledigen; dadurch schrumpft die Skriptgröße erheblich.
Im Vault-Skript von TBV wird dieser Opcode auf dem Multisig-Pfad eingesetzt. Ein typisches Vault richtet mehrere Co-Signer ein – der Depositor selbst, der Vault Provider, der Keeper-Knoten – und jede zulässige Kombination darf diese UTXO ausgeben. Mit OP_CHECKSIGADD wird diese Logik umgesetzt; das Skript ist im Vergleich zur alten Lösung ungefähr 40 % kleiner.
Ich habe mir das ausgerechnet. Wenn es kein Taproot-Upgrade gäbe, könnte das Babylon-Vault-Skript auf über 4000 Weight Units anwachsen: Die Anzahl an Vaults, die in einen einzelnen Block passen, würde sich halbieren, und die Transaktionsgebühren würden sich verdoppeln. Taproot bringt nicht nur mehr Privatsphäre, sondern ganz konkret auch Gas-Einsparungen.
Ein weiterer verwandter Opcode ist die Schwester-Variante von OP_CHECKSIGADD: OP_CHECKSIGADDVERIFY. Er sorgt dafür, dass das Skript bei einem Verifizierungsfehler direkt fehlschlägt und die Transaktion beendet. Babylon verwendet diesen Opcode in einigen entscheidenden Pfaden, um Sicherheitsprüfungen zu erzwingen – etwa indem man am Ende des Skripts im Rahmen der Reaktion auf die Challenge-Phase die VERIFY-Variante ergänzt, sodass die Ausführung erst weitergeht, nachdem alle Signaturprüfungen bestanden sind.
Diese kleinen Details werden im Alltag kaum beachtet, aber sie bilden die fundamentalen Bausteine des TBV-Sicherheitsmodells. Jede Weiterentwicklung der Bitcoin-Skriptsprache schafft wieder neuen Spielraum für die Fantasie der Anwendungen darüber.
$BABY #baby @BabylonLabs_io