ผลของ EIP-3074 ต่อ กระเป๋า และ DApps

กลาง5/27/2024, 9:17:11 AM
EIP-3074 ทำให้บัญชีที่เป็นเจ้าของภูมิพลที่จะให้ควบคุมไปยังสัญญาที่ระบุ ซึ่งจะได้รับความสามารถในการดำเนินการอย่างกว้างขวางที่คล้ายกับสัญญา นี้เสริมสร้างประสบการณ์ผู้ใช้อย่างมาก และสามารถนิยามวิธีการอนุญาตที่เป็นที่รู้จักในปัจจุบันใหม่ ๆ ที่ดีขึ้น ปรับปรุงความปลอดภัยพร้อมรักษาความสามารถในการใช้งาน นิกจาก imToken Labs วิเคราะห์ผลกระทบของ EIP-3074 รวมถึงการปรับปรุงวิธีการอนุญาตสินทรัพย์

EIP-3074

ประสบการณ์ผู้ใช้ที่ดีกว่า ปลอดภัย

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

นอกจากนี้ ด้วย EIP-3074 บัญชีผู้ใช้ธรรมดา (EOAs) ไม่จำเป็นต้องส่งธุรกรรมบนเชื่อมต่อตนเองอีกต่อไป ซึ่งหมายความว่าไม่ต้องทำการเรียกเก็บ ETH ก่อนเพื่อจ่ายค่าธุรกรรม

สัญญา Invoker

สัญญาที่สามารถเข้าถึง EOA เรียกว่า สัญญา Invoker ไม่ใช่ทุกสัญญาที่สามารถเข้าถึงได้ EOA ต้องลงนามด้วยกุญแจส่วนตัวของตัวเอง ระบุว่าสัญญา Invoker และการดำเนินการใดที่ EOA ให้สิทธิให้ สัญญา Invoker ดำเนินการ

กระบวนการโดยปกติมักเกิดขึ้นด้วย:

Alice ลงนามด้วยกุญแจส่วนตัว EOA ของเธอ ระบุสัญญา Invoker และการดำเนินการที่ได้รับอนุญาต

Alice ส่งเนื้อหาที่ลงนามและลายเซ็นต์ไปยัง Relayer

Relayer ส่งธุรกรรมในเชื่อมต่อไปยังสัญญา Invoker บนเชื่อมต่อ

Invoker ยืนยันลายเซ็นและเมื่อการตรวจสอบถูกต้อง จะดำเนินการด้วยภาพลักษณ์ของ Alice เช่นการอนุมัติ USDC, สลับสินทรัพย์บน Uniswap, และใช้บางส่วนของ USDC เพื่อจ่ายค่าธรรมเนียมให้กับ Relayer

หมายเหตุ: ผู้ถ่ายโอนเป็นเรื่องทางทางเลือก; อลิซสามารถส่งเนื้อหาที่ได้รับลายเซ็นและลายเซ็นบนเชือกได้เอง

การป้องกันการโจมตีแบบซ้ำ

ผู้เรียกใช้ดำเนินการเหมือนกับมีควบคุมจำกัดของ EOA ของ Alice อย่างไรก็ตาม Nonce ของ EOA จะไม่เพิ่มขึ้นหลังจากการดำเนินการ ซึ่งหมายความว่าลายเซ็นเดียวกันอาจถูกใช้อีกครั้งหาก Nonce ของ EOA ยังคงเหมือนเดิม ดังนั้น ผู้เรียกใช้จำเป็นต้องนำ Nonce mechanism เข้ามาใช้เพื่อป้องกันการโจมตีแบบเล่นซ้ำ

เรียนรู้เพิ่มเติม

สำหรับข้อมูลที่เป็นรายละเอียดเกี่ยวกับการทำงานของ EIP-3074 โปรดอ้างถึงที่นี่:https://medium.com/taipei-ethereum-meetup/eip3074-%E7%B0%A1%E4%BB%8B-2a880b918234

การใช้งานของ EIP-3074

Batchcall

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ EIP-5792 โปรดอ้างถึงที่: EIP-5792.

คีย์เซสชัน

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

ตัวอย่างเช่นบอท Telegram อาจได้รับอนุญาตให้ดำเนินการบางอย่างในนามของ EOA ของผู้ใช้

