การวิเคราะห์เชิงลึกว่า Optimism ตระหนักถึงค่าธรรมเนียมการจัดเกรดของสหรัฐฯ อย่างไร
หมายเหตุผู้แปล: ในเดือนมกราคม Optimism ทวีตเพื่ออัปเดตค่าโสหุ้ยค่าสะสมคงที่ (ค่าโสหุ้ยคงที่) จาก 2,750 แก๊สเป็น 2,100 แก๊ส และค่าโสหุ้ยแบบไดนามิก (Fee Scalar) จาก 1.5 เท่าเป็น 1.24 เท่า และในเดือนมีนาคม การอัปเดตได้รับการเผยแพร่โดยระบุว่า ทำการบีบอัดระดับระบบบนข้อมูลการโทรของธุรกรรม ชุดของการปรับเปลี่ยนและการอัพเดทนี้จะนำการเปลี่ยนแปลงครั้งใหญ่มาสู่ค่าใช้จ่ายของ Optimism ซึ่งจะส่งผลต่อค่าธรรมเนียมการทำธุรกรรมของผู้ใช้ (ค่าธรรมเนียมการทำธุรกรรมจะลดลงโดยเฉลี่ย 30%-40%) องค์ประกอบค่าธรรมเนียมเหล่านี้มีบทบาทอย่างไรในการดำเนินการของ Optimism บทความนี้จะแนะนำส่วนประกอบของค่าโสหุ้ย Optimism ในภาพรวมก่อน จากนั้นจึงวิเคราะห์ว่าการปรับค่าคอมโพเนนต์เหล่านี้ส่งผลต่อค่าธรรมเนียมการทำธุรกรรมของผู้ใช้อย่างไร

