MimbleWimbleを採用しているGrinが「実装している」または、「実装を予定している」技術に焦点をあてて紹介したいと思います。Grinとは、匿名性とスケーラビリティを兼ね備えたプロジェクトで、日常的に使用される通貨としての立ち位置を目指しています。
Grinが採用するテクノロジー
MimbleWimble(以下「MW」)を採用しているGrinが「実装している」または、「実装を予定している」技術に焦点をあてて紹介したいと思います。
Schnorr Sigs(シュノア署名)
シュノア署名とは、1989年ごろにC.P.Schnorr氏により発明された取引の不正が行われにようにするための署名方式の1つで、現在ビットコインやイーサリアムでは「ECDSA」という署名方式が採用されています。(ビットコインにもシュノア署名にも実装提案有)
一般的にシュノア署名を導入することで、マルチシグで必要な複数の送金データを1つにまとめることで大幅なデータ削減を可能にすることや、CoinJoinを採用する際の複数のトランザクションをも1つにまとめることができる点がメリットとして認知されています。このようなメリットは結果送金手数料の削減とスケーラビリティの向上に繋がります。
シュノア署名に関す詳細はこちらがおすすめです。
Schnorr署名 ―― 30年の時を超えて注目を集める電子署名
Grinが採用するシュノア署名には、別のメリットが存在しており「certifiable transactions」と「scriptless scripts」の実装が可能になることです。これらに関しては後述致します。
シュノア署名に関する議論はこちらで行われています。
Certifiable ransactions
通常のMWの送受信には、Confidential transaction(機密トランザクション)を採用しており、受信者が資金を受け取っていないことを主張した場合に、送信者が送信証明ができないというセキュリティ上の欠陥があります。Certifiable transactionsはこの欠陥を改善するためにJohn Tromp氏によって提案されました。
John Tromp氏はCuckoo Cycleも提唱した有名な方です。
Certifiable transactionsの仕組みについて興味のある方はこちらをご覧ください。
Cuckoo Cycle
Cuckoo Cycleアルゴリズムは、マイニングハードウェアの効率化と分散化を目的としたアルゴリズムです。また、ASIC耐性のあるアルゴリズムとしても認知を深めています。
Grinに採用されているCuckoo Cycleは、改良版アルゴリズムとして「Cuckatoo32+ & Cuckaroo29(最初の2年のみデュアルPoW)」とされています。CuckatooはASICを単純化することを目的としたCuckoo Cycleの一種です。CuckarooはASIC耐性を目的としたCuckoo Cycleの一種です。
Grinは公平性に重きを置いており、様々なハードウェアでのマイニングを望んでいます。しかし、ローンチ時のASICメーカーによるシークレットマイニングに対して懸念を抱いていました。これを防ぐためにCuckatoo32+ & Cuckaroo29のデュアルPoWを採用しました。
少し興味深い議論があるので紹介しておきます。
こちらのフォーラムでは「Cuckoo Cycle no longer considered ASIC resistant」という議題で議論がされており、和訳すると「Cuckoo CycleがASIC耐性があるとはみなされない」というものです。この議論の中で、Cuckoo Cycleの提唱者であるJohn Tromp氏自身が「ASICでのSRAM実装コストが下がり、結果ASIC耐性があるとは言えなくなってしまった」と述べています。
Tromp氏はGrinにCuckoo Cycleを実装することを推奨しておらず、Cuckatoo32の実装に関しての議論をしています。興味のある方はこちらから確認してください。
Cuckatoo32+ & Cuckaroo29のデュアルPoWについてはこちらをご覧ください。
Cuckoo Cycleについてもっと詳細を知りたい方はこちらをご覧ください。
Bulletproofs
Bulletproofsは、MWプロトコルの第一人者でもあるAndrew PoelstraというBlockstreamの数学者によって提唱されました。署名のサイズを10kB以上から1kB以下に縮小することが可能となり、MoneroはBulletproofを実装したことで、ブロックチェーンのサイズを80%削減することに成功しました。(それでもまだビットコインの5倍のサイズがあります。)
もっと詳細を知りたい方はこちらをご覧ください。
Scriptless scripts
Scriptは、ビットコインのトランザクション内に書かれるプログラミング言語の一種です。Scriptによってビットコインに規定のプログラムを実行させることができます。例えばマルチシグやAtomic Swap(アトミックスワップ)やライトニングネットワークといった支払いチャネルのようなコントラクトを組んだりといったこともScriptで実行しています。
MWは、Cut Through(カットスルー)というトランザクションを圧縮する技術を実装しており、トランザクションの仕組みが異なるがゆえにScriptを使用することができません。Scriptが使用できないということは、マルチシグのようなコントラクトも組むことができず他のブロックチェーンと比べてとても不便ということになってしまいます。
そこで、Scriptless Scriptというアイディアを採用してこの問題を解決しています。
筆者もまだ調査中のため、早めに詳細を知りたい方はこちらがおすすめです。
Atomic swaps(アトミックスワップ)
信頼性の高い方法で他の暗号通貨とのやりとりを可能にするScriptless Scriptの一種です。
GrinはETHとアトミックスワップ可能になる予定で開発が進められています。余談にはなりますが、同じMWプロトコルを採用しているBEAMはビットコインとのアトミックスワップを進めています。
アトミックスワップの実装には、Scriptless Scriptの実装が不可欠になります。
Merkle Mountain Range
UTXOの高速同期の実現?
この技術に関しては筆者のレベルでは、理解が難しかったため、知識の共有をしていただける方がおりましたらご連絡お待ちしております。
詳細を知りたい方はこちらをご覧ください。
Merkle proofs
マークルツリーのHash PreimagesとBulletproofを使用して、効率的なプルーフを作成することができます。
Bulletproofsのアプリケーションの1つ。
こちらも読んでみてください。
Compact Blocks
コンパクトブロックは冗長性を排除してブロックを小さくします。結果ブロックを転送する際の遅延を軽減することができます。
compact Blocksに関する詳細はこちらをご覧ください。
Confidential Assets
BEAMやGrinのブロックチェーン上で別の通貨を発行できるようになるとのことです。Confidential Assetsは取引に関わる金額やユーザーに関する情報だけでなく、資産そのものも隠します。移転された金額は、取引の参加者(および彼らが指定した参加者)だけが見ることができます。
Confidential Assetsは、ERC20トークンとは異なりプログラム不可能でGrinのネイティブトークンとまったく同じように機能します。
まだまだ詳細情報が少ないので、新たな情報が発表され次第報告致します。
こちらの文献が一番詳しく書かれています。
Dandelion
GrinとBEAMには、Giulia Fantiらによって提案された「Dandelion」という仕組みが採用されています。
MWプロトコルには下記のような懸念がありました。
- 時間をかけてノードを辿ればIPアドレスを突き止めることができてしまう
- 悪意のあるノードに最初のトランザクションが渡ってしまうと、トランザクショングラフがバレてしまう
そこで①の懸念を解決するために2017年にDandelionという技術が発表されました。この技術は「Stem phase」と「Fluff phase」によって成り立っています。
Stem phase
各ノードはランダムに選ばれたひとつのノードにトランザクションを送る。
Fluff phase
トランザクションは全てのPeerに送られる(この部分がちょうどタンポポの綿毛の部分)。
この技術に関する詳細は@Ryugunsunさんの記事がわかりやすいので引用させて頂きます。
トランザクションを受け取ったノードは次のノードへ情報を送りますが、これが「タンポポの幹フェーズ(Stem phase)」。その後ふわりとふくらむ「Fluff phase」が来て、どんどん他のノードに拡がっていく訳です。技術的にはこんな単純ではなくもっともっともっと複雑です。また、②の懸念点を排除するため、特にBeamではTXマージやダミーUTXOなどの改良されたDandelionが導入されています。MWプロトコル単独では懸念された①と②が改良Dandelionのお陰で改善された訳です。素晴らしい!(※ダミーUTXOはBeamだけに導入された技術なので、Beamの方がより匿名性が優れると言えるでしょう)
もともとDandelionは2017年にビットコインのプライバシーを改善するために提案されたものです。
Cut Through(カットスルー)
MWプロトコルはトランザクションという概念が少し違っており、1つのトランザクションの中に複数のインプットとアウトプットが含まれているのではなく、統合されたひとつの大きなトランザクションのみが存在しています。イメージとしては、複数のトランザクションを混ぜ合わせてひとつのトランザクションを作るMoneroのCoinJoinをイメージしてください。その大きなトランザクションがMWではブロックとして扱われます。
そのトランザクションでは、中間に位置するトランザクションが省かれることによってトランザクションを圧縮しています。
例えば、「アリスからボブ」に送金があったとします。その後「ボブからマイケル」に送金がありました。この場合にブロックチェーンに記録されるのは「アリスからマイケル」に送金したというデータになります。中間に位置するボブへの送金は、カットスルーによってブロックチェーンには記録されません。
このように中間トランザクションを排除することによってトランザクションを圧縮します。結果プライバシーが向上し、ブロックチェーンに保持されるデータ量が圧縮されます(BEAMはカットスルーの実装によって、ブロックチェーンサイズがビットコインの3分の1以下になるといわれています)。
まとめ
Grinに採用されているテクノロジーたちを紹介させて頂きました。情報も少ない点や理解が難しい部分も多々あるため、抜け漏れ等が多々あります。
まもなくローンチされるGrinのテクノロジーについて「こんな技術が使われてるのか」程度で認識して頂ければ幸いです。
おかげさまで現在お友達が1057名を突破しました。仮想通貨の最新情報や重要なファンダ情報などを「プッシュ通知」にて誰よりもはやくお届けします。
Follow @imai_ryoujihttps://platform.twitter.com/widgets.jsTweet
- 分析レポート
- Bitcoinについて
- Ethereum経済圏について
- ST(セキュリティートークン)について
- PoS型プラットフォームトークンについて
- ステーブルコインについて
- コンセンサスアルゴリズムについて
- トークン設計について
- 流通設計について
- CBDCについて
- 各インフルエンサーによる特化した情報
- Q&A項目の共有
- 基礎学習
- 掲示板
https://lounge.dmm.com/detail/761/