ข้อความต้นฉบับ: ราคาก๊าซหลายมิติ
เรียบเรียงโดย: Odaily Planet Daily Asher

ในเครือข่าย Ethereum ทรัพยากรจะถูกจำกัดและกำหนดราคาผ่านทรัพยากรเดียว "แก๊ส" Gas คือการวัด "ความพยายามในการคำนวณ" ที่จำเป็นในการประมวลผลธุรกรรมหรือบล็อกเฉพาะ แก๊สผสมผสาน "ความพยายาม" หลายประเภทเข้าด้วยกัน สิ่งสำคัญที่สุดคือ:
การคำนวณเบื้องต้น (เช่น ADD, MULTIPLY )
อ่านและเขียนที่เก็บข้อมูล Ethereum (เช่น SSTORE, SLOAD, การโอน ETH)
แบนด์วิธข้อมูล
ต้นทุนการสร้างบล็อกพิสูจน์ ZK-SNARK
ตัวอย่างเช่น ธุรกรรมนี้ มีค่าใช้จ่ายรวม 47085 Gas ซึ่งรวมถึง: (i) 21,000 Gas สำหรับ "ค่าธรรมเนียมพื้นฐาน" (ii) 1,556 Gas สำหรับไบต์ข้อมูลการโทรซึ่งเป็นส่วนหนึ่งของธุรกรรม (iii) 16,500 Gas สำหรับการอ่านและการเขียนที่จัดเก็บ (iv) 2,149 Gas สำหรับการทำ บันทึก ส่วนที่เหลือใช้เพื่อดำเนินการ EVM ค่าธรรมเนียมการทำธุรกรรมที่ผู้ใช้ต้องจ่ายจะเป็นสัดส่วนกับก๊าซที่ใช้โดยการทำธุรกรรม บล็อกหนึ่งสามารถบรรจุก๊าซได้มากถึง 30 ล้านก๊าซ และราคาก๊าซจะถูกปรับอย่างต่อเนื่องผ่าน กลไกเป้าหมาย EIP-1559 เพื่อให้แน่ใจว่าบล็อกโดยเฉลี่ยจะมีก๊าซ 15 ล้านก๊าซ

วิธีการนี้มีข้อดีหลักประการหนึ่ง: เนื่องจากธุรกรรมทั้งหมดถูกรวมเป็นทรัพยากรเสมือนเดียว การออกแบบตลาดจึงง่ายมาก การเพิ่มประสิทธิภาพธุรกรรมเพื่อลดต้นทุนนั้นเป็นเรื่องง่าย การเพิ่มประสิทธิภาพบล็อกเพื่อเรียกเก็บค่าธรรมเนียมสูงสุดที่เป็นไปได้ (ไม่รวม MEV ) นั้นค่อนข้างง่าย และไม่มีสิ่งจูงใจแปลก ๆ ที่จะรวมธุรกรรมบางอย่างกับผู้อื่นเพื่อประหยัดค่าธรรมเนียม
แต่แนวทางนี้ยังประสบกับความไร้ประสิทธิภาพที่สำคัญเช่นกัน โดยถือว่าทรัพยากรต่างๆ เป็นแบบที่สามารถเปลี่ยนแปลงได้ เมื่อข้อจำกัดพื้นฐานที่แท้จริงของสิ่งที่เครือข่ายสามารถจัดการไม่ได้ วิธีหนึ่งที่จะเข้าใจปัญหานี้คือการดูภาพด้านล่าง:

