今週の注目トピック
Takahiro Hatajimaより
EthereumウォレットのMetamaskが、モバイルウォレットをローンチしました。Ethereumも5周年を迎え、Ethereum2.0にむけた道筋が徐々に明らかになりつつあります。また、スマートコントラクトデザインにおいて課題となる契約の不完備性についてa16zが論考を出していますので紹介します。
Section1: PickUp
●Metamask、モバイル版をパブリックベータローンチ
昨年秋のDevcon4で発表されたモバイルブラウザむけウォレットがパブリックベータ版としてローンチされた。この秋に予定されるV1ローンチにむけたコミュニティフィードバック収集を目的としたものであり、開発者がフィードバック提供できる。こちらからサインアップできる。
モバイル版の一つの特徴は、ERC721サポート。ERC721アセットの送付受信参照を通じて、様々な資産の管理ができる。二つ目の特徴は、Statechannelを用いた即時かつガスレスペイメント「InstaPay」の提供。従来のトランザクションでは、遅さやコストが起因で、dapp利用は低いものに留まってきた。そこでセカンドレイヤー基盤としてConnext Networkのペイメントチャネルを利用して即時トランザクションを可能にする。三つ目の特徴はChrome拡張からQRコードを用いてデバイス間の同期を簡単にできる点。
まだテスト版であるため不安定ではあるものの、Metamaskデスクトップ版は130万ユーザー、4月だけで100万トランザクションを擁するなど、ユーザーを多く抱えるプラットフォームがモバイル対応することのインパクトは大きい。アプリ利用に際してモバイル端末を使うユーザーがほとんどである中、ERC721資産管理といった新たなユーザー体験もあいまって、普及にむけて前進を期待したい。また、Statechannelというセカンドレイヤー技術がウォレットに搭載されたことも意義深い。コントラクトウォレットも含め、今後のウォレットの進化も期待される。
●Ethereum、5周年を迎えEthereum2.0へ
2014/7/22にEthereumのクラウドセールがゴーライブして以来、このほど5周年を迎えた。これまでに5億トランザクションが処理され、7000万のユニークアドレスを抱える。
今年2月にはConstantinople アップグレード(計画的ハードフォーク)し、10月にはIstanbulハードフォークで11の提案が取り込まれる予定。PoSへの切り替え含むEthereum2.0にむけた3フェーズも進展中であり、その近況をまとめる。
フェーズ0(Beacon Chain)について。独立した並列shardをコーディネートするPoSプロトコルの管理基盤であるBeacon Chainは、6/30にスペックフリーズを迎えたことを受けて、リサーチ・設計は完了してデリバリーステージへと進んでいる。Ethereum2.0の根幹を支える重要なパーツであり、スペックが高速で変更されてきたが、フリーズしたことは重要なマイルストーン。まず、仕様を形式的検証することができ、Runtime Verificationがバリデータデポジットコントラクトの分析を完了。また、これまで9つのチームが実装を行ってきた中で、クライアントが相互運用テストという次ステージを開始できるようになった。
バリデータは32ETHをデポジットコントラクトへ提示してステーキングシステムに参加する必要。shardあたり64バリデータが必要なため、1024shardに対して65536バリデータが新規チェーン開始には必要であり、合計で約200万ETHが必要となる計算。この200万ETHが集まるとconfirmationを待って翌日深夜にEthereum 2.0開始となる流れが想定されている。
フェーズ1(Sharded data chain)について。1024の独立したブロックチェーンがShardとしてBeacon Chain にぶら下がる構造になる。このフェーズの主なチャレンジは、1024のチェーンを横断して、正しいバリデータと正しいデータのやりとりするP2Pネットワークエンジニアリングが進められている。
フェーズ2(Execution Layer)について。フェーズ2にむけては、クリアな道筋が未整備であるのが課題とされてきた。このほどScaling Ethereum でのCasey Detrioの発表によって、その行き詰まりが打開されつつある。
Ethereum2.0の最終ステージ(フェーズ2)道筋が見えてきたことは、最近のEthereum2.0開発の中で重要なトピックのひとつであり、今後の進展に期待したい。
●a16z、契約の不完備性からみたクリプトプロジェクトについて考察を発表
契約締結時点で起こりうる全ての状況を洗い出してその対処を明確化することができない契約を「不完備契約」という。
「完備契約タイプ」の特徴として、「人間の介在をほとんど必要とせずトラストが最小限」「変更困難」および「検証可能で決定論的なプロセスを通じてスケーラビリティ達成」を挙げる。BitcoinのPoWマイニングなどが該当。このタイプでは、「自動化がコンピュータの決定論的に検証可能な範囲に限定される」という制約をうける。そのためインプットとして数字で定量的或いはマシン可読性があることが必要。
「不完備契約タイプ」の特徴としては、「あらゆる起こりうる結末において何がなされるかを特定しない」「継続的に解釈可能」を挙げる。例えば、MakerDAOにおけるDaiのペグ維持のために動的パラメータ変更を必要とするケースが該当。このタイプでは、インプットとして動的で人間の主観的オペレーションが継続的に必要になるため、計算による自動検証が難しい。パラメータ設定が複雑となり、自動化のかわりにコミュニティ投票などが必要。
スマートコントラクトの設計・開発にあたり、将来発生しうるパターンを全て網羅することは難しく、且つデプロイ後にアップデートが難しいため、スマートコントラクトは不完備契約とならざるを得ない。
「契約不完備性」は、自動執行がどこのレベルまで可能となり、どの範囲において外部からのインプット・意思決定を行う必要とするか、システム設計時の考慮ポイントとして重要なテーマ。「不完備契約」がマッチするユースケース・マッチしないユースケースを見極めることや、自動化できる部分・できない部分を切り分けるが必要となる。その上で、完全に人間の介在を不要にすることは難しいが、「形式的検証を通じてバグの可能性を極小化して再契約がなくとも対処可能とする」「オラクルなどを通じて不完備性を補完・吸収する」「Substrateなどアップデートできる独自ブロックチェーンを構築する」などデザインパターンが考案されていくと思われる。
Section2: ListUp
(リンクはこちら)
1. Bitcoin(「Lightning Labs、Lightning Network モニタリングツールlndmon発表」など)
2. Ethereum(「EIP2025、ETH 1.xファンディングむけに18ヶ月間0.0055ETHブロック報酬を増額する提案」など)
3. Bitcoin/Ethereum以外(「Blockstackホワイトペーパー日本語版」など)
4. 統計・リスト(「CircleおよびCoinGeckoによる2019第二四半期レポート」など)
5. 論考(「暗号資産における取引の追跡困難性と匿名性:研究動向と課題(日本銀行)」など)
6. 注目イベント
バックナンバー
#1 (2019/04/01–04/07)
#2 (2019/04/08–04/14)
#3 (2019/04/15–04/21)
#4 (2019/04/22–04/28)
#5(2019/04/28–05/05)
#6(2019/05/06–05/12)
#7(2019/05/13–05/19)
#8(2019/05/20–05/26)
#9(2019/05/27–06/02)
#10(2019/06/03–06/09)
#11(2019/06/10–06/16)
#12(2019/06/17–06/23)
#13(2019/06/24–06/30)
#14(2019/07/01–07/07)
#15(2019/07/08–07/14)
#16(2019/07/15–07/21)
Disclaimers
This newsletter is not financial advice. So do your own research and due diligence.