スマートコントラクトの実行時間とは,具体的に何に対してかかっているのでしょうか.
現在,DBとブロックチェーンを併用した予約システムのアプリケーションの開発に取り組んでいます.
サーバからDBに予約情報を照合し,予約が可能であれば,予約内容をブロックチェーン上に書き込み,指定の金額を送金するというコントラクトを実行するという流れになっています.
この時,予約のリクエストを送り,予約完了のレスポンスが返ってくるまでの時間を計測したのですが,
コントラクトの記述がない場合とある場合で200msほどの差が生まれました.
これは,何に対して時間がかかっていると言えるのでしょうか.
システムの流れとしては
・サーバに対して予約のリクエストを送る
・DB照合し,予約可能な状態であるかを確認する
・予約できる状態であれば,予約を抑え,予約情報を返す
・予約情報が帰ってきたら,コントラクトを実行する
・ユーザーに予約完了のレスポンスを返す.
自分の認識では,レスポンスが返ってくるまでの時間が変わるのは,ブロック生成の時間に依存すると考えていたのですが,ブロック生成時間に関わらず200msの差が生まれます.
また,連続でコントラクトを実行すると,数が多くなるだけレスポンスの時間も長くなるのですが,これはなぜですか.
ブロックチェーン:Ganache
サーバ:Node.js Express
DB:MongoDB