レイヤー2の技術であるPlasma・Channelsと、セミ・レイヤー2のORU・ZkRのまとめ
public.icon
違いがわかりにくかったのでまとめる
/emoji/twitter.icon プラズマとかステートチャネルのガチのLayer2は「Ethereum L2」って言われてて、OPU, ZkRは「セミ・レイヤー2」って呼ばれてるのか? こっちがまぁまぁ怪しい
https://gyazo.com/c846b1f424fbb3a9a9c19ba96f9fd356
そもそもスケールさせるためには以下の方法がある
1. トランザクション容量を大きくする
ブロックを大きくするのは、分散化と逆行してしまう
2. 全てを同じレイヤーで処理しない、分けてまとめて処理する
まとめる(?)と以下のような手法がある
though naming controversies exist at the edges, eg. see "validium"
https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb https://gyazo.com/d78be2f5d6e642e07d27b624fcac89b8
ChannelとSide Chainのハイブリッド
dataと計算をLayer1と別のchainで行う
特定の用途にしか使えない
State Channels - an explanation
EVMを持つ。Layer1のほぼコピーみたいな感じ。 独自のコンセンサスアルゴリズムも持つ
送られたバッチはどのようにしてLayer1側でvalidと検証されるのか?
Layer2からLayer1へ送られたデータはvalidであると仮定する。
Layer1にsubmitするグループはあらかじめ預託金(ETH)をdepostしておかないといけない Layer1側のsmart contractではトランザクションデータのバッチを監視する機能がある
もし不正なトランザクションデータを送ってその監視で引っかかった場合、それを送ったグループの預託金は全て没収される。
submitされたデータがLayer1に追加されるまでに最悪1週間くらいかかる可能性がある
ゼロ知識証明(Zero Knowledge Proof)を利用する トランザクションデータのバッチの中にZKSNARKと呼ばれる暗号文を仕込む Layer1側のsmart contractで検証をする