
4 Concept หลักของ Superchain
คุณรู้จัก Optimism Superchain ดีแค่ไหน? มาลองทำความรู้จักมุมใหม่ ที่ Karl Floersch Co-Founder ของ OP จะมาขยายความแบบเจาะลึกกับ 4 คอนเซปต์ที่แตกต่างและสามารถทำให้เป็นจริงได้ โดยยกมาจาก ETHDenver ถอดความมาให้อ่านกันง่ายๆ พร้อมแล้วไปดูกันเลย เนื้อหาในบทความนี้ถอดความมาจากคลิปนี้ สามารถไปดูตัวเต็มๆ ได้เลย หรือสำหรับใครที่เพิ่งเคยได้ยินเรื่อง Superchain ก็สามารถปูพื้นฐานได้ที่นี่ แต่ถ้าใครพร้อมแล้วก็ไปต่อกันเลย thesleeper.ink ✨🔴_🔴✨ @0xthesleeper เจาะลึกถึงใจ ซุปเปอร์เชนคืออะไร มาฟังคำอธิบายจาก @...

OP Summer เปิดเบื้องหลังภาพประวัติศาสตร์ที่ทีมเลือกใช้
เคยสงสัยมั้ยว่าทำไม @optimismPBC ที่มาพร้อมนวัตกรรมใหม่ ถึงใช้ภาพขาวดำเก๊าเก่าอย่างภาพนี้ตอนแจก #airdrop พร้อมแฮชแท็ก #OPSummer is here ความจริงแล้วภาพนี้มีสตอรี่ในประวัติศาสตร์ซ่อนไว้ ที่เกี่ยวข้องกับแนวคิดของทีมพอดิบพอดีปี 1967 ซานฟรานซิสโกในยุคที่ยังไม่มีโซเชียล กลุ่มวัยรุ่น 100,000 ออกมารวมตัวกันที่ Haight-Ashbury โดยไม่ได้นัดหมาย คนที่หลากหลายนี้ต่างหอบข้าวขอบของหอบสิ่งที่ชอบมาแบ่งปันกัน มีทั้งคอนเสิร์ต อาหาร ยา มอบให้กันแบบฟรีๆ เหตุการณ์นี้ถูกเรียกว่า Summer Of Love ในเวลาต่อมาแนวคิดที่...

ทำไมควรเลิกใช้ TPS วัดความเก่งของบล็อกเชน
ยิ่งTPS เยอะยิ่งเร็ว แรงและดี? เธรดนี้จะชวนคุณมาลองตั้งคำถามถึง TPS ตัววัดยอดนิยมที่คนส่วนใหญ่ใช้เปรียบเทียบความเร็วของเชนต่างๆ เพื่อคำนวณหาค่า Maximum throughput ซึ่งดูๆ แล้วก็เห็นภาพดี แล้วทำไมเจ้า TPS ถึงไม่ใช่ตัววัดที่ดี ลองมาทำความเข้าใจไปพร้อมกัน (แปลจาก @kelvinfichter )TPS is a terrible metric, stop using it to compare systemsPlease note: This article discusses and compares different aspects of Ethereum scalability solutions. I work on Optimism, an Optimistic Rollup system, and therefo...



4 Concept หลักของ Superchain
คุณรู้จัก Optimism Superchain ดีแค่ไหน? มาลองทำความรู้จักมุมใหม่ ที่ Karl Floersch Co-Founder ของ OP จะมาขยายความแบบเจาะลึกกับ 4 คอนเซปต์ที่แตกต่างและสามารถทำให้เป็นจริงได้ โดยยกมาจาก ETHDenver ถอดความมาให้อ่านกันง่ายๆ พร้อมแล้วไปดูกันเลย เนื้อหาในบทความนี้ถอดความมาจากคลิปนี้ สามารถไปดูตัวเต็มๆ ได้เลย หรือสำหรับใครที่เพิ่งเคยได้ยินเรื่อง Superchain ก็สามารถปูพื้นฐานได้ที่นี่ แต่ถ้าใครพร้อมแล้วก็ไปต่อกันเลย thesleeper.ink ✨🔴_🔴✨ @0xthesleeper เจาะลึกถึงใจ ซุปเปอร์เชนคืออะไร มาฟังคำอธิบายจาก @...

