Question
Notaryに二重支払い確認を要求しないFlowを実装した場合、二重支払いが成り立ってしまいますか?そうした実装を防ぐ仕組みがありますか?
Answer
はい、TCP/IPの通信での処理なので、ユニークチェックしなければ再送などにより二重支払いは可能となります。この為、二重処理を防ぐ仕組みとして、Notaryでの二重支払いのチェックを推奨しています。
このような実装を防ぐ仕組みとして、Cordaのコアの機能に、Input Stateが含まれるTransactionを構築した場合、Notaryの署名のないTransactionは、そのあと使うことができません。どのようなフローを作ってもこの点は変わりません。他の参加者が正しいCordaコアを使っている限り、他の参加者が受け取りを拒否するため、事実上、Notaryが必須となります。
Created by: Sheng Zhao
Last edited by: Sheng Zhao
Updated: 2020/06/11