暗号通貨ジーキャッシュ(Zcash)について⑨くりぷと知っ得情報1月14日号

クリプトスタディ(クリスタ)の水野です。
シリーズでプライバシー重視の暗号通貨、「ジーキャッシュ(Zcash)」について書いてます。
 

🔶ジーキャッシュ(Zcash)の概要くりぷと知っ得情報11月12日号🔶ビットコイン(BTC)とジーキャッシュ(Zcash)の共通点くりぷと知っ得情報11月19日号🔶秘密の中身を見せなくても正しいと証明できる魔法の技術「zk-SNARKs」
くりぷと知っ得情報11月26日号🔶ビットコイン(BTC)が「ゼロ知識証明」の概念を採用しない理由くりぷと知っ得情報12月3日号🔶「zk-SNARKs」が信用・信頼を勝ち取っている背景①くりぷと知っ得情報12月10日号🔶「zk-SNARKs」が信用・信頼を勝ち取っている背景②くりぷと知っ得情報12月17日号🔶「zk-SNARKs」が信用・信頼を勝ち取っている背景③くりぷと知っ得情報12月24日号🔶「zk-SNARKs」が信用・信頼を勝ち取っている背景④くりぷと知っ得情報1月7日号

前号まで、ジーキャッシュ(Zcash)がどうやって、

「zk-SNARKs」を安全に、また、その信用・信頼を勝ち取っているのか?

について、具体的な

超強力な数式そのもの=テクノロジー

について、書きました。
 

前号までのおさらい

前号まで、「zk-SNARKs」の土台である

①見えない送金の正しさ‥‥楕円曲線暗号(ECC)
②ペアリング暗号

くりぷと知っ得情報12月17日号

③裏側の超重要な下ごしらえ‥‥QAP(Quadratic Arithmetic Programs)

くりぷと知っ得情報12月24日号

④二重払いを阻止する技術「Nullifier(ヌリファイアー)」

くりぷと知っ得情報1月7日号

今回は、シリーズ最終回です。

④完全オープンソースのジーキャッシュ(Zcash)

ジーキャッシュ(Zcash)が安全性、信頼性を獲得する背景の一つとして、完全オープンソースで世界中が監査していて、透明性を持って安全性を担保している点があります。

オープンソースとは?

オープンソースとは、設計図(プログラムの中身)を全部公開することです。

コードを公開することで、世界中の研究者が監査でき、外部セキュリティ企業も精査、大規模バグバウンティ(Bug Bounty)(※)を実施し、世界中の人が「ズルがないか」を自由にチェックできる状態にしています。

具体的には、

🔹取引を検証するルール

🔹マイニングの仕組み

🔹不正を弾く条件

🔹バグが起きたらどうなるか

などを全部コードで公開しています。

(※)バグバウンティ(Bug Bounty)とは、企業などが自社の製品、サービスのセキュリティ脆弱性を発見、報告してくれた外部のセキュリテイ研究者(ホワイトハッカー)に対し、報奨金を支払う仕組みで、「脆弱性報奨金制度」とも呼ばれ、サイバー攻撃から守るための効果的な手段として導入が広がっています。

権限は?

最終的に「OK」を出すのは誰か?
その権限は、誰にもありません。「各参加者が自分で決める」これが、オープンソースの考え方です。
監査者・研究者・開発者は「指摘する人」であって、「決定する人」ではありません。
これが 本物のオープンソース暗号通貨の答えです。

①開発者

開発者は、改善案やコードを書いて、「こうした方が良くない?」と提案するだけで、強制力はありません。

②監査者・研究者

監査者・研究者は、バグ・危険・理論ミスを見つけ、「ここ危ないよ」と警告するだけで、承認権はありません。

③ノード運営者

ノード運営者は、そのコードを使うかどうかを決める人で、自分のPCで更新すれば「YES」。「NO」なら、更新はしません。
仕様変更は公開議論で、合意がなければ実装されない仕組みです。

ここが最終決定権になります。

オープンソース暗号通貨では、「コードを書く人」より「使う人」の方が偉い

オープンソースに関して、主な暗号通貨を比較してみた

ここからは、「完全オープンソースで有名な暗号通貨」と、「そうでない(一部非公開)」を、比較してみましょう。

完全オープンソースの暗号通貨代表例

暗号通貨

オープン度

解説

ビットコイン(BTC)

★★★★★
(基準値)

ノード、マイナー、ウォレットのコードはすべて公開され、世界中の研究者・開発者が10年以上監査。
仕様変更についても公開議論で、合意がなければ実装されなく、オープンソース=安全性の代表格。

イーサリアム(ETH)

★★★★★

実行レイヤー(※1)、コンセンサス(※2)、EVM(※3)すべて公開
Geth(※4)、Nethermind (※5)等クライアントも複数あり、財団ですら特権なし。

モネロ(XMR)

★★★★★

匿名技術こそ「秘密にしない」思想。政府も含め誰でも監査可能。
次回から、書いていきます。

ジーキャッシュ(Zcash)

★★★★☆

技術的には、限りなくオープンだが、信頼設定(Trusted Setup)が必要で、また、「zk-SNARKs」自体が高度すぎて、理解できる人が限られ、形式上オープンでも、実質的には専門家依存。

カスパ(KAS)

★★★★★

GHOSTDAG含むプロトコルは完全公開で、ノード・マイナー・研究コードも公開されている。
学術論文に基づく実装の一貫性で、新世代でも完全オープンで、暗号通貨のトリレンマを解決。

(※1)実行レイヤーは、イーサ(ETH)の送金処理、スマートコントラクトの実行、状態(残高・コントラクトの中身)の更新、ガス計算(手数料の計算)など、役割を分けて動いていて、そのうちの一つが実行レイヤーです。「この取引は正しいか?実行した結果どうなるか?」を計算する場所です。

(※2)コンセンサスは、「どの取引を正解としてブロックに入れるか決めるルール」で、どんな条件でブロックが正しいか、何をチェックするか、不正があったらどうなるか、全部、仕様書とコードで公開しています。

(※3)EVM(Ethereum Virtual Machine)は、「スマートコントラクトを動かすための計算ルール」みたいなもの。スマートコントラクトの命令を実行した際、残高やデータを更新、ガス(手数料)を計算、どのノードでも同じ結果を出すための仕組みです。

(※4)Gethは、イーサリアム(ETH)を動かすための代表的な「実行レイヤー用ノードソフト」。正式名は「Go Ethereum」。

(※5)Nethermindは、イーサリアムを動かすGethに並ぶ主要ノードソフト。Gethと同じ役割だが、別の作り方。

完全オープンソースではない暗号通貨(制限あり)の代表例

暗号通貨

オープン度

解説

リップル(XRP)

★★☆☆☆

ノード実装は一部公開で、重要部分はRipple社が主導。合意形成が企業依存なため、オープン風だが運営中心。

ソラナ(SOL)

★★★☆☆

基本コードは公開だが、クライアント多様性が低く、実運用は特定チームに依存している。速いが集中しがち。

CBDC系/企業・銀行系ブロックチェーン

★☆☆☆☆

コードは、非公開または限定公開で、外部監査不可なため、利用者は信じるしかない。

おわりに

ジーキャッシュ(Zcash)の「zk-SNARKs」について、9回にわたって書いてきました。
難しい内容になってしましたましたが、できるだけ噛み砕いて書いてきました。
次回からは、モネロ(XMR)について、書いていこうと思います。
お読みいただきありがとうございました。