機密ホールセールCBDCチェーンコード・ワークフロー

機密中央銀行デジタル通貨(CBDC)シナリオは、機密情報が個人的に格納された構造化された金融機関階層を介して配布される通貨を表します。

卸売CBDCシナリオの機密バージョンは、トランザクション・データの処理方法によって異なります。基本的なトランザクション詳細や組織勘定科目情報などの機密でない情報は、公開元帳に格納されます。機密情報(ユーザーID、実際の残高値、ブラインド・ファクタなど)は、各組織のプライベート・データ収集に格納され、一時マップを介してチェーンコードに渡されるため、パブリック元帳に書き込まれることはありません。勘定残高と保留残高は、公的元帳のPedersenコミットメント値として表されるため、基礎となる金額を公開することなく、ゼロ知識証明による公開検証が可能になります。中央銀行レベルでは、保留振替は、executeHoldTokensSender APIとexecuteHoldTokensReceiver APIの両方を同時に実行する必要があるアトミック・トランザクションに対して2フェーズ・コミット・プロセスを使用します。これにより、転送中の機密性が維持されます。金融機関レベルでの振替では、標準の単一のexecuteHoldTokens APIが使用されます。

次の表に、卸売CBDCシナリオの非機密バージョンと機密バージョンの主な違いをまとめます。
操作/データ 非機密CBDC 機密CBDC
組織間移動(中央銀行承認者が保留を実行) executeHoldTokens API (単一コール) executeHoldTokensSenderおよびexecuteHoldTokensReceiver API (2フェーズ・コミットで2つの同時コールが実行される)
組織内転送(金融機関承認者が保留を実行) executeHoldTokens API (単一コール) executeHoldTokens API (単一コール、違いなし)
元帳のトランザクション・データ すべてのデータが公開元帳にプレーン形式で格納され、データの分離は行われません。 各組織のプライベート・データ収集に格納されている、公開元帳、機密データ(ユーザーID、実績残高、ブラインド・ファクタ)に関する機密データ
残高表示 直接格納された実績残高値 Pedersen取引約定値として表される残高(公開元帳に表示されない実績金額)
検証メソッド 直接: 値は元帳で読取り可能です。 ゼロナレッジ・プルーフにより、基礎となる金額を明らかにすることなく公開検証が可能
機密データの処理 公開元帳に保存 一時マップを介してチェーンコードに渡され、公開元帳には書き込まれません

ノート:

executeHoldTokensSenderおよびexecuteHoldTokensReceiver APIは、2フェーズ・コミット・プロセスの一部として同時にコールする必要があります。1つだけをもう1つだけ呼び出すと、エラーが発生します。

次の図は、サンプルの機密卸売CBDCチェーンコードを使用する場合の一般的なプロセス・フローを示しています。