BeamとMonero(モネロ)、Zcash(ジーキャッシュ)の違いは

Beam Japan
14 min readJan 31, 2019

--

※こちらの日本語記事はBeam 「What’s the difference between Monero, Zcash, and BEAM?」 の翻訳記事です。オリジナル(英語)はこちらからご確認ください。

Beam Japanチームは、Beamの日本語公式Twitterアカウント、Discordチャンネル、Telegramグループを開設しています。Beamに関する最新情報から、ディスカッションやカスタマーサポートなど、Beamコミュニティの皆さんが積極的に交流できる場所として運営しています。是非、ご参加ください!

❒ Twitter(日本語): https://twitter.com/beamJapan
❒ Telegram(日本語): t.me/beamjp
❒ Discord(日本語サポート): discord.gg/yxPwH4Q

まず、Zcash(ジーキャッシュ)とMonero(モネロ)が、これまで取り組んできた暗号通貨におけるプライバシー技術開発の功績に敬意を表します。

本エントリーにおいて、私たちは情報の機密性(Confidentiality)、スケーラビリティ(拡張性)、オーディタビリティ(Auditability / 可監査性)の3つの要素によって整理し、比較を行いたいと思います。この比較は現時点におけるもので、それぞれの技術は発展途上であることにご留意ください。この比較において、その比較可能性は、決して完全ではない事を前提に行います(私たちが提起する要素以外にも比較可能な要素があると考えています)。

Monero: 情報の機密性

Moneroはリング・コンフィデンシャル・トランザクション(通称:RingCT/ コンフィデンシャルトランザクションとリング署名の組み合わせ)とステルスアドレスを活用し、情報の機密性を確保しています。更に、Kovri (現在プレ・アルファ版) は、P2Pのコミュニケーションを難読化します。コンフィデンシャル・トランザクション(Confidential Transactions)技術により送金額を非公開にします。また、リング署名によって、各取引に最低6つのデコイコイン(Decoy Coin / おとりコイン)を含み、それぞれコインが、実際行われた取引と同一のものに見えるようにします。結果として、元のインプットとアウトプットを辿ることがほとんど不可能な構造になります。ただし、このようなMoneroのトランザクションを追跡する方法がいくつかあるという指摘も存在します(参照)。本記事はこれらの指摘を肯定又は否定する意図はありません。

Monero: スケーラビリティ(拡張性)

Moneroは、リング署名を用いるが故、それぞれの取引に追加データが加えられ、ブロックチェーンサイズが肥大しています。本記事の執筆時点においては、Moneroのブロックチェーンのデータサイズは約48GBで、今後、普及するにつれて更に拡大します。その結果、ユーザビリティは低下します。私たちの計算によると、Moneroのトランザクション当たりの平均サイズは約14Kbで、ビットコインの25倍に相当します。ケースを単純化すると、Moneroがもし現在のビットコインと同等数のトランザクションを扱った場合、ブロックチェーンのサイズは約5テラバイトとなり、一般的なPCや小型デバイスでは維持することができなくなります。現在、Moneroのチームは、スケーラビリティを80%まで改善させると期待される、Bulletproofの実装に取り組んでいます(※翻訳時点では実装完了しています)。しかしながら、実際にBulletproofがMoneroに導入されても、ブロックチェーンサイズは依然としてビットコインの5倍相当です。

Monero: 可監査性

MoneroはViewKey機能を提供する事で、第三者機関がユーザーの取引を監査することができます。ただ、この機能を利用する際は自身が受信したトランザクション(Incoming Transactions)のみ閲覧可能な状態にすることができ、送信したトランザクションには適用できません。そのため監査人がフル活用できるものではありません。それ以外にも、受信トランザクションのリストの完全性を証明する方法が無いようです。

Monero: 総括

Moneroは情報の機密性において高く評価することができますが、スケーラビリティと可監査性においては課題があると考えられます。

Zcash: 情報の機密性

