既にご存知の方もはじめましての方もはじめまして、村長と申します。
僕の好きな通貨の1つ、「Zcash」のネットワークアップデート(いわゆる「ハードフォーク」)である、コードネーム「Blossom」が今年の10月に行われるという事で初心者の方でも分かるようにまとめてみました。
まだ未確定情報が多く、現時点で発表されているドキュメントを翻訳、要約した簡単なまとめである事に留意してください。
Zcashとは匿名暗号資産の1つです。
一般的な暗号資産では、取引履歴や残高を誰かに追跡される可能性があります。と言うよりされています。
が、Zcashでは「ゼロ知識証明」と呼ばれる技術を応用した「zk-SNARKs」を採用しており、取引時に保護されたアドレス(Shielded Address)を用いる事でこれらの情報を第三者から追跡する事が不可能になります。
また他の匿名暗号資産と異なり、送金したアドレス/受け取りアドレス/送金金額のすべてを秘匿化することが可能です。
Tips: 開発者報酬
Zcashをマイニングした時の報酬(12.5ZEC)の内、10%(1.25ZEC)がZcashの開発者等の関係者に分配されるというもの。
所謂プレマイニングと異なり、持ち逃げや開発放棄を防ぐ目的もあります。
これまでZcashの開発者報酬は全て単一のマルチシグネチャアドレス(以降マルチシグアドレス)に送金され、Zcash FoundationやZcash Company等に配分されていました。しかし単一のマルチシグアドレスに送金するということは、1つの秘密鍵が流出するだけで、プールされていた全ての開発者報酬が流出する事を意味します。
この事態を防ぐ為、Blossomでは、直接、配分先のアドレスに送金する事が決定されました。
例えば配分先が3箇所の場合、直接3つのマルチシグアドレスに送金されるので、仮に1つの秘密鍵が流出した場合でも流出額は1/3に留めることが可能になります。
この事をZcash公式では「reducing the blast radius(爆発範囲の縮小)」と表現しています。
Tips: ブロックタイムとブロックサイズ
ブロックタイムとは「1つのブロックが生成されるまでに何分間の取引データを詰め込むか」で決定します。
この間隔が小さくなればなる程送金スピードは向上しますが、十分な採掘者が存在しない場合、セキュリティが低下することがあります。(Bitcoinは約15分、Ethereumは約15秒ですので単純計算でEthereumはBitcoinの60倍の速度で送金する事ができると考える事ができます。)
ブロックサイズとは「1つあたりのブロックにどれくらいの取引データを詰め込む事ができるのか」を示します。
ブロックサイズが大きければ大きいほど大量の取引を一度に捌く事ができますが、ブロックの同期に大量の空き領域を要求するのでユーザーの利便性が低下することもあります。
電車で例えると、埼京線は(通勤ラッシュを除いて)20分間隔で運行し、一駅あたり20分ぶんの人数(ブロックサイズ)を乗せて走行しています。(つまり埼京線のブロックタイムは20分、平均ブロックサイズは870人)
従来のZcashのブロックタイムは150秒(1分半)、ブロックサイズは2MBでした。
Blossomではブロックタイムが短縮され、ブロックサイズを増加させる予定ですので、従来より高速かつ大量の取引を処理する事ができるようになります。
Zcashにはアドレスが「Z」から始まる第1世代プロトコル、「Sprout」が存在し、リリース当初からZcashの匿名性を支えてきました。
しかし2018年、「zcash」から始まるアドレスの次世代プロトコル「Sapling」が有効化されました。
これによりSproutの1/100以下のメモリ使用量、1/6以下の処理速度で匿名送金が可能になりました。よって今回のBlossomでお役御免となるようです。
Zcashのブロックチェーンに攻撃などが行われ、予め決められた長さより大規模なチェーンの巻戻りが発生した場合、巻き戻しを拒否する事で攻撃に対抗すると言うものです。
(詳しい実装はどうなっているのか不明なのでコメント等で誰か教えて頂けるとありがたき幸せです)
Harmony Miningなど一部は十分な議論が必要であるという事で(当然ですが)先延ばしされてしまったものの、ロードマップ通り着実と進化しているZcashの高い技術力を垣間見ることはできました。これからにも期待です!
ここまで読んで頂きありがとうございました!
http://www.pref.saitama.lg.jp/a0109/public-traffic/data.html