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

ประเด็นสำคัญ

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

สารบัญ

เหตุใดการอนุมัติธุรกรรมจึงยังทำให้เกิดความเสียหายได้

Ethereum ดำเนินการตามคำขอที่ผู้ใช้อนุมัติโดยอิงกับโค้ดและสถานะที่มีอยู่ ณ เวลาที่ดำเนินการ เงื่อนไขเหล่านั้นอาจแตกต่างจากสิ่งที่ผู้ใช้ตรวจสอบไว้ ตัวอย่างเช่น การติดตั้ง proxy อาจเปลี่ยนแปลงก่อนการดำเนินการ ขณะที่ลำดับของธุรกรรมอาจเปลี่ยนราคาที่พบเมื่อทำการ swap

มูลนิธิแยกความแตกต่างระหว่างคำขอที่ทำให้เข้าใจผิดกับผลลัพธ์ที่ไม่ต้องการ ในการโจมตี Bybit และ BadgerDAO ส่วนติดต่อผู้ใช้ที่ถูกเจาะระบบแสดงคำขอลงนามที่แตกต่างจากสิ่งที่ผู้ใช้คิดว่าตนกำลังอนุมัติ ในทางกลับกัน แม้คำขอจะแสดงอย่างถูกต้อง ก็ยังอาจเปิดทางให้เกิดผลลัพธ์ที่สร้างความเสียหายทางเศรษฐกิจได้

ตัวอย่างของมูลนิธิคือการ swap หลักประกันของ Aave และ CoW ซึ่งเกี่ยวข้องกับ aEthUSDT มูลค่าประมาณ 50.4 ล้านดอลลาร์ สภาพคล่อง AAVE ที่เบาบางและเพดานค่าแก๊สของ CoW ทำให้ราคาที่ตรวจสอบแล้วอยู่ที่ราว 329 aEthAAVE แม้มีการแสดงคำเตือนผลกระทบต่อราคาที่ 99.9 เปอร์เซ็นต์ และยืนยันว่าอาจสูญเสียมูลค่าทั้งหมดได้ ผู้ใช้ก็ลงนามและได้รับโทเคนที่มีมูลค่าประมาณ 36,000 ดอลลาร์

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

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

การยืนยันธุรกรรมจะตรวจสอบผลลัพธ์อย่างไร

การยืนยันจะเปรียบเทียบสถานะเริ่มต้นและสถานะสุดท้ายของธุรกรรมด้วยตรรกะแบบอ่านอย่างเดียว หลังจากการดำเนินการต่าง ๆ เสร็จสิ้น เงื่อนไขดังกล่าวจะถูกรวมไว้ในธุรกรรมและลงนามพร้อมกับการดำเนินการ หากไม่ผ่านเงื่อนไข การดำเนินการเหล่านั้นจะถูกย้อนกลับ

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

การตรวจสอบในสัญญาที่มีอยู่แล้วช่วยคุ้มครองผลลัพธ์บางอย่าง Uniswap สามารถปฏิเสธการ swap ที่มีผลลัพธ์ต่ำกว่าขั้นต่ำที่กำหนดไว้ และ guard ของ Safe สามารถตรวจสอบสถานะบัญชีหลังการดำเนินการได้ ข้อจำกัดอยู่ที่การมองเห็นข้อมูล กล่าวคือ การตรวจสอบดังกล่าวต้องคาดการณ์ล่วงหน้าว่าควรตรวจสอบอะไร และโดยทั่วไปต้องอาศัยอินเทอร์เฟซที่สัญญาอื่นเปิดให้ใช้งาน ตัวอย่างเช่น proxy ไม่จำเป็นต้องมีฟังก์ชันที่เปิดเผยที่อยู่การติดตั้งของตน

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

การใช้งานที่เสนอจะเปิดให้ตรวจสอบข้อมูลใดบ้าง

ประกาศของมูลนิธิเกี่ยวกับการยืนยันธุรกรรมแบบ native ระบุว่า EIP-7906 เป็นแนวทางที่อาจนำไปใช้ได้ ไม่ใช่การออกแบบที่ได้ข้อสรุปแล้ว โดยต่อยอดจาก frame transactions ใน EIP-8141 ซึ่งจัดลำดับขั้นตอนการตรวจสอบความถูกต้องและการดำเนินการ EIP-8141 มีกำหนดสำหรับ Hegotá ส่วน EIP-7906 ได้รับสถานะ Considered for Inclusion แต่ยังไม่ได้รับการยืนยันว่าจะรวมอยู่ในการอัปเกรดดังกล่าว

ภายใต้แนวทางนี้ POST_TX frame แบบอ่านอย่างเดียวจะตรวจสอบผลลัพธ์เมื่อการดำเนินการสิ้นสุดลง คำสั่งเข้าถึงข้อมูลที่เสนอมาจะทำงานได้เฉพาะภายใน frame ดังกล่าว ไม่ใช่ตลอดทั่วทั้ง EVM

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

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

กระเป๋าเงินและโปรโตคอลต้องเปลี่ยนแปลงตรงไหน

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

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

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

ตัวแทนและขั้นตอนการทำงานของ solver จะได้ประโยชน์อะไร

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

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

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

บทสรุป

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

อ่านข่าวเพิ่มเติม

ข่าวเพิ่มเติมจาก FinanceVelix

ข้อสงวนสิทธิ์

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