ใบอนุญาต ETH ธรรมชาติ

หากเงื่อนไขถูกต้อง (เช่นลายเซ็นอนุญาตถูกต้อง) การดำเนินการสามารถดำเนินการได้เป็นผู้มีอำนาจ EOA โดยเปิดใช้งานความสามารถการอนุญาต ETH ธรรมชาติ

คำสั่งจำกัด

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

ตัวอย่างเช่น เมื่อ Alice ทำใบสั่งซื้อสูงสุด การอนุมัติจะดำเนินการพร้อมกันโดยกำจัดความจำเป็นในการอนุมัติล่วงหน้า

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

การกู้คืนทางสังคม

หากผู้ใช้สูญเสียกุญแจส่วนตัว EOA ของตน พวกเขาสามารถใช้การอนุญาต EIP-3074 ที่ได้รับลายเซ็นก่อนหน้านี้พร้อมกับลายเซ็นจากฝ่ายที่ได้รับอนุญาต (เช่น สามีและตัวแทนที่เชื่อถือได้) เพื่อโอนสินทรัพย์ทั้งหมดจาก EOA นี้ เป็นการกู้คืนสินทรัพย์ (ที่สามารถโอนได้) ไม่ใช่การควบคุมบัญชี หลังจากที่สูญเสียกุญแจส่วนตัว EOA แล้ว EOA จะไม่สามารถใช้ได้อีก

การปรับปรุงวิธีการให้สิทธิ์ทรัพย์สิน

EIP-3074 มีศักยภาพที่จะปรับปรุงหรือแทนที่วิธีการอนุมัติปัจจุบันได้ DApp กำลังดำเนินการภายใต้สมมติฐานว่าผู้ใช้คือ EOAs: ผู้ใช้ต้องอนุมัติจำนวนเงินที่เพียงพอให้สัญญา DApp เพื่อหลีกเลี่ยงการอยู่ออนไลน์อยู่เสมอและอนุมัติธุรกรรมอย่างต่อเนื่อง สิ่งนี้ทำให้ประสบการณ์ของผู้ใช้ดีขึ้นอย่างมีนัยสำคัญ

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

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

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

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

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

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

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

เรียนรู้เพิ่มเติม:

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

อย่างไรก็ตาม EIP-3074 นำเสนอโอกาสใหม่: เมื่อนักพัฒนา DApp รู้สึกว่า EOA สามารถดำเนินการซับซ้อนทางด้านการเรียกใช้ผ่าน Invoker การออกแบบของการโต้ตอบ DApp จะไม่ต้องเสียความปลอดภัยเพื่อประสบการณ์ผู้ใช้ที่ดีขึ้นอีกต่อไป เช่น "ผู้ใช้อนุมัติจำนวนมากของสินทรัพย์ล่วงหน้า" หรือ "ผู้ใช้ลงนามในข้อความอนุญาตเพื่ออนุญาตให้ถอน"

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

นอกจากนี้ผู้ใช้ยินยอมใช้ลายมือชื่อนอกโซน ดังนั้นประสบการณ์ของผู้ใช้จะเหมือนกับการอนุญาต! นี่หมายความว่า DApps จะไม่ต้องใช้โหมดอนุญาตอีกต่อไป! ในอนาคต กระเป๋าสตางค์สามารถบล็อกโดยตรงหรือตรวจสอบคำขอลายมือชื่ออนุญาตอย่างเข้มข้นมากขึ้นโดยไม่ต้องกังวลเรื่องการป้องกันผู้ใช้ไม่สามารถเข้าถึง DApps บางตัว (แต่กล่าวถึงการถูกใช้งานโดยโกง)

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

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

วอลเล็ตจัดการกับ EOA Nonce อย่างไร

ขณะนี้การออกแบบของ EIP-3074 รวมถึงค่า nonce ของ EOA ในเนื้อหาลายเซ็นเจอร์ด้วย ดังนั้นเมื่อ EOA ส่งธุรกรรมไปยังเชื่อมือที่เปลี่ยนแปลงค่า nonce ทุก EIP-3074 ที่มีอยู่ก็กลายเป็นโมฆะ

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

