バージョンアップ問題

この章ではバージョンアップとバグ対応について検証します。

課題

Ethereumの最大の特徴として、一度デプロイしたコードが改竄されない点があります。

この点は非常に重要な点です。

コントラクトは契約ロジックであり、そのロジックが変更されないことが保障されているからこそ、記録されたことが事実として保障されることになるからです。

ここが保障されないのであれば、スマートコントラクトとしてデータを記録する必要はなく、一般的なアプリケーションでDBにデータを記録するのと違いがなくなってしまいます。

とはいえ、コードにバグがあった場合は、そのスマートコントラクトアプリケーションは下記の条件を満たして直ちに修正する必要があります。

  1. デプロイしたソースについては改修しない。(そもそもEthereumではできない。)
  2. 既存の登録したデータは引き続き利用できるようにする。
  3. バグ改修後はバグが解消した状態でスマートコントラクトアプリケーションが継続できる。
  4. バグを改修できるのは、そのスマートコントラクトアプリケーションを提供したプロバイダ自身だけ。

これらの条件を満たした対応方法を次のページで提示します。

対応方法 - バージョンアップ問題

results matching ""

    No results matching ""