「JPYC」はJPYC株式会社が昨年10月から発行を開始した電子決済手段であり、記事公開時点でEthereum・Polygonなどの4チェーン上で使用可能となっているステーブルコインです。公開ブロックチェーン上でやり取りが行われることから送金履歴が公開されており、政治資金など透明性を上げたいユースケースでは役に立つ一方、多額の保有や送金・具体的な地理的情報と結びついた履歴が存在する場合レンチアタックの危険性が上がってしまうという課題が生じていました。
2026年6月11日、zERC20はPolygonチェーン上で「zJPYC」が利用可能となったことをアナウンスしました。この記事ではzERC20及び「zJPYC」の概要と使い方を簡単にまとめます。参考になれば幸いです。
結論
- ブロックチェーン上なのに送金・受取アドレス間の「つながり」をなくすことが出来る
- 複雑ではあるものの、一般的なウォレットでも使用可能
- 常用には向いていないが、プライバシーを保った送金が可能となる重要な選択肢
zERC20とzJPYC
JPYCはEthereum・Polygon・Avalanche・Kaiaの4チェーン上で発行されているステーブルコインであり、日本円と1:1の価値を持つように設計されています。昨年10月のリリース以降数億円レベルの取引がオンチェーン上で行われており、利用シーンが徐々に増えていっています。
公開されているブロックチェーンの1つのメリットとして、とあるアドレスからどのように送金が行われたのかを第三者が容易に検証することが可能であるということがあります。これによって 既存の手段では困難であった透明性の確保 を行うことが可能となっています。さらに 偽造が極めて困難 であるため、確かな支払いの証明を第三者にも分かる形で示すことが出来ます。
他にも誰の許可を得ることもなくコードの中にこれらの仕組みを取りこむことも可能といったメリットも挙げられます。これらのメリットをチェーンにもよりますが、低コストで受け取ることが可能となっています。
しかしながらやり取りが公開されているという点は、そのままプライバシー問題となります。今後実店舗決済が広がった際、特定のアドレスと個人をリンクさせることが容易になってしまうと、レンチアタックの危険性が生じることは以前指摘した通りです。確かに低コストやプログラマブルな点という利点は大きいものの、この懸念とバランスを取った際、JPYCの採用が難しくなってしまう場合もあります。

