これのひどい例を見てみましょう:
アリスとボブはポケモンのクローンを作りたいと思っています。
彼らはコンソールデバイス間の取引を設定しました。アリスのデバイスはデータのコピーをボブのデバイスに送信し、次にボブのデバイスはデータのコピーをアリスに送信します。各デバイスが結果の保存を開始すると、アリスはデバイスの電源を切り、保存を防ぎます。ボブはしません。ボブは今アリスのポケモンを持っています、そしてアリスはまだ彼女のデバイスにそれのコピーを持っています。
転送を開始する前にダーティビットを設定し、転送が完了していない場合は次の電源投入時に変更を元に戻そうとしたとします。それもうまくいかないようです。両方の当事者が完了した後、お互いに完了確認を送信します。ボブが確認を受信して処理している間、アリスは単にデバイスの電源を切る必要があります。ボブがクローンを取得すると、アリスのデータベースの状態が以前に戻ります。
メディエーターのない2つの同等のピアが、適切なタイミングで戦略的に採用されている通信遮断のリスクがある場合、単一のデータで同期できるようにすることは非常に難しいように思えます。しかし、それは不可能ですか?
あなたが説明する状況は、アリスとボブの両方がデバイスとソフトウェアを完全に制御していないことを前提としています。そうしないと、アリスはローカルのポケモンの削除を防ぐ変更されたソフトウェアを使用する可能性があります。
この仮定が当てはまる場合、つまりアリスがデバイスとソフトウェアを改ざんできない場合は、複数の手順で転送を行うことができます。
最初の仮定が正しくない場合、つまり、アリスが取引所を管理しているソフトウェアを実際に変更できる場合は、すべての関係者が特定のポケモンの所有者を確認できる外部サービスが必要です。これは不正行為を不可能にすることはありませんが、ポケモンを所有していない誰かがポケモンを使用しているかどうかを検出するために使用できます。コメントに示されているように、ビットコインはそのようなサービスを実行する1つの方法です。