この記事は極度妄想(しなさい)さんと木村優さんの寄稿記事です
Ethereumにおける金融やSTOの概要
ICOは昨年2017年に大きなムーブメントとなりました。その95%程度がEthereumから発行され、ICO総額は、あまりに単独で巨額であったEOSを抜くと、1000億円に届きます。もしこれを入れると5800億円ほどにまで至ります。
現在、ICOの実施はかなり減ってきており、今年8月には全盛期の数%に収まっています。これは、
①ICOは米国のSECの意向を受け、証券としての規制を受けることになること
②「未来の経済」と期待されたICOプロジェクトが実用レベルに達するまで時間がかかると分かったこと
③米国・日本を中心とした株高・ベンチャー投資へのリスクの懸念
が挙げられます。
さて、2018年中ではICOがしぼみつつあるなか2019年に向けて、国外では新しいムーブメントが始まっています。Security Token Offering 、通称STOです。Security Tokenとは証券トークンですが、これは資産の証券化したものをトークンにして市場で取引可能にすることです。
“The Security Token Thesis” (Professor Stephen McKeon from the University of Oregon)という有名な記事において、以下8つの証券トークンのメリットが指摘されています。
- 24時間365日休まない金融市場
- 少額の株主権利
- 素早い約定
- コストの削減
- 流動性の増加
- コンプライアンスの自動化
- 資産のインターオペラビリティ・相互運用
- 証券契約の表現力向上
早くも、こういったメリットのうち、何に注目するかは人によって大きく異なっています。
さて証券・株券をEthereumでトークンとして管理することが可能となるとき、その性質を「Programmable Regulation」という言葉で表すことがあります。
これは次のSTOプラットフォームの最先端であるPolymathが11月のNodeTokyoで行ったプレゼンテーションにもあった言葉ですが、証券に対する規制の施行をコードの適用で行うことができるため、各国の金融機関同士の連携のオペレーションがより機械的でスムーズに行われることへの期待があります。Code is LawというよりはLaw is Codeとも言えそうです。
上の(6)コンプライアンスの自動化と(8)証券契約の表現力向上がこのProgrammable Regulationによるものだと考えられますが、これが最も重要だとSTO事業者の間では現在認識されているそうです。詳しい議論はこちらが参考になるでしょう。
このメリットより流動性の向上を重要と考える人も有力なエバンジェリストの中には少なくありません。原点に立ち返れば、証券自体がそのような目的のシステムだからです。
そもそも証券化とは?
証券は株券と債権に分類され、どちらも
①売買する権利があるもの
②発行体に請求する権利があるもの
です。
これにより、株券では会社の所有権の一部を売買でき、債権では借入金の返済や利子を請求する権利を市場で売買できます。注意深く見る必要があるのは、キャッシュフローを生むありとあらゆる資産は証券化できるということです。
例えば、有名なサブプライムローンを例にしましょう。順番としては
- これから収入が安定しない人に住宅ローンを銀行が貸し、この債権Sを生む
- この返済を受け取る権利Sを投資銀行が証券化してS'を生む
- S'が市場に出され、投資家がSの利子つきの返済を求めてS'を買う
結局、収入の不安定な層が投資家に高金利でお金を借りた形になります。
特に住宅ローンやクレジットカードの金利といった債権に限ることなく、資産は車でも机でも、証券化して市場で売買するようにできます。それを元に利子や使用料などのキャッシュを生むことができれば。このシステムは最終的には司法が判断し、物理的に差し押さえるという法の拘束力によって保証されています。
ではサブプライムローンをEthereumで組むことはできるのでしょうか?やってみましょう。以下コントラクトはEthereum上のスマートコントラクトを意味します
- Etherを住宅に住むための借り手に送り、債権Dを上と全く同様に発行する(※債権Dの保証は契約書で行われる)
- 同時に、貸したEtherと同数の証券トークンを発行してコントラクトに借り手・貸し手・額を刻む(※証券トークンの法的保証は契約書で行われる)
- D'が市場に出され、投資家がDの利子つきの返済を求めてD'を買う
(※返済の違反はEtherの移動を金融機関が確認する)
単純なモデルであり、実用性はないですが、次のことがお分かり頂けるはずです。つまりEthereumでのスマートコントラクトと電子署名の意味は、
(1)取引の法的証拠を増やすこと
(2)取引を効率化すること
にとどまり、最終的な信用は金融機関と法の拘束力に帰着されます。
ICO/仮想通貨が全てをスマートコントラクトで済ませたのに対し、STO/STは参加者の権利を保証するために、従来の金融の業務の割合の方が多くなるように思われます。
ではSTOにより生まれる経済効果とはなんでしょう?期待されているのは流動性の向上が主である考えられます。
つまり
- 現実に今存在している資産の証券化が簡略化されることで、資産の流動性が国境を超えて向上する
- 未上場株などの流動性がない株券をトークン売買で流動性をつくることができる
VitalikとCZ
TwitterでEthereumの創設者Vitalik Buterinが暗号通貨市場は1000倍にはならないという意見を表明し、Binance CEOのCZが反論する場面が見られました。
Vitalik
To be clear, I never said that there is "no room for growth" in the crypto ecosystem. I said there is no room for *1000x price increases*. A 1000x price increase from today means $200T in crypto, or ~an entire 70% of today's global wealth being in crypto.
— Vitalik Non-giver of Ether (@VitalikButerin) September 12, 2018
CZ
I still disagree with this. I will say "crypto will absolutely grow 1000x and more!" Just reaching USD market cap will give it close to 1000x, (that's just one currency with severely restricted use case), and the derivatives market is so much bigger. https://t.co/bvSttEeCmc
— CZ Binance (@cz_binance) September 12, 2018
このSTOは現実にもう存在している資産をトークン化することを意味しているため、Vitalikの言う「世界の富の70%の暗号通貨への流入」を想起させるものです。全く新しい資産をつくるICOや仮想通貨とはかなり違ったものになるので、これまで長く暗号通貨界で活躍した人と、これからマスアダプションを考える人では乖離が生まれている可能性があります。
Ethereum系の大手のプラットフォーム系プロジェクトでも、この方向を考えているチームも現れ始めており、新しいムーブメントは確実に始まっていると考えられます。
Ethereum金融のスケールと問題
「ワールドコンピューター」、これはEthereumの開発陣が自身のプロジェクトを評するときに使った言葉です。
一方、Ethereumの多くは未だにERC20トークンによる資産の創造と管理が多くのユースケースを占め、この’コンピューター’の目的は「暗号資産を管理すること」に向いているのが現状と言えます。そして急速に立ち上がってきているのはdYdXといった金融プロトコルで、イーサのショートポジション(sETH)をオンチェーンに作るという仕組みです。
ここで、ひとつセキュリティについて考えてみましょう。もし、STOの本格化で、「世界の富の暗号通貨への流入」を想起させるような事態が始まる時、EthereumにEtherの時価総額以上の証券トークンが載ることになります。基本的にビットコインの51%攻撃のセキュリティ要素のひとつとして次のようなものがあります
- 膨大なハッシュパワーを使ってまでコストをかけて攻撃した時、得られる利益は高々自分のtx(買い物)の取り消しであること
- 取り消しによってセーブされた利益であるコインの価値は、51%攻撃が起きた事実によって暴落すること
つまり、最大でも暴落した自分の資産程度のインセンティブしかなく、多く使えば使うほど追跡もされやすくなります。
しかしながら、Ethereum上のSTOで非常に高額な証券が小さいデータで管理される場合、その不正な移転を行う利益はコストを上回る可能性があります。その理由として、
(1)膨大なハッシュパワーを使ってまでコストをかけて攻撃した時、得られる利益は少なくとも自分の高額な証券売却の額であること(2)取り消しによってセーブされた利益である証券の価値は、会社の価値に帰着するため証券システムの障害では毀損されず、加えてチェーン内のショートポジション(sETH)等による追加の利益も考えられること。
匿名・分散でもあるのに関わらず、ショートポジションがサポートされていることは、KYCのある中央集権取引所と比べて追跡のされにくい追加利益を攻撃側にもたらします。これは、上のビットコイン等で51%攻撃を行いつつ、KYCのある取引所でショートも加えることとは事態が異なります。
以上の理由から、Ethereumの分散性はその上での金融および証券のセキュリティを維持するのに充分でない可能性が存在すると言えるでしょう。
(1)膨大なハッシュパワーを使ってまでコストをかけて攻撃した時、得られる利益は少なくとも自分の高額な証券売却の額であること
これについて詳しく見てみましょう。
攻撃手法としては、「高額な証券を売却するトランザクションを発行」し、対価を受け取り、先程の売却トランザクションをかき消す改ざんをする、というわけですから、
ハッシュパワーにかかるコスト<かき消したトランザクションで受け取っていた対価
が成り立てば、改ざんするインセンティブが起こる、ということになるわけですね。
対策を考えてみる
対策1. 小分けにする
上記の不等式を成り立たないようにする、つまりハッシュパワーにかかるコスト>かき消したトランザクションで受け取っていた対価が成り立つようにする、ということを考えてみます。
これを成り立たせるために一番最初に思いつくのは、「トランザクションを小分けにする」ということでしょう。証券アセットの売却トランザクションを、数ブロックにまたがって小分けにして送信する、というものです。こうすることによって、1ブロックあたりで二重支払いの可能額を小さくすることができれば、あまり問題にはなりません。
また、複数ブロックの改ざんは、ブロックの数が増えるにつれて指数関数的にコストが上昇するため(サトシナカモト論文にポアソン分布計算があるのでそちら参照)、分割するブロック数の大きさに応じて指数関数的にセキュリティを向上させることができます。
サトシナカモト論文に書いてあるポアソン分布のC言語のコード
#include <math.h>
double AttackerSuccessProbability(double q, int z)
{
double p = 1.0 - q;
double lambda = z * (q / p);
double sum = 1.0;
int i, k;
for (k = 0; k <= z; k++)
{
double poisson = exp(-lambda);
for (i = 1; i <= k; i++)
poisson *= lambda / i;
sum -= poisson * (1 - pow(q / p, z - k));
}
return}
当然ながら、この仕組みでは小分けにして送るブロック数に応じて待たないといけません。そのため、DEX(分散型取引所)において約定したときにこの方法を使うことはできません。個人的な送信程度ではないでしょうか。
対策2.トークン売却と対価の支払いトランザクションを分割できないようにする
先程説明したこの攻撃手法はセキュリティトークン売却のトランザクションと対価支払いのトランザクションが分離されていることにも起因しています。トークン売却トランザクションをかき消す改ざんをすると、対価支払いも消えてしまうようにすればいい、という発想で、分割できないようにするとこれも対策となります。
NEM2の場合、「アグリゲートトランザクション」という機能が用意されています。これはわかりやすく言うと「複数のトランザクションをひとまとめのトランザクションとして執行するトランザクション」です。これなら、トークン売却トランザクションをかき消す改ざんをすると、対価支払いも消えてしまいます。
Ethereumでも、デポジットコントラクトを作れば同様のことができるでしょう。「対価支払い」も、ステーブルコインを使用すれば可能です。
(2)取り消しによってセーブされた利益である証券の価値は、会社の価値に帰着するため証券システムの障害では毀損されず、加えてチェーン内のショートポジション(sETH)等による追加の利益も考えられること。
これはいわばブロックチェーンネイティブアセットのショートポジションがあることに起因する幅広い問題ですが、本件も例に漏れず、ということですね。sETHのデリバティブ、などがでてきたら問題はさらに複雑怪奇となるでしょう。
ETHのショートポジションがない状態では、
二重支払い成功する | 二重支払いしない | |
利得 | (二重支払いのメリット)-(マイニングコスト)-(ETHの暴落損失分) | なし(基準点) |
となりますが、ショートポジションでは
二重支払い成功する | 二重支払いしない | |
利得 | (二重支払いのメリット)+(ETHの暴落によるショートポジション利益)-(マイニングコスト)-(マイニング報酬分のETHの暴落損失分) | なし(基準点) |
インセンティブが強くなってしまいます。11/24時点でEtherの時価総額は¥1,432,070,447,882 JPYでした。
1兆4320億円。
極端な例を言うと、世界のEther全て借りて(あとで返すと約束する)すぐ売り=ショートポジションを持ち、Ethereumネットワークを壊してEtherを無価値にする行為は、マイニングコストが1兆4320億円を上回らない限り、合理的なものとなってしまうわけです。(現実ではないです)
ここで、EthereumがProof of WorkからProof of Stakeに移行した未来を考えてみます。時価総額は1兆4320億円のままとしましょう。
PoSの場合、二重支払いにかかるコストはマイニングコストではなく、ステークしていた保有分の暴落損失分となります。
二重支払い成功する | 二重支払いしない | |
利得 | (二重支払いのメリット)+(ETHの暴落によるショートポジション利益)-(ステークしていたETHの暴落損失分) | なし(基準点) |
(ステークしていたETHの暴落損失分)は(マイニングコスト)+(マイニング報酬分のETHの暴落損失分)より常に大きいと考えて間違いないでしょう。なぜなら前者はストック、後者はフローだからです。ショートポジションへの耐性「のみ」を見ると、PoSのほうが高いと言えるでしょう。
しかしながら、EthereumのProof of Stakeは仕組み上、ビザンチン耐性がProof of Work時代の50%から、33%に低下します。(PoSは全てがそういうわけではないことに注意。ファイナリティ性を持たないPoSは50%。)
つまり、普段のセキュリティはPoSのほうが下がるということです。ショートポジション耐性を持つか、普段のセキュリティを高めるかのトレードオフ関係になっており、コンセンサスアルゴリズムの選択で両方が解決する話ではなくなってしまいます。
本記事検証の結論としては、
-
- 二重支払いの額を小さくする策は無くはない
-
- が、トラストレスデリバティブ、すなわちネイティブアセットのショートポジションやそのデリバティブに起因したいろいろな問題がセキュリティ問題を生み、そしてSTOもっというと分散型金融への壁になる
- ビザンチン耐性が33%になるPoSを予定している以上、コンセンサスアルゴリズムで解決する話ではない
としたいと思います。