この問題を軽減するための仕組みとして、11日発表され利用可能となった「 zJPYC 」があります。これはJPYCに限らず、USDCのようなERC-20トークンをプライバシーを保った形で送信するためのプロところとして開発されているzERC20によるものであり、詳細はリリース記事をご覧ください。
zJPYCは後述する仕組みを用いて、 ブロックチェーン上でありながら、送金・受取アドレスのつながりが明らかにならない ような設計が行われており、注意するべき点はいくつか存在するもののプライバシーを保ったJPYCの送金が可能となっています。ブロックチェーン上で記録されるのは「zJPYCを使用し、合計でいくら送金した」という点であり、これを隠すことそのものは出来ないものの「誰に・いくら送金したのか」という点を第三者から保護することが出来ます。
あくまで「zJPYC」はJPYCの発行体であるJPYC株式会社によるサービスではなく、第三者によって提供されていることに留意が必要であり、zERC20の開発を行っているINTMAXのCEOであるMai氏は注意喚起を行っています。一方、JPYC株式会社の代表取締役である岡部氏は「プライバシー権は人類普遍の権利である人権の中でも非常に重要なものです」、「JPYCはプライバシー権をはじめとする、利用者の基本的人権を最大限尊重します」と述べています。
公式ブログ等にも追記させていただきましたが、zJPYCは、zERC20が独自に提供している非公式のサービスです。
— Mai🧬zERC20🎭INTMAX (@missbitcoin_mai) June 11, 2026
JPYC株式会社は、zJPYCの提供・共同開発・審査・推奨には関与しておりません。
また、本サービスはJPYC株式会社による公式サービス・公式コンテンツではありません。…
社会のジレンマを突破する!
— 岡部典孝 JPYC代表取締役 (@noritaka_okabe) June 11, 2026
プライバシー権は人類普遍の権利である人権の中でも非常に重要なものです。
プライバシー権が無ければ、この人は1億JPYC持っているな。トクリュウに情報を売って強盗させよう。
というような犯罪行為が容易になります。… https://t.co/WLEUUik6mZ
なお、zERC20が提供する他のトークンである「zUSDC」・「zETH」はEthereum・Arbitrum・Baseの3チェーンに対応しており、「zBNB」はこれらに加えてBNBチェーンに対応していますが、記事公開現在 「zJPYC」はPolygonチェーンのみの対応 となっています。JPYCそのものはEthereum・Avalanche・Kaiaでも使用可能ですが、これらのチェーン上におけるJPYCは、zJPYCを使用しプライバシーを保った送金を行うことは出来ませんので注意が必要です。
なぜ「zJPYC」はプライバシーを保てるのか?
ここで気になるのは、「zJPYC」を使用することによってなぜプライバシーを保った送金を行うことが可能かという点です。公式ドキュメントを見つつ、送金の仕組みを確認してみましょう。
送金者はまず手元のJPYCをzJPYCに変換(wrap)します。これは LiquidityManager と呼ばれるコントラクトのプールにJPYCを預け、同量のzJPYCを受け取る操作です。次に、受取人のアドレスと秘密の値(secret)から「バーンアドレス」を導出し、そこへzJPYCを送ります。バーンアドレスとは秘密鍵が存在しない 使い捨てのアドレスのことで、送金1回ごとに生成 されます。同じ相手に何度送っても毎回異なるアドレスになるため、アドレスの再利用による追跡は不可能です。また、バーンアドレスから受取人の情報を得ることは極めて困難です。送られたzJPYCはこのアドレスで永久に凍結され、誰にも動かせません。ここで送金者の関与は終わりです。
受取人は秘密の値(と自らのアドレス)を使ってVerifierコントラクトにゼロ知識証明を提出します。証明が受理されると、Verifierが受取人のアドレスへ等量のzJPYCを 新規発行(mint) します。zERC20はこの操作を「テレポート」と呼んでいます。受取人はその後、unwrapすることでJPYCを受け取ることができます。
ここで重要なのは、受取人に届くのは「バーンアドレスから転送されたトークン」ではなく、 全く別の新規発行トークン だという点です。バーンアドレスに凍結されたトークンはそのまま死蔵されます。オンチェーン上に残るのは「送金者→バーンアドレス」への通常のERC-20送金と、「Verifier→受取人アドレス」へのmintという2つの独立したイベントのみであり、 この2つを結ぶトランザクションは存在しません 。
さらに、受取人が提出するゼロ知識証明は「自分は全送金履歴を集約したMerkle木のどこかのリーフに対応するsecretを知っている」ことを示すだけで、それがどのバーンアドレスへの送金かは一切明かしません。送金者のアドレスも提出された証明からは漏れません。結果としてオンチェーンの観測者から見えるのは「誰かが不明なアドレスへ送った」という事実と「Verifierが何らかのアドレスにmintした」という事実のみであり、両者の対応関係は知りえません。
なお、オンチェーンで隠れるのは「送金者と受取人の対応関係」だけです。 送金額・受取額及びそれらの時間はオンチェーン上で公開されたまま であるため、 特異な金額(例:123.456789 zJPYC)は送金と受取を突き合わせるヒントになり得ます 。このリスクを緩和する手段として、複数の受取をまとめて1回で引き出す「バッチ引き出し」や、受け取った額より少ない金額だけ引き出す「部分引き出し」が設計上サポートされており、必要に応じて使用することが可能となっています。
使ってみる
ではzJPYCを使ってみましょう。主な使い方としてCLIを通す方法及びzERC20の公式サイト上から送金する2つの方法がありますが、今回は後者を使ってみようかと思います。なお、英語ではありますが使い方の動画がzERC20から公開されています。送付・受取双方合わせて3分半ほどですので、動画の方が理解しやすい方は以下の動画をご覧いただくのもよいかと思います。
zJPYC is live on @0xPolygon.
— zERC20 (@zERC20io) June 11, 2026
Wrap JPYC → send privately → recipient redeems back to JPYC. The on-chain link between sender and receiver is broken.
Watch a really simple tutorial and start your privacy journey ↓ pic.twitter.com/Xm10Yu7tSu
まず公式サイト上の「Try it Now!」ボタンもしくはこちらのリンクから送金・受取用GUIを開きます。右上にあるプルダウンメニューにおいて「zJPYC」が選択されていることを確認して、「Connect Wallet」ボタンを押し、ウォレットを接続します。すると以下に関して署名を求められます。
zERC20 | Seed Derivation
You are signing to derive a private seed used ONLY to generate one-time burn receiving addresses for zERC20.
Facts:
- Not a transaction; no gas or approvals.
- Cannot move funds or grant permissions.
- If this signature is exposed, privacy may be reduced (burn addresses may become linkable). Funds remain safe.
- Keep this signature private.
Details:
- App: zERC20
- Purpose: Seed for burn address derivation
- Version: 1
これによってシード値を生成します。これによって、zJPYCを使用することが可能となります。