หากทรัพยากรของวอลมีข้อจำกัดด้านความปลอดภัยที่สำคัญ ดังนั้น One-Dimension Gas อาจลดปริมาณงานลงได้สูงสุดถึงครั้งของวอลนัท ดังนั้นจึงมีความสนใจมายาวนานในแนวคิดของ Gas หลายมิติ และผ่าน EIP-4844 เราสามารถใช้ Gas หลายมิติบน Ethereum ได้แล้ววันนี้ บทความนี้จะสำรวจประโยชน์ของแนวทางนี้และโอกาสในการปรับปรุงเพิ่มเติม
Blobs: ก๊าซหลายมิติที่ได้รับการอัพเกรดของ Cancun
เมื่อต้นปีนี้ ขนาดบล็อกเฉลี่ยอยู่ที่ 150 kB ส่วนสำคัญของสิ่งนี้คือข้อมูลแบบหมุนวน: โปรโตคอล L2 ที่จัดเก็บข้อมูลแบบออนไลน์เพื่อความปลอดภัย ต้นทุนของข้อมูลนี้สูง: แม้ว่าต้นทุนธุรกรรมบน Convolution จะต่ำกว่าต้นทุนธุรกรรมที่สอดคล้องกันบน Ethereum L1 ถึง 5-10 เท่า แม้ว่าต้นทุนนี้จะสูงเกินไปสำหรับกรณีการใช้งานหลายๆ กรณีก็ตาม
ในที่สุดปัญหานี้ก็แก้ไขได้ด้วยการแนะนำพื้นที่ข้อมูลที่เป็นมิตรกับการบิดแยก (เรียกว่า "Blobs") ในแต่ละบล็อก
หลังจากการอัปเกรด Cancun บล็อก Ethereum สามารถบรรจุได้สูงสุด (i) 30 ล้าน Gas และ (ii) 6 Blobs ซึ่งแต่ละบล็อกสามารถมีข้อมูลการโทรได้ประมาณ 125 kB ทรัพยากรทั้งสองมีราคาแยกกัน ปรับโดยกลไกการกำหนดราคาอิสระที่คล้ายคลึงกับ EIP-1559 โดยกำหนดเป้าหมายการใช้งานเฉลี่ย 15 ล้านก๊าซและ 3 Blobs ต่อบล็อก
เป็นผลให้ต้นทุนของการบิดตัวลดลง 100 เท่า ปริมาณธุรกรรมของการบิดตัวเพิ่มขึ้นมากกว่า 3 เท่า ในขณะที่ขนาดบล็อกสูงสุดตามทฤษฎีเพิ่มขึ้นเพียงเล็กน้อยเท่านั้น: จาก 1.9 MB เป็น 2.6 MB

