Privacy Upgrade verkleidet als Effizienzsteigerung
Fabian Jahr ist seit mehr als fünf Jahren Open Source Contributer und bereits seit einigen Jahren Vollzeit als Bitcoin-Entwickler aktiv. Derzeit beschäftigt er sich viel mit der sogenannten “Cross-Input Signature Aggregation”, einem Upgrade für das Bitcoin-Netzwerk, das er in diesem Gastbeitrag näher erklärt.
Mit dem stetigen Wachstum des Bitcoin-Netzwerks stellen sich viele Netzwerkteilnehmer die Frage, welche Verbesserungen als Nächstes implementiert werden könnten, um Skalierbarkeit, Effizienz und Privatsphäre weiter zu optimieren. Neben den sogenannten “Covenants”, die seit längerer Zeit im Mittelpunkt der Diskussion um den nächsten Softfork stehen, hat zuletzt ein anderes Upgrade, das auf einer älteren Idee beruht, wieder mehr Aufmerksamkeit erlangt. Dabei handelt es sich um Cross-Input Signature Aggregation, kurz CISA. In diesem Artikel zeige ich, was es mit CISA auf sich hat, welche Vorteile es bieten könnte und welche Herausforderungen noch zu meistern sind.
Was ist CISA?
Cross-Input Signature Aggregation (CISA) ist ein Ansatz, der darauf abzielt, mehrere Signaturen innerhalb einer Transaktion oder sogar über mehrere Transaktionen hinweg zu einer einzigen Signatur zusammenzufassen. Dies wird durch die linearen Eigenschaften von Schnorr-Signaturen ermöglicht, die seit dem Taproot-Upgrade im Jahr 2021 in Bitcoin implementiert sind.
Dabei ist es wichtig CISA von Multisignatur-Protokollen abzugrenzen, da diese Konzepte oft verwechselt werden: Während Multisignatur-Protokolle wie MuSig oder FROST bezwecken, mehrere Schlüssel zu einem Einzigen zusammenzufassen, ermöglicht CISA die Aggregation von Signaturen, die von unterschiedlichen Schlüsseln und für unterschiedliche Nachrichten erstellt wurden. Das bedeutet, dass Signaturen aus verschiedenen Inputs einer Transaktion oder sogar aus mehreren unterschiedlichen Transaktionen kombiniert werden können, um Speicherplatz in den Bitcoin-Blöcken und verbundene Kosten zu sparen und damit die Effizienz zu steigern.
Half-Agg vs. Full-Agg
Es gibt zwei Varianten von CISA: die Half Signature Aggregation (Half-Agg) und die Full Signature Aggregation (Full-Agg). Bei Half-Agg werden Signaturen ohne Interaktion zwischen den Signierern aggregiert. Die resultierende Signatur ist etwa halb so groß wie die Summe der ursprünglichen Signaturen. Dies ermöglicht bereits signifikante Platz- und Gebühreneinsparungen, ohne dass die Teilnehmer online sein, miteinander interagieren oder überhaupt zum Zeitpunkt der Aggregation involviert sein müssen. Miner können diesen Teil dann zum Beispiel auch selbst übernehmen. Im Gegensatz dazu werden bei Full-Agg die Signaturen zu einer einzigen Signatur zusammengefasst, die genauso groß ist wie eine einzelne Schnorr-Signatur (64 Bytes), unabhängig von der Anzahl der aggregierten Signaturen. Allerdings erfordert Full-Agg eine interaktive Protokollabstimmung zwischen den Signierern, was die Komplexität deutlich erhöht. Konkret bedeutet das, dass die einzelnen Teilnehmer des Full-Agg Prozesses mehrere Male miteinander Informationen austauschen, während der Prozess im Gange ist, um am Ende eine valide, aggregierte Signatur zu erhalten.
Das ist natürlich kein Problem, wenn alle Signaturen von einem einzigen Teilnehmer erstellt wurden, wie beispielsweise bei einer ganz normalen On-Chain Transaktion. Protokolle mit mehreren Teilnehmern, wie Lightning oder CoinJoins, werden dadurch aber deutlich erschwert.
Spannend ist außerdem, dass beide Varianten kombiniert werden können, also mehrere Full-Agg Signaturen noch einmal mit Half-Agg zusammengefasst werden könnten, wenn weitere Interaktion nicht mehr möglich ist.
Mögliche Anwendungen
Der realistischste Anwendungsfall von CISA liegt wohl in der transaktionsweiten Aggregation. Durch die Aggregation aller Signaturen innerhalb einer Transaktion können Gebühren gespart und die Transaktionsgröße reduziert werden. Besonders bei Transaktionen mit vielen Inputs, wie CoinJoins oder Konsolidierungen, sind die Einsparungen erheblich.
Theoretisch könnten auch alle Signaturen innerhalb eines Blocks aggregiert werden, was zu maximalen Platzersparnissen führen würde. Allerdings bedarf dies aufgrund offener Fragen, wie beispielsweise einem effizienten Verhalten bei einem Re-Org noch wesentlich mehr Forschungsaufwand. Wenn Blöcke ersetzt werden, müssen ihre Transaktionen unter Umständen wieder in den Mempool zurückwandern, da sich die Transaktion (wider Erwarten) doch noch nicht in der Blockchain befindet. Wurden die Signaturen der Transaktionen mit den Signaturen anderer Transaktionen verschmolzen, ist dies nicht mehr ohne weiteres möglich, da dies nicht mehr rückgängig gemacht werden kann und die Transaktion damit unvollständig ist. Eine Full-Agg Signatur über einen ganzen Block ist zudem vollkommen unrealistisch durch die immense Interaktivität aller Teilnehmer, die notwendig wäre.
In Layer-2-Protokollen, wie dem Lightning Netzwerk, könnten Signaturen aggregiert werden, um Bandbreite zu sparen und die Effizienz zu erhöhen. Beispielsweise könnten in den P2P Nachrichten mit denen neue Kanäle angekündigt werden die Signaturen der einzelnen Kanäle zusammengefasst werden. Ein Einsatz off-chain wäre zwar einfach umzusetzen, da es keinen Softfork erfordert, allerdings ist der Nutzen von Bandbreitenoptimierung auch wesentlich limitierter und es gibt eine ganze Liste anderer Themen, die im Lightning Netzwerk wesentlich höhere Priorität genießen.
Vorteile von CISA
CISA bietet mehrere Vorteile für das Bitcoin-Netzwerk. Durch die Reduzierung der Signaturgröße können mehr Transaktionen in einen Block passen, was zu niedrigeren Gebühren und einer höheren Transaktionskapazität führt. Dieser Effekt wird zwar durch den SegWit-Discount deutlich gedämpft, da hierdurch Signaturen wesentlich günstiger sind als die restlichen Daten einer Transaktion. An der realen Einsparung auf dem Speichermedium der Nutzer ändert dies allerdings nichts.
Obwohl CISA selbst keine direkte Verbesserung der Privatsphäre bietet, könnte die gesteigerte Effizienz die Akzeptanz von CoinJoins fördern, da diese kostengünstiger und attraktiver werden. CISA könnte sogar zur Folge haben, dass die Nutzung eines CoinJoin Wallets für Nutzer günstiger wird als die Nutzung einer normalen Wallet, da die Nutzung von CoinJoins einen Discount auf on-chain Gebühren mit sich bringt. Dies könnte wiederum zu einer weiteren Verbreitung von CoinJoin Implementierung von nutzerfreundlichen Wallets führen, so dass ein Schneeballeffekt entsteht. Diese Hoffnung beflügelt das Interesse an CISA vor allem bei Nutzern, die sich mehr Privatsphäre bei on-chain Transaktionen wünschen.
Herausforderungen und offene Fragen
Trotz der potenziellen Vorteile gibt es auch Herausforderungen und offene Fragen bei der Implementierung von CISA. Ein konkreter und kohärenter Vorschlag für eine Protokolländerung befindet sich zum Zeitpunkt dieses Artikels noch in Arbeit. Die wesentliche Herausforderung sind die Abwägung der vielen, oben erwähnten Trade-offs sowie noch zu bewältigender Forschungsaufwand.
Die Interaktivität bei Full-Agg stellt eine praktische Hürde dar, da die Notwendigkeit besteht, dass alle Signierer gleichzeitig interagieren. Es müssen Lösungen entwickelt werden, um diese Komplexität zu bewältigen, wenn Full-Agg Teil des Vorschlags zur Protokolländerung sein soll. Und speziell für eine Umsetzung von Full-Agg CISA besteht noch ein wesentlicher Aufholbedarf an Forschungsarbeit, bevor ein Softfork realistisch wird. Gleichzeitig nennen viele das maximale Sparpotential von Full-Agg als den spannendsten Teil eines potenziellen CISA Softforks.
Generell birgt jede Änderung am Konsensprotokoll Sicherheitsrisiken. Es ist essenziell, dass CISA gründlich geprüft und getestet wird, um potenzielle Sicherheitslücken zu vermeiden. Skeptiker merken an, dass der Nutzen von CISA diesen Aufwand vielleicht garnicht wert ist und fordern stattdessen wahlweise umfassendere Änderungen (zum Beispiel Covenants) oder doch lieber gar nichts mehr an Bitcoin zu ändern. Um den maximalen Nutzen aus CISA zu ziehen, müssten Wallets und Dienste die neuen Funktionen unterstützen, was Zeit und Ressourcen seitens der Entwickler erfordert. Hierbei ist auch wichtig zu erwähnen, dass nur Taproot outputs für die Nutzung in CISA in Frage kommen, da Schnorr Signaturen zwingend notwendig sind. Alleine hier müssten also viele Nutzer und Entwickler zunächst ihre Hausaufgaben machen.
Es besteht auch das Risiko, dass bestimmte Heuristiken zur Transaktionsanalyse zum Schlechteren verändert werden, insbesondere wenn Full-Agg verwendet wird und die Common-Input-Ownership-Heuristik stärker greifen könnte. Firmen wie Chainalysis bedienen sich dieser Heuristik häufig und nehmen damit an, dass alle Inputs einer Transaktion mit hoher Wahrscheinlichkeit von derselben Person stammen, sofern die Transaktion nicht durch andere Merkmale als CoinJoin oder ähnliches erkennbar ist. Wie oben erwähnt ist Full-Agg kein Problem, wenn es nur einen Teilnehmer gibt, es würde damit nahelegen, dass Transaktionen mit Full-Agg nicht interaktiv signiert wurden, zumindest so lange noch kein nutzerfreundliches Tooling entwickelt wurde. Hierbei handelt es sich allerdings höchstens um einen temporären Effekt, der ebenso bereits bei Taproot bestand.
Fazit
Cross-Input Signature Aggregation könnte ein wichtiger Schritt sein, um Bitcoin effizienter und dabei im zweiten Schritt auch privater zu machen. Es bleibt abzuwarten, ob und wann CISA den Sprung vom Konzept zur Realität schaffen wird. Die langsame und bedachte Weiterentwicklung von Bitcoin ist eine Stärke des Netzwerks und die weiterhin andauernden Diskussionen um Covenants zeigen, wie schwer es sein kann, zu einem Konsens zu kommen. Insbesondere, wenn es tiefgreifende Änderungen am Netzwerk betrifft.