目次
- 1 イーサリアム上での送金と検証方法を考える
- 2 ERC20トークンコントラクトでの匿名
- 3 zk-SNARKsとその仕組み
- 4 まとめ
EYが公開したNightfallは、Zcashのzk-SNARKsを使用しています。前編ではイーサリアム上の匿名送金の問題と、利点について解説をしましたが、本稿では技術面について解説。今後イーサリアム上でNightfallやzk-SNARKsがどのように応用されるかについて詳しく見てみましょう。
イーサリアム上での送金と検証方法を考える
イーサリアム上の既存の送金を見てみると、匿名でないトランザクションやERC20トークンなどは、イーサリアムチェーン上でのコントラクトのTransfer関数を使用し、送信者と受信者のトークンバランスを更新します。このTransfer関数は、送信先のアドレスを必要とする”to”と、送金する値である”value”を公に演算へとインプットされます。
これらの情報は、各ノードが検証でき、さらにブロックチェーンエクスプローラーなどのサービスで誰もが確認できるのです。したがって、匿名送金を考慮したい場合には、この送金先アドレスである”to”と送金額の”value”をブロックチェーン上で秘匿にすることで、匿名送金が事実上可能ということになるでしょう。
ERC20トークンコントラクトでの匿名
ですが、この点を改善するというのは困難であるとも言えます。現在普及しているERC20コントラクトやスマートコントラクトでは、全てのノードが