ค่าธรรมเนียมการทำธุรกรรมแบบโรลลิ่ง จัดทำโดย growepie.xyz Dencun fork เกิดขึ้นเมื่อวันที่ 13 มีนาคม 2024 โดยแนะนำการกำหนดราคาแบบหลายมิติของ Blobs
ก๊าซหลายมิติและไคลเอนต์ไร้สัญชาติ
ในอนาคต ลูกค้าไร้สัญชาติจะประสบปัญหาในการจัดเก็บหลักฐาน ไคลเอนต์ไร้สัญชาติเป็นไคลเอนต์ประเภทใหม่ที่สามารถตรวจสอบบล็อคเชนในขณะที่จัดเก็บข้อมูลเพียงเล็กน้อยหรือไม่มีเลยในเครื่อง ยอมรับการพิสูจน์เพื่อตรวจสอบสถานะของ Ethereum สำหรับส่วนเฉพาะของบล็อกโดยไม่ต้องจัดเก็บข้อมูลใด ๆ
บล็อกดำเนินการอ่านและเขียนพื้นที่จัดเก็บข้อมูลโดยเฉลี่ยประมาณ 1,000 รายการ แต่สูงสุดตามทฤษฎีอาจเป็นหลายสิบล้าน แผนปัจจุบันคือการสนับสนุนไคลเอนต์ไร้สัญชาติโดยการย้ายการออกแบบแผนผังสถานะของ Ethereum จากต้น Merkle Patricia ไปยังต้นไม้ Verkle อย่างไรก็ตาม ต้นไม้ Verkle ไม่สามารถต้านทานควอนตัมได้ และไม่เหมาะสำหรับระบบพิสูจน์ STARK รุ่นใหม่
ดังนั้น หลายๆ คนจึงต้องการสนับสนุนลูกค้าไร้สัญชาติผ่าน binary Merkle tree และ STARK ไม่ว่าจะข้าม Verkle ไปโดยสิ้นเชิง หรืออัปเกรดไม่กี่ปีหลังจากการโยกย้าย Verkle แม้ว่าการพิสูจน์ STARK ของกิ่งต้นไม้แฮชไบนารีจะมีข้อดีหลายประการ แต่การสร้างการพิสูจน์นั้นช้าและไม่สามารถตอบสนองความต้องการความเร็วสูงได้
คาดว่าในอนาคตจะมีเวลาที่สามารถพิสูจน์ค่า 1,000 ค่าได้ในเวลาไม่ถึงวินาที แต่ความเร็ว 14,285 ค่าจะไม่สามารถบรรลุได้ เพื่อที่จะแก้ไขปัญหานี้ จึงเสนอแนวคิดเรื่องก๊าซหลายมิติ วิธีนี้สามารถจำกัดและเรียกเก็บค่าบริการการเข้าถึงพื้นที่จัดเก็บข้อมูลตามลำดับ ทำให้มั่นใจได้ว่าการเข้าถึงพื้นที่จัดเก็บข้อมูลโดยเฉลี่ยต่อบล็อกคือ 1,000 ครั้ง ในขณะที่ตั้งค่าขีดจำกัดที่ 2,000 ครั้งต่อบล็อกเพื่อปรับปรุงความปลอดภัยและประสิทธิภาพของเครือข่าย
การใช้งานที่กว้างขึ้นของก๊าซหลายมิติ
การเติบโตของขนาดของรัฐเป็นอีกทรัพยากรหนึ่งที่ต้องพิจารณา เมื่อเพิ่มขนาดสถานะ Ethereum โหนดเต็มจำเป็นต้องเก็บข้อมูลมากขึ้น ต่างจากทรัพยากรอื่นๆ การเติบโตของขนาดของรัฐถูกจำกัดโดยการใช้อย่างยั่งยืนในระยะยาวมากกว่าการเพิ่มขึ้นในระยะสั้น ดังนั้น เพื่อจัดการกับการดำเนินงานที่ขนาดสถานะเพิ่มขึ้น ให้พิจารณาเพิ่มมิติก๊าซที่แยกต่างหาก เป้าหมายของแนวทางนี้คือการกำหนดราคาแบบเลื่อนที่กำหนดเป้าหมายการใช้งานเฉลี่ยที่เฉพาะเจาะจง แทนที่จะกำหนดขีดจำกัดต่อบล็อก
สิ่งนี้แสดงให้เห็นถึงธรรมชาติอันทรงพลังของ Gas หลายมิติ ซึ่งสามารถถามคำถามที่แตกต่างกันสำหรับแต่ละทรัพยากร: (i) การใช้ทรัพยากรแต่ละอย่างโดยเฉลี่ยในอุดมคติคืออะไร (ii) การใช้ทรัพยากรแต่ละรายการอย่างปลอดภัยสูงสุดคือเท่าใด ด้วยการตั้งค่าพารามิเตอร์เหล่านี้ ราคาของ Gas สามารถปรับได้ตามความปลอดภัยของเครือข่าย มากกว่าการใช้งานสูงสุดของแต่ละบล็อก เมื่อต้องรับมือกับสถานการณ์ที่ซับซ้อนมากขึ้น สามารถใช้ก๊าซหลายชนิดได้ ตัวอย่างเช่น การดำเนินการ SSTORE ที่เป็นศูนย์ถึงไม่เป็นศูนย์อาจใช้ก๊าซประเภทต่างๆ เช่น ก๊าซรับรองไคลเอ็นต์ไร้สัญชาติ และก๊าซขยายการจัดเก็บ
มูลค่าสูงสุดต่อธุรกรรม: กลยุทธ์ที่อ่อนแอกว่าแต่ง่ายกว่าในการรับก๊าซหลายมิติ
ในระบบแก๊สมิติเดียว ต้นทุนก๊าซของธุรกรรมจะพิจารณาจากก๊าซที่ใช้ทั้งข้อมูลและการคำนวณ อย่างไรก็ตาม ในระบบแก๊สหลายมิติ ต้นทุนก๊าซสามารถกำหนดได้ตามทรัพยากรหลักที่ใช้โดยธุรกรรม วิธีการนี้ช่วยเพิ่มปริมาณงานในขณะที่ยังคงรักษาความปลอดภัยไว้
EIP-7623 เสนอวิธีแก้ปัญหาที่คล้ายกัน ซึ่งลดพื้นที่ที่ธุรกรรมครอบครองในบล็อกโดยการเพิ่มราคาขั้นต่ำต่อไบต์ แต่ยังนำไปสู่ปัญหาบางอย่าง เช่น ธุรกรรมที่ใช้ทรัพยากรส่วนบุคคลมากขึ้นยังคงต้องจ่ายค่าธรรมเนียมจำนวนมาก ในขณะเดียวกันก็สร้างแรงจูงใจในการรวมธุรกรรมที่ต้องใช้ข้อมูลจำนวนมากและที่ต้องใช้การประมวลผลจำนวนมากเข้าไว้ด้วยกันเพื่อประหยัดค่าใช้จ่าย แม้ว่าแนวทางนี้มีข้อจำกัด แต่ประโยชน์ที่ได้รับก็คุ้มค่า แต่หากคุณยินดีลงทุนงานด้านการพัฒนาเพิ่มเติม ก็ยังมีโซลูชันที่เหมาะสมกว่านั้น
EIP-1559 หลายมิติ: กลยุทธ์ที่ยากขึ้นแต่สมบูรณ์แบบยิ่งขึ้น
แกนหลักของ EIP-1559 หลายมิติคือการปรับค่าธรรมเนียมพื้นฐานของ blobs โดยการติดตามพารามิเตอร์เกิน _blobs เพื่อให้แน่ใจว่าการใช้งานเฉลี่ยของบล็อกยังคงอยู่ที่ระดับเป้าหมาย
เมื่อจำนวนหยดที่มีอยู่ในบล็อกเกินค่าเป้าหมาย ค่าธรรมเนียมพื้นฐานจะเพิ่มขึ้นเพื่อลดการใช้งาน มิฉะนั้นก็จะลดลง กลไกการกำหนดราคานี้ช่วยให้ราคาธุรกรรมภายในบล็อกสามารถปรับแบบไดนามิกเพื่อให้บล็อกเต็มครึ่งหนึ่ง ในเวลาเดียวกัน การใช้งานที่เพิ่มขึ้นอย่างรวดเร็วในระยะสั้นจะกระตุ้นให้เกิดกลไกการจำกัดเพื่อให้แน่ใจว่ามีการแข่งขันที่สมเหตุสมผลในการทำธุรกรรม
ใน Ethereum วิธีการกำหนดราคา Gas นี้มีมานานหลายปีแล้ว ย้อนกลับไปในปี 2020 EIP-1559 นำเสนอกลไกที่คล้ายกันมาก ด้วยการเปิดตัว EIP-4844 ขณะนี้มีราคาลอยตัวสองรายการสำหรับ Gas และ Blob
สำหรับผู้ใช้และผู้สร้างบล็อก ประสบการณ์จะคล้ายกับเมื่อก่อน แต่มีค่าธรรมเนียมแยกต่างหากสองรายการที่ต้องรองรับ อย่างไรก็ตาม สำหรับนักพัฒนา ความจำเป็นในการออกแบบฟังก์ชัน EVM ใหม่เพื่อปรับให้เข้ากับสภาพแวดล้อมที่มีราคาหลายราคาและข้อจำกัดหลายข้ออาจเพิ่มความท้าทายบางประการ
การกำหนดราคาหลายมิติ EVM และการโทรย่อย
ใน EVM มีขีดจำกัด Gas อยู่สองประเภท: ขีดจำกัด Gas ทั้งหมดที่ตั้งไว้สำหรับแต่ละธุรกรรม และขีดจำกัด Gas แต่ละรายการเมื่อสัญญาเรียกสัญญาอื่น ซึ่งช่วยให้สัญญาเรียกสัญญาที่ไม่น่าเชื่อถือได้ ในขณะเดียวกันก็ทำให้มั่นใจได้ว่ายังมีก๊าซเหลือสำหรับการคำนวณอื่นๆ หลังจากการเรียก อย่างไรก็ตาม มีความท้าทายในการบรรลุการกำหนดราคาก๊าซแบบหลายมิติสำหรับการดำเนินการประเภทต่างๆ วิธีการหลายมิตินี้จำเป็นต้องมีการเรียกย่อยเพื่อให้มีขีดจำกัดหลายรายการสำหรับก๊าซแต่ละประเภท ซึ่งจะทำให้เกิดการเปลี่ยนแปลงอย่างลึกซึ้งต่อ EVM และเข้ากันไม่ได้กับแอปพลิเคชันที่มีอยู่
ข้อเสนอ Gas หลายมิติมักจะหยุดอยู่เพียงสองมิติ: ข้อมูลและการดำเนินการ ข้อมูลจะถูกกระจายภายนอก EVM ดังนั้นจึงไม่จำเป็นต้องเปลี่ยนแปลงภายในเพื่อกำหนดราคาแยกกัน สำหรับนักพัฒนา นี่หมายถึงการออกแบบ EVM และโครงสร้างพื้นฐานโดยรอบใหม่เพื่อรองรับราคาและข้อจำกัดที่หลากหลาย ในบางกรณี การเพิ่มประสิทธิภาพอาจกลายเป็นเรื่องยากมากขึ้น เนื่องจากไม่สามารถระบุได้อย่างชัดเจนว่าวิธีใดมีประสิทธิภาพมากกว่า ซึ่งอาจส่งผลต่อกระบวนการพัฒนา
แม้ว่าจะมีความท้าทายอยู่บ้าง แต่สิ่งเหล่านี้สามารถแก้ไขได้ด้วยการนำสิ่งที่คล้ายกับ EIP-7623 ไปใช้งาน โครงการนี้สามารถเรียกเก็บค่าธรรมเนียมเพิ่มเติมสำหรับการดำเนินการจัดเก็บ และคืนเงินให้เมื่อสิ้นสุดธุรกรรม เพื่อให้แน่ใจว่าการโทรหลักยังคงมีก๊าซเพียงพอสำหรับการดำเนินการครั้งต่อไป
สรุป
ไม่ว่าในกรณีใด ควรเน้นย้ำว่าเมื่อเริ่มมีการใช้แก๊สประมวลผลแบบหลายมิติ ความซับซ้อนของระบบจะเพิ่มขึ้นอย่างมาก ซึ่งดูเหมือนจะหลีกเลี่ยงไม่ได้
ดังนั้นเราจึงต้องเผชิญกับการตัดสินใจที่ซับซ้อน: เรายินดีที่จะยอมรับความซับซ้อนมากขึ้นในระดับ EVM เพื่อแลกกับผลประโยชน์ที่สำคัญของการปลดล็อคความสามารถในการขยายขนาด L1 หรือไม่ และหากเป็นเช่นนั้น ข้อเสนอเฉพาะใดเหมาะสมกว่าสำหรับเศรษฐศาสตร์โปรโตคอลและบุคลากรการพัฒนาแอปพลิเคชัน ? ทางออกที่ดีที่สุดอาจไม่ใช่ทั้งวิธีที่กล่าวไว้ก่อนหน้านี้หรือที่กล่าวไว้ข้างต้น และยังมีพื้นที่ให้เราคิดวิธีแก้ปัญหาที่หรูหราและมีประสิทธิภาพมากขึ้นได้


