LayerX Newsletter for Tech (2019/11/25–12/1)

Issue #35

今週の注目トピック

Satoshi Miyazaki(@satoshi_notnkmt)より

今週のニュースレターTech編では、ブロックチェーンに機密レイヤーを提供する「HoneybadgerMPC」についてのご紹介と、Ethereum開発の5年間の振り返りについて、そしてMoneroの「RandomX」ネットワークアップデートについてご紹介しています。今回よりSection2のList編も統合しましたので、合わせてご覧ください。

Section1: PickUp

MPC技術をベースとしてブロックチェーンに機密レイヤーを提供する「HoneybadgerMPC」

  • MPC(multi-party computation)は、多人数の参加者で、情報を秘匿したまま計算を行う秘匿計算プロトコル。機密データの各ピースに対して、複数のサーバノードが、異なるシェア(機密データから生成される)を格納。任意の計算を共同で実行した上で、アウトプットのみを開示し、インプットについては付加情報を漏らすことがないのが特徴。

  • 例えば2+3の秘匿計算を考える(こちらのPDFのP15-P16に図解)。まず数字「2」を秘密分散するにあたり、サイコロとルーレット(0〜9の目盛り)を用意する。「サイコロの出目(例えば5)」、「元の値2からサイコロの出目分ルーレットをまわした先7」をシェアとする(それぞれシェア1、シェア2)。このとき、それぞれ「サイコロの出目5のみ」「ルーレットをまわした先7のみ」では元の値「2」を復元できない。復元するにはシェア1とシェア2を組み合わせて、ルーレット上で7から5つまわすとようやく2が得られる。

  • このように「2」と同じく「3」を2つのシェアに秘密分散すると、(2→上述のとおり、5と7のペア)(3→例えばサイコロで2が出たと仮定すると、ルーレットを出目分まわして1を得られる。この2と1のペア)という2ペアのシェアが生成される。これらを用いて、シェア1どうし・シェア2どうしとなるように、異なるノードに送る。その上で、ノード1はシェア1どうしを加算(5+2=7)し、ノード2はシェア2どうしを加算(7+1=8)する。これらを用いて、ルーレット上で8から7つまわすと計算結果5が復元できるという訳だ。それぞれのノードはインプットの値として何の計算をしたのか知ることが無く、独立して処理を行うのみなので、秘匿性が担保される。

  • ただし、従来のMPCでは、どれか一つノードがクラッシュすると、ネットワーク全体としてアウトプット提供をストップしてしまうという課題がある。一つの悪意あるノードが、プロトコルに停止を引き起こしてしまうというものだ。

  • 多くのMPC 実装が考えられる中にあって、アウトプットデリバリーを保証する頑健さ(Robustness)にフォーカスするのがHoneyBadgerMPC。オンラインフェーズとオフラインフェーズを組み合わせることによって、ビザンチンfaultにも関わらず保証されたアウトプットを提供するのが特徴。N台のサーバノードを持つネットワークにおいて、N/3台までが不正アクセスに晒された場合にも、confidentialityや integrityおよび availability guaranteesを提供することができるとしている。

  • 現在リサーチプロトタイプだが、Pythonベースのプログラミング環境を、カスタムMPC プログラムの記述むけに提供している。今後、Hyperledger Fabricとインテグレートするなどを検討している模様だ。MPCを用いた匿名コミュニケーションサービスとしてメッセージミキシングプロトコルAsynchroMixなどの応用例も提案されている。ブロックチェーンの利用が普及するにつれ、強力なセキュリティ保証の重要性が高まってくる。TEEやMPCなど秘匿計算を可能とする実装が成熟していくことを期待したい。

