Zk-Rollup
public.icon
【Vitalik Buterinブログ】ハイブリッドレイヤー2プロトコルの夜明け | TokenLab
https://vitalik.ca/general/2019/08/28/hybrid_layer_2.html
Layer2の課題
PlasmaとChannelsの開発は難しい
特定のユースケースでは利用できるが、一般化するのは難しい
Ethereumのスケーリング技術まとめ
セミレイヤー2の復活
2014年のブログ投稿では 、「ブロックデータはチェーン上で公開されるが、ブロックはデフォルトでは検証されないアーキテクチャ」である “シャドウチェーン” という概念を紹介しました。
このアーキテクチャでは、ブロックは暫定的に受け入れられ、一定期間(2週間など)の後にのみファイナライズされます。この2週間の間に、暫定的に受け入れられたブロックに対して “チャレンジ”(異議を唱えること) ができます。その場合にのみブロックが検証され、ブロックが無効であることが判明した場合、そのブロックからのチェーンは元に戻され、元の発行者のデポジットは没収などのペナルティを受けます。
今のOptimistic Rollupとかなんじゃないかな?tkgshn.icon
それにしても2014年って未来見えすぎでは?
最近の提案であるZK Rollup 1では、zk-SNARKを使用してブロックの有効性を検証することにより、チャレンジ期間なしで同様のことを行います。
ゼロ知識証明によるLayer2なのかな
https://gyazo.com/2e2abbd55f99454dd966aa4d95fd29ed
ここでいうSNARKはそれの証明みたいなものな気がするtkgshn.icon
チェーン上で公開されているZKロールアップパッケージの構造。 ZK Rollupシステムのステート(つまり、アカウント残高)に影響する何百もの「内部トランザクション」は、ステート遷移を指定する内部トランザクションごとに〜10バイトを含むパッケージ、さらに「遷移がすべて有効」と証明するSNARKの〜100-300バイトを含むパッケージに圧縮されます
Plasma = Layer2(OPU, ZkR)でのトランザクションでの処理が多すぎるため、(最も処理を重くする要因である)計算を省く方法のこと
データ保存は計算よりもコストが低く、特にトランザクション内のデータの大部分は「署名」であり、多くの署名はさまざまな形式の集計で1つに圧縮できるため、トランザクションデータを非常に小さく圧縮できる方法があります。
計算の代わりにゼロ知識証明による署名によって、有効性を検証する
ZK Rollupでは、各トランザクションをわずか10バイトに圧縮することにより、レイヤー1のEthereumチェーンの性能の30倍である500トランザクション/秒を発揮します。署名は、ゼロ知識証明によって有効性が検証されるため、含める必要はありません。
スケーリングのためのゼロ知識証明
1. メインチェーンに書き込まれたオフチェーントランザクションバンドルを使用する
ひとつ目のアプローチでは、オフチェーンで実施された複数のトランザクションの証明を、検証可能な形でオンチェーンに書き込むことで、データサイズを圧縮しています。
このアプローチに基づく事例として挙げられるのが、ゼロ知識証明の一種である「zk-SNARK」を用いてブロックの有効性を検証する「Zk-Rollup」というアイデアです。
ZK Rollupをベースとして、「Matter Labs」という企業が高いUXを備えた「zkSync」というスケーリングプロトコルを開発しています。
2. Recursive snarksを用いてブロックチェーンのサイズを小さくする
#クリプトとゼロ知識証明の相性
/emoji/twitter.icon 敢えてスケーラビリティのみに焦点を当てて考えた時、何が最も効果的か?の考察で回答は複数のZk-Rollupという話そしてチェーンの報酬と手数料を考えた上での持続性にも触れているポジトークを考慮しても、Zk-Rollupこそが現状ベストに近い回答なのではないかという話は結構ある https://t.co/LO9uWwveez
@shingen_cryptoshingen_crypto.icon October 6, 2021
https://bokujyuumai-salon.ethereum-japan.net/wiki/13380
zk-Rollupはvalidity proofsによりステートが正であることをノードが検証できるため、fraud proofsを利用するOptimistic RollupよりL1との即座の連携ができるという利点がある。その一方でzk-SNARKsを利用することで、コストがOptimistic Rollupより高く、EVM実装の難易度が高いという問題がある。