今週の注目トピック
Takahiro Hatajima(@th_sat)より
Bitcoinのスマートコントラクト向けにScriptの拡張版や、DeFiむけに価格データフィードの分散ネットワークなど、スマートコントラクト関連トピックが並びました。また、Coinbaseからトップブラウザとモバイルウォレットの連携が可能になる「WalletLink」が発表されました。
Section1: PickUp
●Bitcoin Scriptのスマートコントラクトむけ拡張版「Miniscript」が発表
Bitcoin Scriptは、Bitcoin消費に際して必要となる条件を特定するスマートコントラクトを記述するもの。スタックベースで、署名やハッシュロックやタイムロックの組み合わせ、あるいはマルチシグによって消費条件を実装する。こうしたプログラマビリティは、銀行など中間仲介者ををトラストする以外にルールを実装することが不可能だったが、Bitcoinの登場によってデジタルマネーに実装可能となった。
このたび、Bitcoinコア開発者のPeiter Wuilleが、新たなスマートコントラクト開発言語Miniscriptを公開した。これは、Bitcoinスマートコントラクトに最適化された言語であり、Bitcoin Scriptの拡張版。既存のScript言語の上にたつものとして構築されたものであり、Bitcoinのネイティブでコンパイル可能であり、コンセンサスアルゴリズム変更は不要。実装はC++版とRust版がある。
Miniscript言語のゴールは、開発者がBitcoinトランザクション消費に必要となる複雑な条件を効率的に記述することにある。従来のBitcoinScriptは、多様な種類の条件や、ポリシーの組み合わせの実行が扱いにくいという課題があった。Miniscriptを用いることにより、「あるユーザはそのコインをいつでも取り出すことができるが、他方のユーザは1日後とする」といった消費条件を記述できる。あるいは、ポリシーの組み合わせとして、2要素認証・タイムロックベースを組みわせた合成署名を2of3マルチシグの参加者としての署名に使うことができる。
Miniscript導入によって、ウォレット内で複雑なスクリプトを実装することが容易になるほか、HTLCスクリプトのようなLightning Network実装をシンプルにすることが期待されている。複雑性とあわせ、攻撃に対する脆弱性を減ずることによって、各種開発の際のセキュリティ向上においても便益が提供されることを期待したい。
●Compound、価格データフィードOpen Oracleのプロトタイプ発表
オラクルは、現実世界のデータをブロックチェーンの分散ネットワークへ提供するエンティティである。価格オラクルは、取引所の価格データを分散レンディングプロトコルへ提供するなどしている。例えば、MakerDAOの場合、匿名レポーターによって維持・運営される価格フィードオラクルを用いているほか、Compoundでは、自身のチームにより維持・選定される価格フィードオラクルを用いて、ユーザーの借りることができるキャパシティや各種閾値を計算している。こうした構造は単一障害点となるため、特定のプロジェクトに依存せず永続的に運用でき、信頼性の高い価格フィードを構築できるエコシステム(分散オラクル)の形成が必要とされている。
この度、Compoundが立ち上げたOpen Oracle Systemは、集中型の価格フィードへの依存を減らすべく、分散的に検証可能なデータをオンチェーンで提供することを意図するもの。価格データアクセス可能な誰もがCompoundへ分散価格フィードを提供でき、コミュニティはこの価格フィードから価格データを利用できる。現時点、価格レポーターとして、Coinbase Pro・KrakenおよびBinanceの3つを用いてRinkbyテストネットでプロトタイプが稼働している。Open Oracle Systemを構成する3つのパーツを、以下に示す。
(1)レポーターグループによる価格データのポスティング — 価格データにアクセスできる誰もがレポーターになることができる。レポーターは秘密鍵もちいてメッセージ(価格)に署名し、署名済みデータをEthereumへポスティングする。
(2)オンチェーンストレージへの価格データ格納 — 各レポーターにより署名済みの最新価格データは、復号されてEthereum上のデータコントラクトに公開鍵とあわせ格納・保持される。
(3)データを必要とするエンティティによる選択と利用 — 価格データをリクエストしたオンチェーンアプリケーションは、利用したい価格データについてレポーターを選択できる(例えば、例えばビットコイン価格についてCoinbase Pro・Krakenどちらのデータを用いるか等)。また、これらはビューコントラクトによって、ストレージコントラクトから読み取り・集約・変形される。その際のフォーマットとして、中央値・平均値などを選択することができる。
分散オラクルの競合としては、ChainlinkやUMAがある。スマートコントラクトが正しいデータを用いて正確に稼働する上では、単一障害点を持たず、信頼性の高い情報源としてオラクルデータを取得することが不可欠であり、こうした分散オラクルについて多くの実装例が登場することに期待したい。
●Coinbase Wallet、新機能「WalletLink」をリリース。デスクトップブラウザとモバイルウォレットの連携が可能に
2019年8月23日、仮想通貨取引所Coinbaseのモバイルウォレットアプリである「Coinbase Wallet」より「WalletLink」と呼ばれる新機能の実装が発表された。こちらは、iOS版はバージョン19.1、Android版はバージョン18.0以降で利用可能となっている。デスクトップブラウザからDappにアクセスし、Coinbase Walletとリンクするオプションを選択すると、画面上にQRコードが表示され、こちらをモバイルアプリ側から読み取ることで、モバイルアプリとブラウザ間で、安全な暗号化されたリンクが形成される。最後に、ブラウザ側からリンクの承認を行うことで、ブラウザとモバイルアプリの連携が完了する。
これまでのDapps利用においては、モバイルウォレット内の秘密鍵をPC側のブラウザエクステンションにペーストするなど、端末をまたいで秘密鍵を利用するユーザーが多数派を占めていると見られるが、WalletLinkを利用することで、このような煩わしさが解消されることが期待される。
今回、WalletLinkの初期パートナーには、Compound、dYdX、IDEX、Makerの4種類のDeFi系Dappsが含まれている他、Uniswapも近日中に対応予定であることが発表されている。公式ブログによると、WalletLinkはオープンソース化されており、Dapps開発者であれば、5分ほどでインテグレーション可能とのこと。詳細なインテグレーション方法については、テックブログより案内される。
Coinbase Wallet以外の取引所系モバイルウォレットの間でも、近頃、活発な動きが続いている。Binanceの公式ウォレットであるTrust Walletでは、8月19日にCEOへのインタビュー記事が公開され、今後ステーキング機能を拡充していく方針が明らかになった。また。Huobiの運営するHuobi Walletでは、MakerDAOへの対応を開始した。今後も活発な動きに期待したい。
Section2: ListUp
(リンクはこちら)
1. Bitcoin(「ビットコインコア開発者Matt Corallo、Square Cryptoへ参画へ」など)
2. Ethereum(「OpenLawとMetaMaskによるデジタルエスクロー。支払いにはDAIを利用」など)
3. Bitcoin/Ethereum以外(「Polkadot、実験むけチェーンKusamaがロールアウト」など)
4. 統計・リスト(「DID関連のリーディングリスト」など)
5. 論考(「マクロ経済学はブロックチェーンにどんな影響を与えるか」など)
6. 注目イベント(「Web3 Summit」など)
バックナンバー
#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)
#17(2019/07/22–07/28)
#18(2019/07/29–08/04)
#19(2019/08/05–08/11)
#20(2019/08/12–08/18)
Disclaimers
This newsletter is not financial advice. So do your own research and due diligence.