หากผู้ใช้กำลังให้สิทธิให้ตนเองเรียกใช้งาน การเปลี่ยนแปลง EOA nonce ไม่จำเป็น ลายเซ็นเจอ EIP-3074 เหมือนธุรกรรม คาดว่าจะถูกดำเนินการภายในระยะเวลาหนึ่ง อย่างไรก็ตาม กระเป๋าจะต้องจัดการธุรกรรม EIP-3074 สำหรับ EOA: หากมีลายเซ็นเจอ EIP-3074 รอการดำเนินการบนเชื่อมต่อ ธุรกรรม EOA จะต้องรอ

หมายเหตุ:ค่าเริ่มต้นของสัญญา Invoker ต้องรักษากลไก nonce แยกต่างหากโดยที่ลายเซ็นต์แต่ละชุดต้องถูกต่ออายุใหม่ไม่ว่าจะมีการเปลี่ยนแปลงใด ๆ ใน EOA nonce

คีย์เซสชันและการกู้คืนทางสังคมน่าจะได้รับการนำมาใช้อย่างแพร่หลายเท่านั้นหลังจาก EIP-3074 ปรับเปลี่ยนกฎเพื่อลบ EOA nonce จากเนื้อหาลายเซ็นเจอร์ ดังนั้น กระเป๋าเงินควรให้ความสำคัญกับสถานการณ์ที่ “ผู้ใช้ให้อนุญาตตัวเองให้ทำงาน” และจัดการลายเซ็นเจอร์ EIP-3074 เหมือนกับธุรกรรม หลีกเลี่ยงความกังวลเกี่ยวกับธุรกรรม EOA ที่เปลี่ยนแปลง nonce

อย่างไรก็ตาม หากผู้ใช้ต้องการส่งลายเซ็น EIP-3074 ของตนเองบนเชือกโดยตรง จะมีข้อเสียสองประการ:

  1. ผู้ใช้ต้องเซ็นสองครั้ง: ครั้งแรกสำหรับลายเซ็น EIP-3074 และครั้งสองสำหรับลายเซ็นธุรกรรม on-chain

  2. เนื่องจากธุรกรรม on-chain จะเพิ่ม EOA nonce ก่อนการดำเนินการ ต้องมีการเพิ่ม EOA nonce ของลายเซ็นเจ EIP-3074 ล่วงหน้าเพื่อให้เข้าขั้นตอนของ nonce ที่เปลี่ยนไปจากธุรกรรม on-chain

△ เนื่องจากการทำธุรกรรมบนเชนทำให้ EOA nonce เพิ่มขึ้น การตรวจสอบลายเซ็นเจน EIP-3074 จะล้มเหลวหาก nonces ไม่ตรงกัน

△ ผู้ใช้จำเป็นต้องทำการเพิ่มค่าล่วงหน้าของ EOA nonce ในลายเซ็น EIP-3074 เพื่อผ่านการตรวจสอบเรียบร้อย

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