OP Summer เปิดเบื้องหลังภาพประวัติศาสตร์ที่ทีมเลือกใช้
เคยสงสัยมั้ยว่าทำไม @optimismPBC ที่มาพร้อมนวัตกรรมใหม่ ถึงใช้ภาพขาวดำเก๊าเก่าอย่างภาพนี้ตอนแจก #airdrop พร้อมแฮชแท็ก #OPSummer is here ความจริงแล้วภาพนี้มีสตอรี่ในประวัติศาสตร์ซ่อนไว้ ที่เกี่ยวข้องกับแนวคิดของทีมพอดิบพอดีปี 1967 ซานฟรานซิสโกในยุคที่ยังไม่มีโซเชียล กลุ่มวัยรุ่น 100,000 ออกมารวมตัวกันที่ Haight-Ashbury โดยไม่ได้นัดหมาย คนที่หลากหลายนี้ต่างหอบข้าวขอบของหอบสิ่งที่ชอบมาแบ่งปันกัน มีทั้งคอนเสิร์ต อาหาร ยา มอบให้กันแบบฟรีๆ เหตุการณ์นี้ถูกเรียกว่า Summer Of Love ในเวลาต่อมาแนวคิดที่...

ทำไมควรเลิกใช้ TPS วัดความเก่งของบล็อกเชน
ยิ่งTPS เยอะยิ่งเร็ว แรงและดี? เธรดนี้จะชวนคุณมาลองตั้งคำถามถึง TPS ตัววัดยอดนิยมที่คนส่วนใหญ่ใช้เปรียบเทียบความเร็วของเชนต่างๆ เพื่อคำนวณหาค่า Maximum throughput ซึ่งดูๆ แล้วก็เห็นภาพดี แล้วทำไมเจ้า TPS ถึงไม่ใช่ตัววัดที่ดี ลองมาทำความเข้าใจไปพร้อมกัน (แปลจาก @kelvinfichter )TPS is a terrible metric, stop using it to compare systemsPlease note: This article discusses and compares different aspects of Ethereum scalability solutions. I work on Optimism, an Optimistic Rollup system, and therefo...
Share Dialog
Share Dialog

Subscribe to thesleeper (✨🔴_🔴✨)

Subscribe to thesleeper (✨🔴_🔴✨)
Cannon เจนใหม่ของ Fault Proof ที่รื้อวิธีการทำงานใหม่ ให้เร็ว แรง ปลอดภัย พิสูจน์อะไรก็เจอ โดย Cannon เป็นส่วนหนึ่งของ Bedrock Upgrade ที่กำลังจะมาถึงเร็วๆ นี้
ระบบ Multi-step Fault proof สำหรับ Optimism Bedrock
เพิ่มความสามารถในการทำ Arbitrary golang ใน rollup
EVM Equivalent หมายความว่า L2 system ที่รันบน Optimism จะทำงานเหมือนที่เราอยากได้จาก L1 เป๊ะๆ (เรื่องความปลอดภัย)

หัวใจในการสร้าง Optimism Bedrock คืออะไร? Bedrock คืออัพเกรดใหม่ของ OP ที่เกิดจากประสบการณ์กว่า 2 ปีของการลองถูกลองผิดและการรีเสิร์จ จนได้ Codebase ที่นิมอลที่สุด โดยให้ความสำคัญกับ Reduce Reuse Recycle ซึ่งจะกลายเป็นฐานราก (Built to last) สู่อะไรใหม่ๆ ของ Optimism อีกมากมาย

หัวใจในการสร้าง Cannon
OP ให้ความสำคัญกับการ Reuse จึงเป็นที่มาของการใช้ Geth ซึ่งเป็น Client ที่ใช้แพร่หลายบน ETH และพัฒนาต่อยอดมาเป็นปีๆ เรียกว่า Minigeth
ใช้ MIPS RISC เป็น instruction set ที่ Minimal มากๆๆ และรัน codebase on top
สร้าง Abstraction ใหม่ที่ตอบโจทย์กว่า

