Back to top
  • 공유 แชร์
  • 인쇄 พิมพ์
  • 글자크기 ขนาดตัวอักษร
ลิงก์ถูกคัดลอกแล้ว

8 สมมติฐานเรื่องแก๊สที่ควรตรวจ ก่อน Glamsterdam มูลนิธิอีเธอเรียมขอให้ตรวจสัญญา

มือของนักพัฒนาที่กำลังตรวจดูโค้ดสมาร์ตคอนแทร็กต์บนแล็ปท็อป / TokenPost.ai (macro)

มูลนิธิอีเธอเรียม (Ethereum Foundation) ขอให้นักพัฒนาสมาร์ตคอนแทร็กต์และผู้ตรวจสอบทบทวนสมมติฐาน 8 ข้อเกี่ยวกับการจัดการแก๊ส ก่อนการอัปเกรด Glamsterdam บนเครือข่ายอีเธอเรียม (ETH) เนื่องจาก EIP-8037 และ EIP-8038 จะเปลี่ยนวิธีคำนวณแก๊ส ซึ่งอาจทำให้ผลการทำงานของสัญญาเดิมเปลี่ยนไป

มูลนิธิอีเธอเรียมระบุในประกาศที่เผยแพร่เมื่อวันที่ 6 ว่าข้อเสนอทั้งสองจะเปลี่ยนต้นทุนแก๊สของการคำนวณบางประเภท และวิธีคิดต้นทุนของข้อมูลสถานะ ChainSecurity พบความเป็นไปได้ที่จะเกิดปัญหาในบางโปรเจกต์ที่พึ่งพาวิธีคำนวณเดิม มูลนิธิฯ จึงเลื่อนการเปิดใช้งาน Glamsterdam บนเครือข่ายทดสอบ Hoodi โดยยังไม่ได้กำหนดกำหนดการใหม่

แก๊สหมายถึงปริมาณงานที่จำเป็นต่อการทำธุรกรรมหรือเรียกใช้สมาร์ตคอนแทร็กต์ EIP-8037 จะแยกคิดต้นทุนของการสร้างสถานะใหม่ เช่น บัญชีและพื้นที่จัดเก็บข้อมูล ส่วน EIP-8038 จะปรับต้นทุนของการเข้าถึงหรือเปลี่ยนแปลงสถานะที่จัดเก็บไว้แล้ว แม้โค้ดจะไม่เปลี่ยน ปริมาณแก๊สที่ต้องใช้กับงานบางอย่างหรือปริมาณแก๊สที่เหลือหลังการทำงานล้มเหลวก็อาจเปลี่ยนได้

เอกสารตรวจสอบที่มูลนิธิฯ เผยแพร่รวบรวมสมมติฐาน 8 ข้อ พร้อมคำอธิบาย ตัวอย่างโค้ด และชุดคำสั่งสำหรับตรวจสอบด้วยตนเอง ตัวอย่างเช่น △สมมติฐานว่างานจะเสร็จภายในปริมาณแก๊สที่กำหนด △สมมติฐานว่าหากการเรียกใช้ภายนอกล้มเหลวเพราะแก๊สไม่พอ การบันทึกข้อมูลที่ตามมาก็จะล้มเหลวด้วย และ △สมมติฐานว่าปริมาณแก๊สคงเหลือระหว่างการทำงานจะลดลงเท่านั้น โค้ดนอกเชนที่ใช้สร้างธุรกรรมหรือติดตามผลลัพธ์ก็อยู่ในขอบเขตที่ควรตรวจสอบ

มูลนิธิอีเธอเรียมระบุว่า เมื่อนำธุรกรรมบนเมนเน็ตในอดีตมารันซ้ำด้วยกฎแก๊สใหม่ ปัญหาส่วนใหญ่ที่พบสามารถแก้ได้ด้วยการเพิ่มขีดจำกัดแก๊ส หากโค้ดกำหนดขีดจำกัดแก๊สไว้ตายตัว หรือคำนวณแก๊สที่ต้องใช้บันทึกข้อมูลหลังการเรียกใช้ภายนอกตามเกณฑ์เดิม ผลลัพธ์ภายใต้กฎใหม่ก็อาจแตกต่างออกไป เอกสารจึงแนะนำให้ปรับขีดจำกัด ประเมินปริมาณแก๊สใหม่ตามกฎที่เปลี่ยนไป และทดสอบอีกครั้ง

ในบทวิเคราะห์ ChainSecurity ยกตัวอย่างเส้นทางที่สัญญาบันทึกความล้มเหลวหลังการเรียกใช้ภายนอกล้มเหลว โดยอธิบายว่า ภายใต้วิธีเดิม แก๊สที่เหลือไม่พอและทำให้การบันทึกความล้มเหลวถูกย้อนกลับ แต่ภายใต้กฎใหม่ สัญญาอาจบันทึกข้อมูลได้สำเร็จ ความล้มเหลวที่นักพัฒนาออกแบบให้ลองใหม่จึงอาจนำไปสู่ผลลัพธ์ที่ต่างออกไป และควรตรวจสอบขั้นตอนจัดการความล้มเหลวด้วย

มูลนิธิอีเธอเรียมระบุว่ากำลังตรวจสอบร่วมกับบริษัทตรวจสอบหลายแห่งและดำเนินการตรวจสอบภายใน แต่ไม่สามารถตรวจโครงการทั้งหมดของอีเธอเรียม รวมถึงโค้ดบนเชนและนอกเชนได้โดยตรง ในประกาศก่อนหน้านี้เมื่อวันที่ 24 สิงหาคม มูลนิธิฯ ระบุว่าผู้ใช้ทั่วไปไม่จำเป็นต้องดำเนินการใดเป็นพิเศษ ก่อนหน้านี้ TokenPost รายงานถึงความเป็นไปได้ที่กระเป๋าเงิน อินเด็กเซอร์ และเครื่องมือประเมินแก๊สอาจทำงานผิดพลาด รวมถึงความจำเป็นที่สัญญาบางส่วนต้องตรวจสอบการปรับแก๊ส

มูลนิธิฯ ขอให้โปรเจกต์ที่พบผลกระทบส่งกรณีตัวอย่างและวิธีทำซ้ำทางอีเมล ความเห็นจากนักพัฒนาจะใช้ประกอบการหารือในการประชุมนักพัฒนาหลักครั้งถัดไปว่าจะปรับเปลี่ยน EIP-8037 และ EIP-8038 หรือไม่

<ลิขสิทธิ์ ⓒ TokenPost ห้ามเผยแพร่หรือแจกจ่ายซ้ำโดยไม่ได้รับอนุญาต>

บทความที่มีคนดูมากที่สุด

บทความที่เกี่ยวข้อง

ความคิดเห็น 0

ข้อแนะนำสำหรับความคิดเห็น

ขอบคุณสำหรับบทความดี ๆ ต้องการบทความติดตามเพิ่มเติม เป็นการวิเคราะห์ที่ยอดเยี่ยม

0/1000

ข้อแนะนำสำหรับความคิดเห็น

ขอบคุณสำหรับบทความดี ๆ ต้องการบทความติดตามเพิ่มเติม เป็นการวิเคราะห์ที่ยอดเยี่ยม
1