สรุปและจุดเด่น

  • EIP-3074 ให้ EOAs (Externally Owned Accounts) ความสามารถในการดำเนินการที่มีความหลากหลายเช่นเดียวกับสัญญา ที่ปลดล็อกฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากใหม่
  • นอกจากนี้ยังเสริมประสบการณ์ผู้ใช้อย่างมีนาคมและเปลี่ยนวิธีการอนุญาตปัจจุบันให้ปลอดภัยมากขึ้นโดยไม่เสี่ยงที่จะลดความสามารถในการใช้งาน
  • นอกจากนี้ EIP-3074 เกี่ยวข้องกับลายเซ็นเรย์ง่าย ดังนั้นผู้ใช้ไม่จำเป็นต้องดำเนินการลายเซ็นเหล่านี้บนเชนเอง ทำให้ไม่ต้องรวบรวม ETH เพื่อจ่ายค่าธุรกรรม
  • การใช้ EIP-3074 รวมถึง Batch Call, Session Key, Native ETH Permit, Limit Order, และ Social Recovery ซึ่งหลายอย่างเหล่านี้เริ่มต้นจากการที่เป็นไปไม่ได้กับ EOA และบางอย่าง เช่น Limit Order, ต้องการการอนุญาตล่วงหน้าและวิธีการที่น้อยความปลอดภัยอื่น ๆ ในการใช้งาน
  • เดิมทีนี้ไม่สามารถทำได้สำหรับ EOAs หรือบัญชีผู้ใช้ธรรมดา ตัวอย่างเช่นการใช้ Limit Order ต้องใช้วิธีที่ไม่ปลอดภัยน้อยกว่า เช่น การอนุญาตล่วงหน้า
  • EIP-3074 ยังจะเปลี่ยนวิธีการอนุญาตปัจจุบันด้วย วิธีการอนุญาตโดยตรงจะให้อนุญาตที่อยู่ที่ระบุให้ถอนสินทรัพย์ดิจิทัลได้โดยไม่จำกัดเวลา โดยต้องการ EOA ของผู้ใช้ส่งธุรกรรมเพื่อดำเนินการอนุญาต สิ้นสุดลักษณะการใช้งานของผู้ใช้และความปลอดภัย วิธีการอนุญาต ต้องการลายเซ็นของผู้ใช้เท่านั้น และแต่ละลายเซ็นระบุปริมาณสินทรัพย์และระยะเวลาที่ถูกต้อง ทำให้ประสบการณ์ของผู้ใช้และความปลอดภัยดีขึ้นมากเมื่อเปรียบเทียบกับการอนุญาต
  • อย่างไรก็ตามวิธีการอนุญาตยังถูกใช้เป็นอันแรกในการโกงอย่างบ่อย ในขณะที่ทำการเซ็นต์ ผู้ใช้สามารถมองเห็นเพียงที่อยู่ จำนวนสินทรัพย์ และระยะเวลาที่พวกเขากำลังให้อำนาจ แต่ไม่สามารถมองเห็นวัตถุประสงค์ของการอนุญาต วัตถุประสงค์จะถูกกำหนดไว้ในลายเซ็นอีกใบหนึ่ง (หรือธุรกรรม) แอป DApp ที่ถูกต้องจะต้องการผู้ใช้เซ็นต์ทั้งอนุญาตและวัตถุประสงค์ แต่เหล่านี้เป็นลายเซ็นสองใบที่แตกต่างกัน ดังนั้น เมื่อถูกขอให้เซ็นต์ใบอนุญาต ผู้ใช้และกระเป๋าที่ใช้งานไม่สามารถกำหนดวัตถุประสงค์ที่ตั้งใจของใบอนุญาต
  • ด้วย EIP-3074 ผู้ใช้ (1) ไม่จำเป็นต้องอนุมัติจำนวนมากของสินทรัพย์ให้กับ DApp ล่วงหน้า แต่อนุมัติเมื่อมีการดำเนินการและผลลัพธ์เหมือนกับการอนุญาต; (2) เฉพาะลงลายและไม่จำเป็นต้องกัด ETH เพื่อจ่ายค่าธรรมเนียม เหมือนกับการอนุญาต; (3) การอนุมัติแต่ละครั้งถูกผูกพันกับการดำเนินการที่ระบุและลงลายร่วมกัน ผู้ใช้สามารถทราบอย่างชัดเจนว่า “อนุมัตินี้ถูกใช้ทำอะไร” ในครั้งนี้ นี่จะปลอดภัยกว่าการอนุญาต!
  • หวังว่า EIP-3074 จะสามารถแทนที่วิธีการอนุมัติและอนุญาตปัจจุบันได้อย่างประสบความสำเร็จ โดยให้ผู้ใช้มีวิธีการอนุญาตที่ปลอดภัยมากขึ้น

ข้อความปฏิเสธความรับผิดชอบ:

  1. บทความนี้ถูกพิมพ์ใหม่จาก [ imToken Labs]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [นิค]. หากมีข้อขัดแย้งต่อการพิมพ์ซ้ำนี้ โปรดติดต่อGate Learnทีมและพวกเขาจะดำเนินการด้วยรวดเร็ว
  2. ประกาศความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำทางการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นๆ ถูกดำเนินการโดยทีม Gate Learn หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนแบบบทความที่ถูกแปลนั้นถือเป็นการละเมิดสิทธิ์ทรัพย์สินทางปัญญา

