LocalMonero will be winding down
- Effective immediately, all new signups and ad postings are disabled;
- On May 14th, 2024, new trades will be disabled as well;
- After November 7th, 2024, the website will be taken down. Please reclaim any funds from your arbitration bond wallet prior to that date, otherwise the funds may be considered abandoned/forfeited.
RingCT がモネロの取引金額を隠す方法
Monero のプライバシーは、壊れた場合にトランザクション全体が明らかになる単一のメカニズムに依存するのではなく、他の部分の弱点を補いながら全体的なプライバシーを提供するために連携して機能する 3 つの異なるテクノロジーに依存しています。この 3 つのアプローチは、リング シグネチャ、RingCT、および ステルス アドレスで構成されます。これら 3 つのテクノロジーは、実際の出力 (送信側)、量、および受信側をそれぞれ隠します。今日はRingCTについてお話します。
RingCT はおそらく 3 つの中で最も技術的であり、理解するのが難しい場合があるため、正確にどのように機能するかについては説明しませんが、量を知らなくてもそれについて確認できる方法を示します。 心配はいりません。いつものようにたくさんの例を使用します。
まず、金額を確認することが重要な理由を探ってみましょう。それらを完全に秘密にしておくことができないのはなぜですか?答えは、機会があれば、どこからともなくお金を生み出す巧妙な方法があるということです。このようなものはどのように機能しますか?例を見てみましょう。
あなたがあなたの友人からアイテムを購入したい場合、彼は10ドルを要求し、あなたは10ドルから始め、彼はゼロから始めます。あなたが彼に 10 ドルを渡すと、彼は 10 ドルになり、あなたはゼロになります。あなたは 10 人で始めましたが、今では彼は 10 人です。このトランザクションでは、お金は作成または破棄されませんでした。
暗号通貨を使用すると、賢い個人はアイテムに 10 ドルを与えることができ、0 ドルの釣り銭を受け取る代わりに 2 ドルを受け取ることができます。 0 と 10 が 10 と 0 (または 10=10) につながるのではなく、0 と 10 が 10 と 2 (または 10=12) につながります。 Two Monero は、何もないところから作成されました。個人がこれを自分自身に数回行うとしたら、短期間で莫大な財産を築くことができると想像できます。
Bitcoin などでは、これは簡単に確認できます。トランザクションに入る入力と出てくる出力を見て、送信されたものが受信されたものと等しいことを確認します。これらの金額が暗号化されて表示されていない場合、ユーザーは、送信されたものと受信されたものが同じであることを確認する方法がありません。
ビットコインのプライバシーを強化する試みとして、グレゴリー・マクスウェルは機密トランザクション (CT) を作成しました。これは、暗号化された金額を可能にする新しいテクノロジーであり、その過程で何も作成または破壊されなかったことを証明します。ほとんどのプライバシー技術と同様に、Bitcoin には採用されませんでしたが、Monero は採用に熱心でした。 1つだけ問題がありました。すでに実装されているリング署名の技術は、提案されたアイデアと互換性がありませんでした。そのため、当時の MRL 研究者の 1 人である Shen Noether は、CT をリング署名と互換性のある CT のバージョンである RingCT に変更しました。
繰り返しますが、これが機能する方法は非常に技術的であり、紹介記事で説明するのは困難です。単に知っておく必要がある暗号愛好家のために、CT の内部動作について書かれた詳細な記事がインターネット上にたくさんあります。私たちの残りの人のために、この記事では金額を隠すことができる方法を示しますが、それでも何も作成または破壊されていないことを証明します。
アリスがボブに送金したいとしましょう。 アリスは 10 XMR をボブに送信し、ボブは 10 XMR を受け取ります。 10=10 なので、ここでは何も問題はありません。しかし、アリスは自分が送金した金額を誰にも知られたくありません。そこで、彼女とボブは共有秘密を作成します。基本的に二人だけが知っている数字。その数が 22 だとしましょう。ここで、アリスは 10 (彼女が実際に送信しているもの) に 22 を掛けて 220 を取得します。これが彼女がネットワークと共有する数です。
マイナー自身は暗証番号を知りません。もしそうなら、彼らは彼らが示した数を秘密の数で割り、実際の送金額を得ることができます.しかし、彼らはそうしないので、できません。ただし、Bob が 220 を受け取ることがわかります。 220通送りました。 220個受け取りました。 220 = 220. このようにして、ネットワークは、アリスがボブに送った実際の金額を知らなくても、モネロが作成または破棄されていないことを確認できます。
ボブは共有秘密番号を知っているので、お金を受け取ると、22 で割り、アリスが実際に送金した金額 10 を取得します。他の全員には偽の番号が与えられます。
繰り返しますが、これは CT が機能する実際の方法ではありませんが、このようなことがどのように可能になるかについてのアイデアを与えてくれます。本当の方法には、Pedersen コミットメント、2 つの送信金額 (受信者への 1 つの暗号化された金額とネットワークへの 1 つのコミットメント金額) のようなものが含まれます。
ただし、RingCT はトランザクションで 2 つの当事者間で取引された金額を隠しますが、他の 2 つの数字セットは隠しません。
1 つ目はコインベースのトランザクションです。この用語に慣れていない場合、基本的にはマイナーが次のブロックを見つけたことに対して得られる報酬を意味します。この番号は非表示ではありません。プロトコルがサービスに対してマイナーに与えた金額を誰でも見ることができます。このように、すべてのコインベースのトランザクションを合計することで、現在のモネロの存在量を知ることができます。それらの合計は、現在流通しているモネロに等しくなります。
非表示になっていない 2 番目の数字は、ユーザーがトランザクションを送信したときにマイナーに支払われる料金です。マイナーが誰を優先すべきかを知ることができるように、料金は明確でなければなりません。これは、ユーザーがプライバシーを侵害する可能性がある方法ですが、誰かがトランザクションを送信するたびに独自のマイナー手数料 (0.12345 など) を使用すると、トランザクションがリンクされる可能性があります.
これらのケース以外では、RingCT は 2017 年からモネロの金額を隠してきました。
参考文献