速度 -> オンチェーン
ガス代 -> オフチェーン
---
速度のボトルネックはRPCとの通信が大きいので、できる限り処理をオンチェーン側に委任したほうが良い
例えばtoken0 -> token1 -> token0の流動性を確認した上で最適入力量を検出しようと考えた場合、オフチェーンであればtoken0とtoken1それぞれの流動性確認のために2回RPCとの通信が発生する
オンチェーンであれば、そのオンチェーンのProgramを実行するための通信一度で収まる
-> オンチェーンで流動性を確認するためにRPCと通信が発生するのでは?
-> ちょっと不明瞭だけどオンチェーンであれば直接ブロックチェーン上のaccountを参照できそうな気配がある(対象となるAccountの情報があれば)ので、RPCとの通信は発生しなさそう。※対象とするaccount情報をprogramに投げてあげれば良い
solanaはかなりガス代が安いのでオンチェーンで基本的に良いと思われる。相当なレベルで小さな鞘を狙うのであれば考慮する必要があるかも