続いて「wrap」を行います。これはJPYCを送金し同量のzJPYCを受け取る操作です。これによってzJPYCを他者に対して送金できるようになりました。
なお、zJPYC自体はただのERC-20トークンですので、送金ごとに行う必要はありません。まとめてJPYCをzJPYCにしてもよいですし、受け取る際のunwrapも複数回の送金をまとめてJPYCにすることも可能となっています。

続いて、送金を行うために必要な条項を埋めていきます。必要なのは受け取りチェーン・受け取りアドレス・送金量です。現状zJPYCが対応しているのはPolygonだけですので迷いようはありませんが、将来的に対応チェーンが増えた際には注意する必要があるでしょう。「受け取りチェーン」ですので、こちらがどのチェーンで送金しているということは関係なく、受取人が希望するチェーンにする必要があります。また、ここで重要事項として示されていることは以下のようなことを示しています。
取引所のアドレス、カストディアルウォレット、または受取人が秘密鍵を管理していないアドレスをzERC20の受取アドレスとして使用しないでください。資金を失う可能性があります。常に、受取人が直接管理し、操作可能なウォレットアドレスを使用してください。
一般にJPYCはノンカストディアルウォレット上で保有されていることが多いので、普通は気にする必要はないのですが、受取人が不慣れである場合は誤って取引所のアドレスなどを示してこられる場合も考えられます。受取人に念押しの確認を行ってもよいでしょう。これらを埋めたのちにERC-20トークンのバーンアドレスへの送付を行えば、送金サイドで行うことは終了です。

終了した後にトランザクションや送金結果が理解しやすい形で表示されます。合計でトランザクションは3回あり(1回目・2回目・3回目)、いずれにおいても送金先の情報は露出していません。かかったガス代は合計で0.12POL程度ですので、通常の送金(0.01POL~0.03POL程度)と比較すればコストはかかっていますが、プライバシーを保つためには十分な費用であると考えられますし、いずれにしても0.1円程度(1POLは執筆時点で12円ほど)ですので実質ほとんどコストはかかっていません。
なお2回目のトランザクションで出てくる 0x12...5a1C というアドレスはzJPYCの「プール」と呼ぶべきものです。ここを見ればJPYCとzJPYC間のやり取りを見ることが可能ですので、 あまりに特徴的な額のやり取りが見られればアドレス間の「つながり」の推測が可能 となっています。現状利用が少ないこともあって同定が容易かと思われますので、上で示した通り運用に注意は必要でしょう。
関連リンク
- zERC20 Expands Privacy Infrastructure for Japanese Yen with zJPYC on Polygon - zERC20
- How zERC20 Works - zerc20 Docs
- zERC20、JPYC対応のプライバシー送金用トークン「zJPYC」をローンチ - NADA NEWS
最後に
zJPYCによって、プライバシーを保ったままJPYC。良い点としてはこれはあくまで選択肢の1つであることでしょうか。これまで通りブロックチェーンの透明性を保ちつつ送金を行うこともできますし、zJPYCを用いてプライバシーを重視して送金することもまた可能となっています。完全な移行ではなく、「そうした選択肢もある」というような状態であることは、健全なJPYCの発展に必要なのではないでしょうか。
懸念を挙げるとすればzJPYCを使用することが極めて煩雑であり、リアルタイム性をもった送金を行うことは困難であるということでしょうか。事前にJPYCをzJPYCにすることによってある程度は手間を削減することは出来ますが、そもそもzJPYCを匿名性をもって送金するためにはCLIもしくは公式サイトを通す必要がある上、受け取りに面倒な手間をかけてしまいます。
現実な対策方法としては、自分が鍵を持っているアドレス間でのJPYCの移動を行う際に使い、アドレス間の「つながり」をなくすことでこのデメリットをある程度解消することが可能だと考えています。例えば、実店舗決済を行う際に店舗ごとによって支払いアドレスを分けることによって、より強力なプライバシーを得ることが出来るのではないでしょうか。もちろんzERC20側が警告している通り、運用の仕方によってはそのプライバシーを損なってしまいますので細心の注意が必要とされている点に留意する必要があります。
また、zJPYCを使用していることそのものはブロックチェーンに記録されています。日本円を現金で受け取りJPYCにした上でzJPYCを通して他者のアドレスに送金すること・他者のJPYCをzJPYC経由で日本円に償還することは、いう必要もないほど危険であり資金洗浄の一形態と見なされかねませんが、外見上これを正当なzJPYCの利用と区別することは少なくとも形式的には困難です。要らぬ嫌疑をかけられるリスク(こんなことでかけられたらたまったものではありませんが、Telegramを使っているだけで闇バイトみたいな扱いってありますよね)がありえることにも注意する必要があるかもしれません。