『マスタリング・イーサリアム』の翻訳に参加しました。

2019年 暗号通貨領域の現状 – 課題と背景 –

暗号通貨

「暗号通貨って結局、貨幣として使えるのみで、せいぜい金融領域でしか使えねーじゃねーか」

という声が聞こえてきます(当社観測)。

暗号通貨/ブロックチェーンが活きる領域

ビットコインが革命的だったのは、貨幣に限定して、非中央集権的な仕組みを実現したことではないか、と最近思います。なぜならパーミッションレスでブロック生成に参加でき、その正しさを「その気になれば」誰でも検証できる仕組みと相性が良いのはデータの管理であり、データ管理の中でも「物凄く遅いけど、信頼はできるシステム」を使う理由を見いだせるのは「高価なデータ」だからです。高価なデータの筆頭は「貨幣」そのもののデータです。昔(?)Factomというビットコインのチェーン上にデータを記録するプロジェクトがありましたが、筋自体は良かったと思います。

貨幣領域以外の難しさ

ビットコイン以外のプロジェクトの難しさは、

  1. 貨幣領域でビットコインを(部分的にでも)超える
  2. 貨幣領域以外の領域での用途を見つける

のどちらかを満たさなければならないところにあります。

雑に列挙すると以下のようになります。

  • 貨幣領域でビットコインを越えようとするプロジェクト
    • スケールさせる/ブロックタイムを短くする
      • Bitcoin Cash, Litecoin
    • 匿名機能をつける
      • Monero, Zcash
    • ガバナンス機能とファンド機能をつける
      • DASH, Decred
    • データサイズを下げる(その結果、匿名性も増す)
      • Grin, BEAM
  • 貨幣領域以外の領域での用途を見つけるようとするプロジェクト
    • スマートコントラクトプラットフォームとして
      • Ethereum
        • スマコン領域でEthereumを越えようとするプロジェクト
          • スケールさせる
          • ガバナンス機能をつける
            • Tezos
          • 独自路線(雑な括り)
            • Waves
    • スマコンプラットフォームに乗っかる
      • 金融をスマコンで展開
      • スマコンプラットフォームのデータインフラとして
      • スマコンを秘匿化する
        • Enigma, Oasis
      • 計算・ストレージ資源を使う
        • iExec, Golem, Storj
      • スマコンプラットフォーム上でオンチェーン世界を広げる
        • Decentraland

「貨幣領域でビットコインを越えようとするプロジェクト」が苦労しているのは、ご存知の通りです。ビットコインは技術と思想と歴史によって支えられているため、簡単には超えられません。「ビットコインなんてTPS低すぎて使えねーよ」といっても、「でも高額決済にはビットコインを使いたいかも」と思うならビットコインの勝利です。TPSはセカンドレイヤーで上げたら良いので(それが難しいわけですが笑)。

「貨幣領域以外の領域での用途を見つけるようとするプロジェクト」の筆頭はEthereumですが、更にこのEthereumを追いかけるプロジェクトがあります。Ethereumで比較的よく使われているのは、やはり金融領域に該当するプロジェクトで、銀行機能や交換機能を提供します。

データを扱うプロジェクトの苦難は「チェーン外のデータを使う難易度は異常に高い」ことで、これにはチェーン外の情報をチェーン内に持ってくるオラクルという仕組みが必要になります。オラクルを中央集権的な主体なしに稼働させるのは難しく、どうしてもオラクルによってもたらされたデータは、「事実」というよりは「信託」としての性質を帯びます。ここでは「正しさ」の解釈変更が必要になるので、認知的にも難易度が高いです。

秘匿化系と資源系は開発段階ですが、資源系は思ったより早く実用化されるかもしれません。ただ、これを非中央集権的に行い、更に「独自のトークンを埋め込む必要があるのか」というそもそも論があります。

「オンチェーン世界を広げる」系は次の記事で記述します。

ビットコイン凄い

「2018年はRespect Bitcoinの年になる」と18年の年初にツイートしましたが、19年も同じ思いです。冒頭で述べたトラストレスでパーミッションレスなシステムを、補助機能を果たすブロックチェーンやPoWを用いて作ったことも凄いですが、そのような仕組みを一見不可能にも思える「P2Pキャッシュの作成」に利用したことがSatoshi Nakamotoのヤバさを示しています。

スマコンプラットフォームの難しさ

セキュリティ&Something

「Ethereum遅すぎて使えねーぞ」

という声が聞こえてきます(当社観測)。

パブリックブロックチェーンにおいてセキュリティは妥協できないので、当面は「分散性」か「スケーラビリティ」のどちらかを選ぶ必要があります。

そもそもチェーンをスケーラブルにするにはどうすれば良いでしょう。とりあえず、ブロック生成に参加できる人間の数を限定して、少人数でブロック生成できれば効率的に稼働できそうです。公平性のために、その少人数グループの構成員を流動的にしておけば良いでしょう。

その場合、ビットコインのNakamoto consensusは使えません。ブロック生成に参加する人間の数をプロトコル側の都合で効率的に絞るためには、①ブロック生成への参加資格をチェーン内の情報を用いて絞るか、②チェーン外の情報を参照する頻度を下げなければなりません。

「チェーン内・チェーン外」という言葉を使っていませんが、狭義では先述の「オラクル問題」とは異なります。コンセンサス形成自体に使う情報もある意味で信託的な性質を持っている(だからASIC boostもOK)という立場であれば、これも広義では「オラクル問題」といえるかもしれません。

①ブロック生成への参加資格をチェーン内の情報に絞る