ผลของ EIP-3074 ต่อ กระเป๋า และ DApps

กลาง5/27/2024, 9:17:11 AM
EIP-3074 ทำให้บัญชีที่เป็นเจ้าของภูมิพลที่จะให้ควบคุมไปยังสัญญาที่ระบุ ซึ่งจะได้รับความสามารถในการดำเนินการอย่างกว้างขวางที่คล้ายกับสัญญา นี้เสริมสร้างประสบการณ์ผู้ใช้อย่างมาก และสามารถนิยามวิธีการอนุญาตที่เป็นที่รู้จักในปัจจุบันใหม่ ๆ ที่ดีขึ้น ปรับปรุงความปลอดภัยพร้อมรักษาความสามารถในการใช้งาน นิกจาก imToken Labs วิเคราะห์ผลกระทบของ EIP-3074 รวมถึงการปรับปรุงวิธีการอนุญาตสินทรัพย์

EIP-3074

ประสบการณ์ผู้ใช้ที่ดีกว่า ปลอดภัย

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

นอกจากนี้ ด้วย EIP-3074 บัญชีผู้ใช้ธรรมดา (EOAs) ไม่จำเป็นต้องส่งธุรกรรมบนเชื่อมต่อตนเองอีกต่อไป ซึ่งหมายความว่าไม่ต้องทำการเรียกเก็บ ETH ก่อนเพื่อจ่ายค่าธุรกรรม

สัญญา Invoker

สัญญาที่สามารถเข้าถึง EOA เรียกว่า สัญญา Invoker ไม่ใช่ทุกสัญญาที่สามารถเข้าถึงได้ EOA ต้องลงนามด้วยกุญแจส่วนตัวของตัวเอง ระบุว่าสัญญา Invoker และการดำเนินการใดที่ EOA ให้สิทธิให้ สัญญา Invoker ดำเนินการ

กระบวนการโดยปกติมักเกิดขึ้นด้วย:

Alice ลงนามด้วยกุญแจส่วนตัว EOA ของเธอ ระบุสัญญา Invoker และการดำเนินการที่ได้รับอนุญาต

Alice ส่งเนื้อหาที่ลงนามและลายเซ็นต์ไปยัง Relayer

Relayer ส่งธุรกรรมในเชื่อมต่อไปยังสัญญา Invoker บนเชื่อมต่อ

Invoker ยืนยันลายเซ็นและเมื่อการตรวจสอบถูกต้อง จะดำเนินการด้วยภาพลักษณ์ของ Alice เช่นการอนุมัติ USDC, สลับสินทรัพย์บน Uniswap, และใช้บางส่วนของ USDC เพื่อจ่ายค่าธรรมเนียมให้กับ Relayer

หมายเหตุ: ผู้ถ่ายโอนเป็นเรื่องทางทางเลือก; อลิซสามารถส่งเนื้อหาที่ได้รับลายเซ็นและลายเซ็นบนเชือกได้เอง

การป้องกันการโจมตีแบบซ้ำ

ผู้เรียกใช้ดำเนินการเหมือนกับมีควบคุมจำกัดของ EOA ของ Alice อย่างไรก็ตาม Nonce ของ EOA จะไม่เพิ่มขึ้นหลังจากการดำเนินการ ซึ่งหมายความว่าลายเซ็นเดียวกันอาจถูกใช้อีกครั้งหาก Nonce ของ EOA ยังคงเหมือนเดิม ดังนั้น ผู้เรียกใช้จำเป็นต้องนำ Nonce mechanism เข้ามาใช้เพื่อป้องกันการโจมตีแบบเล่นซ้ำ

เรียนรู้เพิ่มเติม

สำหรับข้อมูลที่เป็นรายละเอียดเกี่ยวกับการทำงานของ EIP-3074 โปรดอ้างถึงที่นี่:https://medium.com/taipei-ethereum-meetup/eip3074-%E7%B0%A1%E4%BB%8B-2a880b918234

การใช้งานของ EIP-3074

Batchcall

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ EIP-5792 โปรดอ้างถึงที่: EIP-5792.

คีย์เซสชัน

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

ตัวอย่างเช่นบอท Telegram อาจได้รับอนุญาตให้ดำเนินการบางอย่างในนามของ EOA ของผู้ใช้

