Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BUILD UP for Web3 engineer

Yosuke
March 26, 2023

BUILD UP for Web3 engineer

話した内容はREADME.mdにまとめてます

https://github.com/0xywzx/event/tree/main/20230327_build_up_for

Yosuke

March 26, 2023
Tweet

More Decks by Yosuke

Other Decks in Technology

Transcript

  1. 開発者が抑えておきたい
    2023
    年イーサリアムエコシステムに起きること
    BUILD UP for Web3
    エンジニア
    2023
    年3
    月27

    View Slide

  2. View Slide

  3. 目次
    1.
    開発者として押さえておくべきイーサリアムアコシステムの現状とこれから
    2.
    ブロックチェーンをどう捉えるか
    3. ETH Tokyo
    に向けてサービスの事例紹介
    by

    _ywzx 3

    View Slide

  4. 1.
     開発者として押さえておくべきイー
    サリアムアコシステムの現状とこれから
    by

    _ywzx 4

    View Slide

  5. Ethereum
    の課題
    by

    _ywzx 5

    View Slide

  6. Ethereum
    の現状
    もっぱらscalability
    に注力
    Scalability
    の一つとしてのLayer2
    シャーディングも進んでるけど、L2
    がコアの開発を待たずにできる
    L2
    の実態はスマートコントラクト
    OR
    のトランザクションをまとめてL1
    に書き込んでいる、その情報を元にL2

    node/sequencer
    を構築
    ex) OP
    :CanonicalTransactionChain (CTC)
    ZKR
    の場合はstate diff
    のみを書き込んでる
    by

    _ywzx 6

    View Slide

  7. Ethereum
    の現状
    :
    分類
    Optimistic Rollup
    Arbitrum
    Optimism
    ZK Rollup
    zkEVM
    zkEVM
    以外
    type 1
    taiko
    type2
    scroll, Polygon zkEVM
    type3
    type4
    zkSync Era
    starknet with Nethermind
    starknet
    Modular chain
    Celestia
    mantle
    by

    _ywzx 7

    View Slide

  8. Ethereum
    の現状
    : Modular
    とは
    Execution
    Layer
    Data Availability
    Layer
    Settlement
    Layer
    Concensus
    Layer
    by

    _ywzx 8

    View Slide

  9. Ethereum
    の現状
    : L2
    の現状
    by

    _ywzx 9

    View Slide

  10. Ethereum
    現状をどう捉えるか
    23
    年はOR
    、それ以降はZKR
    OR
    にはEthrerum
    のアップデートに追従しやすいよさはある
    Arbitrum : AnyTrust, Stylus / Optimism : Op Stack
    StarkNet
    は独自路線を進んでいて長期でみると面白い。
    Polygon
    がどこまで伸びるか
    Supernets / Avail / Nightfall/Miden
    LX-LY bridge
    L3
    が増えるかmodular chain
    が台頭するかは要観察
    Optimism op stack / Arbitrum AnyTrust / Polygon Avail / zkSync zkPorter /
    StarkNet starkWare
    by

    _ywzx 10

    View Slide

  11. Ethereum
    の今後
    :
    ロードマップ
    by

    _ywzx 11

    View Slide

  12. Ethereum
    の今後
    :
    アップデート
    Shanghai
    ETH
    の引き出しが可能
    Selfdestruct
    の廃止
    Cancun
    EIP-4844: Shard Blob Transactions
    EOF
    by

    _ywzx 12

    View Slide

  13. Ethereum
    の今後をどう捉えるか
    Ethereum
    はよりセキュリティーを担うレイヤーになる
    Polkadot
    のRelay Chain
    によるshared security
    やCosmosHub
    のInterchain
    security, mesh security
    に比べると、Ethereum
    はスマートコントラクトに記載
    する(将来的にはBlob or shard
    )のみで、セキュリティー提供に柔軟性がない
    L2
    の足並みが揃ってないので、Ethereum
    全体としての成長が鈍化しそう
    開発者へのアップデートが少ない
    ただ、まず今求められている最低限のものを実装している、ゆえにシンプルで複
    雑なものを上に作りやすい
    Ethereum
    界隈の開発スピードはかなり早いしまだ中心になっている
    by

    _ywzx 13

    View Slide

  14. Ethereum
    の今後をどう捉えるか
    "it's okay if no single person can understand the whole protocol, because we can
    specialize"
    "We don't know exactly what the needs of 2032 will demand"
    by vitalik
    by

    _ywzx 14

    View Slide

  15. 2.
    ブロックチェーンをどう捉えるか

    View Slide

  16. 開発者としてブロックチェーンをどう捉えるか
    Web2 :
    情報革命 →
    完成系としてのAI
    Web3 :
    価値革命 →
     ??
    ブロックチェーンではそれ以外の分野(何かしらの価値がつくもの)も大きく
    変える
    by

    _ywzx 16

    View Slide

  17. 開発者としてブロックチェーンをどう捉えるか
    ブロックチェーン = Ethereum
    はstate machine ≒ DB
    スマートコントラクト = state
    の書き込みと読み込みの定義 ≒ API
    お金を払えば誰でも書き込みができる、読み込みはタダでできる
    その書き込まれたデータは恣意的に変更できない(セキュリティー)
    価値がつかなかったものに価値をつける
    流動性の低かった(市場に出てなかった)資産の流動性を向上させる
    by

    _ywzx 17

    View Slide

  18. 3. ETH Tokyo
    に向けてサービスの事例紹介
    by

    _ywzx 18

    View Slide

  19. ETH Tokyo
    に向けてサービスの事例紹介
    スマートコントラクトのアプリケーションは大きく分けると2つがメイン
    EIP
    (特にERC20
    とERC721
    )によって生まれたアプリ
    ERC20
    は保有量を管理したテーブル → DeFi
    ERC721
    は保有者を管理したテーブル → NFT
    コントラクトウォレット
    by

    _ywzx 19

    View Slide

  20. ERC20 / ERC721
    の拡張
    EIP
    の規格にさえ準拠=
    関数名と引数さえあっていれば、関数のロジックはなんで
    もいい
    ERC20
    の例
    AAVE
    のaToken :
    利子分を追加して残高を返却
    Compound
    のcomp : token
    の移転と同時にdelegate
    も移転
    Ampleforth : MoneySupply
    の増減で価格を維持
    balanceOf / rebase
    ERC721
    Uniswap V3 LP : SVG
    とparam
    でNFT
    を型から生成
    by

    _ywzx 20

    View Slide

  21. ERC20 / ERC721
    の拡張
    :
    まとめ
    EIP
    はInterface
    の定義のみなので、それさえ守ればその先の可能性は無限大
    規格を作ることができる
    ブロックチェーンを利用したLGBT
    カップル調印式 by famiee
    by

    _ywzx 21

    View Slide

  22. コントラクトウォレットとメタトランザクション
    アカウントは2つ:EOA / Contract Account =
    スマートコントラクトなので拡張
    性は様々
    Multisig : Gnosis Safe
    コアはexecute
    のみ。call() or delegateCall()
    で叩き先を指定するので、全ての
    tx
    に柔軟に対応できる
    AA : Patch wallet
    tx
    の実行をbundler
    に移譲
    メタトランザクション : tx
    の署名と実行の分離
    EIP2612(permit) / EIP3009
    by

    _ywzx 22

    View Slide

  23. 番外編
    : tornado cash

    zkp
    ZKP (zero knowledge proof)
    とは
    ある情報を知っているということを伝えようとする者(証明者)が,その情報
    を知っているという事実以外の情報を,証明を検証しようとする者(検証者)
    に与えることなく,検証者に対して証明者がその情報を知っていると証明する
    こと。
    SNARK
    (Succinct Non-Interactive Argument of Knowledge

    簡潔に対話なしで知識の根拠を署名できる =
    コントラクトに対して一回の通信
    で証明できるss
    by

    _ywzx 23

    View Slide

  24. 番外編
    : tornado cash

    zkp
    tornado cash :
    暗号資産のミキシングサービス
    by

    _ywzx 24

    View Slide

  25. 番外編
    : tornado cash

    zkp :
    仕組み
    シークレット値の生成
    nulifier + secret
    をハッシュ化する
    deposit
    ハッシュ値を資産とともtx
    を実行し登録(commitment

    zk-snark
    を利用してproof
    を作成
    commitment
    の元となったnullifier
    とsecret
    を所有していることを証明する
    proof
    withdraw
    proof
    を提出することで、nullifier
    とsecret
    を明かすことなく資産を引き出すこ
    とが可能
    by

    _ywzx 25

    View Slide

  26. 番外編
    : tornado cash

    zkp
    by

    _ywzx 26

    View Slide

  27. tornado cash

    zkp :
    まとめ
    zkp
    とはスマートコントラクトはオープンであるけど、情報を明かすことなく情報
    を持っていると証明できる
    ZKP
    があると何がいいのか
    データ量/
    計算量の圧縮:ZKR
    だとtx
    の情報を全て渡すことなくtx
    の検証ができ

    データの秘匿化:オープンが前提のブロックチェーンにプライベートの概念を
    持ち込むことができる
    プログラミングパラダイムシフト by
    日置さん(intmax)
    by

    _ywzx 27

    View Slide