Ethereumの既存コントラクトをzkSyncで動かす

99282 ワード

zkSync is 何

zkSyncはZK Rollupsを用いたL2ネットワークである。現在のEthereumのスケーリングやガス代の問題に対する有望な解決策の一つ。

これを利用すると何が嬉しいかというと従来のEthereumのセキュリティを維持したまま多くのトランザクションを処理できたりガス代がほどほどに安くしたりできること。ざっくりとした仕組みとしては計算処理やストレージデータはzkSyncで保持実行し、そのトランザクションをまとめてEthereumに送り、そのトランザクション履歴のみ保持するようにする。このように出来るだけEthereumの責務を他のネットワークに逃しトランザクションの回数を減らすことで負荷を抑え余計なコストを減らしながらEthereumのセキュリティは利用できるということが可能になる。このようなZK Rollupsを用いたソリューションはzkSyncだけでなく他にもStarkware(のStarkNet)やScrollといった企業のネットワークもある。STARKやSNARKを使っているという手法の違いはあるがそれぞれ基本的な仕組みは同じなはず。

ZK is 何

そもそもZK RollupsのZKとは何かというとゼロ知識証明のことである(Zero Knowledge ProofだからZKPと略されることが多い)。これについて理論的な部分を説明するにはまた別の記事になってしまうくらいややこしくて、自分も厳密な数学的な証明まで理解しきれていないので割愛。概念的な理解だけならそこまで難しくないので下記のリンクを読んでみると良い。