ใบอนุญาต ETH ธรรมชาติ

หากเงื่อนไขถูกต้อง (เช่นลายเซ็นอนุญาตถูกต้อง) การดำเนินการสามารถดำเนินการได้เป็นผู้มีอำนาจ EOA โดยเปิดใช้งานความสามารถการอนุญาต ETH ธรรมชาติ

คำสั่งจำกัด

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

ตัวอย่างเช่น เมื่อ Alice ทำใบสั่งซื้อสูงสุด การอนุมัติจะดำเนินการพร้อมกันโดยกำจัดความจำเป็นในการอนุมัติล่วงหน้า

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

การกู้คืนทางสังคม

หากผู้ใช้สูญเสียกุญแจส่วนตัว EOA ของตน พวกเขาสามารถใช้การอนุญาต EIP-3074 ที่ได้รับลายเซ็นก่อนหน้านี้พร้อมกับลายเซ็นจากฝ่ายที่ได้รับอนุญาต (เช่น สามีและตัวแทนที่เชื่อถือได้) เพื่อโอนสินทรัพย์ทั้งหมดจาก EOA นี้ เป็นการกู้คืนสินทรัพย์ (ที่สามารถโอนได้) ไม่ใช่การควบคุมบัญชี หลังจากที่สูญเสียกุญแจส่วนตัว EOA แล้ว EOA จะไม่สามารถใช้ได้อีก

การปรับปรุงวิธีการให้สิทธิ์ทรัพย์สิน

EIP-3074 มีศักยภาพที่จะปรับปรุงหรือแทนที่วิธีการอนุมัติปัจจุบันได้ DApp กำลังดำเนินการภายใต้สมมติฐานว่าผู้ใช้คือ EOAs: ผู้ใช้ต้องอนุมัติจำนวนเงินที่เพียงพอให้สัญญา DApp เพื่อหลีกเลี่ยงการอยู่ออนไลน์อยู่เสมอและอนุมัติธุรกรรมอย่างต่อเนื่อง สิ่งนี้ทำให้ประสบการณ์ของผู้ใช้ดีขึ้นอย่างมีนัยสำคัญ

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

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

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

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

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

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

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

เรียนรู้เพิ่มเติม:

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

อย่างไรก็ตาม EIP-3074 นำเสนอโอกาสใหม่: เมื่อนักพัฒนา DApp รู้สึกว่า EOA สามารถดำเนินการซับซ้อนทางด้านการเรียกใช้ผ่าน Invoker การออกแบบของการโต้ตอบ DApp จะไม่ต้องเสียความปลอดภัยเพื่อประสบการณ์ผู้ใช้ที่ดีขึ้นอีกต่อไป เช่น "ผู้ใช้อนุมัติจำนวนมากของสินทรัพย์ล่วงหน้า" หรือ "ผู้ใช้ลงนามในข้อความอนุญาตเพื่ออนุญาตให้ถอน"

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

นอกจากนี้ผู้ใช้ยินยอมใช้ลายมือชื่อนอกโซน ดังนั้นประสบการณ์ของผู้ใช้จะเหมือนกับการอนุญาต! นี่หมายความว่า DApps จะไม่ต้องใช้โหมดอนุญาตอีกต่อไป! ในอนาคต กระเป๋าสตางค์สามารถบล็อกโดยตรงหรือตรวจสอบคำขอลายมือชื่ออนุญาตอย่างเข้มข้นมากขึ้นโดยไม่ต้องกังวลเรื่องการป้องกันผู้ใช้ไม่สามารถเข้าถึง DApps บางตัว (แต่กล่าวถึงการถูกใช้งานโดยโกง)

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

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

วอลเล็ตจัดการกับ EOA Nonce อย่างไร

ขณะนี้การออกแบบของ EIP-3074 รวมถึงค่า nonce ของ EOA ในเนื้อหาลายเซ็นเจอร์ด้วย ดังนั้นเมื่อ EOA ส่งธุรกรรมไปยังเชื่อมือที่เปลี่ยนแปลงค่า nonce ทุก EIP-3074 ที่มีอยู่ก็กลายเป็นโมฆะ

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