Zcashはzk-SNARKsを採用しています。zk-SNARKsはゼロ知識証明暗号の先進的技術です。zk-SNARKs技術を使えば、ブロックチェーン上の全ての送金額、インプット、アウトプットを非公開にすることができます。ただし、Zcashのトランザクションはデフォルト設定でプライベートではありません。zk-SNARKsを使ったトランザクションの演算量が大きいため、ほとんどのユーザーは非公開機能を有効にしていません。そのため、ネットワークのプライバシーは不完全であると言われています(Zcash上でプライベートなトランザクションを作るためには一般的なPCを用いて1–3分ほどの時間を要します)。執筆時点では、Zcash上で完全にシールド(完全にプライベート)されているトランザクションは1%以下です(参照)。

Sapling機能の実装伴うネットワークアップグレード(※翻訳時点ではすでに実装)により、シールドトランザクションが大幅に効率化され、Zcashネットワーク上のプライベートトランザクションが増加することが期待されています。

更にzk-SNARKsでは、全体のシステムを構築するために特別なシークレットキーが必要です(通称:Trusted Setup)。もしこのキーが漏洩した場合、悪意のある者が不正にコインを鋳造し、Zcashのシステムを破壊してしまう可能性もあり得ます。Zcashは複雑な複数人参加型のセレモニーを行いこのキーを作りました。このセレモニーに参加した人達の誠実性に関して、私たちは疑う理由はありませんが、依然として存在する懸念事項の一つです。

Zcash: スケーラビリティ(拡張性)

執筆時点では、Zcashのブロックチェーンサイズは約19GBです。今までの総トランザクション数は約350万にのぼり、トランザクション当たりの平均サイズは5.3KBです。これはビットコインの9倍のデータサイズです。Moneroよりは小さい容量ではありますが、ビットコインよりは格段に大きく、スケーラビリティの点においては、不十分であると考えます。

Zcash: 可監査性

Moneroと同様に、Zcashも第三者が入金トランザクション(Incoiming Transactions)を確認できるViewing Key(ビューイング・キー / 閲覧キー)」が提供されています。これに加えてZcashではペイメント・ディスクロージャー(Payment Disclosure / 送信情報開示)機能が提供されており、特定のアドレスへの支払いが送信されたことを証明する事ができます。ただし、トランザクションの完全性を証明するものではありません。

Zcash: 総括

Zcashには優れたプライバシー機能が備わっています。しかしながら、多大な演算能力が必要なため、あまり利用されていません。ZcashはMoneroと比べてスケーラビリティにおいては優れていますが、現時点では実用的ではなく、可監査性においても不十分です。Zcashは今後も改善を重ねていくでしょう。

Beam: 情報の機密性

BEAMはMimblewimble(ミンブルウィンブル)という、情報の機密性とスケーラビリティに優れたプロトコルをベースに作られています。送金額、送信者、受信者の情報はコンフィデンシャル・トランザクション(Confidential Transactions)」により情報の機密性が確保されており、またシステム内には「アドレス」は存在しません。それぞれのユーザーは本人の所有するUTXOのプライベートキーのみ保持します。

BEAM内のプライバシーはデフォルト設定で有効になっているため、公開トランザクションは存在しません。ブロックチェーンに記載されている情報からトランザクションの詳細情報は得られない仕様です。

Mimblewimbleはデフォルト設定でプライバシーが確保されることに加え、BEAMはDandelion(ダンデライオン)という技術を導入しています。Dandelionは情報の機密性を飛躍的に向上させるネットワークポリシーです。Dandelionにより、ネットワーク上のトラフィックを閲覧している者が、トランザクションの重要な情報を傍受することができなくなります。

Beam: スケーラビリティ(拡張性)

BEAMでは、Mimblewimbleのカットスルーメカニズム(Cut Through Mechanism / 中間削除)を活用し、ブロックチェーンを小さく保つ事を実現しています。カットスルーによりUTXOの中間ステートが全て削除され、未使用アウトプットのみがブロックチェーンに保存されます。そのため、ブロックチェーンのサイズがトランザクション数に比例して増加せず、UTXO数に比例するため、データサイズの増加スピードは格段に遅くなります。

私たちの予測では、BEAMはビットコインの30%程度のブロックチェーンサイズになります。BEAMがビットコインと同等のスケールに達する時には、ブロックチェーンのサイズは70GB相当になると予測しており、小型のデバイスでも、フルノードを運用することが可能です。私たちは更にブロックチェーンのサイズを縮小するために、Mimblewimbleの研究・改善を続けています(トランザクションカーネルの削除を参照)。

