Stablecoin-Anwendungsworkflow

Ein Stablecoin ist ein fungibler Token, der digitale Währung mit integrierter Compliance-Durchsetzung darstellt.

Das Stablecoin-Szenario setzt voraus, dass Sie die Richtlinien Ihres Kunden (KYC) und der Geldwäschebekämpfung (AML), Übertragungsbeschränkungen und Mehrparteiengenehmigungen kennen. Das System unterstützt Direktüberweisungen und gesperrte Versetzungen, die vor der Versetzung genehmigt werden müssen.

  • Neben-, Brenner- und Notarrollen sind erforderlich.
  • Die Account-Policy setzt KYC/AML und Einschränkungs-Flags durch.
  • Die Genehmigungs-Policy definiert Schwellenwerte und sequenzielle Genehmigeranforderungen für gesperrte Transfers.
  • Übertragungseinschränkungen sind optional und können jederzeit konfiguriert werden.
  • Mit dem Genehmigungs-Policy-Abgleich wird bestimmt, ob Genehmigungen erforderlich sind, wenn die API holdTokens verwendet wird.
  • APIs für die Transaktionshistorie unterstützen Auditing und Überwachung.
In der folgenden Tabelle werden die Akteure in diesem Szenario zusammengefasst.
Teilnehmer Rolle Beschreibung
Administrator Token-Admin Initialisiert das System, weist Rollen zu, erstellt Konto- und Genehmigungsrichtlinien.
Minter Minter Verarbeitet Token.
Mint-Genehmiger Notar Genehmigt oder lehnt Mint-Anforderungen ab.
Verbrennungsgenehmiger Notar Genehmigt Burn Requests oder lehnt sie ab.
Absender Kein Initiiert direkte oder gesperrte Transfers.
Genehmiger Kein Genehmigt Transaktionen in einer definierten Reihenfolge. Genehmiger sind reguläre Kontoinhaber, die in der Genehmigungsrichtlinie als Genehmiger angegeben wurden (nicht durch eine zugewiesene Rolle).
Notar Notar Vervollständigt oder gibt gesperrte Transfers nach der Genehmigung frei.
Empfänger Kein Empfängt übertragene Token.
Auditor Tokenauditor Fragt die Transaktionshistorie zu Compliance- und Berichtszwecken ab.
Der Administrator führt die folgenden Schritte aus, um das System zu initialisieren.
  1. Initialisieren Sie einen Stablecoin mit der initializeStablecoinToken-API.
  2. Registrieren Sie Organisationen mit der API registerOrg.
  3. Erstellen Sie Accounts mit den APIs createAccount und associateTokenToAccount.
  4. Weisen Sie die Minter-, Burner- und Notarrollen mit der addRole-API den entsprechenden Accounts zu.
  5. Erstellen Sie Account-Policys mit der API createStablecoinAccountPolicyCheck.
  6. Erstellen Sie Genehmigungs-Policys mit der API createApprovalPolicyCheck.
Nach der Initialisierung des Systems führt ein typischer Prozessfluss diese grundlegenden Schritte aus.
  1. Mint Stablecoins.
    1. Der Minter verwendet die requestMint-API, um eine Anfrage an Stablecoins zu senden.
    2. Der Mint-Genehmiger verwendet die API approveMint, um die Anforderung an die Mint-Stablecoins zu prüfen und zu genehmigen. Alternativ kann der Mint-Genehmiger die rejectMint-API verwenden, um die Anforderung abzulehnen.
  2. Übertragen Sie Stablecoins ohne Genehmigungen.
    • Der Absender verwendet die transferTokens-API, um Stablecoins an einen Benutzer zu senden.
  3. Übertragen Sie Stablecoins mit Genehmigungen.
    1. Der Absender fordert die Übertragung der Token mit der API holdTokens an.
    2. Bei Bedarf verwenden Genehmiger die API approveTransaction, um die Übertragung zu genehmigen, wie in der Genehmigungs-Policy angegeben.
    3. Der Notar verwendet die API executeHoldTokens, um die Übertragungsanforderung zu genehmigen. Alternativ kann der Notar die Übertragung mit der API releaseHold ablehnen.
  4. Token-Saldo prüfen.
    • Benutzer können die getAccountBalance-API verwenden, um die Menge an Stablecoins zu erhalten, die sie halten.
  5. Token brennen.
    1. Benutzer können die requestBurn-API verwenden, um eine Anforderung zum Brennen ihrer Stablecoins zu senden.
    2. Der Burn-Genehmiger verwendet die API approveBurn, um die Anforderung zu prüfen und zu genehmigen. Alternativ kann der Burn-Genehmiger die rejectBurn-API verwenden, um die Anforderung abzulehnen.
  6. Transaktionshistorie prüfen
    • Auditoren und Benutzer können die APIs getAccountTransactionHistory und getAccountTransactionHistoryWithFilters verwenden, um die Transaktionshistorie für Auditing und Reporting abzurufen.

Firmenpolice - Validierung