หากผู้ใช้กำลังให้สิทธิให้ตนเองเรียกใช้งาน การเปลี่ยนแปลง EOA nonce ไม่จำเป็น ลายเซ็นเจอ EIP-3074 เหมือนธุรกรรม คาดว่าจะถูกดำเนินการภายในระยะเวลาหนึ่ง อย่างไรก็ตาม กระเป๋าจะต้องจัดการธุรกรรม EIP-3074 สำหรับ EOA: หากมีลายเซ็นเจอ EIP-3074 รอการดำเนินการบนเชื่อมต่อ ธุรกรรม EOA จะต้องรอ

หมายเหตุ:ค่าเริ่มต้นของสัญญา Invoker ต้องรักษากลไก nonce แยกต่างหากโดยที่ลายเซ็นต์แต่ละชุดต้องถูกต่ออายุใหม่ไม่ว่าจะมีการเปลี่ยนแปลงใด ๆ ใน EOA nonce

คีย์เซสชันและการกู้คืนทางสังคมน่าจะได้รับการนำมาใช้อย่างแพร่หลายเท่านั้นหลังจาก EIP-3074 ปรับเปลี่ยนกฎเพื่อลบ EOA nonce จากเนื้อหาลายเซ็นเจอร์ ดังนั้น กระเป๋าเงินควรให้ความสำคัญกับสถานการณ์ที่ “ผู้ใช้ให้อนุญาตตัวเองให้ทำงาน” และจัดการลายเซ็นเจอร์ EIP-3074 เหมือนกับธุรกรรม หลีกเลี่ยงความกังวลเกี่ยวกับธุรกรรม EOA ที่เปลี่ยนแปลง nonce

อย่างไรก็ตาม หากผู้ใช้ต้องการส่งลายเซ็น EIP-3074 ของตนเองบนเชือกโดยตรง จะมีข้อเสียสองประการ:

  1. ผู้ใช้ต้องเซ็นสองครั้ง: ครั้งแรกสำหรับลายเซ็น EIP-3074 และครั้งสองสำหรับลายเซ็นธุรกรรม on-chain

  2. เนื่องจากธุรกรรม on-chain จะเพิ่ม EOA nonce ก่อนการดำเนินการ ต้องมีการเพิ่ม EOA nonce ของลายเซ็นเจ EIP-3074 ล่วงหน้าเพื่อให้เข้าขั้นตอนของ nonce ที่เปลี่ยนไปจากธุรกรรม on-chain

△ เนื่องจากการทำธุรกรรมบนเชนทำให้ EOA nonce เพิ่มขึ้น การตรวจสอบลายเซ็นเจน EIP-3074 จะล้มเหลวหาก nonces ไม่ตรงกัน

△ ผู้ใช้จำเป็นต้องทำการเพิ่มค่าล่วงหน้าของ EOA nonce ในลายเซ็น EIP-3074 เพื่อผ่านการตรวจสอบเรียบร้อย

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