Abstraction เดิมที่เคยคิดว่า Work มันก็ไม่ Work อย่างที่คิด รอบนี้จึงคิดใหม่ทำใหม่ จากภาพด้านบน > L2 EVM ที่ใช้ L2.geth.go ซึ่งเป็น eth client ที่ใช้กันแพร่หลาย (solidity เล็กมาก~600 lines) > นำมา Compile golang ไปเป็น VM > ผ่าน MIPS VM เอาไปทำอะไรนู่นนี่ต่อ >L1 EVM L1MIPS.sol

2 เรื่องที่ยากที่สุด ที่เป็นปัญหาที่เกิดขึ้นเมื่อสร้าง Rollup คือ Inputs และ State ซึ่งทั้งสองเรื่องนี้มีวิธีแก้หลายวิธีแต่ถ้าเราใช้วิธีแก้ที่ไม่ Perfect Fit ทุกอย่างมันก็ผิดที่ผิดทางไปหมด เราลยต้องหา Abstraction ที่ถูกต้องที่สุด
เรื่องแรก Inputs เราจะจัดการ Input ที่ได้ยังไง มันมีหลายวิธีมาก เช่นการ submit ลงบน Smart Contract แต่ในระหว่างกระบวนการ fault proof เราจะ verify ยังไง? แล้วอะไรคือการจัดการกับ Input ที่ถูกต้องกันแน่
เรื่องที่สอง State ลองนึกภาพว่าเรามี rollup ที่รันไป 1000 บล็อก ถ้าเราอยาก fault proof บล็อกที่ 1001 เราไม่ตรวจ บล็อก 1-1000 เลยได้มั้ยเพราะไม่มีอะไรผิดปกติเลยนิ แต่ปัญหาที่ตามมาคือ ถ้าไม่ตรวจไล่มาแต่ต้น มันจะไม่มีทางรู้ state ของ บล็อกก่อนหน้า (1000) ได้ แล้วต้องทำยังไง?

นี่จึงเป็นที่มาของจิ๊กซอว์มหัศจรรย์ชิ้นสุดท้ายที่เรียกว่า Preimage Oracle ที่ทำให้เราสามารถเข้าถึง Preimage ของบล็อกได้ ซึ่งฟังดูง่าย แต่ Common Sense มันทำไม่ได้ เพราะตัว Hash มันเป็น preimage resistant ในตัว และหัวใจของ Hash มันต้องเปิดดูไม่ได้

ธรรมชาติของ hash มันจะไม่ยอมให้เราเข้าถึงข้อมูลได้ แต่ก็มี hash บางตัวที่สามารถทำได้และมันก็รอให้เราเข้าไปค้นพบด้วยซ้ำ มันคือ block.hash ที่มี preimage อยู่ เมื่อเราได้ block.hash มา เราก็สามารถ reverse ไล่ข้อมูลย้อนกลับไปยัง output ที่เป็น header ได้
แก้ปัญหาเรื่อง input ได้ด้วย block.hash เจอ input ที่สามารถเข้าถึงข้อมูลทั้งหมดในระบบและเจอ L1 block hash ตัวถัดไป แค่ใส่ block.hash เข้าไปใน VM ก็สามารถใช้ data availability เพื่อหาข้อมูลอะไรก็ได้ อีกข้อดีของสิ่งนี้คือเราไม่ต้อง submit data ลง smart contract ด้วย
Fun fact : ถ้าเราย้อนกลับไปรื้อ reference implementation ใน spec repo ของ OP Spec เราจะไม่เจอ Smart contract ไหนที่ submit tx เลย เพราะความจิงแล้ว sequencer submit ลงไปบน EOA ในนั้นจะไม่มี code ไม่มี account ไม่มี byte code อะไรเก็บไว้เพราะมันส่งตรงไปยัง block header เลย