BEAM: 可監査性

BEAMでは、オプションとして監査機能を提供しております。BEAMユーザーは複数のオーディターキー(Auditor Key / 監査キー)を発行でき、必要に応じて会計士、監査人、税務当局に提供できます。このキーを使って、監査人はブロックチェーン上のトランザクションをレビューすることができ、更に、トランザクションリストの完全性を検証することも可能です。監査機能の使用はユーザーの手に委ねられ、キーを発行する前の取引へは遡ることができない仕様です。

BEAM: 総括

Mimblewimbleプロトコルを活用する事で、BEAMは優れた情報の機密性とスケーラビリティを実現しました。独自の拡張機能はこのプロトコルに優れた可監査性を与えます。私たちは、BEAMが一般への普及に必要な機能を兼ね揃えていると考えており、普及を実現するために日々努力を重ねています。

別の記事で改めてビットコイン、Monero、ZcashとBEAMを比較していますので、ご興味があればご覧ください。

参考:スケーラビリティの比較方法

スケーラビリティを比較する上で、ビットコイン、Zcash、Moneroの公開されている合計トランザクション数を入手し、合計ブロックチェーンサイズをこのトランザクション数で割りました。執筆時点で使用されたデータは以下の通りです:

BEAMブロックチェーンサイズ予測

MimblewimbleとBEAMでは、ブロックチェーン内にそれぞれのブロックのヘッダー、トランザクションのカーネル(Kernel / トランザクションの核となるデータ)と全てのUTXOが保存されています。それぞれの要素のデータサイズは次の通りです:

BEAMの規模(執筆時の2018年10月現在)がビットコインと同等になった時のブロックチェーンの想定サイズは以下の通りです:

  • チェーンの長さ: 543,431 blocks.
  • UTXO数: 56,503,620
  • トランザクション数: 346,109,884

本予測において、BEAMとビットコインのトランザクション当たりのUTXOは同等と想定しています。ただ、ビットコインのブロック生成時間が10分毎であるのに対して、BEAMのブロックは1分毎に生成されるため、BEAMのブロック数はビットコインの10倍となります。

BEAMのブロックチェーンサイズの計算式は以下の通りです:

ブロックヘッダー:543,431 x 10 x 136B = 704MB

トランザクションカーネル:346,109,884 x 110B = 36.3GB

UTXO:56,503,620 x 704B = 37.7GB

合計:74.9GB

トランザクション当たりのデータ量:0.22KB

データの情報元:

[1] https://www.blockchain.com/

[2] https://coinmetrics.io

[3] https://bitinfocharts.com/

注意:BitinfochartのZcashのトランザクションデータは、coinmetrics.ioよりも10%多く表示されています。私たちは、大きい数値を計算に使用しました。

Beamは、徹底したレビューと素晴らしい提案をして頂いた Oded Leibaに大変感謝しています。この記事を気に入って頂けましたら、是非 @odedleiba をフォローください。

開発者コミュニティへの参加: Gitter

最新情報: https://t.me/BeamNews

Telegram(英語): t.me/BeamPrivacy

Telegram(日本語): t.me/beamjp

Twitter(英語): https://twitter.com/beamprivacy

Twitter(日本語): https://twitter.com/beamJapan

Discord(英語): discord.gg/BHZvAhg

Discord(日本語): discord.gg/yxPwH4Q

Reddit: reddit.com/r/beamprivacy/

Bitcointalk: https://bitcointalk.org/index.php?topic=5052151

フォーラム: https://forum.beam.mw/

ニュースレター: https://beamprivacy.substack.com/

ニュースレター: https://beamprivacy.substack.com/

--

--

Beam Japan

Beam (@beamprivacy) 日本語公式ブログ。$BEAM は#MimbleWimble プロトコルを実装した新しい暗号通貨です。2019年1月3日にメインネットローンチ。暗号通貨ユーザーに、高レベルのプライバシーと監査ソリューションを提供。日本語ツイッター(@beamJapan)を是非フォローしてください!