Plasmaでexclusion proofをcoin保持者が保持しておく必要があるのか?履歴所持をオペレーターに委託したり、3rd partyに委託してもセキュリティに影響がないのではないかという仮説。
送金に関して考える(confsig無し)
送信までに起こり得ること
以下が直前のトランザクション(Tx1)より前にある場合に、新たにトランザクション(Tx2)を発行すると、そのtransactionは無効になってしまう。
- double spent
- invalid transaction
送信者は、Tx2を発行する前に、Tx1までのexclusion proofを検証する必要がある。
Tx2発行前であれば、問題は送信者に閉じるので、coin保持中はオンラインになる度にオペレーターからexclusion proofを貰い、その都度確認するだけで良い。もし履歴を紛失されたり、渡してくれない場合は、直前のトランザクションでexitする。上記に加えてinvalid exitされた場合はchallengeしなければいけないので、もちろんinclusion proofは全て持つという前提である。
受取手
通常、送信者は受取手にTx2までの履歴を送らなければならない。
履歴が正しくなければ、受取手はcoinを受け取って対価を渡さない。
ここでオペレーターや3rd partyに履歴管理を委託しているとどうなるか?
受取手はTx2までの履歴を確認後に、coinの受け取り、その対価を渡したい。
送信者は正しくトランザクションを発行したが、Tx2までの履歴がオペレーターや3rd partyによって紛失されたり、withholdされた場合。送信者がTx1でexitし、Tx2でchallengeされ、受取手がTx2のexitを確定させることができる。
まとめ
上記が正しければ、トランザクション発行前に保持coinの履歴を検証することと、受け取り時に履歴検証をすれば、履歴を自分で保持する必要はない。履歴のサイズは受け取り時の検証スピードを遅くするので、履歴サイズの削減は、受け取りにかかる時間を削減することになる。