ปัญหาที่สองคือเรื่อง State ก็ถูกค้นพบใน block.hash เหมือนกัน อยู่ในส่วนที่เป็น stateRoot ที่เราสามารถเปิดข้อมูลย้อนกลับไปในอดีตได้เรื่อยๆ (เหมือนตอนเอเรนย้อนอดีตกลับไปจากพลังของไททันจู่โจม) ใน stateRoot เราจะเจอข้อมูลทั้งหมดตั้งแต่ Nonce, balance, storage root และ codeHash
ท่อนนี้แหละทรงพลัง hash (next_L1_blockhash, prev_L2_blockhash) ใน next_L1_blockhash เราสามารถดึง the header ต่อด้วย Calldata ใน prev_L2_blockhash เราสามารถดึง stateRoot และ state ของทุกอย่างที่คุณอยากรู้

Cannon ของ Optimism จึงเป็น Fault Proof ตัวใหม่ ที่ทรงพลังมากในการเข้าถึงข้อมูล เรียกว่าเป็น The One true input ที่แท้ทรู หยั่งรู้ทุกความจริงเลยก็ว่าได้ อีกเรื่องที่สำคัญ! นอกจาก Cannon แล้ว OP Bedrock ยังถูกดีไซน์ให้สามารถรองรับ Multiple Proof ได้ เพื่อความปลอดภัยที่มากกว่า
Cannon เจนใหม่ของ Fault Proof ที่รื้อวิธีการทำงานใหม่ ให้เร็ว แรง ปลอดภัย พิสูจน์อะไรก็เจอ โดย Cannon เป็นส่วนหนึ่งของ Bedrock Upgrade ที่กำลังจะมาถึงเร็วๆ นี้
ระบบ Multi-step Fault proof สำหรับ Optimism Bedrock
เพิ่มความสามารถในการทำ Arbitrary golang ใน rollup
EVM Equivalent หมายความว่า L2 system ที่รันบน Optimism จะทำงานเหมือนที่เราอยากได้จาก L1 เป๊ะๆ (เรื่องความปลอดภัย)

หัวใจในการสร้าง Optimism Bedrock คืออะไร? Bedrock คืออัพเกรดใหม่ของ OP ที่เกิดจากประสบการณ์กว่า 2 ปีของการลองถูกลองผิดและการรีเสิร์จ จนได้ Codebase ที่นิมอลที่สุด โดยให้ความสำคัญกับ Reduce Reuse Recycle ซึ่งจะกลายเป็นฐานราก (Built to last) สู่อะไรใหม่ๆ ของ Optimism อีกมากมาย

หัวใจในการสร้าง Cannon
OP ให้ความสำคัญกับการ Reuse จึงเป็นที่มาของการใช้ Geth ซึ่งเป็น Client ที่ใช้แพร่หลายบน ETH และพัฒนาต่อยอดมาเป็นปีๆ เรียกว่า Minigeth
ใช้ MIPS RISC เป็น instruction set ที่ Minimal มากๆๆ และรัน codebase on top
สร้าง Abstraction ใหม่ที่ตอบโจทย์กว่า

Abstraction เดิมที่เคยคิดว่า Work มันก็ไม่ Work อย่างที่คิด รอบนี้จึงคิดใหม่ทำใหม่ จากภาพด้านบน > L2 EVM ที่ใช้ L2.geth.go ซึ่งเป็น eth client ที่ใช้กันแพร่หลาย (solidity เล็กมาก~600 lines) > นำมา Compile golang ไปเป็น VM > ผ่าน MIPS VM เอาไปทำอะไรนู่นนี่ต่อ >L1 EVM L1MIPS.sol