DPoSがそうですね。PoSは「プロトコルによって生成され、チェーン上でしか生存できないコインやトークン」をステイクすることでブロック生成に参加します。「チェーン内で自身の資産をいくらロックアップしているか」はチェーン内の情報です。故に「ブロック生成に参加できるのは、ブロック高XXで、YY以上のステイクをしている者のみ」という制限を課すことができます(可能である≠全てのPoSがそのような設計である)

一方でPoWのハッシュパワーはプロトコル外の資源である電気とマイニングハードウェアによって生成され、チェーン外である中国や北欧の倉庫で保管されているので、チェーンはこれらの情報を保持していません。チェーン側は自身のセキュリティに最も大きな貢献をしたマイナーに、最も多くの報酬を与えたいわけですが、チェーンが神の視点を使って、世界中で稼働中のマイニングハードウェアを監視することはできないので、ハッシュパワーに比例して早く解けるような計算問題を出して、マイナーからの回答を受け取ることによって(検証するのはフルノード任せですが)、チェーン外の情報を間接的に得ています。

だから、PoWの場合は、「この採掘難易度で、何秒で採掘できたなら、ハッシュパワーはこれくらいじゃね」という解釈をします。そもそもチェーンにとっては自身が出した問題がネットワーク全体のマイナーによってどれくらいの早さで解かれ、次回の採掘難易度をいくらに設定するかが大事なのであって、誰がいくらのハッシュパワーを持っているかなどどうでも良いことです。その意味でチェーン自体は51%攻撃に対して無防備です。

このような構造故に「ブロック生成に参加できるのは現時点でハッシュパワーがXX以上のマイナーだけ!」というブロック生成競争の前にブロック生成者を限定する方法は使えません。チェーン視点ではハッシュパワーは「掘ってみないと分からない」からです。厳密にはPoSもブロック生成参加基準点と現在時刻における各バリデーターの保有量には差異がありますが、これに対してはバリデーターに参加するためのルールを設定することで、チェーン側が各プレイヤーのステイク量を把握する過程を明確にすることができます。

Casper FFGはプロトコル内で機能するバリデーターをどのように扱うか? ~Dynamic Validator Setsの仕組み~
Ethereumは現行のPoWからPoW/PoSハイブリッド型、もしくはPoSへの以降を計画しています。EthereumのPoSシステムはCasperと呼ばれており、Casperは二種類あり、それぞれの開発者の名前を取ってVitalik's...

ここでは詳述しませんが、このやり方を実行するにはPoWではなくPoSを採用する必要があります。しかしPoSには「初期のディストリビューション問題」と「プレマインの正当性問題」、「システム内経済の滞留」という2つの大きな課題があります。

②チェーン外の情報を参照する頻度を下げる

ZilliqaはPoWを使っていますが、常にマイニングする必要はなく、少人数のブロック生成グループを選出する際にのみPoWを使います。その他の期間では、選ばれたリーダーとブロック生成委員会がブロックを生成/検証していきます。

これだと環境には優しいかもしれませんが、マイニングハードウェアをチェーンに非モテコミットさせておくことができないため、ハッシュパワー競技会開催時のみに集中的にNicehash等からハッシュパワーを借りてくることで経済的に易しい攻撃が可能です。これはGPUやCPUなどの汎用性の高いハードウェアを使う場合も同様です。効率性のみを重視するASICは批判されることもありますが、汎用性を犠牲にしているためネットワークと一蓮托生であり、Skin in the game的な性質があることはポジティブに評価されるべきでしょう(厳密にはビットコイン用ASICがビットコインキャッシュにも使えるように、一蓮托生ではないが、そのような傾向がある)。

【比較アルゴリズム論】PoWとPoSの違い -ブロック生成者編-
本シリーズではPoWとPoSの比較を通じて、コンセンサスアルゴリズムについて考察していきたいと思います。本記事では第一弾としてブロック生成を担うマイナーとバリデーターに焦点をあてて二つのコンセンサスアルゴリズムを比較してみます。特に言及がな...

オラクル問題

TPSを「処理能力のスケーラビリティ」だとすると、オラクルは「データのスケーラビリティ」と表現できます。

具体的な仕組みはここでは説明しませんが、ステーブルトークンはアビトラ機会の提供を媒介にして中央集権的な取引所の価格データを取り込んでいます。こちらは信託というよりは、「経済的に合理的な選択をする各人の行動を束にして、自己利益追求によって生じる力を価格安定化に使っている」と表現したほうが良いかもしれません。

MakerDAOのDAIやBancorはこのような外部市場とのアビトラ機会を使って、外部データを正確に利用すれば経済的利益を得られる構造を作ることで、DAIやスマートトークンの価格を安定させています。

問題は「嘘をつくインセンティブがあり、その情報が複数の参加者に正負の影響を与える場合」です。予測市場や保険などが良い例です。特定の主体にデータフィードをまかせることはできませんが、かといって分散的にこれを処理するのは至難の業です。

2つのスケーラビリティ問題

このように「処理能力」と「取り扱い可能データ」という2つのスケーラビリティ問題に加えて、パブリックチェーンの重要な性質である非中央集権性をセキュリティを確保した上で解決していかなければならないのがスマコンプラットフォームが苦労している点です。

後半はこちら。

ブロックチェーンの最適ユースケースとしての「もう一つの世界」
前回の続きです。前回はビットコイン以外のプロジェクトの難しさは、 貨幣領域でビットコインを(部分的にでも)超える 貨幣領域以外の領域での用途を見つけるのどちらかを満たさなければならないところにあります。...