Vitalikが振り返る暗号通貨の5年

  • Vitalikが2014年に記した暗号通貨を巡る課題について、それから5年が経過する中で、技術が進化するとともに技術を巡る環境も大きく変化していることを踏まえ、論点の振り返りを行なっている。この間に大きく進歩した論点とそうでないもののコントラストが見られるので、大きく「暗号学的課題」「コンセンサス理論面の課題」(PoWやPoSの改善)そして「エコノミクスの課題」(異なる参加者へのインセンティブ)という3つのカテゴリに分けて、その概略を俯瞰したい。

  • 暗号学的な課題として筆頭に「スケーラビリティ」を挙げている。これについて、Ethereum2.0にてクロスシャードコミュニケーションなどが提案されている一方、現時点において完全なシャードブロックチェーンは本格稼働していない状態にある。そのため、「理論面で大きな進展遂げたものの現実世界での評価はペンディング」との評価を行なっている。今後、Ethereum 2.0などシステム開発と稼働を通じて、シャードネットワークの安定性、開発者の経験など課題がクリアされていくことが期待されている。また「計算結果の証明(Arbitrary Proof of Computation)」については、SNARKsがプライバシーおよびスケーラビリティ両面で有用となっているなど、理論面・実践面で大きく進展したものとみている。

  • 次に、コンセンサス理論の面での課題は、主にPoWやPoSについて言及されている。PoWについては、EthashなどASIC耐性もつアルゴリズムがその後登場するなどして、「ASIC耐性PoW」については一定の解をみた一方、「Useful Proof of Work(有用なPoW)」については、大きな進歩はなかったとしている。PoWに求められる、「計算困難かつ検証容易」「大量の外部データに依存しない」および「効率的に計算可能」といった特性を備えた上で、有用な計算はほとんど見当たらないというもの。その例外として考えられるのが、「ゼロ知識証明の生成」と指摘しており、ユニークなアイデアとして期待したい。

  • またPoSについては、Casper FFG、Tendermint、Casper CBC、HotStuffなどが提案されるなど、理論面で大きな進展遂げたものの、現実世界での評価はこれからであるとしている。

  • 最後に、エコノミクス面の課題としては、まず「暗号資産の安定的価値」はDaiが出るなどしているものの、担保となるアセットの価値急落リスク、ブロックチェーンそのものへの攻撃リスク、オラクルへの依存リスクなど、今後テストが待たれる論点も多いとしている。また「分散成功指標」として、数字で表現できる現実世界の変数を計測する分散的な方法が必要だとしており、これについては、デジタルアセットの価格や温度など、人間が現在コンセンサスをとっているものをシステムによって計測可能にすることを目指すものだ。ブロックチェーンの外で発生するオラクルに関する問題であり、様々な提案・実装が見られつつある。

  • これらに加えて、5年前には提起されなかった新たな問題として、「ポスト量子暗号」「準同型暗号とMPC」のほか「分散ガバナンス機構」などが挙げられている。

  • 全般的には、ベース層の問題は確実に進展しつつあり、スケーラビリティやコンセンサスの課題について、今後の実装・運用の中で評価・改善されていくべきものと考えられる。一方、「暗号資産の安定的価値」や「オラクル」といった、アプリケーション層の問題は端緒についたばかりであり、今後の深掘りに注目したい。

Monero、新PoWアルゴリズム「RandomX」への移行に成功

  • 2019年12月1日、Moneroが新しいPoWアルゴリズムである「RandomX」へのネットワークアップデートに成功した。

  • 従来よりMoneroは、ASIC耐性(専用の高効率マシンによるマイニングへの耐性)を向上させるため、アルゴリズムに小さい変更を加えるハードフォークを、半年に一回単位で実施してきている。同様に、本アップデートの主な目的は、MoneroのマイニングにおけるASIC耐性をさらに向上させることに主軸を置いている。

  • RandomXは、一般のCPUでのマイニングに最適化されており、「random code execution」と物理メモリ側で擁する技術を組み合わせ、マイニングに特化したマシンの優位性を失わせるようなアルゴリズムとなっている。

  • また、本アップデートに際し、独立した4社(Trail of BitsX41 D-SECKudelski SecurityQuarksLab )からAuditを受けていることを明らかにしており、安全性に対する自信を覗かせている。詳細については、こちらのGithubページより確認できる。今後のさらなるアップデートにも注目していきたい。

