ブロックチェーンの良さは透明性と言われている一方、それは利用者のプライバシーがないという裏返しにもなります。特に、入送金時に自分のウォレットアドレスを晒すことはリスクであり、相手に自分の残高を容易に知られてしまいます。最悪の場合、それは強盗の被害に遭うことにもつながり得ます。RAILGUNは、EthereumなどのLayer1チェーンを中心に、利用者に対してプライバシーを与える仕組みを提供します。
RAILGUNの概要
RAILGUNは、メインチェーンで資産の転送や取引をプライバシー保護することができるフレームワークです。つまり、資産をプライバシー保護のためにLayer2やサイドチェーンに移動させることなく、オンチェーン上でプライバシー保護された資産の転送や取引を行うことができるようになります。
2022年2月時点で、RAILGUNはEthereumやBNB Smart Chain、Arbitrumに対応しています。これらのチェーンにおける取引履歴は透明性が高く、誰でも自分のアドレスの取引履歴や残高を参照することができます。RAILGUNを使うことによって、これらを匿名化することで第三者からのプライバシー侵害を防ぎます。
RAILGUNのプライバシーを実現するのは、ゼロ知識証明*1の実装型であるzk-SNARKsです。zk-SNARKsは、ブロックチェーンにおいてはZcashではじめて実装された技術としても知られています。zk-SNARKsを使うことにより、RAILGUN上にラップされた資産を使った取引はすべてプライバシー保護されます。自分の取引履歴や残高が第三者から見えなくなるのはもちろんのこと、取引を他者に先回りされるフロントランニングを避けることもできます。また、当事者が限られた人に対して取引内容を開示することもできます。
通常、RAILGUNのようなソリューションは、サイドチェーンが用意され資産をブリッジしてから使うのが一般的ですが、RAILGUNは敢えてメインチェーン上に実装されます。メインチェーン上に実装することで、メインチェーンのセキュリティをそのまま引き継ぐことができるため、改ざんに対して強い耐性を持つことができます。また、ユーザーにとっては新たにツールを用意しなくても良いメリットがあります。
RAILGUNは、RAILWAYと呼ばれるアプリケーションを用意し、メインチェーン上で匿名性を維持しながら資産の交換を行える RAILWAY DEX や、NFT機能を備えています。また、ブリッジのRenやデリバティブ取引所のGains Networkと提携しながら、オンチェーン上で匿名化したやり取りができる環境を整備していきます。
RAILGUNの動作
RAILGUNの動作は、Layer1のメインチェーンからLayer2やサイドチェーンに資産を移動して利用するのと似ています。ユーザーは専用の画面からRAILGUNのアカウントに資産をラップし、後は”0zk”から始まるRAILGUN専用のアカウントを通して取引を行います。
一連の操作を行うためには、RAILGUNに対応した Railway Wallet を利用します。Railway Walletにおいて、メインチェーンからトークンの匿名化を行いたい場合は Shield の操作を、逆に匿名化された状態からメインチェーンにトークンを戻したい場合は Unshield の操作を行います。
ユーザーが最初に行うのは、Shieldと呼ばれるアクションで、メインチェーンからRAILGUNに資産をラップする操作になります。ラップト時には、送金元が透明性のあるアドレスであるため、その取引履歴や残高が第三者からわかってしまいます。しかし、一度ラップしてしまえばその後の取引はすべてが匿名化され、プライバシー保護された状態になります。もし、RAILGUN上にある資産をRAILGUNからメインチェーンのアカウントに引き出したい場合は、Unshieldの操作を行います。
RAILGUN上の資産のやりとりは匿名になるため、RAILGUNでは資産のやりとりを「ノート」と呼ばれるものを使って行います。これらは、資産のある場所を当事者で内々にメモを渡し合うことに似ています。ノートとは、ゼロ知識証明によって生成された「そこに資産があることを表したもの」になります。ユーザーがRAILGUNに資産をラップすると、すべての資産とその所有者を表すノートをゼロ知識証明で生成します。ユーザーが資産を取引すると、ノートが分割され、分割元のノートが無効化されます。そして、ユーザーがRAILGUNから資産を引き出す際は、RAILGUN上にあるノートが破棄され、資産が引き出せるようになります。
RAILGUNは、オンチェーン上での取引になるためガスの支払いが生じます。オンチェーン上の取引は、本来トランザクションを実行する主体がガスを支払うことになるため、そのまま実装すると誰が匿名取引を行っているかが特定されてしまいます。そこで、RAILGUNはコミュニティリレイヤーを用意することでこれを解決しました。ユーザーは取引をリレイヤーに対して要求し、リレイヤー側がガスを支払うことで取引の主体者を隠すことができるようになります。また、リレイヤーは誰でもなることができます。
RAILGUNのトークン $RAIL
$RAIL の用途
RAILGUNでは、$RAILをRAILGUN DAOのガバナンストークンとして使用します。1 RAILは1票に相当し、ガバナンスに投票するには$RAILを投票用コントラクトにステーキングする必要があります。また、$RAILにはアンステーク期間があり、ステーキングを解除してから30日待たないとトークンを手元に回収できないようになります。
$RAIL の基本情報
RAILGUNでは、チェーンごとにトークンを発行しており、メインはEthereum上の$RAILになります。
Ethereum以外のチェーンでは「RAIL+<チェーンの略称>」の命名ルールで発行され、以下の他にも今後増えていきます。原則的に、RAILをステーキングするかLPトークンを保有することで、他チェーンのトークン発行時にエアドロップで獲得することができます。
- トークンシンボル:※クリックするとコントラクト情報を表示できます
- 最大供給量:100,000,000 RAIL
- 初期流通量:50,000,000 RAIL
- $RAILの配布:
- 25%:エアドロップ*1
- 25%:Right to Privacy財団*2
- 50%:RAILGUN DAO*3
*1 エアドロップは、プライバシー保護に貢献した活動をした人にトークンが配られる枠になります。Ethereumネットワーク上で、TORプロジェクト、Right to Privacy財団、Free Software 財団など、プライバシーに関する慈善団体や非営利団体に寄付を行ったEthereumアドレスに対し、RAILトークンがエアドロップされます。
*2 Right to Privacy財団は、認定慈善団体であり、非営利目的です。RAILGUNプロジェクトを開発するための助成金を提供し、 プロジェクトの長期的な利益を支援するために、トークンの25%をボランティアで預かっています。
*3 RAILGUN DAOは、RAILGUNを支えるコミュニティです。トークンの保有者によるDAO投票によって配られます。DAOに与えられた5000万 RAILは初期状態では発行されておらず、DAO投票を重ねるにつれて発行されていきます。