สรุปและจุดเด่น

  • EIP-3074 ให้ EOAs (Externally Owned Accounts) ความสามารถในการดำเนินการที่มีความหลากหลายเช่นเดียวกับสัญญา ที่ปลดล็อกฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากฉากใหม่
  • นอกจากนี้ยังเสริมประสบการณ์ผู้ใช้อย่างมีนาคมและเปลี่ยนวิธีการอนุญาตปัจจุบันให้ปลอดภัยมากขึ้นโดยไม่เสี่ยงที่จะลดความสามารถในการใช้งาน
  • นอกจากนี้ EIP-3074 เกี่ยวข้องกับลายเซ็นเรย์ง่าย ดังนั้นผู้ใช้ไม่จำเป็นต้องดำเนินการลายเซ็นเหล่านี้บนเชนเอง ทำให้ไม่ต้องรวบรวม ETH เพื่อจ่ายค่าธุรกรรม
  • การใช้ EIP-3074 รวมถึง Batch Call, Session Key, Native ETH Permit, Limit Order, และ Social Recovery ซึ่งหลายอย่างเหล่านี้เริ่มต้นจากการที่เป็นไปไม่ได้กับ EOA และบางอย่าง เช่น Limit Order, ต้องการการอนุญาตล่วงหน้าและวิธีการที่น้อยความปลอดภัยอื่น ๆ ในการใช้งาน
  • เดิมทีนี้ไม่สามารถทำได้สำหรับ EOAs หรือบัญชีผู้ใช้ธรรมดา ตัวอย่างเช่นการใช้ Limit Order ต้องใช้วิธีที่ไม่ปลอดภัยน้อยกว่า เช่น การอนุญาตล่วงหน้า
  • EIP-3074 ยังจะเปลี่ยนวิธีการอนุญาตปัจจุบันด้วย วิธีการอนุญาตโดยตรงจะให้อนุญาตที่อยู่ที่ระบุให้ถอนสินทรัพย์ดิจิทัลได้โดยไม่จำกัดเวลา โดยต้องการ EOA ของผู้ใช้ส่งธุรกรรมเพื่อดำเนินการอนุญาต สิ้นสุดลักษณะการใช้งานของผู้ใช้และความปลอดภัย วิธีการอนุญาต ต้องการลายเซ็นของผู้ใช้เท่านั้น และแต่ละลายเซ็นระบุปริมาณสินทรัพย์และระยะเวลาที่ถูกต้อง ทำให้ประสบการณ์ของผู้ใช้และความปลอดภัยดีขึ้นมากเมื่อเปรียบเทียบกับการอนุญาต
  • อย่างไรก็ตามวิธีการอนุญาตยังถูกใช้เป็นอันแรกในการโกงอย่างบ่อย ในขณะที่ทำการเซ็นต์ ผู้ใช้สามารถมองเห็นเพียงที่อยู่ จำนวนสินทรัพย์ และระยะเวลาที่พวกเขากำลังให้อำนาจ แต่ไม่สามารถมองเห็นวัตถุประสงค์ของการอนุญาต วัตถุประสงค์จะถูกกำหนดไว้ในลายเซ็นอีกใบหนึ่ง (หรือธุรกรรม) แอป DApp ที่ถูกต้องจะต้องการผู้ใช้เซ็นต์ทั้งอนุญาตและวัตถุประสงค์ แต่เหล่านี้เป็นลายเซ็นสองใบที่แตกต่างกัน ดังนั้น เมื่อถูกขอให้เซ็นต์ใบอนุญาต ผู้ใช้และกระเป๋าที่ใช้งานไม่สามารถกำหนดวัตถุประสงค์ที่ตั้งใจของใบอนุญาต
  • ด้วย EIP-3074 ผู้ใช้ (1) ไม่จำเป็นต้องอนุมัติจำนวนมากของสินทรัพย์ให้กับ DApp ล่วงหน้า แต่อนุมัติเมื่อมีการดำเนินการและผลลัพธ์เหมือนกับการอนุญาต; (2) เฉพาะลงลายและไม่จำเป็นต้องกัด ETH เพื่อจ่ายค่าธรรมเนียม เหมือนกับการอนุญาต; (3) การอนุมัติแต่ละครั้งถูกผูกพันกับการดำเนินการที่ระบุและลงลายร่วมกัน ผู้ใช้สามารถทราบอย่างชัดเจนว่า “อนุมัตินี้ถูกใช้ทำอะไร” ในครั้งนี้ นี่จะปลอดภัยกว่าการอนุญาต!
  • หวังว่า EIP-3074 จะสามารถแทนที่วิธีการอนุมัติและอนุญาตปัจจุบันได้อย่างประสบความสำเร็จ โดยให้ผู้ใช้มีวิธีการอนุญาตที่ปลอดภัยมากขึ้น

ข้อความปฏิเสธความรับผิดชอบ:

  1. บทความนี้ถูกพิมพ์ใหม่จาก [ imToken Labs]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [นิค]. หากมีข้อขัดแย้งต่อการพิมพ์ซ้ำนี้ โปรดติดต่อGate Learnทีมและพวกเขาจะดำเนินการด้วยรวดเร็ว
  2. ประกาศความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำทางการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นๆ ถูกดำเนินการโดยทีม Gate Learn หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนแบบบทความที่ถูกแปลนั้นถือเป็นการละเมิดสิทธิ์ทรัพย์สินทางปัญญา
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!