Confidential Wholesale CBDC Chaincode-Workflow

Das Szenario der vertraulichen digitalen Zentralbankwährung (CBDC) stellt eine Währung dar, die über eine strukturierte Finanzinstitutshierarchie verteilt wird, wobei vertrauliche Informationen privat gespeichert werden.

Die vertrauliche Version des CBDC-Großhandels-Szenarios unterscheidet sich in der Handhabung von Transaktionsdaten. Nicht sensible Informationen wie grundlegende Transaktionsdetails und Organisationskontoinformationen werden im öffentlichen Buch gespeichert. Sensible Informationen (wie Benutzer-IDs, Ist-Saldenwerte und Blinding-Faktoren) werden in der privaten Datenerfassung jeder Organisation gespeichert und über eine transiente Karte an den Chaincode übergeben, sodass sie niemals in das öffentliche Buch geschrieben werden. Kontensalden und Einbehaltungssalden werden im öffentlichen Buch als Pedersen-Verpflichtungswerte dargestellt, sodass die öffentliche Verifizierung durch Zero-Knowledge-Nachweise ermöglicht wird, ohne dass die zugrunde liegenden Beträge offengelegt werden. Auf der Zentralbankebene verwenden Überweisungen einen zweiphasigen Commit-Prozess für eine atomare Transaktion, bei der sowohl die APIs executeHoldTokensSender als auch executeHoldTokensReceiver gleichzeitig ausgeführt werden müssen, wodurch die Vertraulichkeit während der Übertragung gewahrt bleibt. Transfers auf Finanzinstitutsebene verwenden die standardmäßige einzelne API executeHoldTokens.

In der folgenden Tabelle werden die wichtigsten Unterschiede zwischen der nicht vertraulichen und der vertraulichen Version des CBDC-Großhandels-Szenarios zusammengefasst.
Arbeitsvorgang/Daten Nicht vertraulicher CBDC Konfidenz-CBDC
Zwischenbetriebliche Überweisung (Zentralbankgenehmiger führt Sperre aus) executeHoldTokens-API (einzelner Aufruf) executeHoldTokensSender- und executeHoldTokensReceiver-APIs (zwei gleichzeitige Aufrufe bei Two-Phase Commit)
Transfer innerhalb der Organisation (Genehmiger des Finanzinstituts führt eine Sperre aus) executeHoldTokens-API (einzelner Aufruf) executeHoldTokens-API (einzelner Aufruf, kein Unterschied)
Transaktionsdaten im Buch Alle Daten, die in einfacher Form im öffentlichen Ledger gespeichert sind, ohne Datentrennung Nicht sensible Daten im öffentlichen Buch, sensible Daten (Benutzer-IDs, Istsalden, Blinding-Faktoren), die in der privaten Datenerfassung jeder Organisation gespeichert sind
Saldendarstellung Tatsächliche Saldenwerte direkt gespeichert Salden, die als Pedersen-Verpflichtungswerte dargestellt werden, Istbeträge, die nicht im öffentlichen Buch angezeigt werden
Verifizierungsmethode Direkt: Werte können im Buch gelesen werden Zero-Knowledge-Beweise ermöglichen eine öffentliche Überprüfung, ohne die zugrunde liegenden Beträge aufzudecken
Handhabung sensibler Daten In öffentlichem Ledger gespeichert Über transiente Map an Chaincode übergeben, nicht in öffentliches Ledger geschrieben

Hinweis:

Die APIs executeHoldTokensSender und executeHoldTokensReceiver müssen gleichzeitig als Teil eines Zwei-Phasen-Commit-Prozesses aufgerufen werden. Wenn nur einer ohne den anderen aufgerufen wird, tritt ein Fehler auf.

Das folgende Diagramm zeigt einen typischen Prozessfluss bei Verwendung des vertraulichen CBDC-Großhandelskettencodes der Probe.