# คุณกำลังเข้าใจทุกเรื่องของ Rollups ผิด **Published by:** [thesleeper (✨🔴_🔴✨)](https://paragraph.com/@thesleeper/) **Published on:** 2023-09-21 **URL:** https://paragraph.com/@thesleeper/rollups ## Content ฉีกทุกความเชื่อ! ทำลายทุกกฏเกณฑ์ที่คุณเคยรู้เกี่ยวกับ Rollups ที่ไม่ได้ทำงานในแบบที่เราเคยคิด และไม่ได้ยึดติดกับวิธีการ Proof เลย จริงๆ แล้ว Rollups ทำงานยังไง (ทั้งฝั่ง ORU และ ZKR) Kelvin Fichter อธิบายไว้แบบครบๆ อ่านจบรับรองว่าต้องช็อก จั่วหัวแบบเรียกทัวร์ZK Rollups ไม่มีจริงหรือจริงๆ แล้วควรพูดว่า Rollups ทั้งหมดไม่มีจริง คำๆนี้อาจเป็นแค่คำเก๋ๆ ไว้ให้ทีมมาร์เกตติ้งใช้โปรโมท แล้วเชนทั้งสองฝั่งนี้มีวิธีการทำงานยังไง เรามาค่อยๆ ทำความเข้าใจไปพร้อมๆ กัน เครดิตบทความ **Jon Charbonneau **ที่ย่อยไว้อย่างละเอียดยิบจริงๆ แล้ว Rollups ทำงานยังไง?ต้องปูพื้นฐานกับไปที่ Blockchain101 ซึ่ง Jon Charbonneau ได้อธิบายหลักการทำงานของ Blockchain คือ Replicated state machine หรือเครื่องบันทึกสถานะ (State)Replicated ใช้ nodes จำนวนมากบันทึกและถือ state ของ blockchain ไว้ State - สถานะเหมือนการ snapshot ข้อมูลในวันนั้นๆ (เช่น มีใครบ้าง ใครมีเงินเท่าไหร่) Machine - blockchain ทำหน้าที่บันทึกข้อมูลต่อๆ กันไปตลอดเวลา ทุกๆ คนสามารถอัปเดตผ่าน “state transition function” (STF) state transition function” (STF) นี้เองคือสิ่งสำคัญและจะเป็นตัวการันตีว่า Node ทุก Node จะได้รับข้อมูลและผลลัพธ์เดียวกันเสมอ มาต่อกันที่ Rollups 101 จากข้อมูลที่เรารู้ๆ กัน Rollups คือ blockchains ที่โพสต์ข้อมูลบล็อกของตัวเองไปยัง blockchain อื่น และยังใช้ consensus และ data availability (DA) ของ blockchain นั้นๆนอกจากนี้ Rollups ประกอบด้วย - Input Data คือ ordered array ของ input data ที่โพสต์ไปยัง blockchain อื่น (DA layer) - Function คือสิ่งที่ rollup node software ตกลงร่วมกันเพื่อใช้ในการรัน input data - Output Data คือการรัน function บน inputs ให้เป็น outputs เพื่อหา current state จะเห็นว่าส่วนประกอบของ Rollups ทั้งหมดมีแค่ 3 อย่างนี้ แต่สิ่งที่แต่ละเจ้าต่างกันคือรายละเอียดในการทำ Implementation ซึ่งแตกต่างกันไประหว่าง Rollups ทั้งสองแบบคือ Smart Contract Rollups และแบบ Sovereign RollupsSmart Contract Rollupsหรือ Rollups แบบคลาสสิก ซึ่งจะโพสต์ข้อมูล Tx ลงบน ETH โดยการมัดรวม data availability (DA) และจัดเรียงใหม่ Rollups แบบนี้จะทำงานโดย 1- Data Availability การมี DA เพื่อให้มั่นใจว่าสถานะของเชนปลอดภัยและสามารถกู้คืนได้ตลอดเวลา เพราะถ้าคุณไม่รู้ว่า Input คืออะไร ก็ไม่สามารถประมวลผลได้จริงมั้ย? เทียบ DA ถ้า Data หาย Optimistic rollups (ORUs) คุณไม่สามารถสร้าง fault proof เพื่อ challenge หา state transition ที่ผิดปกติได้ ถ้า data หายไป ZK-rollups (ZKRs) proof ทำให้มั่นใจว่า state transition ถูกต้องแต่เราไม่สามารถสร้าง rollup’s state ได้ถ้าเราไม่รู้ data ข้างหลัง 2- Data Ordering - การจัดเรียง Data ก็สำคัญแต่ไม่ค่อยมีคนพูดถึงเพราะมันได้มาจากการทำงานของ DA layers เมื่อรัน function ไปยัง Data orderings ที่ต่างกันย่อมได้ outputs ที่ต่างกัน3- Settlement - rollups เหล่านี้จะทำการ deploy L1 smart contracts บน ETH เพื่อรัน onchain light clients ของ rollup เพื่อ..รองรับ validity proofs/arbitrate fault proofsทำให้สามารถตรวจสอบการบริดจ์ระหว่าง ETH <> Rollups ที่เป็น trust-minimizedกำหนด “canonical” ให้เชนStandard light clients จะเชื่อใน chain’s consensus ส่วนใหญ่ แต่ Rollup light clients พิเศษกว่า เพราะมันจะตรวจสอบความถูกต้องของ rollup’s state transition ถ้ามี sequencer ที่ไม่ซื่อสัตย์ส่ง block ที่มี invalid state transition = Contract Rollups จะ Reject เพื่อปกป้อง RollupsSovereign Rollupsเป็น Rollups ที่พึ่งพา Base Layer (ETH หรือ Celestia) เพื่อทำ DA และจัดเรียงบล็อก Rollups กลุ่มนี้จะไม่มี L1 smart contract เพื่อกำหนด canonical chain แต่ใช้ Rollups Node กำหนดได้เอง วิธีการทำงาน เช็ก DA บน LA > ชี้ canonical (พิสูจน์ fork-choice rule) ความแตกต่าง เทียบอย่างกว้างๆ Sovereign Rollups จะรับความปลอดภัย*บางส่วน* จาก L1 แต่ Smart contract rollups จะเหมือนกัน แต่เพิ่มเติมเรื่อง censorship resistance และ Validity ความถูกต้องจาก L1 Censorship Resistance Tx ของ User การันตีว่าจะถูกยัดใส่ canonical chain ส่วนนี้มีคนถกว่า sovereign rollups ก็สามารถใช้ DA layer บังคับให้ใส่ Tx ได้ แต่ไม่การันตีว่าจะถูกใส่ใน canonical rollup ส่วน Smart contract rollups จะการันตีให้เข้า canonical เพราะ Base Layer เป็นคนเลือกValidity การ Execute จะเป็นไปตาม state transition function (STF) ของ protocol (สั่งผ่านการทำ validity หรือ fault proofs checked โดยใช้ smart contract)นี่คือสิ่งที่เราๆ เชื่อกัน (ผมด้วย) ถ้าไล่เรียงเหตุผลตามนี้ Rollups จะต้องเลือกระหว่าง:Sovereignty (rollup nodes กำหนด canonical chain เองได้)หรือTrust-minimized composability กับ L1ถ้าเลือกแบบล่างเท่ากับว่า "Rollup ถูกนิยามการทำงานโดยใช้ validating bridge” อธิบายเบสิคการทำงานมายืดยาว โดยเฉพาะในเรื่อง Settlement ที่เป็นตัวกำหนดความเป็น Rollups จาก Proof หลายๆ คนน่าจะพอเข้าใจข้อมูลส่วนนี้อยู่แล้วเตรียมเข้าสู่ด้านมืด ที่บอกว่าสิ่งที่เล่ามาทั้งหมด ไม่ใช่เรื่องจริง และไม่ใช่วิธีการทำงานจริงๆ ของ Rollups เลย แล้วอะไรล่ะคือความจริง?Settlement เป็นแค่เรื่องเล่า ไม่ใช่เรื่องจริง?เมื่อพูดถึง Settlement Layer คนส่วนใหญ่หมายถึงการ "Finalize an enshrined bridge" ทำให้มีดราม่าถกเถียงกันมากมาย หลายๆ คนเข้าใจว่า ORU อย่าง Optimism ใช้เวลา Finalize เป็นสัปดาห์จากจุดนี้จริงๆ แล้ว Optimism Finalize ตอนไหน?การทำ Finality (ยืนยันความถูกต้อง) ของ ORU ใช้เวลา 7 วันเป็นคำตอบที่ถูกเพียงครึ่งเดียว ระยะเวลา 7 วันที่ Bridge ใช้ในทำ Finalize โดยมี Challenging Windows เป็นการยืนยันความถูกต้องในการ Bridge เท่านั้น โดย Bridge จะทำหน้าที่เป็น "Observer" แต่ Bridge ไม่ได้เป็น Observer เดียวในระบบ และยังมี Observer อื่นๆ ที่คอยทำ Finalize ในช่วงเวลาที่ต่างกัน การ Finality ของ Bridge จึงไม่สามารถนิยามความเป็น Rollups ได้ Observer ที่รัน Ethereum + rollup full nodes จะรับรู้ถึง Finality ที่เร็วกว่า เพราะว่าพวกเขาแค่เช็ก 1- state transition ของ rollup ถูกต้อง 2- rollup data ที่เกี่ยวข้องถูกโพสต์และจัดเรียงลำดับบน DA layer เรียบร้อย (และ DA layer ได้ finalized การจัดเรียงแล้ว) จากที่เล่ามาทั้งหมดนี้จึงขอสรุปความจริงอีกด้านของ Rollups ว่า*Finalize 7 วันเป็นแค่ความจริงจากมุมของ Bridge เท่านั้น* ## Publication Information - [thesleeper (✨🔴_🔴✨)](https://paragraph.com/@thesleeper/): Publication homepage - [All Posts](https://paragraph.com/@thesleeper/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@thesleeper): Subscribe to updates - [Twitter](https://twitter.com/aka_steppenwolf): Follow on Twitter