6.1 オンチェーンとオフチェーン

ブロックチェーン上にデータを記録し蓄積していく手法をオンチェーンと呼ぶ。

ブロックチェーンのブロックはサイズがある程度決まっているので、大量のデータを書き込むことはそれほど得意ではない。したがって、ブロックチェーンに書き込まなければいけない記録だけを書き込むことが重要である。

こうしたことからオフチェーンというブロックチェーンの外側に別のデータベースを用意し連携させるという手法が存在する。

ブロックチェーンに書き込むのは、たとえばデータの取引のみとし、実際のデータはオフチェーンに記録するのである。

ただし、この方法ではデータの改ざんができてしまうと心配になる。

そこで採られるのが、オフチェーンに書き込んだデータのハッシュ値をブロックチェーンに書き込むという方法である。このハッシュ値は改ざんすることができないので、オフチェーンのデータを読み出すときにこのハッシュ値と照合すれば、オフチェーンに書き込まれたデータが改ざんされたのかどうかの確認をすることができる。

ハッシュ値が一致すれば、改ざんされていないことが瞬時にわかるのでそのデータを安心して使用すればよい。

もし一致しない場合は、そのデータを使わないことにするか、どのデータが変更されたかなど点検し復旧させて使用することになる。なおデータが変更されていること自体がすべて改ざんではないことは注意されたい。意図的な変更か、悪意をもった改ざんかこのあたりの確認フローは各データベース運用者が社内の仕組みとして整備するほかない。

なおオフチェーンと似た言葉でサイドチェーンというものがある。これはオフチェーンとは異なるものなので注意が必要である。サイドチェーンはブロックチェーンのスケーラビリティやトランザクションスピード、さらにはイーサリアムの手数料(ガス代)の問題などを解決するために、オンチェーンで処理をするのではなく、あらかじめサイドチェーンで処理をおこなった上でオンチェーンで最終的なトランザクションを実行するものである。