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

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

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

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

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

について書きました。

数学的に破れないレベルの暗号で成り立っている⁉︎

ジーキャッシュ(Zcash)の匿名性は、数学的に破れないレベルの暗号で成り立っていることを、前号でなんとなく書きました。
今回からは、そのすごい技術、数学で匿名性を確保しているジーキャッシュ(Zcash)の具体的な
 

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

について、書いていこうと思います。

①見えない送金の正しさ‥‥楕円曲線暗号(ECC)

また、なんか難しい言葉が出てきました💦
ジーキャッシュ(Zcash)のその超強力な数式のうちの一つ、ECCは、Elliptic Curve Cryptographyの略で、楕円曲線暗号と訳されます。
1985年に提案され、2004年頃から使用されるようになりました。

Wikipediaから

 

ECCは、ビットコイン(BTC)やジーキャッシュ(Zcash)などの暗号通貨で使われている、とても強力な暗号技術になります。
名称からすると、なんか難しく思えますね。

楕円曲線暗号(ECC)って何?

一言で言うと、「小さな鍵でも、とても強い安全性を出せる暗号」で、ビットコイン(BTC)やジーキャッシュ(Zcash)などで使われています。

鍵?

 

ここでいう「鍵」とは、「秘密鍵」と「公開鍵」を指します。(参考)

秘密鍵とは?

秘密鍵とは、自分だけが知っている“超重要な数字”のことです。

例えば、金融機関や取引所のパスワード本体みたいに、絶対に他人に見せてはいけないものです。

公開鍵とは?

公開鍵とは、秘密鍵から計算で作られる、見せてもいい情報です。

ECCの強さ

ECCでは、

秘密鍵から公開鍵を作ることは、簡単にできますが、

公開鍵から秘密鍵を紐解くことは、不可能です。

(⭕️秘密鍵→公開鍵)(❌公開鍵→秘密鍵)

これは、一方向にしか進めない超難関な数学(楕円曲線の計算)を使っているからで、暗号通貨の安全性は、この

「秘密鍵を絶対に逆算できない数学」

で守られています。

私たちが普段使うスマートフォンやパソコンのHTTPS通信(🔒マーク)や、指紋や顔認証などのセキュリティ、SNSの暗号化メッセージなどでも広く使われている技術になります。

zk-SNARKsはECCをどう使っている?

ビットコイン(BTC)の送金の署名や、イーサリアム(ETH)のスマートコントラクトなどで広く使われているECC(Elliptic Curve Cryptography)ですが、ジーキャッシュ(Zcash)の「zk-SNARKs」も、そのECC(楕円曲線暗号)を土台に作られています。

ECCの「破れない数学」がzk-SNARKsの土台

例え話で言うと‥‥

🔹ECCは、「絶対に開かない超強力な南京錠」

🔹zk-SNARKsは、「その南京錠を使って“中身を見せずに正しいことだけ証明する魔法の仕組み”」

といった感じです。

②ペアリング暗号

また、なんか難しい言葉が出てきました💦
まずは、一言で。
ペアリング暗号とは、2000年頃に(多分日本で初めて)ひっそりと産声を上げた暗号技術で、

「2つのカギを組み合わせると、特別な答えが一瞬で出る暗号の仕組み」

さらに

楕円曲線暗号(ECC)を土台にした“応用版”

です。

🔹ECCは、「逆算できない強い数学」

🔹ペアリング暗号は、「そのECCを“合体技”できるようにしたもの」

例え話で言うと‥‥

こちらも、わかりやすい例え話で言うと、
🔹鍵Aがある
🔹鍵Bがある
普通のECC(楕円曲線暗号)だと、それぞれは強いけど、直接“答え”は出せない。
けど‥‥このふたつの鍵を特別な装置(=ペアリング)に入れると…

「はい、正解です!」という1つの結果が一瞬で出る

しかも、鍵Aだけでも、鍵Bだけでもダメで、

両方揃った時だけ答えが出る

と言うものです。

こんなイメージ

秘密のスタンプを持っているAさんとBさん

🔹Aさんの秘密スタンプ

🔹Bさんの秘密スタンプ

この、2つを同時に押すと1つの特別な印ができるとしましょう。

でもその特別な印を見ても

🔹Aさんの秘密スタンプは何か?

🔹Bさんの秘密スタンプは何か?

👉 まったく分からない‥‥これがペアリングです。

ペアリング暗号があると、

🔹「秘密を見せずに正しいと証明」

🔹「2者の情報が一致していることを一瞬で確認」

🔹「計算は簡単、逆算はほぼ不可能」

なもので、これが「zk-SNARKs」の心臓部になります。

zk-SNARKとの関係

「zk-SNARKs」では、
🔹「秘密の計算をした」
🔹「条件を満たしている」
と言うことを、ペアリング暗号で一瞬で検証しているイメージですね。

ECCはめちゃ強い鍵
その鍵を2つ組み合わせると、答えが出る魔法=ペアリング暗号
その魔法で“中身を見せずに正しいと証明”する仕組み=zkSNARKs

おわりに

今回は、「zk-SNARKs」を支える技術である、ECC(楕円曲線暗号)とペアリング暗号について書きました。
続きは次回です。
お読みいただきありがとうございました。