オンチェーンDAOじゃないと危ないのか?

  • DAOのフロントエンド(画面)がオフチェーンになっているとダメなのでしょうか。

今回はこのような疑問をお持ちの方向けの記事です。

私自身DAOのWeb画面が必ずしもブロックチェーンにある必要はないんじゃないかと考えていましたが、オンチェーンに興味をもったキッカケは繰り返し言及しているドミニクのTwitterでした。

そこで自分の勉強がてら、DAOがオフチェーンでは危険な理由とオフチェーンでもDAOは成り立つ可能性についてまとめたものになります。

気になる方はご覧ください。

オンチェーンDAOじゃないと危ない理由

  • DAOのオフチェーン部分は画面部分
  • 攻撃を受ける前提
  • 攻撃を想定してみる

ブロックチェーンの登場により可能となったDAOゆえに、基本はブロックチェーンに載っかっている「オンチェーン」になります。

ではオンチェーン以外ではDAOが危険にさらされる可能性を掘り下げる前にどこが「オフチェーン」なのか確認します。

オフチェーンなのはフロントエンド

いくつかのDAOではフロントエンドである画面部分がブロックチェーン外、つまりオフチェーンにあることがあります。詳しい内容は割愛しますが、これは費用がかさむからという理由からきています。

DAOへの攻撃の前提条件・プログラムの脆弱性とは分ける

ブロックチェーンにおいて攻撃された過去の事例の中では、必ずしもオンチェーンかオフチェーンか関係ないことがあります。

いわゆるプログラムの脆弱性を突かれた場合は、どんなに堅牢なシステムやインフラを利用していても無意味です。

これはオンチェーンだろうが、オフチェーンだろうがという話にとどまらず、Web3とか、Web2とか関係ない話です。

Amazon AWSの責任共有モデルがあるように、いくらAWSが堅牢に守ったところで、ポンコツ・プログラムであれば、データは破壊される可能性がありますし、流出もするでしょう。

ですので、本記事ではプログラムに脆弱性がなく完璧なのに攻撃を受けるかどうかを検討します。

オフチェーンへの攻撃を想定してみる

今回の攻撃の想定は2つです。

  • 集中的権限管理
  • シビル攻撃

権限による攻撃

管理者がいると思うがまま攻撃を受けてしまう問題。

まずは外からの攻撃でなく、内部からの攻撃の場合を考えてみましょう。組織の中に離反者がいれば、あるいは攻撃者が潜り込んでしまえば、管理者権限を使ってフロントエンドに攻撃が可能です。

以前DAOがDappsから求められる理由にも書きましたが、権限が集中すると思うがままに行動できます。

外からは鉄壁の防御を誇っていていても、内側から簡単に壊れる。既存Webの世界でも権限があったから個人情報流出してしまったなんて事件がありますよね。それと同じです。

既存のインフラを活用している場合

インフラからの権限行使もオフチェーンの場合、攻撃を受けてしまいます。正確には攻撃ではないんですけど、DAOが機能不全に陥るという点で攻撃と変わらないので考えてみます。

プログラムやWebページを置くためのインフラが誰かの手によって管理されている場合、その管理者の意思一つでデータが消されてしまう危険があります。

インフラの管理者はDAOへ直接干渉できずとも、その土台となるインフラを丸ごと消し飛ばすことが可能なので、DAOのWebページがある日いきなり動かなくなるなんてことも考えられます。

ブロックチェーンなど分散技術が求められる理由の一つですね。

分散型フロントエンドを使用している場合

そこでいくつかのDAOはフロントエンドをブロックチェーンではなく、IPFSという仕組みを使って分散することを実施しました。

ブロックチェーンと異なり低コストで分散可能な技術ではあるのですけれども、シビル攻撃に悩まされています。

シビル攻撃とは、まわりがカラスが白いといえばカラスが白くなるという攻撃でしょうか。

汚染されたデータが正しいと認識してしまう人がでてくる

実際問題として「あなた」が悪意あるユーザーに囲まれたとき情報が歪められる攻撃を受けることになります。

ブロックチェーンと比較するとかなり安価に攻撃できることからフロントエンドは攻撃を受けやすくなります。

カラスが白い世界を作られる可能性
www.saanichnews.com まあ白いカラスは実際にいますが・・・

ブロックチェーンでは経済の仕組みを使って防御したり、そもそもシビル攻撃自体が発生しない作りをしていたりするものです。

オンチェーン x ガバナンスシステムで対応可能

権限の問題にしろ、シビル攻撃にしろ防御しようとするならば、「オンチェーン x ガバナンスシステム」で対応可能です。結局ブロックチェーンに乗せてしまえば、分散できますし、防御も強固です。

ただ、一部のブロックチェーンではオンチェーンにしてしまうとコストが途方もなく上昇してしまうため、そちらのほうが現実的ではありません。

オフチェーンでもDAOとして活動はできる

さてここまででオフチェーンの危険について触れてきましたが、それでも完全なオンチェーンDAOでなくとも、そのプロジェクトがダメではないのでは?と個人的には考えています。

DAOには、あるいはDAOでなくとも、そのブロックチェーンプロジェクトには価値があるから人が集まり、DAOの価値とは参加している人たちが作り出しているのではないでしょうか。

たまに、人が集まることを狙ってDAOと宣伝しているのも見ますが・・・

DAOたらしめるのは所属している人たち

重要な要素として、社会的コンセンサスの存在があります。別の言い方をすると、所属する人々がそのDAOを形作っているということです。

たとえ、基盤としてのDAOプロジェクトが壊滅させられたとしても、参加していた人たちが消えたわけではありません。のであれば別のDAOを構築すれば解決です。攻撃されたDAOプロジェクトは抜け殻になり、新しいDAOがそれまでの歴史を引き継ぎます。

もちろん、個々の持つトークンなどを完全復元できない可能性もあるので、(ゆっくりと浸透された場合などは、攻撃によるトランザクションなのか通常のトランザクションなのか判別が難しくなる)

そもそも攻撃を受けないためには、フロントエンドもオンチェーンDAOが望ましいでしょう。

まとめ

  • オフチェーンでは権限集中による弊害がある
  • オフチェーンでは分散したとて攻撃されるリスクがある

フロントエンドがオフチェーンのDAOはそれだけでセキュリティ的には弱くなります。

でも駆け出しの時のDAOではオンチェーン・オフチェーンを気にする必要ないんじゃないか、と思ってます。そもそも攻撃にはコストがかかるので攻撃してこないでしょうし。ただ軌道に乗り始めたDAOに参加するときは、どの程度堅牢なのかは気にしてしまいます。トークンの価値が上がり攻撃側の報酬が攻撃コストを超えてしまうと、DAOが狙われるのは想像に難くないですね。

メジャーなDAOに参加を検討するときには、安全かどうかを確認してから参加したいところです。