Section2: ListUp

1. Bitcoin

Bitcoin Optech Schnorr Taprootワークショップの概要(日本語)

Bitcoin Core 0.19.0リリース概要日本語

Draft BIP for lightning watchtower protocol

OP_SECURETHEBAGを改良したOP_CHECKTEMPLATEVERIFYの提案

2. Ethereum

FBI、北朝鮮に対して制裁回避すべく暗号通貨やブロックチェーン用いる方法をアドバイスしたとして、EthereumリサーチサイエンティストVirgil Griffith氏をロサンゼルス空港で逮捕

  • 米国当局が出席許可を出さなかったにも関わらず現地カンファレンスPyongyang Blockchain and Cryptocurrency Conferenceに登壇し、マネロンに有効と知りながら技術情報を提供したとして

Ethereumレイヤー2の概要まとめレポート

  • State Channels、サイドチェーンに加え、第3のレイヤー2スケーリングアプローチであるRollupsについて。

  • Plasma同様にベースチェーン上のスマートコントラクトがファンドを保持し、サイドチェーンステートへの暗号学的コミットメントを維持。

  • 差別ポイントは未検証サイドチェーントランザクションデータがデフォルトでベースブロックチェーンへパブリッシュされる点。

  • そのため「オフチェーンの計算、オンチェーンのデータストレージ」というハイブリッドアプローチ。

  • ベースブロックチェーンを使ってトランザクションの可用性を検証するが、有効性の検証は行わない。

  • ZK Rollupsは、ルートコントラクトのオペレータがステート移行ごとにSNARK証明を生成しなければならない。

  • Optimistic Rollupsでは、更新済ステートが毎回証明を生成すること無しにコントラクトオペレータによってパブリッシュされる。

  • もし不正ステートがパブリッシュされれば、サードパーティが異議申立を生成し、オペレータのステークを没収。

3. Bitcoin/Ethereum以外

The Linux Foundation、デジタルIDむけ無料オンライン教育コース「Introduction to Hyperledger Sovereign Identity Blockchain Solutions: Indy, Aries & Ursa」を開始日本語リリース

Hyperledger vendor directory

10月にAmsterdamで開催された「ZKProof Community Event 」の模様

4. 統計・リスト

Ethereum 2.0 Beacon Chain Explorer

Uniswap ROI Calculator

Measuring Blockchain Decentralization

5. 論考

Why Cryptocurrency Matters(なぜ仮想通貨が重要なのか?)

Legal statement on cryptoassets and smart contracts

6. 注目イベント

IC3 Fall Retreat(11/22 at JPM Chase Metrotech Center, Brooklyn, NY)

Istanbul network upgrade(12/4)

Financial Cryptography 2020(2/10–2/14 at Kota Kinabalu, Sabah, Malaysia)

Workshop on Coordination of Decentralized Finance(2/14 at Kota Kinabalu, Sabah, Malaysia)

Stanford Blockchain Conference (2/19–2/21 at Stanford)

EthCC(3/3–3/5 at Paris)

Hyperledger グローバルフォーラム(3/3–3/6 at Phoenix, Arizona)

EDCON(4/3–4/7 at Vienna, Austria)

バックナンバー

#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)
#21(2019/08/19–08/25)
#22(2019/08/26–09/01)
#23(2019/09/02–09/08)
#24(2019/09/09–09/15)
#25(2019/09/16–09/22)
#26(2019/09/23–09/29)
#27(2019/09/30–10/06)
#28(2019/10/07–10/13)
#29(2019/10/14–10/20)
#30(2019/10/21–10/27)
#31(2019/10/28–11/03)
#32(2019/11/04–11/10)
#33(2019/11/11–11/17)
#34(2019/11/18–11/24)

Disclaimers

This newsletter is not financial advice. So do your own research and due diligence.

Loading more posts…