2 เรื่องที่ยากที่สุด ที่เป็นปัญหาที่เกิดขึ้นเมื่อสร้าง Rollup คือ Inputs และ State ซึ่งทั้งสองเรื่องนี้มีวิธีแก้หลายวิธีแต่ถ้าเราใช้วิธีแก้ที่ไม่ Perfect Fit ทุกอย่างมันก็ผิดที่ผิดทางไปหมด เราลยต้องหา Abstraction ที่ถูกต้องที่สุด
เรื่องแรก Inputs เราจะจัดการ Input ที่ได้ยังไง มันมีหลายวิธีมาก เช่นการ submit ลงบน Smart Contract แต่ในระหว่างกระบวนการ fault proof เราจะ verify ยังไง? แล้วอะไรคือการจัดการกับ Input ที่ถูกต้องกันแน่
เรื่องที่สอง State ลองนึกภาพว่าเรามี rollup ที่รันไป 1000 บล็อก ถ้าเราอยาก fault proof บล็อกที่ 1001 เราไม่ตรวจ บล็อก 1-1000 เลยได้มั้ยเพราะไม่มีอะไรผิดปกติเลยนิ แต่ปัญหาที่ตามมาคือ ถ้าไม่ตรวจไล่มาแต่ต้น มันจะไม่มีทางรู้ state ของ บล็อกก่อนหน้า (1000) ได้ แล้วต้องทำยังไง?

นี่จึงเป็นที่มาของจิ๊กซอว์มหัศจรรย์ชิ้นสุดท้ายที่เรียกว่า Preimage Oracle ที่ทำให้เราสามารถเข้าถึง Preimage ของบล็อกได้ ซึ่งฟังดูง่าย แต่ Common Sense มันทำไม่ได้ เพราะตัว Hash มันเป็น preimage resistant ในตัว และหัวใจของ Hash มันต้องเปิดดูไม่ได้

ธรรมชาติของ hash มันจะไม่ยอมให้เราเข้าถึงข้อมูลได้ แต่ก็มี hash บางตัวที่สามารถทำได้และมันก็รอให้เราเข้าไปค้นพบด้วยซ้ำ มันคือ block.hash ที่มี preimage อยู่ เมื่อเราได้ block.hash มา เราก็สามารถ reverse ไล่ข้อมูลย้อนกลับไปยัง output ที่เป็น header ได้
แก้ปัญหาเรื่อง input ได้ด้วย block.hash เจอ input ที่สามารถเข้าถึงข้อมูลทั้งหมดในระบบและเจอ L1 block hash ตัวถัดไป แค่ใส่ block.hash เข้าไปใน VM ก็สามารถใช้ data availability เพื่อหาข้อมูลอะไรก็ได้ อีกข้อดีของสิ่งนี้คือเราไม่ต้อง submit data ลง smart contract ด้วย
Fun fact : ถ้าเราย้อนกลับไปรื้อ reference implementation ใน spec repo ของ OP Spec เราจะไม่เจอ Smart contract ไหนที่ submit tx เลย เพราะความจิงแล้ว sequencer submit ลงไปบน EOA ในนั้นจะไม่มี code ไม่มี account ไม่มี byte code อะไรเก็บไว้เพราะมันส่งตรงไปยัง block header เลย

ปัญหาที่สองคือเรื่อง State ก็ถูกค้นพบใน block.hash เหมือนกัน อยู่ในส่วนที่เป็น stateRoot ที่เราสามารถเปิดข้อมูลย้อนกลับไปในอดีตได้เรื่อยๆ (เหมือนตอนเอเรนย้อนอดีตกลับไปจากพลังของไททันจู่โจม) ใน stateRoot เราจะเจอข้อมูลทั้งหมดตั้งแต่ Nonce, balance, storage root และ codeHash
ท่อนนี้แหละทรงพลัง hash (next_L1_blockhash, prev_L2_blockhash) ใน next_L1_blockhash เราสามารถดึง the header ต่อด้วย Calldata ใน prev_L2_blockhash เราสามารถดึง stateRoot และ state ของทุกอย่างที่คุณอยากรู้

Cannon ของ Optimism จึงเป็น Fault Proof ตัวใหม่ ที่ทรงพลังมากในการเข้าถึงข้อมูล เรียกว่าเป็น The One true input ที่แท้ทรู หยั่งรู้ทุกความจริงเลยก็ว่าได้ อีกเรื่องที่สำคัญ! นอกจาก Cannon แล้ว OP Bedrock ยังถูกดีไซน์ให้สามารถรองรับ Multiple Proof ได้ เพื่อความปลอดภัยที่มากกว่า
<100 subscribers
<100 subscribers
No activity yet