ขอแนะนำค่าธรรมเนียมการทำธุรกรรม Optimism
เพื่อทำความเข้าใจว่าเราลดค่าใช้จ่ายได้อย่างไร ก่อนอื่นเราต้องเข้าใจส่วนประกอบของค่าธรรมเนียมการทำธุรกรรมของ Optimism:1) ค่าใช้จ่ายในการสะสม: ค่าใช้จ่ายในการ "ยกเลิก" (บรรจุภัณฑ์) การทำธุรกรรมเป็นชุดการทำธุรกรรมแล้วส่งไปยัง Ethereum mainnet (L1)2) ค่าใช้จ่ายในการดำเนินการ L2: ค่าโสหุ้ยของการดำเนินธุรกรรมบน Optimism (L2) หากต้องการดูเชิงลึก โปรดอ่าน"การมองโลกในแง่ดีทำงานอย่างไร"เอกสาร.
1) ค่าใช้จ่ายในการสะสม
ในแง่ดี ผู้ใช้ไม่จำเป็นต้องจ่ายค่าธรรมเนียมแก๊ส L1 สำหรับการทำธุรกรรมทั้งหมดอีกต่อไป แต่ต้องจ่ายค่าธรรมเนียมบางส่วนที่เกิดจากการส่งข้อมูลธุรกรรมของคุณไปยัง L1 ผ่านแบทช์ธุรกรรมเท่านั้น ค่าธรรมเนียมนี้รวมถึง Calldata (ข้อมูลอินพุต) จริงของธุรกรรมของคุณและค่าใช้จ่ายคงที่ (Fixed Overhead) ซึ่งเป็นค่าธรรมเนียมการดำเนินการเพิ่มเติมที่จำเป็นในการเพิ่มธุรกรรมไปยังชุดธุรกรรมที่ใหญ่ขึ้น
การมองโลกในแง่ดียังเพิ่มค่าโสหุ้ยแบบไดนามิก (สเกลาร์ค่าธรรมเนียม ค่าสัมประสิทธิ์สัดส่วนต้นทุน) เป็นค่าธรรมเนียมเพิ่มเติม สิ่งนี้ทำให้เรามีเงินทุนเพิ่มเติมเพื่อใช้เป็นกันชนในกรณีที่ราคา L1 เพิ่มขึ้นอย่างรวดเร็ว และเงินทุนส่วนเกินเพื่อส่งเสริมการพัฒนาสินค้าสาธารณะ (สัญญานี้อยู่ในบทความ Optimism PBC เรื่อง "การระดมทุนสินค้าสาธารณะย้อนหลัง" และอ่านบทความสรุปของเราเกี่ยวกับการระดมทุนรอบแรก)
ค่าโสหุ้ย Calldata และราคาแก๊ส L1 ถูกกำหนดโดย Ethereum L1แต่ค่าโสหุ้ยคงที่และสเกลาร์ค่าธรรมเนียมเป็น "ตัวเลขแฟนซี" ที่สามารถปรับเปลี่ยนได้โดยการมองในแง่ดี
"ค่าธรรมเนียมก๊าซ L1" แสดงถึงต้นทุนสะสมเหล่านี้:
Layer 1 Gas Fee =Fee Scalar * L1 Gas Price * (Calldata + Fixed Overhead)
ในปัจจุบัน ค่าใช้จ่ายสะสมคิดเป็นประมาณ 99.6% ของค่าธรรมเนียมการทำธุรกรรมใน Optimism ดังนั้นเราจึงสามารถลดค่าธรรมเนียมการทำธุรกรรมได้อย่างมากโดยการปรับส่วนนี้ให้เหมาะสม
2) ค่าใช้จ่ายในการดำเนินการ L2
ธุรกรรมบน Optimism ใช้ก๊าซในปริมาณเท่ากันกับการทำธุรกรรมเทียบเท่าบน Ethereum อย่างไรก็ตาม ค่าใช้จ่ายมาตรฐานของก๊าซบน Optimism นั้นอยู่ที่ 0.001 gwei เท่านั้น ซึ่งถูกกว่า L1 หลายเท่า ราคาก๊าซนี้เพิ่มขึ้นเล็กน้อยในช่วงที่มีการใช้งานสูง แต่เฉลี่ยเพียง 0.4% ของค่าธรรมเนียมการทำธุรกรรมทั้งหมด
"ค่าธรรมเนียมก๊าซ L2" แสดงถึงค่าใช้จ่ายในการดำเนินการ:
Layer 2 Gas Fee = L2 Gas Price * L2 Gas Used
ประหยัดค่าธรรมเนียมการทำธุรกรรม
เมื่อเพิ่มค่าดำเนินการสะสมและค่าดำเนินการ L2 เราจะได้รับค่าธรรมเนียมการทำธุรกรรมทั้งหมด สำหรับการทำธุรกรรมอย่างง่าย (เช่น การโอน ETH) ต้นทุนของ Optimism นั้นถูกกว่า Ethereum ประมาณ 5 เท่า แต่สำหรับการโต้ตอบที่ซับซ้อนกว่า (เช่น ธุรกรรม Swap ถาวรหรือธุรกรรมออปชั่น) Optimism สามารถทำได้ดีกว่า Ethereum L1 โดยตรง ราคาถูกกว่า 200 เท่า .
ค้นพบพารามิเตอร์ค่าธรรมเนียมใหม่ของเรา
ก่อนที่เราจะลดค่าธรรมเนียม พารามิเตอร์ค่าโสหุ้ยคงที่ถูกกำหนดไว้ที่ 2,750 แก๊สต่อธุรกรรม และปัจจัยการปรับค่าธรรมเนียมถูกกำหนดไว้ที่ 1.5 เท่า ภายหลังมีการปรับเปลี่ยนบางอย่างกับทั้งคู่:
1. โครงสร้างเหนือศีรษะส่วนล่าง: เนื่องจาก Optimism ได้อัปเกรด EVM Equivalence (EVM Equivalence) เมื่อวันที่ 11 พฤศจิกายนปีที่แล้ว จึงจำเป็นต้องใช้ทรัพยากรน้อยลงในการส่งชุดธุรกรรม Optimism ไปยัง L1 ค่าโสหุ้ยที่แท้จริงลดลงเกือบ 25% จาก 2,750 ก๊าซต่อการทำธุรกรรมเป็น 2,100 ก๊าซต่อการทำธุรกรรม
2. บทเรียนจากประสบการณ์: แม้ว่าจะยังเป็นวันแรกของการมองโลกในแง่ดี แต่เรารู้ในช่วงไม่กี่เดือนนับตั้งแต่เปิดตัว mainnet ว่าเรามีความสามารถที่จะลดเบี้ยประกันจากอัตรากำไร 35% เป็น 10% อัตราส่วนกำไร (อัตราส่วนกำไร = [ค่าธรรมเนียมการเรียกเก็บ L2 - ค่าธรรมเนียมการเรียกเก็บ L1]/ค่าธรรมเนียมการเรียกเก็บ L2)
ลดก๊าซเหนือศีรษะหลังจากอัปเกรด EVM เทียบเท่า
การคาดการณ์และการเพิ่มประสิทธิภาพ
ขั้นตอนต่อไปคือการแปลงค่าโสหุ้ยที่ต่ำกว่าเป็นค่าธรรมเนียมที่ถูกกว่าสำหรับผู้ใช้ Optimism ในการปรับพารามิเตอร์สองตัวของค่าโสหุ้ยคงที่และปัจจัยสเกลค่าธรรมเนียมอย่างเหมาะสม เราต้องเข้าใจว่าสิ่งใดที่ส่งผลต่อค่าธรรมเนียมของเรา:
1. Calldata:ปริมาณของ Calldata gas ถูกกำหนดโดยประเภทธุรกรรม (เช่น การโอน ETH: 0 calldata gas, Chainlink oracle update: 890 gas, Uniswap V3 ธุรกรรม: 3200 gas) ธุรกรรมโดยเฉลี่ยใช้ก๊าซข้อมูลการโทร 1100 รายการ แต่ก๊าซนี้อาจสูงขึ้นหรือต่ำลงเนื่องจากแอปต่างๆ บน Optimism ถูกนำมาใช้อย่างแพร่หลาย
2. ค่าโสหุ้ย:เมื่อขนาดแบทช์ทั้งหมดใหญ่ขึ้น ค่าใช้จ่ายในการเพิ่มธุรกรรมในแบทช์จะลดลง นี่คือจุดที่ L2 scaling แตกต่างจาก L1 scaling: ยิ่งมีธุรกรรมมาก ค่าธรรมเนียมธุรกรรมยิ่งถูกลง ค่าโสหุ้ยลดลงจาก 2,750 แก๊สเป็น 2,100 แก๊ส และจะลดลงอย่างต่อเนื่องเมื่อการใช้งาน Optimism เพิ่มขึ้น
3. ราคาก๊าซ L1:คำอธิบายภาพ
ต้นทุนค่าโสหุ้ยที่แตกต่างกันไปตามขนาดแบทช์
ตอนนี้เราทราบแล้วว่าปัจจัยเหล่านั้นมีลักษณะอย่างไร แต่เมื่อเราลดค่าธรรมเนียมลง คาดว่าการใช้งานจะเปลี่ยนไป (เช่น มีธุรกรรมมากขึ้น ใช้ calldata มากขึ้น) ดังนั้นเราจึงตั้งสมมติฐาน เสนอชุดสถานการณ์ แล้วจำลองวันสุ่ม 5,000 วันภายในช่วงเหล่านี้ (อ้างอิงวิธีมอนติคาร์โล วิธีมอนติคาร์โล) จากนั้นเราพบปัญหาการเพิ่มประสิทธิภาพง่ายๆ โดยการปรับค่าโสหุ้ยคงที่และค่าสัมประสิทธิ์อัตราส่วนค่าใช้จ่าย เราจะเข้าใกล้เป้าหมายกำไร 10% มากที่สุด
สรุปคือปรับต้นทุนคงที่เป็น 2100 แก๊ส และปรับอัตราส่วนต้นทุนเป็น 1.24 เท่า
ต้องการทราบข้อมูลล่าสุดหรือไม่ โปรดดูแดชบอร์ดโอเวอร์เฮดธุรกรรมของเรา
การหมุนเวียนในแง่ดีกำลังเติบโตอย่างรวดเร็ว หลังจากที่เราผ่านขั้นตอน "0 ต่อ 1" แล้ว ขั้นตอนต่อไปคือการเริ่ม "การเพิ่มประสิทธิภาพ" การเพิ่มประสิทธิภาพที่แท้จริงที่สุดคือการเพิ่มประสิทธิภาพของโอเวอร์เฮด ภายในเดือนหน้า เราจะปรับใช้การบีบอัดข้อมูลการโทรระดับระบบครั้งแรกในเครือข่าย ORU ที่ใช้งานจริง ซึ่งจะทำให้ต้นทุนลดลง 30-40%
ในอนาคต เรามีแผนอื่นๆ ที่จะประหยัดค่าน้ำมันมากขึ้น และฤดูร้อนนี้จะเปิดตัวเวอร์ชันหลักถัดไป: Bedrock โพสต์นี้จะลงลึกในรายละเอียดของการบีบอัดข้อมูลการโทร โดยเฉพาะอย่างยิ่ง วิธีที่เราประเมินอัลกอริทึมการบีบอัดต่างๆ และใช้ประโยชน์จากมันเพื่อให้ได้ค่าใช้จ่ายในระดับต่ำกว่าดอลลาร์
ภาพรวมข้อมูลการโทร
การมองโลกในแง่ดีใช้ Ethereum เป็นเลเยอร์ความพร้อมใช้งานของข้อมูล ซึ่งหมายความว่าทุกธุรกรรมที่ดำเนินการบน Optimism จะถูกเก็บไว้ (แต่ไม่ได้ดำเนินการ) บน Ethereum ขณะนี้เราจัดเก็บธุรกรรม Optimism ไว้ใน calldata ธุรกรรม L2 หลายรายการถูกแบทช์เป็น Binary Blob เดียว และ Blob นี้ (รวมถึงข้อมูลอื่นๆ) จะถูกจัดเก็บไว้ในฟิลด์ข้อมูลของธุรกรรม ในการเรียกข้อมูลนั้น เราต้องย้อนกลับไปดูที่ตัวธุรกรรมเอง (เก็บไว้ในบล็อก) เนื่องจากบล็อค Ethereum ถูกรักษาไว้ การทำธุรกรรมบนห่วงโซ่ Optimism จึงสามารถสร้างใหม่ได้เสมอด้วยความช่วยเหลือของ Ethereum
แม้ว่าการจัดเก็บข้อมูลในบล็อกจะมีราคาถูกกว่าการจัดเก็บข้อมูลในสถานะของสัญญามาก แต่การบล็อกตามประวัติที่คงอยู่จะทำให้ต้นทุนกับตัวดำเนินการโหนด ดังนั้น Ethereum จะเรียกเก็บเงินสำหรับข้อมูลการโทร ข้อมูลการโทร 0 ไบต์แต่ละรายการใช้ 4 แก๊ส และข้อมูลการโทรที่ไม่ใช่ศูนย์ไบต์แต่ละรายการใช้ 16 แก๊ส (คลาส 0 ไบต์คิดเป็นประมาณ 40% ของไบต์ที่ส่งไปยัง Optimism)
แม้ว่าการเผยแพร่ข้อมูลการโทรไปยัง L1 จะเป็นส่วนสำคัญของการยกเลิกเพื่อประหยัดค่าธรรมเนียมน้ำมัน แต่ค่าธรรมเนียมนี้ยังเป็นต้นทุนหลักในการทำธุรกรรมสำหรับผู้ใช้เลเยอร์ 2 กล่าวอีกนัยหนึ่ง ยิ่งเราสามารถลดปริมาณข้อมูลที่เผยแพร่โดย calldata ได้มากเท่าใด ค่าธรรมเนียมการทำธุรกรรมของการยกเลิกก็จะยิ่งถูกลงเท่านั้น สู่การบีบอัด: ศิลปะแห่งการลดขนาดข้อมูล! ต่อไปนี้จะให้การวิเคราะห์เชิงลึกของการบีบอัดข้อมูลจริง:
ภาพรวมและผลลัพธ์ของการบีบอัด
เราศึกษาแบทช์ 22,000 ชุด (เกือบ 3 ล้านธุรกรรมแต่ละรายการ) ที่ส่งโดย Optimism ไปยัง Ethereum และบีบอัดในรูปแบบต่างๆ เพื่อกำหนดวิธีที่ดีที่สุดในการบีบอัดข้อมูลและเพื่อทดลองกับสิ่งที่เป็นไปได้
นอกจากนี้ เรายังดูที่อัลกอริธึมการบีบอัดต่างๆ และอัตราส่วนการบีบอัดที่คำนวณได้ (ขนาดข้อมูลที่บีบอัดเป็นเปอร์เซ็นต์ของขนาดที่ไม่บีบอัด) และการประหยัดโดยประมาณ (สมมติว่า 40% ของไบต์ในธุรกรรมคือ 0 ไบต์)
ตัวเลือกการกำหนดค่าหนึ่งที่ต้องระวังคือพจนานุกรม สร้างพจนานุกรมล่วงหน้าเพื่อแสดงข้อมูลอัลกอริทึมที่ใช้กันทั่วไปในข้อมูลจริง อัลกอริทึมการบีบอัดใช้พจนานุกรมเพื่อบีบอัดข้อมูลได้ดีขึ้น โดยเฉพาะอย่างยิ่งเมื่อบีบอัดข้อมูลจำนวนเล็กน้อยในคราวเดียว ด้วยการสุ่มตัวอย่างธุรกรรม เราสามารถสร้างพจนานุกรมสำหรับ zlib และ zstd ซึ่งสามารถปรับปรุงอัตราส่วนการบีบอัดเมื่อบีบอัดธุรกรรมเดี่ยวและชุดธุรกรรม
เนื่องจากฟิลด์ส่วนใหญ่ในธุรกรรม Ethereum เป็นแบบสุ่ม (ที่อยู่และตัวเลือกฟังก์ชันเป็นแฮช ลายเซ็นทั้งหมดควรเป็นแบบสุ่ม) อัตราส่วนการบีบอัดของธุรกรรม Ethereum เดียวจึงไม่สูง เนื่องจาก 0 ไบต์บน Ethereum เองช่วยประหยัดแก๊ส และอัลกอริธึมการบีบอัดจะลบไบต์เหล่านี้ออกอย่างรวดเร็ว การประหยัดต้นทุนจะไม่มากเท่ากับอัตราการบีบอัด ดังนั้น เพื่อประหยัดเงินให้ได้มากที่สุด เราจำเป็นต้องเรียกใช้อัลกอริทึมขั้นสูงกับข้อมูลให้ได้มากที่สุด
นี่คือผลลัพธ์ของการบีบอัดธุรกรรมเอง:
อย่างที่คุณเห็น การบีบอัดธุรกรรมเดียวช่วยให้เราประหยัดได้เพียง 10-15% เท่านั้น โปรดทราบว่าการลดขนาดธุรกรรมมีขนาดใหญ่กว่านี้ แต่การประหยัดจะเล็กลง เนื่องจากค่า 0 ไบต์ที่ถูกกว่าที่กล่าวถึงข้างต้น
อัลกอริทึม zstandard กับพจนานุกรมทำงานได้ดีขึ้นมาก เนื่องจากมีบางสิ่งที่เหมือนกันระหว่างธุรกรรมแต่ละรายการและธุรกรรมที่จัดเก็บไว้ในพจนานุกรม อย่างไรก็ตาม zstd ยังคงทำงานได้ดีขึ้นเมื่อบีบอัดข้อมูลจำนวนมากพร้อมกัน
อีกประการหนึ่งคือการบีบอัดการทำธุรกรรมแต่ละรายการพร้อมกัน สิ่งนี้ไม่สามารถทำได้ในทางปฏิบัติ แต่สามารถศึกษาเป็นตัวอย่างของอัตราส่วนการอัดสูงสุด
ดังนั้น ในตัวอย่างนี้ เราสามารถลดโอเวอร์เฮดได้ 10%-50% ผ่านการบีบอัด แต่ในทางปฏิบัติเราจะบรรลุอะไรได้บ้าง?
เมื่อดูที่การบีบอัดแบทช์ของธุรกรรม (ธุรกรรมหลายร้อยรายการ) จะบีบอัดได้ดีกว่าการบีบอัดธุรกรรมเดียวอย่างเห็นได้ชัด แต่ต่ำกว่าการบีบอัดธุรกรรมทั้งหมดในคราวเดียวเล็กน้อย นี่เป็นเพราะผู้ใช้มีแนวโน้มที่จะโต้ตอบกับสัญญาบางอย่าง นอกจากนี้ บางฟิลด์ เช่น chain ID และราคาน้ำมันมักจะคล้ายกันในการทำธุรกรรม อัลกอริธึมการบีบอัดอาศัยความคล้ายคลึงกันเหล่านี้ในการทำงาน
เมื่อเปรียบเทียบอัลกอริธึมการบีบอัดต่างๆ เราพบว่า zlib, zstd และ brotli เป็นอัลกอริทึมที่มีอัตราส่วนการบีบอัดสูงสุด เราไม่รวม Brotli เนื่องจากช้ากว่า zstd หรือ zlib มากที่อัตราส่วนการบีบอัดที่เทียบเคียงได้ โดยทั่วไป อัตราการบีบอัดของอัลกอริทึมยิ่งสูง (หรืออัตราการบีบอัดของอัลกอริทึมยิ่งสูง) อัลกอริทึมจะทำงานช้าลง ในเกณฑ์มาตรฐานทั่วไป zstd มีแนวโน้มที่จะทำงานได้ดีกว่าอัลกอริธึมการบีบอัดอื่นๆ ในทุกช่วงความเร็ว/อัตราส่วนการบีบอัด โปรดทราบว่าธุรกรรม Ethereum มีลักษณะที่แตกต่างจากข้อมูลในเกณฑ์มาตรฐาน
สรุป
สรุป
สรุป: หากแนวโน้มที่ผ่านมายังคงดำเนินต่อไป เราคาดว่าจะสามารถลดต้นทุนได้ 30%-40% โดยการแนะนำวิธีการบีบอัดที่กล่าวถึงข้างต้น
ชุดที่ใช้อัลกอริทึมการบีบอัด Zlib จะพร้อมใช้งานใน Optimism เร็วๆ นี้
3/17 เปิดตัวเครือข่ายทดสอบ Kovan 3/24 เปิดตัวเครือข่ายหลัก
การบีบอัดตาม Zstd (พร้อมพจนานุกรม) อยู่ในแผนงานการอัปเกรดในอนาคตของ Optimism: Bedrock ซึ่งจะเปิดตัวในปลายปีนี้
นอกเหนือจากการลดค่าธรรมเนียมสำหรับผู้ใช้ผ่านการบีบอัดแล้ว Optimism ยังค้นคว้าวิธีปรับปรุงความสามารถของ Ethereum ในการทำหน้าที่เป็นเลเยอร์ความพร้อมใช้งานของข้อมูลผ่าน EIP-4844 และวิธีการที่คล้ายกันเพื่อลดค่าใช้จ่ายเพิ่มเติม
ภาคผนวก: สรุปอัลกอริทึม
ลิงค์ต้นฉบับ


