Warum erfolgen im Zeitalter des Internets nicht alle finanziellen Transaktionen bei den Banken in Echtzeit?
Danke für die Frage. Neben den Banküberweisungen stellen Zahlungen mithilfe von EC-Cash einen großen Anteil der Transaktionen für Banken dar.
Die Frage wirft tatsächlich einige Aspekte auf, die hier zu berücksichtigen sind. Ich arbeite sehr viel mit „Echtzeitanwendungen“ im industriellen Bereich. Und kann mit ruhigem Gewissen sagen, dass unter „Echtzeit“ das System WYSIWYG - (w)hat (y)ou (s)ee (i)s (w)hat (y)ou (g)et - vom Nutzer verstanden wird. Damit ist gemeint, dass ein direkter Zusammenhang zwischen Aktion und Reaktion erkennbar ist. Es wird etwas angeklickt und augenblicklich erfolgt eine Reaktion des Computersystems, so die Vorstellung des Nutzers.
Daten werden an einem peripheren Gerät erfasst. Dabei werden diese Daten weiter angereichert und zu Informationen gewandelt. Diese Informationen werden an einen Server gesendet, dort verarbeitet und die Ergebnisse wieder zurück an das periphere Gerät gesendet. Der Nutzer erhält zeitnah eine Antwort auf seine Eingabe. Für flüssiges Arbeiten werden Verzögerungen >200ms als störend empfunden. Besonders im Bereich Scanning (Scannen von Produktstrichcodes zur Erfassung auf einem Lieferschein zum Beispiel) sind geringe Verzögerungen gefordert. Je schneller die Verarbeitung der Informationen, desto mehr kann gescannt werden und desto höher die Leistungsfähigkeit des Systems.
Diese Verzögerungen entstehen aus dem Prozess an sich. Um schnell arbeiten zu können, ist die entsprechende Infrastruktur notwendig. Ein Gigabit-Netzwerk bringt nichts, wenn der Flaschenhals ein 19.6k Modem darstellt. Viele meiner Kunden arbeiten noch mit ISDN, in einigen ländlichen Regionen sind Onlineanwendungen nur mit Modem möglich, da kein ISDN/DSL verfügbar ist.
Die Arbeit mit Transaktionen im Zahlungsbereich ist einigen besonderen Anforderungen unterworfen. Zur Verarbeitung von Belegen ist prinzipiell die Eindeutigkeit der Eingabe sicherzustellen. Somit erhält jeder Beleg und bei Systemen, an denen mehrere Benutzer einen gemeinsamen Beleg erstellen, jede Transaktion ein eindeutiges Zuordnungskriterium. Unter diesem eindeutigen Kriterium werden die einzelnen Transaktionen in einer Tabelle (Journal) zusammengefasst. Wir reden hier von einer Blockchain – Jedes Element (außer dem 1. Element) hat einen eindeutigen Vorgänger und jedes Element (außer dem letzten Element) hat einen eindeutigen Nachfolger.
Schnell wird klar, dass wir bei zeitkritischen Anwendungen einiges beachten müssen. Arbeiten mehrere Geräte in einem System und generieren alle Geräte „Transaktionen“, so muss jedes einzelne Gerät zu jeder Zeit wissen, welches die nächste freie Transaktionsnummer ist. Technisch ist dieses Idealbild nicht umsetzbar, da bereits die kurzzeitige Verbindungsunterbrechung eines Gerätes im System riesige Auswirkungen auf alle Geräte im System hat. Deswegen gibt es kleine Tricks und Kniffe (ein bisschen Betriebsgeheimnis muss sein), um dieses Thema „gekonnt“ zu umgehen.
Weiterhin nimmt mit Zunahme der Transaktionen der Aufwand der Verarbeitung der Daten zu. Es wird immer mehr Speicherplatz benötigt, außerdem wird die Transaktionsnummer als eindeutiges Zuordnungskriterium berechnet. Das bedeutet, je größer die Datenmenge, desto größer der zeitliche Recheneinsatz.
Wenn wir von einfachen Kassen ausgehen, dann sind diese Geräte meist in Speicher und Rechenkapazität begrenzt. Somit dauert alles seine Zeit und von einem Echtzeitbetrieb innerhalb des Kassensystems kann nicht mehr wirklich gesprochen werden. Rechnen wir dann noch die Zeit der eigentlichen Transaktion der Zahlung (registrieren, prüfen, bestätigen, usw.) hinzu, dann können zwischen Belegerstellung und eigentlicher Transaktion schon mal einige Sekunden liegen. Wir merken diese Verzögerung dann, wenn es seine Zeit dauert, bis die Kassen den EC-Zahlungsbeleg ausspuckt.
Am Ende würde ich antworten, wir können keinen Echtzeitbetrieb bei Transaktionen anbieten. Technisch spielt die mangelnde Infrastruktur eine große Rolle, nicht jeder hat hinreichenden Zugang zu entsprechender Bandbreite und Geschwindigkeit. Weiterhin ist unser Zahlungsabwicklungssystem als eine „Blockchain“ (nichts anderes als ein langes Buchhaltungsjournal) erdacht. Jede einzelne Transaktion wird anhand eines eindeutigen Zuordnungskriteriums in die Blockchain eingeordnet – ein Element nach dem anderen Element. Diese „serielle“ Abarbeitung ist der Flaschenhals, die Blockchain ermöglicht die Einordnung nur eines einzelnen Elements innerhalb eines Abarbeitungszyklus.
Erst mit Änderung der Algorithmen wird eine wirkliche „Echtzeitanwendung“ denkbar. Hier wäre der erste Schritt, dass viel Transaktionen gleichzeitig voneinander verarbeitet werden können. Dazu müssen wir uns vom Gedanken der Blockchain lösen und neue Konzepte erdenken. So könnte ich mir vorstellen, Transaktion in einem künstlichen neuronalen Netz abzubilden, dabei können viele Informationen gleichzeitig eingegeben und verarbeitet werden. Modelle wie GNG (growing neural gas) passen sich selbst der Größe der Anforderung an und moderne Quantencomputer könnten die Verarbeitung parallelisieren und beschleunigen.
Am Ende kann gesagt werden. Dass es nicht der Wille ist, der Echtzeitanwendungen bei Transaktionen im Wege steht, sondern die technischen Möglichkeiten und die Algorithmen eine natürliche Beschränkung bilden. Mit steigendem Ausbau der Infrastruktur und Verbesserung der Computer steigt auch Verarbeitungsgeschwindigkeit. Erst mit dem Neudenken der Datenverarbeitung (massive Parallelisierung der Computer und Algorithmen) und dem Ausbau der Infrastruktur ist an wirklichen Echtzeitbetrieb zu denken.