Kontorichtlinien sind für alle Konten obligatorisch, die Stablecoins übertragen oder halten. Account-Policys werden in den folgenden APIs validiert: transferTokens, holdTokens, approveTransaction, executeHoldTokens.

Jede Account-Policy enthält drei Parameter: KYC, AML und restrictionFlag. Diese werden sowohl für Absender als auch Empfänger validiert, bevor Token übertragen werden.

KYC (Know Your Customer)
Der Transfer ist nur zulässig, wenn die KYC-Werte für Absender- und Empfängerkonten true lauten.
AML (Geldwäschebekämpfung)
Der Transfer ist nur zulässig, wenn die AML-Werte für Absender- und Empfängerkonten true lauten.
restrictionFlag
Wenn das Einschränkungskennzeichen sowohl für das Absender- als auch für das Empfängerkonto auf false gesetzt ist, ist die Validierung erfolgreich. Wenn das Einschränkungskennzeichen für das Absender- oder Empfängerkonto, für die APIs holdTokens, approveTransaction und executeHoldTokens auf true gesetzt ist, ist die Übertragung nur zulässig, wenn eine niedrigste verfügbare Genehmigungs-Policy vorhanden ist und der Betrag innerhalb der Policy-Limits liegt. Andernfalls wird der Transfer blockiert. Bei der Methode transferTokens ist der Transfer nur zulässig, wenn sich der Betrag im unteren und oberen Bereich der Transfereinschränkungslimits befindet.

Genehmigungs-Policy-Abgleich

Der Abgleich der Genehmigungs-Policy wird nach einem Aufruf der API holdTokens ausgelöst. Genehmigungs-Policys definieren Transaktionsschwellenwerte, die erforderliche Anzahl von Genehmigungen und Genehmigerdetails und legen die Reihenfolge für Genehmigungen mit mehreren Ebenen fest. Für einen Sperrvorgang ist eine Genehmigungs-Policy erforderlich. Ohne eine Genehmigungs-Policy können Benutzer Token nicht sperren oder übertragen, wenn Einschränkungen gelten.

Der Abgleich der Genehmigungs-Policy bestimmt, ob Genehmigungen erforderlich sind, bevor der Notar den Sperrentransfer abschließen kann. Wenn Genehmigungen erforderlich sind, bestimmt der Genehmigungs-Policy-Abgleich, welche Genehmiger benötigt werden und in welcher Reihenfolge.

Wenn für Absender und Empfänger kein Einschränkungskennzeichen festgelegt ist, wird der Sperrbetrag mit allen konfigurierten Schwellenwerten für Genehmigungs-Policys verglichen, um eine Übereinstimmung zu finden. Wenn eine Übereinstimmung gefunden wird, werden die entsprechenden Genehmiger und die entsprechende Sequenz verwendet. Wird keine Übereinstimmung gefunden, ist keine Genehmigung erforderlich, und die Transaktion wird direkt an den Notar weitergeleitet.

Wenn ein Einschränkungskennzeichen für Absender oder Empfänger festgelegt ist, wird die niedrigste verfügbare Genehmigungs-Policy verwendet. Wenn keine Policy verfügbar ist, wird die Transaktion blockiert.

Nachdem eine Policy-Übereinstimmung ermittelt wurde, werden die folgenden Details zur Verwendung im Genehmigungsprozess aus der Policy extrahiert:
  • Erforderliche Genehmiger
  • Genehmigungsreihenfolge
  • Erforderliche Anzahl Genehmigungen

Transaktionsgenehmigung

Die Transaktionsgenehmigungsvalidierung wird nach einem Aufruf der API approveTransaction ausgelöst. Die Validierung erzwingt alle Genehmigungsregeln, die in der Genehmigungs-Policy definiert sind, die beim Aufruf der API holdTokens abgeglichen wurde. Die Validierung wird für jeden Genehmiger nacheinander gemäß den folgenden Schritten ausgeführt.

  1. Genehmigeridentität validieren: Prüft, ob der aktuelle Benutzer in der Liste der erforderlichen Genehmiger aus der Genehmigungs-Policy vorhanden ist.
  2. Reihenfolge validieren: Prüft, ob der aktuelle Genehmiger der erwartete Genehmiger an der aktuellen Position ist.
  3. Auf doppelte Genehmigung prüfen: Derselbe Genehmiger kann dieselbe Transaktion nicht mehrmals genehmigen.
  4. Validierung der Kontenrichtlinie: Führt die Validierung der Kontenrichtlinie erneut aus, um sicherzustellen, dass sich der Status des Absenders und des Empfängerkontos seit der Erstellung der Sperre nicht geändert hat.
  5. Datensatzgenehmigung: Erfasst die Genehmigung mit Zeitstempel, erhöht die Anzahl der Genehmigungen und prüft, ob alle erforderlichen Genehmigungen abgeschlossen sind.
Wenn alle Genehmigungen erfasst werden, wird die Transaktion vom Notar als abgeschlossen markiert. Wenn weitere Genehmigungen erforderlich sind, wartet der nächste Genehmiger nacheinander.