ในโลกของบล็อกเชน ผู้ใช้บ่อยครั้งต้องให้สิทธิ์ (อนุญาต) ซึ่งทำให้สมาร์ทคอนแทรคตใช้โทเค็นในนามของพวกเขาได้ ตัวอย่างเช่น เมื่อใช้ดีอีเอ็กซ์ (DEX) เพื่อสลับโทเค็น ผู้ใช้จำเป็นต้องอนุญาตสัญญาของตลาดให้โอนจำนวนโทเค็นที่กำหนดจากกระเป๋าของพวกเขาก่อนERC-20ตามมาตรฐานนี้ กระบวนการนี้ต้องใช้ธุรกรรม on-chain สองรายการแยกกัน: หนึ่งสำหรับการอนุมัติและอีกอันสำหรับการโอนโทเค็นจริง ๆ กระบวนการสองขั้นตอนนี้ไม่เพียงแต่ยุ่งยากแต่ยังมีค่าธรรมเนียมแก๊สเพิ่มเติม หากต้องการปรับปรุงทั้งประสบการณ์ของผู้ใช้และความปลอดภัย ชุมชน Ethereum ได้เสนอกลไซเนเจอร์ที่ใช้ลายเซ็นเป็นพื้นฐานอนุญาต(เช่น EIP-2612) และพัฒนาเป็นเวอร์ชันที่ถูกพัฒนาขึ้นมาทีหลังที่เรียกว่า Permit2 กลไกใหม่เหล่านี้ช่วยให้ผู้ใช้สามารถให้อนุญาตให้โทเค็นผ่านลายเซ็นต์ออฟเชน โดยหลีกเลี่ยงความจำเป็นในการทำธุรกรรมออนเชนเพิ่มเติม
ในบทความนี้ เราจะเริ่มต้นด้วยเนื้อหาพื้นฐานโดยการอธิบายวิธีการทำงานของการอนุมัติ ERC-20 แบบดั้งเดิมและข้อจำกัดของมัน จากนั้นเราจะลึกซึ้งเกี่ยวกับวิธีการทำงานของ Permit และ Permit2 โดยเน้นที่ประโยชน์และการแลกเปลี่ยน และพูดถึงว่าพวกเขาเสริมสร้างความมีประสิทธิภาพและความปลอดภัย นอกจากนี้เรายังจะสำรวจความเสี่ยงด้านความปลอดภัยที่เป็นไปได้โดยเฉพาะการโจมตีฟิชชิ่งที่เกี่ยวข้องกับลายเซ็นทรัย์ที่เป็นอันตราย, และให้เคล็ดลับสำหรับการเก็บตัวอย่างการปลอดภัย ไม่ว่าคุณจะเป็นมือใหม่ในด้านบล็อกเชนหรือเพิ่งเริ่มต้นการลงทุนในสกุลเงินดิจิทัล คู่มือนี้มีจุดประสงค์เพื่อช่วยคุณเข้าใจนวัตกรรมทางเทคนิคที่สำคัญเหล่านี้
ก่อนที่จะเข้าสู่การอนุญาต ขอให้เรามาดูกันก่อนว่าระบบการอนุญาตโทเค็น ERC-20 แบบดั้งเดิมทำงานอย่างไร และ ข้อ จำกัด ที่มันนำเสนอ
ERC-20 เป็นมาตรฐานสำหรับโทเค็นบน Ethereum มันกำหนดฟังก์ชั่นเช่นการอนุมัติและการโอนจาก ซึ่งทำให้การอนุญาตโทเค็นเป็นไปได้ การอนุญาตที่นี่หมายถึงว่าผู้ถือโทเค็น (เจ้าของ) อนุญาตบัญชีอื่นๆ ซึ่งโดยทั่วไปคือสัญญาฉลาก (ผู้ใช้จ่าย) โอนจำนวนโทเค็นบางจำนวนในนามของพวกเขา กระบวนการพื้นฐานทำงานอย่างนี้
โมเดลสองขั้นตอนด้านบนช่วยให้ผู้ใช้สามารถให้อนุญาตให้สัญญาจัดการกับเงินของพวกเขาโดยไม่ต้องแชร์กุญแจส่วนตัวของพวกเขา อย่างไรก็ตามวิธีการเชิง传统นี้ก็มาพร้อมกับปัญหาทางปฏิบัติหลายอย่าง
ต้องการการทำธุรกรรมสองครั้ง ประสบประสบการณ์ของผู้ใช้ที่แย่
ทุกครั้งที่ผู้ใช้ต้องการใช้โทเค็นใหม่บน dApp พวกเขาจะต้องส่งธุรกรรมการอนุมัติแยกต่างหากก่อนที่พวกเขาจะสามารถดำเนินการที่ต้องการจริง (เช่น สว๊อปหรือสเตก) ซึ่งหมายความว่ากระเป๋าเงินของพวกเขาจะให้การยืนยันอีกครั้งและคิดค่าธรรมเนียม Gas เพิ่มเติม สำหรับผู้เริ่มต้น ขั้นตอนเพิ่มเติมนี้อาจทำให้สับสนและไม่สะดวก
การจัดการการอนุมัติแบบแยกส่วน
เมื่อผู้ใช้โต้ตอบกับหลายdAppsใช้โทเค็นเดียวกัน (เช่น การซื้อขายบน Uniswap แล้วนำเงินฝากในโปรโตคอล DeFi อื่น) แต่ละ dApp ต้องการการอนุมัติแยกต่างหาก แม้ว่าจะเป็นโทเค็นเดียวกันในกระเป๋าเงินเดียวกัน นี่ส่งผลให้การอนุมัติที่ซ้ำซ้อน ทำให้เสียเวลาและแก๊ส
นอกจากนี้เนื่องจากแอพพลิเคชันแต่ละแอพพิเคชันจัดการสิทธิใช้งานของตนเองอย่างอิสระผู้ใช้มีการควบคุมที่ถูกกลางอย่างน้อยเมื่อเทียบกับการอนุญาตRevoke.cashและDeBankโดยอนุญาตให้ผู้ใช้ดูแลและจัดการการอนุญาตโทเค็น แต่ผู้ใช้มีความไม่ทราบถึงเรื่องนี้มากเกินไป และแม้ว่าพวกเขารู้จักกันดี การเพิกถอนการอนุญาตยังต้องการธุรกรรมอนุญาต ซึ่งเพิ่มค่าใช้จ่าย เนื่องจากนั้น การอนุญาตเก่าหรือไม่ได้ใช้งานจะลืมไปเลย
ความเสี่ยงจากการอนุมัติโดยไม่จำกัด
เพื่อหลีกเลี่ยงธุรกรรมการอนุมัติบ่อยครั้ง dApps จํานวนมากแนะนําให้ผู้ใช้อนุมัติไม่ จํากัด ทําให้สัญญาสามารถใช้ยอดคงเหลือโทเค็นทั้งหมดของผู้ใช้โดยไม่มีวันหมดอายุ แม้ว่าวิธีการนี้จะช่วยประหยัดความพยายามในภายหลัง แต่ก็มีความเสี่ยงด้านความปลอดภัยที่ร้ายแรง: หาก dApp หรือสัญญาถูกบุกรุกผู้โจมตีสามารถระบายโทเค็นที่ได้รับอนุมัติทั้งหมดได้
ความท้าทายเหล่านี้ทำให้นักพัฒนาต้องมองหาทางเลือกที่ดีกว่า อย่างที่ควรจะเป็น ผู้ใช้ควรจะต้องเซ็นต์เพียงครั้งเดียว (โดย preference คือ off-chain และไร้ค่า gas) เพื่อที่จะทำการอนุมัติและดำเนินการได้พร้อมๆกัน การอนุมัติยังควรจะถูก จำกัด ในขอบเขตและระยะเวลาเพื่อลดความเสี่ยงที่เป็นไปได้ นี่คือแรงจูงใจในการนำเสนอ ERC-20 Permit
ความคิดเรื่องใบอนุญาตถูกแนะนำครั้งแรกโดยDAIสัญญา stablecoin และต่อมาถูกมาตราฐานระเบียบเป็น EIP-2612 โดยสรุป Permit ช่วยให้ผู้ใช้สามารถอนุญาตการโอนโทเค็นโดยใช้ลายเซ็นน์นอกเชือก โดยยกเลิกความจำเป็นในการส่งธุรกรรม approve แยกออกไปที่ต้องทำบนเชน ให้เรามาสังเกตอย่างใกล้ชิดว่ามันทำงานอย่างไรและคุณลักษณะที่แตกต่างของมัน
Permit เป็นกลไกการอนุญาตที่ขึ้นอยู่กับลายเซ็นดิจิทัล ภายใต้มาตรฐาน EIP-2612 สัญญา ERC-20 ที่รองรับ Permit เพิ่มฟังก์ชันที่เรียกว่า permit() ซึ่งมีลักษณะดังนี้:
ฟังก์ชัน permit(
เจ้าของที่อยู่, ผู้ใช้ที่อยู่,
uint256 ค่า, uint256 วันหมดอายุ,
uint8 v, bytes32 r, bytes32 s
) ภายนอก;
ที่นี่เจ้าของ, ผู้ใช้จ่าย, และค่าทราบว่าใครให้สิทธิ, ใครได้รับสิทธิ, และจำนวนที่อนุญาต การกำหนดเวลาหมดอายุแสดงถึงเมื่อลายเซ็นจะหมดอายุ พารามิเตอร์ v, r, และ s แบ่งออกเป็นECDSAลายเซ็นดิจิทัล โดยใช้ Permit ผู้ใช้สามารถหลีกเลี่ยงการอนุมัติแยกตัวบนเชนได้—พวกเขาเพียงแค่ลงลายเซ็นข้อความ (โดยไม่ต้องจ่าย Gas) และรวมลายเซ็นนี้กับธุรกรรมของพวกเขาเพื่อทำการอนุมัติในขั้นตอนเดียว
การดำเนินการใบอนุญาต
เมื่อเปรียบเทียบกับการอนุมัติแบบดั้งเดิม ใบอนุญาตจะยกเลิกความจำเป็นต่อการทำธุรกรรมซึ่งอยู่บนเชนอีก ทำให้ประหยัดเวลาและค่า Gas ได้ นอกจากนี้ยังช่วยให้มีการควบคุมที่ละเอียดขึ้นในการอนุมัติ เช่น เมื่อผู้ใช้ลงลายมือชื่อในใบอนุญาตที่อนุญาตให้ใช้จ่ายเพียง 50 USDC เท่านั้น ถูกต้องเป็นเวลาเพียง 5 นาที แม้แต่ลายมือจะถูกเปิดเผย ก็จะไม่สามารถใช้งานหลังจากเวลาสุดท้ายลดลง เพื่อลดความเสี่ยง ในปัจจุบันมีโปรโตคอลดีไฟหลายแห่ง เช่น แลกเปลี่ยนแบบกระจายและแพลตฟอร์มการให้ยืม รองรับใบอนุญาต ตัวอย่างที่รู้จักได้แก่ Uniswap V2/V3 โทเค็น LP, DAI, และUSDC, ซึ่งได้นำมาใช้มาตรฐาน EIP-2612 ซึ่งทำให้สามารถอนุมัติด้วยลายเซ็นขั้นหนึ่งได้
อย่างไรก็ตาม ข้อจำกัดที่สำคัญที่สุดของ Permit คือ ต้องนำมาใช้งานโดยตรงภายในสัญญาตราบัตร หากนักพัฒนาโทเค็นยังไม่ได้เพิ่มวิธี permit() หมายความว่าไม่รองรับ EIP-2612 การใช้ Permit จึงไม่สามารถใช้งานได้ โดยเพราะ EIP-2612 ถูกนำเสนอเพียงในปี 2020 โทเค็นที่เก่ากว่ามักไม่รวมมันเข้าไป และแม้โทเค็นที่ใหม่ก็ไม่ได้นำมันมาใช้เสมอ สิ่งนี้จำกัดความสามารถในการใช้งานของ Permit: โทเค็นที่ไม่รองรับยังจำเป็นต้องใช้กระแสอนุมัติแบบเดิม
ปัญหาอีกประการหนึ่งคือซอฟต์แวร์กระเป๋าเงินต้องจัดการและแสดงลายเซ็นใบอนุญาตอย่างถูกต้องซึ่งโดยทั่วไปจะจัดรูปแบบโดยใช้ EIP-712 กระเป๋าเงินหลักส่วนใหญ่รองรับสิ่งนี้ในขณะนี้ แต่บางส่วนยังคงแสดงข้อมูลดิบแทนที่จะเป็นข้อความที่มนุษย์อ่านได้ทําให้ผู้ใช้เข้าใจสิ่งที่พวกเขากําลังลงนามได้ยาก หากไม่มีอินเทอร์เฟซที่ชัดเจนสําหรับ EIP-2612 กระเป๋าเงินอาจขัดขวางความเข้าใจของผู้ใช้เกี่ยวกับการอนุมัติตามลายเซ็น นอกจากนี้ ในกรณีของการปรับใช้แบบขนาน (เช่น สัญญาที่มีที่อยู่เหมือนกันบนเชนที่แตกต่างกัน) ลายเซ็นอาจถูกนํากลับมาใช้ใหม่ในสภาพแวดล้อมอื่น ดังนั้นผู้ใช้ต้องตรวจสอบว่ารหัสลูกโซ่และที่อยู่สัญญาในลายเซ็นตรงกับสภาพแวดล้อมปัจจุบันเพื่อป้องกันไม่ให้สิทธิ์ที่ได้รับสําหรับโทเค็นบน Chain A ถูกนําไปใช้ในทางที่ผิดโดยที่อยู่สัญญาที่เหมือนกันบน Chain B
ในทางปฏิบัติ Permit มีประสิทธิภาพและความยืดหยุ่นของการอนุมัติ ERC-20 ได้ดีขึ้นอย่างมีนัยสำคัญในกลไกการอนุมัติโกลไลส์ อย่างไรก็ตาม มันไม่ใช่ทางออกที่สมบูรณ์ โดยมีความจำเป็นต้องมีการสนับสนุนระดับโทเค็น และมันเป็นสาเหตุให้เกิดความเสี่ยงใหม่ ต่อไปเราจะสำรวจว่า Uniswap’s Permit2 มีการสร้างขึ้นและขยายพื้นฐานที่ Permit ได้เป็นรากเริ่ม
เมื่อกลไกใบอนุญาตได้รับความนิยมความท้าทายใหม่ก็เกิดขึ้น: จะขยายความสะดวกสบายของการอนุญาตตามลายเซ็นไปยังโทเค็นที่ไม่รองรับใบอนุญาตได้อย่างไร? เพื่อแก้ไขปัญหานี้และเพิ่มประสิทธิภาพประสบการณ์การอนุญาตในสถานการณ์ต่างๆ ทีม Uniswap ได้เปิดตัว Permit2 ในปี 2022 ซึ่งแตกต่างจากคุณสมบัติเฉพาะโทเค็น Permit2 เป็นสัญญาอัจฉริยะการจัดการการอนุญาตแบบสแตนด์อโลน มันทําหน้าที่เป็นตัวกลางสําหรับการอนุญาตโทเค็นโดยให้ฟังก์ชันการอนุญาตที่เป็นหนึ่งเดียวและปรับปรุง มาวิเคราะห์หลักการและคุณสมบัติของใบอนุญาต 2
Permit2 ทำหน้าที่เป็นบริการส่งผ่านการอนุญาต ความคิดหลักของมันคือ ผู้ใช้ให้การอนุญาตครั้งเดียวกับสัญญา Permit2 ซึ่งจะจัดการการอนุญาตย่อยต่อไปไปยังแอปพลิเคชันต่าง ๆ นี่คือวิธีการทำงาน
กระบวนการอนุญาต Permit2 ง่ายดาย: ผู้ใช้เพียงต้องให้การอนุมัติสูงสุดให้กับ Permit2 ครั้งเดียวต่อโทเคน หลังจากนั้นเมื่อต้องการทำธุรกรรมกับแอปพลิเคชัน (เช่น Uniswap Universal Router หรือโปรโตคอลอื่น ๆ) พวกเขาเพียงแค่รวมลายเซ็น Permit2 ลงในธุรกรรมของพวกเขาเพื่อสิ้นสุดกระบวนการอนุญาตและโอน โดยไม่จำเป็นต้องมีการอนุมัติเพิ่มเติมในเชน สัญญา Permit2 ยืนยันลายเซ็นและดำเนินการโอนโดยใช้การอนุมัติหลักของมัน (แหล่งที่มา:การแนะนำ Permit2 & Universal Router)
ผ่านโมเดลนี้ Permit2 ขยายแนวคิดการอนุญาตที่ใช้ลายเซ็น EIP-2612 ไปยังโทเค็น ERC-20 ทั้งหมด โดยไม่ว่าว่าพวกเขาจะใช้วิธี permit() หรือไม่ ตราบใดที่ผู้ใช้ได้อนุญาตให้สัญญา Permit2 ตั้งต้น พวกเขาสามารถใช้ลายเซ็นสำหรับการดำเนินการต่อๆ ไป คุ้มค่าที่ Uniswap ออกแบบ Permit2 เป็นสัญญาที่ไม่มีเจ้าของและไม่สามารถอัปเกรดได้ ที่ถูกใช้งานกับที่อยู่เดียวกันในเครือข่าย Ethereum mainnet และหลายโครงข่าย Layer 2 ซึ่งหมายความว่าทุกแอปพลิเคชันใช้ Permit2 ตัวเดียวกันทั้งหมด ทำให้บรรทัดคำว่า "อนุญาตซักครั้งใช้ทุกที่" เป็นไปได้
เป็นระบบอนุญาตรุ่นถัดไป Permit2 ไม่เพียงทำให้การอนุญาตที่ใช้ลายเซ็นสำหรับเหรียญทั้งหมดเป็นไปได้ แต่ยังมีคุณสมบัติเพิ่มเติมเพื่อเสริมความปลอดภัยและความสามารถในการใช้งาน นี่คือคุณสมบัติหลักของมัน:
การหมดอายุอัตโนมัติ
การอณุญาตทั้งหมดใน Permit2 สามารถรวมเข้าไปด้วย timestamp เพื่อการหมดอายุ ผู้ใช้สามารถระบุเวลาที่อณุญาตย่อยของพวกเขาควรหมดอายุเมื่อทำการเซ็นต์ หลังจากที่เวลาสิ้นสุดผ่านไป Permit2 จะปฏิเสธลายเซ็นเชียร์ แม้ว่าการอนุมัติหลักยังคงใช้งานอยู่ นี้จะช่วยแก้ปัญหาความเสี่ยงจากการอนุมัติที่ไม่มีข้อจำกัดที่ยังไม่ได้ใช้งาน
การโอนลายเซ็นเจาะจง
Permit2 มีโหมดการโอนลายเซ็นต์โดยตรงที่ผู้ใช้สามารถให้สิทธิ์การโอนโทเค็นเฉพาะไปยังผู้รับโดยใช้ลายเซ็นต์เท่านั้น โดยไม่จำเป็นต้องตั้งค่าสิทธิ์ก่อน นี่เหมาะสำหรับสถานการณ์การชำระเงินครั้งเดียว: ผู้ใช้สามารถลงลายเซ็นต์ในข้อความเพื่อให้สิทธิ์โอน 100 โทเค็นไปยังที่อยู่ของเพื่อน และเพื่อนหรือผู้กลายคลัสสามารถดำเนินการโอนโดยใช้ลายเซ็นต์นี้ หลังจากที่ใช้แล้ว ลายเซ็นต์ก็จะเป็นโมฆะ ซึ่งจะไม่ทิ้งสิทธิ์ที่ยังค้างอยู่
批准和转账
Permit2 ให้ความสำคัญกับประสิทธิภาพโดยอนุญาตให้ประมวลผลแบบจุดได้หลายการอนุญาตหรือการโอน ผู้ใช้สามารถให้สิทธิ์ที่แตกต่างกันของหลายๆ โทเค็นไปยังโปรโตคอลเดียวกันด้วยลายเซ็นเดียวกัน หรือดำเนินการโอนเงินของหลายๆ โทเค็นในธุรกรรมเดียว สิ่งนี้ช่วยประหยัด Gas และลดขั้นตอนสำหรับผู้ใช้ขั้นสูง
การเพิกถอนเป็นชุด
นอกเหนือจากการอนุมัติเป็นชุดผู้ใช้สามารถเพิกถอนสิทธิ์สําหรับโทเค็น / แอปพลิเคชันหลายรายการในธุรกรรมเดียว สิ่งนี้ทําให้การทําความสะอาดการอนุมัติในอดีตสะดวกยิ่งขึ้น
การเป็นพยานข้อมูลเพิ่มเติม
Permit2 รวมถึงอินเตอร์เฟซเช่น อนุญาตให้พยานโอนจาก ที่อนุญาตให้รวมข้อมูลการตรวจสอบเพิ่มเติมไว้ในลายเซ็น สิ่งนี้สนับสนุนสถานการณ์ที่ซับซ้อนมากขึ้น เช่น การรวมรายละเอียดธุรกรรมเฉพาะในลายเซ็นลําดับเพื่อป้องกันการนําลายเซ็นกลับมาใช้ใหม่ในบริบทที่แตกต่างกัน
ผ่านคุณลักษณะเหล่านี้ การอนุญาต2 ไม่เพียงทำซ้ำคุณสมบัติทั้งหมดของการอนุญาต แต่ยังเสริมความยืดหยุ่นและควบคุมความปลอดภัย การหมดอายุอัตโนมัติและการโอนลายมือเซ็นเซี่ยงเฉพาะ โดยเฉพาะ ทำให้การอนุญาตที่จำเป็นเพียงเล็กน้อยเป็นเกณฑ์มาตรฐาน ลดความเสี่ยงในระยะยาว
เพื่อสรุป Permit2 ทำหน้าที่เป็นการขยายตัวและเพิ่มประสิทธิภาพให้กับกลไกการอนุญาตแบบดั้งเดิม มาชมความแตกต่างสำคัญระหว่างวิธีการสองวิธีนี้
เมื่อ Uniswap นำเสนอ Permit2 มา เป็นโครงสร้างที่หลายๆ โครงการได้รวมร่วม ทำให้มาตรฐานของอุตสาหกรรมเร่งขึ้น ตามข้อมูลล่าสุดจาก ดูน อนาลิติกส์, ตั้งแต่เดือนเมษายน ค.ศ. 2025, มีมากกว่า 3.1 ล้านที่อยู่บน Ethereum mainnet ได้ให้สิทธิให้สิทธิให้สิทธิการใช้งานกับสัญญา Permit2 ซึ่งแสดงให้เห็นถึงการนำมาใช้ที่กว้างขวาง
สิทธิ2 นิวอน และสถานะการใช้งาน ที่มา:Dune Analytics
ตัวอย่างเช่น Uniswap ได้รวม Permit2 เข้ากับ Universal Router ของตนเพื่อเปิดให้การแลกเปลี่ยนหลายโทเคนและ NFT ในธุรกรรมเดียวกันเป็นไปได้ ผ่าน Universal Router ผู้ใช้สามารถเชื่อมโยงการดำเนินการหลายรายการในหนึ่งธุรกรรมเดียว เช่น การแลกเปลี่ยนสามโทเคนเป็นโทเคนเป้าหมายสองตัวและการซื้อ NFT พร้อมกับความต้องการในการอนุญาตทั้งหมดที่จัดการโดยลายมือ Permit2 สิ่งนี้ช่วยลดกระบวนการและค่า Gas ทั้งหมดอย่างมีชัดเจนโดยแสดงให้เห็นถึงผลกระทบโดยตรงของ Permit2 ในการปรับปรุงประสบการณ์ผู้ใช้
นอกจากนี้ด้วยการปรับใช้โอเพ่นซอร์สของ Permit2 ในเครือข่ายต่างๆกระเป๋าเงินและเครื่องมือ DApp จํานวนมากขึ้นได้เริ่มรองรับ เครื่องมือรักษาความปลอดภัยเช่น Revoke.cash ได้อัปเดตบริการของตนเพื่อให้ผู้ใช้สามารถดูและเพิกถอนบันทึกการอนุญาต Permit2 ได้ นอกจากนี้ Matcha ยังได้นําโมดูล SignatureTransfer ของ Permit2 มาใช้ โดยเปิดใช้งานกลไก "การอนุญาตแบบครั้งเดียว"
ผลกระทบถึงความคืบหน้านี้ การใช้งาน Permit2 อย่างกว้างขวางกำลังเผชิญกับอุปสรรคบางประการ อย่างใดอย่างหนึ่ง นักพัฒนาต้องใช้เวลาเพิ่มเติมสำหรับการรวมระบบ: เมื่อเปรียบเทียบกับการใช้งาน approve ของ ERC-20 โดยตรง การนำ Permit2 เข้ามาใช้งานต้องการการจัดการตรรกะของลายเซ็นเจอร์ ทำให้เกิดค่าใช้จ่ายในการพัฒนาเพิ่มมากขึ้น สิ่งนี้อาจหยุดยั้งทีมที่มีขนาดเล็กได้ จากอีกด้านหนึ่ง การสอนผู้ใช้เป็นสิ่งสำคัญ: หลาย DApps ที่ใช้ Permit2 จำเป็นต้องสอนผู้ใช้เกี่ยวกับความสำคัญของลายเซ็นเจอร์ ปัจจุบัน ข้อได้เปรียบของ Permit2 ที่มีความเป็นเอกอักษรดูเหนือความต้านทานเหล่านี้ แต่การเข้าถึงตลาดอย่างเต็มรูปแบบยังจะใช้เวลา
ในช่วง 8 ปีที่ผ่านมา กลไกการอนุญาต ERC-20 ได้รับการพัฒนาจากการทำธุรกรรมหลายรายการ ไปจนถึงลายเซ็นเซอร์ที่ไม่ใช้แก๊สและตอนนี้กลายเป็นบัญชีสมาร์ท การพัฒนาทุกขั้นตอนมุ่งหวังในการปรับปรุงสมดุลระหว่างประสบการณ์ผู้ใช้ (ลดความต้องการในการทำธุรกรรมและลายเซ็น) และค่าแก๊ส นี่คือการเปรียบเทียบเทคโนโลยีเหล่านี้:
นอกจาก Permit2 ยังมีการแก้ปัญหาในการอนุญาตที่คุ้มค่าอย่าง Session Keys และERC-4337 การสรุปบัญชี, แต่ละอันเสนอวิธีการที่แตกต่างกันในการแก้ปัญหา
คีย์เซสชันมีเอกลักษณ์เฉพาะตัวเป็นพิเศษ เนื่องจากไม่ใช่รูปแบบการอนุญาตที่เข้มงวด แต่เป็นกลไกคีย์ชั่วคราวในระดับกระเป๋าเงินหรือบัญชี แทนที่จะแก้ไขสัญญาโทเค็นพวกเขาอนุญาตให้กระเป๋าเงินสร้างคีย์ส่วนตัวชั่วคราวที่ จํากัด เวลาและ จํากัด จํานวนสําหรับการดําเนินการเฉพาะ สิ่งนี้ทําให้เหมาะสําหรับการซื้อไอเท็มเกมและไมโครเพย์เมนต์แบบครั้งเดียว พวกเขามุ่งเน้นไปที่การลดความเสี่ยงในการอนุญาตครั้งเดียวซึ่งออกแบบมาโดยเฉพาะสําหรับการโต้ตอบของผู้ใช้ชั่วคราวซึ่งแตกต่างจากแนวทางการแก้ไขสัญญาของใบอนุญาต / ใบอนุญาต 2
ERC-4337 มีการใช้วิธีการที่แตกต่างโดยฝังตัวตรรกะการอนุญาตโดยตรงลงในบัญชีอัจฉริยะ ทำให้ผู้ใช้สามารถปรับแต่งเงื่อนไขการอนุญาตและอาจข้ามขั้นตอนการอนุมัติ传统ได้ ผ่านกลไก UserOperation และ Paymaster ที่ยืดหยุ่น เพื่อความปลอดภัยและประสบการณ์ของผู้ใช้ที่ดีขึ้น
เมื่อพิจารณาถึงแนวโน้มในอนาคตโซลูชันที่แตกต่างกันเหล่านี้มีแนวโน้มที่จะอยู่ร่วมกัน ในระยะสั้น Permit2 จะยังคงเป็นมาตรฐานสําหรับ DApps ที่เกิดขึ้นใหม่ปรับปรุงประสบการณ์ของผู้ใช้ผ่านการอนุญาตเพียงครั้งเดียวในขณะที่ส่งเสริมการศึกษาด้านความปลอดภัยและการสนับสนุนเครื่องมือเพื่อลดความเสี่ยงฟิชชิง ในระยะกลางเนื่องจาก ERC-4337 และนามธรรมของบัญชีแพร่หลายมากขึ้นในเลเยอร์ 2 และเมนเน็ตผู้ใช้จะสามารถหลุดพ้นจากข้อ จํากัด การอนุมัติ ERC-20 แบบดั้งเดิมจัดการการอนุญาตได้อย่างแม่นยําและชาญฉลาดยิ่งขึ้นซึ่งอาจลดความจําเป็นในการอนุญาต 2
วิสัยทัศน์ระยะยาวคือการสร้างประสบการณ์การอนุญาตที่ราบรื่นและใช้งานง่ายเช่นเดียวกับ Web2 ซึ่งผู้ใช้สามารถคลิกปุ่มและการอนุมัติที่จําเป็นทั้งหมดจะเกิดขึ้นโดยอัตโนมัติในพื้นหลังโดยมีข้อความแจ้งที่ชัดเจนปรากฏขึ้นเฉพาะในสถานการณ์ที่มีความเสี่ยงสูงเท่านั้น การบรรลุวิสัยทัศน์นี้จะต้องมีการทํางานร่วมกันและนวัตกรรมอย่างต่อเนื่องในโปรโตคอลกระเป๋าเงินและ dApps พื้นฐาน Permit2 เป็นก้าวสําคัญในการเดินทางในช่วงเปลี่ยนผ่านนี้ แต่ก็ยังมีหนทางอีกยาวไกลก่อนที่จะถึงสถานะในอุดมคติ ระหว่างทางทั้งชุมชนและนักพัฒนาควรรักษาแนวทางในทางปฏิบัติทําความเข้าใจจุดแข็งและข้อ จํากัด ของแต่ละโซลูชันอย่างถ่องแท้และทํางานร่วมกันเพื่อสร้างสภาพแวดล้อมการอนุญาตที่ปลอดภัยและใช้งานง่ายยิ่งขึ้น
โดยรวม Permit2 มีวิธีการที่สามารถนำมาใช้ได้ในทันที ในขณะที่เทคโนโลยีเช่น Session Keys และ ERC-4337 ชี้ทางไปสู่การปรับปรุงที่มีระยะยาวและมีพื้นฐานมากขึ้นในวิธีการจัดการอนุญาต
เช่นเดียวกับเทคโนโลยีใหม่ ๆ ทั้ง Permit และ Permit2 มาพร้อมกับประสิทธิภาพใหม่ไม่เพียงอย่างเดียว แต่ยังมีความเสี่ยงใหม่ๆ โดยเฉพาะอย่างยิ่งเกี่ยวกับการโจมตีที่ใช้ลายเซ็นต์เป็นหลัก
ในระบบที่ใช้ลายเซ็นเจอร์ เช่น Permit2 และ EIP-2612 Permit การออกแบบสัญญาหลักมีชั้นความปลอดภัยหลายชั้นเพื่อป้องกันการใช้งานผิดประโยชน์และการโจมตีแบบซ้ำ
Permit2 รักษาตัวนับ nonce แยกต่างหากสําหรับแต่ละ (เจ้าของโทเค็นผู้ใช้จ่าย) tuple ทุกครั้งที่ผู้ใช้ลงนามในการอนุญาตใหม่ nonce ที่เกี่ยวข้องจะเพิ่มขึ้น หากผู้โจมตีพยายามนําลายเซ็นเก่ากลับมาใช้ใหม่จะล้มเหลวเนื่องจากสัญญาจะตรวจสอบว่ามีการใช้ลายเซ็นเก่าแล้วหรือไม่
ลายเซ็นแต่ละอันต้องรวมฟิลด์กำหนดเวลาสำหรับการดำเนินการ ขณะที่สัญญาตรวจสอบลายเซ็น มันจะรับรองว่าเวลาบล็อกปัจจุบันเป็นไปตามหรือน้อยกว่าเวลากำหนด หากลายเซ็นหมดอายุ - แม้ว่าจะถูกต้องโดยรวม - มันจะถูกปฏิเสธ สิ่งนี้จะป้องกันการใช้สิทธิการใช้งานที่ยาวนานจากการถูกใช้งานในภายหลัง
ใบอนุญาต2 ลายเซ็นสามารถระบุวงเงินสูงสุดได้ ก่อนที่การโอนโทเค็นจะเกิดขึ้น สัญญาตรวจสอบว่าจำนวนที่ร้องขออยู่ในขีดจำกัดนี้ สัญญาไม่ใช้จ่ายจำนวนที่อนุมัติเต็มร้อยโดยอัตโนมัติ ทำให้ผู้ใช้สามารถใช้วงเงินของตนเป็นส่วนๆ ลดความเสี่ยงของการประยุกต์ใช้ที่ถูกเต็มร้อย
นอกจากการอนุญาตที่เป็นระบบอนุญาตตามคำสั่ง ยังรองรับลายเซ็นเจาะจงผ่านการโอนลายเซ็น เหล่าลายเซ็นเหล่านี้ถูกต้องสำหรับธุรกรรมเดียวเท่านั้นและกลายเป็นโมฆะทันทีหลังจากดำเนินการ นี่เหมาะสำหรับการชำระเงินครั้งเดียวและป้องกันลายเซ็นไม่ให้ถูกใช้ซ้ำหรือถูกใช้เอาแล้วภายหลัง
การป้องกันชั้นเลเยอร์เหล่านี้ช่วยให้ระบบการให้สิทธิ์แบบ Permit ปรับปรุงประสบการณ์ผู้ใช้และประหยัด gas พร้อมลดความเสี่ยงที่เกิดขึ้นเป็นปกติ เช่น "replay attacks", "over-authorization", และ "indefinite signature validity"
อย่างไรก็ตาม แม้จะมีการป้องกันระดับสัญญาที่ปลอดภัย การวิศวกรรมสังคม (โดยเฉพาะการโฟกัส) ยังคงเป็นภัยที่ยากที่สุดที่จะป้องกันได้ ในส่วนถัดไป เราจะมองไปที่เทคนิคการโฟกัสที่พบบ่อยและวิธีการโจมตีของผู้โจมตีที่หลอกผู้ใช้ให้ลงนามอนุญาตที่เป็นอันตรายโดยไม่รู้ตัวที่ใช้ Permit2 นอกจากนี้เรายังจะมีเคล็ดลับเกี่ยวกับวิธีการปลอดภัย
การปลอมแปลงลายเซ็นเกิดขึ้นเมื่อผู้โจมตีหลอกเอาเหยื่อให้ลงลายเซ็นข้อความที่เฉพาะเจาะจงเพื่อเอาเอาควบคุมสินทรัพย์ของพวกเขา ในขณะที่การโจมตีแบบดั้งเดิมอาจเกี่ยวข้องกับการดำเนินสัญญาที่ไม่ดีหรือธุรกรรมที่ไม่ดี ในยุคการอนุญาต การอนุญาตลายเซ็นที่เป็นอันตรายเพียงอันเดียวก็เพียงพอที่จะดูดเงินออกมา นี่คือวิธีที่การโจมตีเหล่านี้มักจะเกิดขึ้น:
ในการโจมตีเหล่านี้ ผู้ใช้ไม่เคยดำเนินการทำธุรกรรม “โอน” หรือ “อนุญาต” ที่ชัดเจนใด ๆ อย่างไรก็ตามสินทรัพย์ของพวกเขาจะหายไปอย่างลึกลับ ความสำคัญอยู่ที่ลายเซ็นต์เองกลายเป็นการอนุญาต ผู้โจมตีจัดการปกป้องคำขอลายเซ็นต์ให้ดูเหมือนเป็นการดำเนินการที่ปกติ ลดความระมัดระวังของผู้ใช้ อย่างไรก็ตามเมื่อลายเซ็นต์แล้ว มันก็เหมือนกับการส่งมอบกุญแจของสินทรัพย์ของคุณ
อย่างแย่ยิ่ง, บางผู้โจมตีใช้วิธีเทคนิคเพื่อเพิ่มความลับมากขึ้น เช่นพวกเขาใช้กลไก CREATE2 ของ Ethereum เพื่อสร้างที่อยู่สัญญาที่เป็นอันตรายที่ไม่ซ้ำกันสำหรับแต่ละเหยื่อ สิ่งนี้ทำให้การเขียนรายชื่อดำเพลิงเป็นไร้ประสิทธิภาพเนื่องจากการโจมตีแต่ละครั้งใช้ที่อยู่ที่แตกต่างกัน
เหตุการณ์การล่องลอยคริปโตล่าสุดมักเกิดขึ้นโดยการอนุญาตลายมือ. เช่นเดียวกับ Scam Sniffer’sสถิติตั้งแต่ต้นปี พ.ศ. 2024 แสดงว่ามีทรัพย์สินมูลค่าเกิน 55 ล้านเหรียญถูกขโมยผ่านฟิชชิ่งลายเซ็นเจอร์เพียงเดือนเดียว ตั้งแต่เริ่มใช้ Permit2 ผู้โจมตีก็กลายเป็นโดดเด่นขึ้นในการกระตุ้นผู้ใช้ให้เซ็นอนุญาต Permit/Permit2 ซึ่งทำให้มีผู้เสียหายจำนวนมากในช่วงเวลาสั้น ๆ โดยชัดเจนว่าเมื่ออนุญาตลายเซ็นถูกนำไปใช้ในทางที่ไม่เหมาะสม มันสามารถก่อให้เกิดความเสียหายและยากต่อการตรวจจับ
การอนุญาตที่เป็นอันตรายแบบดั้งเดิมกําหนดให้ผู้ใช้ต้องทําธุรกรรมแบบ on-chain ซึ่งกระเป๋าเงินมักจะแสดงคําเตือนที่ชัดเจน เช่น "คุณอนุญาตให้ XXX ใช้โทเค็นของคุณ" และต้องเสียค่าธรรมเนียมก๊าซ ผู้ใช้ที่มีประสบการณ์มักจะระมัดระวังมากขึ้นเกี่ยวกับสิ่งเหล่านี้ อย่างไรก็ตามคําขอลายเซ็นในอินเทอร์เฟซกระเป๋าเงินมักถูกอธิบายว่าเป็นเพียง "คําขอลายเซ็นข้อมูล" มากกว่าการดําเนินการทางการเงินทําให้ผู้ใช้ลดการป้องกันลง ยิ่งไปกว่านั้นเนื่องจากลายเซ็นไม่เสียค่าใช้จ่ายผู้โจมตีจึงสามารถเปิดตัวความพยายามฟิชชิ่งขนาดใหญ่ได้โดยไม่ต้องกังวลกับค่าใช้จ่าย - พวกเขาทํากําไรได้แม้จะมีความพยายามที่ประสบความสําเร็จเพียงไม่กี่ครั้ง
นอกจากนี้ กระเป๋าเงินที่แตกต่างกันจะแสดงข้อความ EIP-712 อย่างหลากหลาย บางกระเป๋าเงินรุ่นใหม่ (เช่นล่าสุดMetaMaskการแยกและแสดงฟิลด์อย่างชัดเจน โดยแสดงข้อความเช่น 'อนุญาตให้สัญญาใช้จ่าย X จำนวนของโทเคนของคุณ' อย่างได้เจิดจรัส อย่างไรก็ตาม กระเป๋าเงินหลายราย แสดงข้อมูลสิบหกสิบหกหรือคำอธิบายอย่างง่ายเท่านั้น ทำให้ผู้ใช้ทั่วไปมีความยากลำบากในการตรวจสอบความถูกต้อง ผู้โจมตีใช้ประโยชน์จากสิ่งนี้โดยฝังคำอธิบายที่หลอกลวงในข้อความ (เช่น การแสดงตัวเลือกของ NFT) เพื่อหลอกผู้ใช้ให้ลงลายเซ็น
เนื่องจากการอนุญาตลายเซ็นไม่ได้ส่งผลกระทบต่อทรัพย์สินในทันทีผู้เสียหายอาจไม่สามารถตรวจจับภัยคุกคามได้ทันที ผู้โจมตีสามารถกําหนดเวลาการประท้วงได้อย่างมีกลยุทธ์ แทนที่จะดําเนินการทันทีพวกเขาอาจรอจนกว่ากระเป๋าเงินของเหยื่อจะมีทรัพย์สินมากขึ้นหรือจนกว่าจะถึงช่วงเวลาหนึ่งซึ่งทําให้ความพยายามในการติดตามมีความซับซ้อน ด้วยลายเซ็นที่ขยายระยะเวลาการใช้งานผู้โจมตียังสามารถใช้ประโยชน์จากการเคลื่อนไหวของราคาเพื่อเพิ่มผลกําไรสูงสุดทําให้พวกเขามีตัวเลือกการซื้อขายฟรีอย่างมีประสิทธิภาพ ความเสี่ยงนี้อธิบายว่าเหตุใดลายเซ็นใบอนุญาตจึงบังคับใช้กําหนดเวลาสั้น ๆ
ความสามารถของ Permit2 ในการอนุญาตโทเค็นหลายรายการด้วยลายเซ็นเดียวทําให้ผู้ใช้เข้าใจความหมายได้อย่างเต็มที่ ตัวอย่างเช่น เว็บไซต์ฟิชชิ่งอาจขอลายเซ็น Permit2 ในขณะที่เน้นสิทธิ์สําหรับโทเค็นเพียงหนึ่งหรือสองโทเค็น แต่แอบฝังการอนุญาตที่กว้างขวางสําหรับโทเค็นเพิ่มเติมภายในลายเซ็นเดียวกัน ผู้ใช้สามารถมองข้ามสิทธิ์ที่ซ่อนอยู่เหล่านี้ได้อย่างง่ายดายหากกระเป๋าเงินของพวกเขาไม่แสดงรายละเอียดทั้งหมดอย่างชัดเจน นอกจากนี้ผู้โจมตีมักใช้ชื่อสัญญาที่หลอกลวงเช่น "WalletGuard" ในลายเซ็นของพวกเขาปิดบังสัญญาที่เป็นอันตรายที่ออกแบบมาเพื่อขโมยสิทธิ์โทเค็น
โปรดจําไว้ว่าการลงนามเทียบเท่ากับการให้ความยินยอม - อย่าปล่อยให้การไม่มีค่าน้ํามันทําให้คุณประมาท เมื่อกระเป๋าเงินของคุณขอลายเซ็น ให้อ่านรายละเอียดข้อความอย่างละเอียด ตรวจสอบให้แน่ใจว่าเว็บไซต์หรือ DApp ที่ขอลายเซ็นนั้นถูกต้องและเนื้อหาข้อความสอดคล้องกับการกระทําที่คุณตั้งใจไว้ ตัวอย่างเช่นหากคุณเพียงแค่ลงชื่อเข้าใช้เว็บไซต์ลายเซ็นควรมีข้อความเข้าสู่ระบบที่อ่านได้ (ตามที่ DApps ส่วนใหญ่ใช้) ไม่ใช่สตริงที่อยู่โทเค็นและหมายเลข
ตรวจสอบให้แน่ใจว่าซอฟต์แวร์กระเป๋าเงินของคุณรองรับการแสดงข้อมูล EIP-712 โดยเฉพาะ กระเป๋าเงินชั้นนำเช่น MetaMask,TrustWallet, และLedger Live กําลังปรับปรุงประสบการณ์การแสดงเนื้อหาลายเซ็นของพวกเขา ตัวอย่างเช่น MetaMask สามารถแยกวิเคราะห์ข้อความอนุญาตทั่วไปเป็นภาษาธรรมดาได้แล้ว หากกระเป๋าเงินของคุณแสดงเฉพาะข้อมูลเลขฐานสิบหกยาวเมื่อลงนาม ให้ลองเปลี่ยนหรืออัปเดต ผู้ใช้กระเป๋าเงินฮาร์ดแวร์ควรอัปเดตเฟิร์มแวร์อยู่เสมอเพื่อรองรับรูปแบบใหม่ มิฉะนั้นอาจไม่เห็นข้อมูลอย่างถูกต้องบนหน้าจอ
ไม่ว่าจะใช้ลายเซ็นใบอนุญาตหรือใบอนุญาต 2 คุณมักจะสามารถปรับพารามิเตอร์การอนุญาตได้ อย่าเซ็นชื่อไม่ จํากัด จํานวน (ค่า = 2 ^ 256-1) เว้นแต่จําเป็นอย่างยิ่ง - แทนที่จะอนุญาตเฉพาะจํานวนเงินที่คุณต้องการบวกบัฟเฟอร์ขนาดเล็ก นอกจากนี้อย่ากําหนดเส้นตายมากเกินไปในอนาคต ด้วยวิธีนี้แม้ว่าลายเซ็นของคุณจะตกไปอยู่ในมือที่ไม่ถูกต้อง แต่การสูญเสียที่อาจเกิดขึ้นจะถูก จํากัด และลายเซ็นจะหมดอายุในที่สุด
พัฒนานิสัยในการตรวจสอบสถานะการอนุญาตที่อยู่ของคุณเป็นประจําโดยใช้เครื่องมือต่างๆ เช่น Revoke.cash, Etherscan Token Approval หรือคุณสมบัติในตัวของกระเป๋าเงินของคุณ ซึ่งรวมถึงการอนุมัติแบบดั้งเดิมและค่าเผื่อใบอนุญาต 2 หากคุณพบการอนุญาตที่น่าสงสัยหรือไม่จําเป็น ให้เพิกถอนสิทธิ์เหล่านั้นทันที สําหรับ Permit2 โปรดระวังการเพิกถอนสองระดับ: ขั้นแรกการอนุญาตหลัก (คุณอนุมัติสัญญา Permit2 เองซึ่งคุณอาจต้องการตั้งค่าเป็น 0 เมื่อไม่ได้ใช้งาน) ประการที่สองการอนุญาตย่อย (ค่าเผื่อของ Permit2 สําหรับ DApps ต่างๆซึ่งมักจะหมดอายุโดยอัตโนมัติ แต่สามารถยกเลิกได้ก่อนกําหนดหากมีระยะเวลานาน) หากคุณสงสัยว่าคุณได้ลงนามในใบอนุญาตที่น่าสงสัยการกระทําที่ปลอดภัยที่สุดคือการปรับ nonce ทันที: ลงนามในใบอนุญาตใหม่ให้กับผู้ใช้จ่ายรายเดียวกัน (แม้จะมีค่าเผื่อ 0) เพื่อทําให้ลายเซ็นเก่าที่อยู่ในความครอบครองของผู้โจมตีเป็นโมฆะ
ระมัดระวังเสมอเมื่อเยี่ยมชมเว็บไซต์ที่ไม่คุ้นเคยหรือดาวน์โหลดแอปพลิเคชัน อย่าคลิกลิงก์ที่ไม่รู้จัก โดยเฉพาะ "ข้อเสนอส่งเสริมการขาย" หรือ "กิจกรรมมิ้นท์" ที่แชร์ผ่านโฆษณาโซเชียลมีเดียหรือข้อความส่วนตัว ความพยายามฟิชชิงจํานวนมากเกิดขึ้นผ่านบัญชีทางการปลอมที่โพสต์ลิงก์กิจกรรมหลอกลวงซึ่งนําไปสู่คําขอลายเซ็น ทําให้เป็นนิสัยในการพิมพ์ URL DApp อย่างเป็นทางการโดยตรงหรือใช้บุ๊กมาร์กเพื่อหลีกเลี่ยงการตกหลุมรักเว็บไซต์ปลอม
ในสรุป การสร้างสมดุลระหว่างความสะดวกและความปลอดภัยเป็นสิ่งสำคัญ ในขณะที่เทคโนโลยีการอนุญาตเป็นสิ่งที่สะดวก ผู้ใช้ต้องรักษาความระมัดระวังเกี่ยวกับการป้องกันความเสี่ยง ซึ่งเมื่อระบบโตมากขึ้น ผลิตภัณฑ์กระเป๋าเงินและปลั๊กอินของเบราว์เซอร์กำลังพัฒนาการป้องกันต่อการลวดลามเกี่ยวกับการลงลายมากๆ เรามีเป้าหมายที่จะลดการโจมตีแบบนี้ผ่านการปรับปรุงทั้งด้านเทคนิคและการศึกษาในอนาคต
ตั้งแต่ข้อ จํากัด ของรูปแบบการอนุญาต ERC-20 แบบดั้งเดิมไปจนถึงการเกิดใบอนุญาตและจากนั้นไปจนถึงใบอนุญาตที่เป็นนวัตกรรมใหม่ของ Uniswap2 เราได้เห็นความพยายามของระบบนิเวศ Ethereum ในการปรับปรุงประสบการณ์และความปลอดภัยของผู้ใช้ Permit2 ช่วยลดความยุ่งยากในกระบวนการอนุมัติโทเค็นผ่านลายเซ็นนอกเครือข่ายลดความเสี่ยงของการอนุมัติซ้ําและการอนุญาตแบบไม่ จํากัด ในขณะที่แนะนําคุณสมบัติที่มีประโยชน์เช่นกลไกการหมดอายุและการดําเนินการแบทช์ อย่างไรก็ตามกลไกใหม่เหล่านี้มาพร้อมกับความรับผิดชอบใหม่ ๆ ผู้ใช้จําเป็นต้องเพิ่มความตระหนักด้านความปลอดภัยในขณะที่กระเป๋าเงินและ DApps ต้องทํางานร่วมกันเพื่อปกป้องผู้ใช้จากการโจมตีด้วยลายเซ็น เมื่อมองไปข้างหน้าด้วยการพัฒนาทางเทคโนโลยีเพิ่มเติมเช่นการเป็นนามธรรมของบัญชีการจัดการการอนุญาตโทเค็นคาดว่าจะราบรื่นและปลอดภัยยิ่งขึ้น
ในโลกของบล็อกเชน ผู้ใช้บ่อยครั้งต้องให้สิทธิ์ (อนุญาต) ซึ่งทำให้สมาร์ทคอนแทรคตใช้โทเค็นในนามของพวกเขาได้ ตัวอย่างเช่น เมื่อใช้ดีอีเอ็กซ์ (DEX) เพื่อสลับโทเค็น ผู้ใช้จำเป็นต้องอนุญาตสัญญาของตลาดให้โอนจำนวนโทเค็นที่กำหนดจากกระเป๋าของพวกเขาก่อนERC-20ตามมาตรฐานนี้ กระบวนการนี้ต้องใช้ธุรกรรม on-chain สองรายการแยกกัน: หนึ่งสำหรับการอนุมัติและอีกอันสำหรับการโอนโทเค็นจริง ๆ กระบวนการสองขั้นตอนนี้ไม่เพียงแต่ยุ่งยากแต่ยังมีค่าธรรมเนียมแก๊สเพิ่มเติม หากต้องการปรับปรุงทั้งประสบการณ์ของผู้ใช้และความปลอดภัย ชุมชน Ethereum ได้เสนอกลไซเนเจอร์ที่ใช้ลายเซ็นเป็นพื้นฐานอนุญาต(เช่น EIP-2612) และพัฒนาเป็นเวอร์ชันที่ถูกพัฒนาขึ้นมาทีหลังที่เรียกว่า Permit2 กลไกใหม่เหล่านี้ช่วยให้ผู้ใช้สามารถให้อนุญาตให้โทเค็นผ่านลายเซ็นต์ออฟเชน โดยหลีกเลี่ยงความจำเป็นในการทำธุรกรรมออนเชนเพิ่มเติม
ในบทความนี้ เราจะเริ่มต้นด้วยเนื้อหาพื้นฐานโดยการอธิบายวิธีการทำงานของการอนุมัติ ERC-20 แบบดั้งเดิมและข้อจำกัดของมัน จากนั้นเราจะลึกซึ้งเกี่ยวกับวิธีการทำงานของ Permit และ Permit2 โดยเน้นที่ประโยชน์และการแลกเปลี่ยน และพูดถึงว่าพวกเขาเสริมสร้างความมีประสิทธิภาพและความปลอดภัย นอกจากนี้เรายังจะสำรวจความเสี่ยงด้านความปลอดภัยที่เป็นไปได้โดยเฉพาะการโจมตีฟิชชิ่งที่เกี่ยวข้องกับลายเซ็นทรัย์ที่เป็นอันตราย, และให้เคล็ดลับสำหรับการเก็บตัวอย่างการปลอดภัย ไม่ว่าคุณจะเป็นมือใหม่ในด้านบล็อกเชนหรือเพิ่งเริ่มต้นการลงทุนในสกุลเงินดิจิทัล คู่มือนี้มีจุดประสงค์เพื่อช่วยคุณเข้าใจนวัตกรรมทางเทคนิคที่สำคัญเหล่านี้
ก่อนที่จะเข้าสู่การอนุญาต ขอให้เรามาดูกันก่อนว่าระบบการอนุญาตโทเค็น ERC-20 แบบดั้งเดิมทำงานอย่างไร และ ข้อ จำกัด ที่มันนำเสนอ
ERC-20 เป็นมาตรฐานสำหรับโทเค็นบน Ethereum มันกำหนดฟังก์ชั่นเช่นการอนุมัติและการโอนจาก ซึ่งทำให้การอนุญาตโทเค็นเป็นไปได้ การอนุญาตที่นี่หมายถึงว่าผู้ถือโทเค็น (เจ้าของ) อนุญาตบัญชีอื่นๆ ซึ่งโดยทั่วไปคือสัญญาฉลาก (ผู้ใช้จ่าย) โอนจำนวนโทเค็นบางจำนวนในนามของพวกเขา กระบวนการพื้นฐานทำงานอย่างนี้
โมเดลสองขั้นตอนด้านบนช่วยให้ผู้ใช้สามารถให้อนุญาตให้สัญญาจัดการกับเงินของพวกเขาโดยไม่ต้องแชร์กุญแจส่วนตัวของพวกเขา อย่างไรก็ตามวิธีการเชิง传统นี้ก็มาพร้อมกับปัญหาทางปฏิบัติหลายอย่าง
ต้องการการทำธุรกรรมสองครั้ง ประสบประสบการณ์ของผู้ใช้ที่แย่
ทุกครั้งที่ผู้ใช้ต้องการใช้โทเค็นใหม่บน dApp พวกเขาจะต้องส่งธุรกรรมการอนุมัติแยกต่างหากก่อนที่พวกเขาจะสามารถดำเนินการที่ต้องการจริง (เช่น สว๊อปหรือสเตก) ซึ่งหมายความว่ากระเป๋าเงินของพวกเขาจะให้การยืนยันอีกครั้งและคิดค่าธรรมเนียม Gas เพิ่มเติม สำหรับผู้เริ่มต้น ขั้นตอนเพิ่มเติมนี้อาจทำให้สับสนและไม่สะดวก
การจัดการการอนุมัติแบบแยกส่วน
เมื่อผู้ใช้โต้ตอบกับหลายdAppsใช้โทเค็นเดียวกัน (เช่น การซื้อขายบน Uniswap แล้วนำเงินฝากในโปรโตคอล DeFi อื่น) แต่ละ dApp ต้องการการอนุมัติแยกต่างหาก แม้ว่าจะเป็นโทเค็นเดียวกันในกระเป๋าเงินเดียวกัน นี่ส่งผลให้การอนุมัติที่ซ้ำซ้อน ทำให้เสียเวลาและแก๊ส
นอกจากนี้เนื่องจากแอพพลิเคชันแต่ละแอพพิเคชันจัดการสิทธิใช้งานของตนเองอย่างอิสระผู้ใช้มีการควบคุมที่ถูกกลางอย่างน้อยเมื่อเทียบกับการอนุญาตRevoke.cashและDeBankโดยอนุญาตให้ผู้ใช้ดูแลและจัดการการอนุญาตโทเค็น แต่ผู้ใช้มีความไม่ทราบถึงเรื่องนี้มากเกินไป และแม้ว่าพวกเขารู้จักกันดี การเพิกถอนการอนุญาตยังต้องการธุรกรรมอนุญาต ซึ่งเพิ่มค่าใช้จ่าย เนื่องจากนั้น การอนุญาตเก่าหรือไม่ได้ใช้งานจะลืมไปเลย
ความเสี่ยงจากการอนุมัติโดยไม่จำกัด
เพื่อหลีกเลี่ยงธุรกรรมการอนุมัติบ่อยครั้ง dApps จํานวนมากแนะนําให้ผู้ใช้อนุมัติไม่ จํากัด ทําให้สัญญาสามารถใช้ยอดคงเหลือโทเค็นทั้งหมดของผู้ใช้โดยไม่มีวันหมดอายุ แม้ว่าวิธีการนี้จะช่วยประหยัดความพยายามในภายหลัง แต่ก็มีความเสี่ยงด้านความปลอดภัยที่ร้ายแรง: หาก dApp หรือสัญญาถูกบุกรุกผู้โจมตีสามารถระบายโทเค็นที่ได้รับอนุมัติทั้งหมดได้
ความท้าทายเหล่านี้ทำให้นักพัฒนาต้องมองหาทางเลือกที่ดีกว่า อย่างที่ควรจะเป็น ผู้ใช้ควรจะต้องเซ็นต์เพียงครั้งเดียว (โดย preference คือ off-chain และไร้ค่า gas) เพื่อที่จะทำการอนุมัติและดำเนินการได้พร้อมๆกัน การอนุมัติยังควรจะถูก จำกัด ในขอบเขตและระยะเวลาเพื่อลดความเสี่ยงที่เป็นไปได้ นี่คือแรงจูงใจในการนำเสนอ ERC-20 Permit
ความคิดเรื่องใบอนุญาตถูกแนะนำครั้งแรกโดยDAIสัญญา stablecoin และต่อมาถูกมาตราฐานระเบียบเป็น EIP-2612 โดยสรุป Permit ช่วยให้ผู้ใช้สามารถอนุญาตการโอนโทเค็นโดยใช้ลายเซ็นน์นอกเชือก โดยยกเลิกความจำเป็นในการส่งธุรกรรม approve แยกออกไปที่ต้องทำบนเชน ให้เรามาสังเกตอย่างใกล้ชิดว่ามันทำงานอย่างไรและคุณลักษณะที่แตกต่างของมัน
Permit เป็นกลไกการอนุญาตที่ขึ้นอยู่กับลายเซ็นดิจิทัล ภายใต้มาตรฐาน EIP-2612 สัญญา ERC-20 ที่รองรับ Permit เพิ่มฟังก์ชันที่เรียกว่า permit() ซึ่งมีลักษณะดังนี้:
ฟังก์ชัน permit(
เจ้าของที่อยู่, ผู้ใช้ที่อยู่,
uint256 ค่า, uint256 วันหมดอายุ,
uint8 v, bytes32 r, bytes32 s
) ภายนอก;
ที่นี่เจ้าของ, ผู้ใช้จ่าย, และค่าทราบว่าใครให้สิทธิ, ใครได้รับสิทธิ, และจำนวนที่อนุญาต การกำหนดเวลาหมดอายุแสดงถึงเมื่อลายเซ็นจะหมดอายุ พารามิเตอร์ v, r, และ s แบ่งออกเป็นECDSAลายเซ็นดิจิทัล โดยใช้ Permit ผู้ใช้สามารถหลีกเลี่ยงการอนุมัติแยกตัวบนเชนได้—พวกเขาเพียงแค่ลงลายเซ็นข้อความ (โดยไม่ต้องจ่าย Gas) และรวมลายเซ็นนี้กับธุรกรรมของพวกเขาเพื่อทำการอนุมัติในขั้นตอนเดียว
การดำเนินการใบอนุญาต
เมื่อเปรียบเทียบกับการอนุมัติแบบดั้งเดิม ใบอนุญาตจะยกเลิกความจำเป็นต่อการทำธุรกรรมซึ่งอยู่บนเชนอีก ทำให้ประหยัดเวลาและค่า Gas ได้ นอกจากนี้ยังช่วยให้มีการควบคุมที่ละเอียดขึ้นในการอนุมัติ เช่น เมื่อผู้ใช้ลงลายมือชื่อในใบอนุญาตที่อนุญาตให้ใช้จ่ายเพียง 50 USDC เท่านั้น ถูกต้องเป็นเวลาเพียง 5 นาที แม้แต่ลายมือจะถูกเปิดเผย ก็จะไม่สามารถใช้งานหลังจากเวลาสุดท้ายลดลง เพื่อลดความเสี่ยง ในปัจจุบันมีโปรโตคอลดีไฟหลายแห่ง เช่น แลกเปลี่ยนแบบกระจายและแพลตฟอร์มการให้ยืม รองรับใบอนุญาต ตัวอย่างที่รู้จักได้แก่ Uniswap V2/V3 โทเค็น LP, DAI, และUSDC, ซึ่งได้นำมาใช้มาตรฐาน EIP-2612 ซึ่งทำให้สามารถอนุมัติด้วยลายเซ็นขั้นหนึ่งได้
อย่างไรก็ตาม ข้อจำกัดที่สำคัญที่สุดของ Permit คือ ต้องนำมาใช้งานโดยตรงภายในสัญญาตราบัตร หากนักพัฒนาโทเค็นยังไม่ได้เพิ่มวิธี permit() หมายความว่าไม่รองรับ EIP-2612 การใช้ Permit จึงไม่สามารถใช้งานได้ โดยเพราะ EIP-2612 ถูกนำเสนอเพียงในปี 2020 โทเค็นที่เก่ากว่ามักไม่รวมมันเข้าไป และแม้โทเค็นที่ใหม่ก็ไม่ได้นำมันมาใช้เสมอ สิ่งนี้จำกัดความสามารถในการใช้งานของ Permit: โทเค็นที่ไม่รองรับยังจำเป็นต้องใช้กระแสอนุมัติแบบเดิม
ปัญหาอีกประการหนึ่งคือซอฟต์แวร์กระเป๋าเงินต้องจัดการและแสดงลายเซ็นใบอนุญาตอย่างถูกต้องซึ่งโดยทั่วไปจะจัดรูปแบบโดยใช้ EIP-712 กระเป๋าเงินหลักส่วนใหญ่รองรับสิ่งนี้ในขณะนี้ แต่บางส่วนยังคงแสดงข้อมูลดิบแทนที่จะเป็นข้อความที่มนุษย์อ่านได้ทําให้ผู้ใช้เข้าใจสิ่งที่พวกเขากําลังลงนามได้ยาก หากไม่มีอินเทอร์เฟซที่ชัดเจนสําหรับ EIP-2612 กระเป๋าเงินอาจขัดขวางความเข้าใจของผู้ใช้เกี่ยวกับการอนุมัติตามลายเซ็น นอกจากนี้ ในกรณีของการปรับใช้แบบขนาน (เช่น สัญญาที่มีที่อยู่เหมือนกันบนเชนที่แตกต่างกัน) ลายเซ็นอาจถูกนํากลับมาใช้ใหม่ในสภาพแวดล้อมอื่น ดังนั้นผู้ใช้ต้องตรวจสอบว่ารหัสลูกโซ่และที่อยู่สัญญาในลายเซ็นตรงกับสภาพแวดล้อมปัจจุบันเพื่อป้องกันไม่ให้สิทธิ์ที่ได้รับสําหรับโทเค็นบน Chain A ถูกนําไปใช้ในทางที่ผิดโดยที่อยู่สัญญาที่เหมือนกันบน Chain B
ในทางปฏิบัติ Permit มีประสิทธิภาพและความยืดหยุ่นของการอนุมัติ ERC-20 ได้ดีขึ้นอย่างมีนัยสำคัญในกลไกการอนุมัติโกลไลส์ อย่างไรก็ตาม มันไม่ใช่ทางออกที่สมบูรณ์ โดยมีความจำเป็นต้องมีการสนับสนุนระดับโทเค็น และมันเป็นสาเหตุให้เกิดความเสี่ยงใหม่ ต่อไปเราจะสำรวจว่า Uniswap’s Permit2 มีการสร้างขึ้นและขยายพื้นฐานที่ Permit ได้เป็นรากเริ่ม
เมื่อกลไกใบอนุญาตได้รับความนิยมความท้าทายใหม่ก็เกิดขึ้น: จะขยายความสะดวกสบายของการอนุญาตตามลายเซ็นไปยังโทเค็นที่ไม่รองรับใบอนุญาตได้อย่างไร? เพื่อแก้ไขปัญหานี้และเพิ่มประสิทธิภาพประสบการณ์การอนุญาตในสถานการณ์ต่างๆ ทีม Uniswap ได้เปิดตัว Permit2 ในปี 2022 ซึ่งแตกต่างจากคุณสมบัติเฉพาะโทเค็น Permit2 เป็นสัญญาอัจฉริยะการจัดการการอนุญาตแบบสแตนด์อโลน มันทําหน้าที่เป็นตัวกลางสําหรับการอนุญาตโทเค็นโดยให้ฟังก์ชันการอนุญาตที่เป็นหนึ่งเดียวและปรับปรุง มาวิเคราะห์หลักการและคุณสมบัติของใบอนุญาต 2
Permit2 ทำหน้าที่เป็นบริการส่งผ่านการอนุญาต ความคิดหลักของมันคือ ผู้ใช้ให้การอนุญาตครั้งเดียวกับสัญญา Permit2 ซึ่งจะจัดการการอนุญาตย่อยต่อไปไปยังแอปพลิเคชันต่าง ๆ นี่คือวิธีการทำงาน
กระบวนการอนุญาต Permit2 ง่ายดาย: ผู้ใช้เพียงต้องให้การอนุมัติสูงสุดให้กับ Permit2 ครั้งเดียวต่อโทเคน หลังจากนั้นเมื่อต้องการทำธุรกรรมกับแอปพลิเคชัน (เช่น Uniswap Universal Router หรือโปรโตคอลอื่น ๆ) พวกเขาเพียงแค่รวมลายเซ็น Permit2 ลงในธุรกรรมของพวกเขาเพื่อสิ้นสุดกระบวนการอนุญาตและโอน โดยไม่จำเป็นต้องมีการอนุมัติเพิ่มเติมในเชน สัญญา Permit2 ยืนยันลายเซ็นและดำเนินการโอนโดยใช้การอนุมัติหลักของมัน (แหล่งที่มา:การแนะนำ Permit2 & Universal Router)
ผ่านโมเดลนี้ Permit2 ขยายแนวคิดการอนุญาตที่ใช้ลายเซ็น EIP-2612 ไปยังโทเค็น ERC-20 ทั้งหมด โดยไม่ว่าว่าพวกเขาจะใช้วิธี permit() หรือไม่ ตราบใดที่ผู้ใช้ได้อนุญาตให้สัญญา Permit2 ตั้งต้น พวกเขาสามารถใช้ลายเซ็นสำหรับการดำเนินการต่อๆ ไป คุ้มค่าที่ Uniswap ออกแบบ Permit2 เป็นสัญญาที่ไม่มีเจ้าของและไม่สามารถอัปเกรดได้ ที่ถูกใช้งานกับที่อยู่เดียวกันในเครือข่าย Ethereum mainnet และหลายโครงข่าย Layer 2 ซึ่งหมายความว่าทุกแอปพลิเคชันใช้ Permit2 ตัวเดียวกันทั้งหมด ทำให้บรรทัดคำว่า "อนุญาตซักครั้งใช้ทุกที่" เป็นไปได้
เป็นระบบอนุญาตรุ่นถัดไป Permit2 ไม่เพียงทำให้การอนุญาตที่ใช้ลายเซ็นสำหรับเหรียญทั้งหมดเป็นไปได้ แต่ยังมีคุณสมบัติเพิ่มเติมเพื่อเสริมความปลอดภัยและความสามารถในการใช้งาน นี่คือคุณสมบัติหลักของมัน:
การหมดอายุอัตโนมัติ
การอณุญาตทั้งหมดใน Permit2 สามารถรวมเข้าไปด้วย timestamp เพื่อการหมดอายุ ผู้ใช้สามารถระบุเวลาที่อณุญาตย่อยของพวกเขาควรหมดอายุเมื่อทำการเซ็นต์ หลังจากที่เวลาสิ้นสุดผ่านไป Permit2 จะปฏิเสธลายเซ็นเชียร์ แม้ว่าการอนุมัติหลักยังคงใช้งานอยู่ นี้จะช่วยแก้ปัญหาความเสี่ยงจากการอนุมัติที่ไม่มีข้อจำกัดที่ยังไม่ได้ใช้งาน
การโอนลายเซ็นเจาะจง
Permit2 มีโหมดการโอนลายเซ็นต์โดยตรงที่ผู้ใช้สามารถให้สิทธิ์การโอนโทเค็นเฉพาะไปยังผู้รับโดยใช้ลายเซ็นต์เท่านั้น โดยไม่จำเป็นต้องตั้งค่าสิทธิ์ก่อน นี่เหมาะสำหรับสถานการณ์การชำระเงินครั้งเดียว: ผู้ใช้สามารถลงลายเซ็นต์ในข้อความเพื่อให้สิทธิ์โอน 100 โทเค็นไปยังที่อยู่ของเพื่อน และเพื่อนหรือผู้กลายคลัสสามารถดำเนินการโอนโดยใช้ลายเซ็นต์นี้ หลังจากที่ใช้แล้ว ลายเซ็นต์ก็จะเป็นโมฆะ ซึ่งจะไม่ทิ้งสิทธิ์ที่ยังค้างอยู่
批准和转账
Permit2 ให้ความสำคัญกับประสิทธิภาพโดยอนุญาตให้ประมวลผลแบบจุดได้หลายการอนุญาตหรือการโอน ผู้ใช้สามารถให้สิทธิ์ที่แตกต่างกันของหลายๆ โทเค็นไปยังโปรโตคอลเดียวกันด้วยลายเซ็นเดียวกัน หรือดำเนินการโอนเงินของหลายๆ โทเค็นในธุรกรรมเดียว สิ่งนี้ช่วยประหยัด Gas และลดขั้นตอนสำหรับผู้ใช้ขั้นสูง
การเพิกถอนเป็นชุด
นอกเหนือจากการอนุมัติเป็นชุดผู้ใช้สามารถเพิกถอนสิทธิ์สําหรับโทเค็น / แอปพลิเคชันหลายรายการในธุรกรรมเดียว สิ่งนี้ทําให้การทําความสะอาดการอนุมัติในอดีตสะดวกยิ่งขึ้น
การเป็นพยานข้อมูลเพิ่มเติม
Permit2 รวมถึงอินเตอร์เฟซเช่น อนุญาตให้พยานโอนจาก ที่อนุญาตให้รวมข้อมูลการตรวจสอบเพิ่มเติมไว้ในลายเซ็น สิ่งนี้สนับสนุนสถานการณ์ที่ซับซ้อนมากขึ้น เช่น การรวมรายละเอียดธุรกรรมเฉพาะในลายเซ็นลําดับเพื่อป้องกันการนําลายเซ็นกลับมาใช้ใหม่ในบริบทที่แตกต่างกัน
ผ่านคุณลักษณะเหล่านี้ การอนุญาต2 ไม่เพียงทำซ้ำคุณสมบัติทั้งหมดของการอนุญาต แต่ยังเสริมความยืดหยุ่นและควบคุมความปลอดภัย การหมดอายุอัตโนมัติและการโอนลายมือเซ็นเซี่ยงเฉพาะ โดยเฉพาะ ทำให้การอนุญาตที่จำเป็นเพียงเล็กน้อยเป็นเกณฑ์มาตรฐาน ลดความเสี่ยงในระยะยาว
เพื่อสรุป Permit2 ทำหน้าที่เป็นการขยายตัวและเพิ่มประสิทธิภาพให้กับกลไกการอนุญาตแบบดั้งเดิม มาชมความแตกต่างสำคัญระหว่างวิธีการสองวิธีนี้
เมื่อ Uniswap นำเสนอ Permit2 มา เป็นโครงสร้างที่หลายๆ โครงการได้รวมร่วม ทำให้มาตรฐานของอุตสาหกรรมเร่งขึ้น ตามข้อมูลล่าสุดจาก ดูน อนาลิติกส์, ตั้งแต่เดือนเมษายน ค.ศ. 2025, มีมากกว่า 3.1 ล้านที่อยู่บน Ethereum mainnet ได้ให้สิทธิให้สิทธิให้สิทธิการใช้งานกับสัญญา Permit2 ซึ่งแสดงให้เห็นถึงการนำมาใช้ที่กว้างขวาง
สิทธิ2 นิวอน และสถานะการใช้งาน ที่มา:Dune Analytics
ตัวอย่างเช่น Uniswap ได้รวม Permit2 เข้ากับ Universal Router ของตนเพื่อเปิดให้การแลกเปลี่ยนหลายโทเคนและ NFT ในธุรกรรมเดียวกันเป็นไปได้ ผ่าน Universal Router ผู้ใช้สามารถเชื่อมโยงการดำเนินการหลายรายการในหนึ่งธุรกรรมเดียว เช่น การแลกเปลี่ยนสามโทเคนเป็นโทเคนเป้าหมายสองตัวและการซื้อ NFT พร้อมกับความต้องการในการอนุญาตทั้งหมดที่จัดการโดยลายมือ Permit2 สิ่งนี้ช่วยลดกระบวนการและค่า Gas ทั้งหมดอย่างมีชัดเจนโดยแสดงให้เห็นถึงผลกระทบโดยตรงของ Permit2 ในการปรับปรุงประสบการณ์ผู้ใช้
นอกจากนี้ด้วยการปรับใช้โอเพ่นซอร์สของ Permit2 ในเครือข่ายต่างๆกระเป๋าเงินและเครื่องมือ DApp จํานวนมากขึ้นได้เริ่มรองรับ เครื่องมือรักษาความปลอดภัยเช่น Revoke.cash ได้อัปเดตบริการของตนเพื่อให้ผู้ใช้สามารถดูและเพิกถอนบันทึกการอนุญาต Permit2 ได้ นอกจากนี้ Matcha ยังได้นําโมดูล SignatureTransfer ของ Permit2 มาใช้ โดยเปิดใช้งานกลไก "การอนุญาตแบบครั้งเดียว"
ผลกระทบถึงความคืบหน้านี้ การใช้งาน Permit2 อย่างกว้างขวางกำลังเผชิญกับอุปสรรคบางประการ อย่างใดอย่างหนึ่ง นักพัฒนาต้องใช้เวลาเพิ่มเติมสำหรับการรวมระบบ: เมื่อเปรียบเทียบกับการใช้งาน approve ของ ERC-20 โดยตรง การนำ Permit2 เข้ามาใช้งานต้องการการจัดการตรรกะของลายเซ็นเจอร์ ทำให้เกิดค่าใช้จ่ายในการพัฒนาเพิ่มมากขึ้น สิ่งนี้อาจหยุดยั้งทีมที่มีขนาดเล็กได้ จากอีกด้านหนึ่ง การสอนผู้ใช้เป็นสิ่งสำคัญ: หลาย DApps ที่ใช้ Permit2 จำเป็นต้องสอนผู้ใช้เกี่ยวกับความสำคัญของลายเซ็นเจอร์ ปัจจุบัน ข้อได้เปรียบของ Permit2 ที่มีความเป็นเอกอักษรดูเหนือความต้านทานเหล่านี้ แต่การเข้าถึงตลาดอย่างเต็มรูปแบบยังจะใช้เวลา
ในช่วง 8 ปีที่ผ่านมา กลไกการอนุญาต ERC-20 ได้รับการพัฒนาจากการทำธุรกรรมหลายรายการ ไปจนถึงลายเซ็นเซอร์ที่ไม่ใช้แก๊สและตอนนี้กลายเป็นบัญชีสมาร์ท การพัฒนาทุกขั้นตอนมุ่งหวังในการปรับปรุงสมดุลระหว่างประสบการณ์ผู้ใช้ (ลดความต้องการในการทำธุรกรรมและลายเซ็น) และค่าแก๊ส นี่คือการเปรียบเทียบเทคโนโลยีเหล่านี้:
นอกจาก Permit2 ยังมีการแก้ปัญหาในการอนุญาตที่คุ้มค่าอย่าง Session Keys และERC-4337 การสรุปบัญชี, แต่ละอันเสนอวิธีการที่แตกต่างกันในการแก้ปัญหา
คีย์เซสชันมีเอกลักษณ์เฉพาะตัวเป็นพิเศษ เนื่องจากไม่ใช่รูปแบบการอนุญาตที่เข้มงวด แต่เป็นกลไกคีย์ชั่วคราวในระดับกระเป๋าเงินหรือบัญชี แทนที่จะแก้ไขสัญญาโทเค็นพวกเขาอนุญาตให้กระเป๋าเงินสร้างคีย์ส่วนตัวชั่วคราวที่ จํากัด เวลาและ จํากัด จํานวนสําหรับการดําเนินการเฉพาะ สิ่งนี้ทําให้เหมาะสําหรับการซื้อไอเท็มเกมและไมโครเพย์เมนต์แบบครั้งเดียว พวกเขามุ่งเน้นไปที่การลดความเสี่ยงในการอนุญาตครั้งเดียวซึ่งออกแบบมาโดยเฉพาะสําหรับการโต้ตอบของผู้ใช้ชั่วคราวซึ่งแตกต่างจากแนวทางการแก้ไขสัญญาของใบอนุญาต / ใบอนุญาต 2
ERC-4337 มีการใช้วิธีการที่แตกต่างโดยฝังตัวตรรกะการอนุญาตโดยตรงลงในบัญชีอัจฉริยะ ทำให้ผู้ใช้สามารถปรับแต่งเงื่อนไขการอนุญาตและอาจข้ามขั้นตอนการอนุมัติ传统ได้ ผ่านกลไก UserOperation และ Paymaster ที่ยืดหยุ่น เพื่อความปลอดภัยและประสบการณ์ของผู้ใช้ที่ดีขึ้น
เมื่อพิจารณาถึงแนวโน้มในอนาคตโซลูชันที่แตกต่างกันเหล่านี้มีแนวโน้มที่จะอยู่ร่วมกัน ในระยะสั้น Permit2 จะยังคงเป็นมาตรฐานสําหรับ DApps ที่เกิดขึ้นใหม่ปรับปรุงประสบการณ์ของผู้ใช้ผ่านการอนุญาตเพียงครั้งเดียวในขณะที่ส่งเสริมการศึกษาด้านความปลอดภัยและการสนับสนุนเครื่องมือเพื่อลดความเสี่ยงฟิชชิง ในระยะกลางเนื่องจาก ERC-4337 และนามธรรมของบัญชีแพร่หลายมากขึ้นในเลเยอร์ 2 และเมนเน็ตผู้ใช้จะสามารถหลุดพ้นจากข้อ จํากัด การอนุมัติ ERC-20 แบบดั้งเดิมจัดการการอนุญาตได้อย่างแม่นยําและชาญฉลาดยิ่งขึ้นซึ่งอาจลดความจําเป็นในการอนุญาต 2
วิสัยทัศน์ระยะยาวคือการสร้างประสบการณ์การอนุญาตที่ราบรื่นและใช้งานง่ายเช่นเดียวกับ Web2 ซึ่งผู้ใช้สามารถคลิกปุ่มและการอนุมัติที่จําเป็นทั้งหมดจะเกิดขึ้นโดยอัตโนมัติในพื้นหลังโดยมีข้อความแจ้งที่ชัดเจนปรากฏขึ้นเฉพาะในสถานการณ์ที่มีความเสี่ยงสูงเท่านั้น การบรรลุวิสัยทัศน์นี้จะต้องมีการทํางานร่วมกันและนวัตกรรมอย่างต่อเนื่องในโปรโตคอลกระเป๋าเงินและ dApps พื้นฐาน Permit2 เป็นก้าวสําคัญในการเดินทางในช่วงเปลี่ยนผ่านนี้ แต่ก็ยังมีหนทางอีกยาวไกลก่อนที่จะถึงสถานะในอุดมคติ ระหว่างทางทั้งชุมชนและนักพัฒนาควรรักษาแนวทางในทางปฏิบัติทําความเข้าใจจุดแข็งและข้อ จํากัด ของแต่ละโซลูชันอย่างถ่องแท้และทํางานร่วมกันเพื่อสร้างสภาพแวดล้อมการอนุญาตที่ปลอดภัยและใช้งานง่ายยิ่งขึ้น
โดยรวม Permit2 มีวิธีการที่สามารถนำมาใช้ได้ในทันที ในขณะที่เทคโนโลยีเช่น Session Keys และ ERC-4337 ชี้ทางไปสู่การปรับปรุงที่มีระยะยาวและมีพื้นฐานมากขึ้นในวิธีการจัดการอนุญาต
เช่นเดียวกับเทคโนโลยีใหม่ ๆ ทั้ง Permit และ Permit2 มาพร้อมกับประสิทธิภาพใหม่ไม่เพียงอย่างเดียว แต่ยังมีความเสี่ยงใหม่ๆ โดยเฉพาะอย่างยิ่งเกี่ยวกับการโจมตีที่ใช้ลายเซ็นต์เป็นหลัก
ในระบบที่ใช้ลายเซ็นเจอร์ เช่น Permit2 และ EIP-2612 Permit การออกแบบสัญญาหลักมีชั้นความปลอดภัยหลายชั้นเพื่อป้องกันการใช้งานผิดประโยชน์และการโจมตีแบบซ้ำ
Permit2 รักษาตัวนับ nonce แยกต่างหากสําหรับแต่ละ (เจ้าของโทเค็นผู้ใช้จ่าย) tuple ทุกครั้งที่ผู้ใช้ลงนามในการอนุญาตใหม่ nonce ที่เกี่ยวข้องจะเพิ่มขึ้น หากผู้โจมตีพยายามนําลายเซ็นเก่ากลับมาใช้ใหม่จะล้มเหลวเนื่องจากสัญญาจะตรวจสอบว่ามีการใช้ลายเซ็นเก่าแล้วหรือไม่
ลายเซ็นแต่ละอันต้องรวมฟิลด์กำหนดเวลาสำหรับการดำเนินการ ขณะที่สัญญาตรวจสอบลายเซ็น มันจะรับรองว่าเวลาบล็อกปัจจุบันเป็นไปตามหรือน้อยกว่าเวลากำหนด หากลายเซ็นหมดอายุ - แม้ว่าจะถูกต้องโดยรวม - มันจะถูกปฏิเสธ สิ่งนี้จะป้องกันการใช้สิทธิการใช้งานที่ยาวนานจากการถูกใช้งานในภายหลัง
ใบอนุญาต2 ลายเซ็นสามารถระบุวงเงินสูงสุดได้ ก่อนที่การโอนโทเค็นจะเกิดขึ้น สัญญาตรวจสอบว่าจำนวนที่ร้องขออยู่ในขีดจำกัดนี้ สัญญาไม่ใช้จ่ายจำนวนที่อนุมัติเต็มร้อยโดยอัตโนมัติ ทำให้ผู้ใช้สามารถใช้วงเงินของตนเป็นส่วนๆ ลดความเสี่ยงของการประยุกต์ใช้ที่ถูกเต็มร้อย
นอกจากการอนุญาตที่เป็นระบบอนุญาตตามคำสั่ง ยังรองรับลายเซ็นเจาะจงผ่านการโอนลายเซ็น เหล่าลายเซ็นเหล่านี้ถูกต้องสำหรับธุรกรรมเดียวเท่านั้นและกลายเป็นโมฆะทันทีหลังจากดำเนินการ นี่เหมาะสำหรับการชำระเงินครั้งเดียวและป้องกันลายเซ็นไม่ให้ถูกใช้ซ้ำหรือถูกใช้เอาแล้วภายหลัง
การป้องกันชั้นเลเยอร์เหล่านี้ช่วยให้ระบบการให้สิทธิ์แบบ Permit ปรับปรุงประสบการณ์ผู้ใช้และประหยัด gas พร้อมลดความเสี่ยงที่เกิดขึ้นเป็นปกติ เช่น "replay attacks", "over-authorization", และ "indefinite signature validity"
อย่างไรก็ตาม แม้จะมีการป้องกันระดับสัญญาที่ปลอดภัย การวิศวกรรมสังคม (โดยเฉพาะการโฟกัส) ยังคงเป็นภัยที่ยากที่สุดที่จะป้องกันได้ ในส่วนถัดไป เราจะมองไปที่เทคนิคการโฟกัสที่พบบ่อยและวิธีการโจมตีของผู้โจมตีที่หลอกผู้ใช้ให้ลงนามอนุญาตที่เป็นอันตรายโดยไม่รู้ตัวที่ใช้ Permit2 นอกจากนี้เรายังจะมีเคล็ดลับเกี่ยวกับวิธีการปลอดภัย
การปลอมแปลงลายเซ็นเกิดขึ้นเมื่อผู้โจมตีหลอกเอาเหยื่อให้ลงลายเซ็นข้อความที่เฉพาะเจาะจงเพื่อเอาเอาควบคุมสินทรัพย์ของพวกเขา ในขณะที่การโจมตีแบบดั้งเดิมอาจเกี่ยวข้องกับการดำเนินสัญญาที่ไม่ดีหรือธุรกรรมที่ไม่ดี ในยุคการอนุญาต การอนุญาตลายเซ็นที่เป็นอันตรายเพียงอันเดียวก็เพียงพอที่จะดูดเงินออกมา นี่คือวิธีที่การโจมตีเหล่านี้มักจะเกิดขึ้น:
ในการโจมตีเหล่านี้ ผู้ใช้ไม่เคยดำเนินการทำธุรกรรม “โอน” หรือ “อนุญาต” ที่ชัดเจนใด ๆ อย่างไรก็ตามสินทรัพย์ของพวกเขาจะหายไปอย่างลึกลับ ความสำคัญอยู่ที่ลายเซ็นต์เองกลายเป็นการอนุญาต ผู้โจมตีจัดการปกป้องคำขอลายเซ็นต์ให้ดูเหมือนเป็นการดำเนินการที่ปกติ ลดความระมัดระวังของผู้ใช้ อย่างไรก็ตามเมื่อลายเซ็นต์แล้ว มันก็เหมือนกับการส่งมอบกุญแจของสินทรัพย์ของคุณ
อย่างแย่ยิ่ง, บางผู้โจมตีใช้วิธีเทคนิคเพื่อเพิ่มความลับมากขึ้น เช่นพวกเขาใช้กลไก CREATE2 ของ Ethereum เพื่อสร้างที่อยู่สัญญาที่เป็นอันตรายที่ไม่ซ้ำกันสำหรับแต่ละเหยื่อ สิ่งนี้ทำให้การเขียนรายชื่อดำเพลิงเป็นไร้ประสิทธิภาพเนื่องจากการโจมตีแต่ละครั้งใช้ที่อยู่ที่แตกต่างกัน
เหตุการณ์การล่องลอยคริปโตล่าสุดมักเกิดขึ้นโดยการอนุญาตลายมือ. เช่นเดียวกับ Scam Sniffer’sสถิติตั้งแต่ต้นปี พ.ศ. 2024 แสดงว่ามีทรัพย์สินมูลค่าเกิน 55 ล้านเหรียญถูกขโมยผ่านฟิชชิ่งลายเซ็นเจอร์เพียงเดือนเดียว ตั้งแต่เริ่มใช้ Permit2 ผู้โจมตีก็กลายเป็นโดดเด่นขึ้นในการกระตุ้นผู้ใช้ให้เซ็นอนุญาต Permit/Permit2 ซึ่งทำให้มีผู้เสียหายจำนวนมากในช่วงเวลาสั้น ๆ โดยชัดเจนว่าเมื่ออนุญาตลายเซ็นถูกนำไปใช้ในทางที่ไม่เหมาะสม มันสามารถก่อให้เกิดความเสียหายและยากต่อการตรวจจับ
การอนุญาตที่เป็นอันตรายแบบดั้งเดิมกําหนดให้ผู้ใช้ต้องทําธุรกรรมแบบ on-chain ซึ่งกระเป๋าเงินมักจะแสดงคําเตือนที่ชัดเจน เช่น "คุณอนุญาตให้ XXX ใช้โทเค็นของคุณ" และต้องเสียค่าธรรมเนียมก๊าซ ผู้ใช้ที่มีประสบการณ์มักจะระมัดระวังมากขึ้นเกี่ยวกับสิ่งเหล่านี้ อย่างไรก็ตามคําขอลายเซ็นในอินเทอร์เฟซกระเป๋าเงินมักถูกอธิบายว่าเป็นเพียง "คําขอลายเซ็นข้อมูล" มากกว่าการดําเนินการทางการเงินทําให้ผู้ใช้ลดการป้องกันลง ยิ่งไปกว่านั้นเนื่องจากลายเซ็นไม่เสียค่าใช้จ่ายผู้โจมตีจึงสามารถเปิดตัวความพยายามฟิชชิ่งขนาดใหญ่ได้โดยไม่ต้องกังวลกับค่าใช้จ่าย - พวกเขาทํากําไรได้แม้จะมีความพยายามที่ประสบความสําเร็จเพียงไม่กี่ครั้ง
นอกจากนี้ กระเป๋าเงินที่แตกต่างกันจะแสดงข้อความ EIP-712 อย่างหลากหลาย บางกระเป๋าเงินรุ่นใหม่ (เช่นล่าสุดMetaMaskการแยกและแสดงฟิลด์อย่างชัดเจน โดยแสดงข้อความเช่น 'อนุญาตให้สัญญาใช้จ่าย X จำนวนของโทเคนของคุณ' อย่างได้เจิดจรัส อย่างไรก็ตาม กระเป๋าเงินหลายราย แสดงข้อมูลสิบหกสิบหกหรือคำอธิบายอย่างง่ายเท่านั้น ทำให้ผู้ใช้ทั่วไปมีความยากลำบากในการตรวจสอบความถูกต้อง ผู้โจมตีใช้ประโยชน์จากสิ่งนี้โดยฝังคำอธิบายที่หลอกลวงในข้อความ (เช่น การแสดงตัวเลือกของ NFT) เพื่อหลอกผู้ใช้ให้ลงลายเซ็น
เนื่องจากการอนุญาตลายเซ็นไม่ได้ส่งผลกระทบต่อทรัพย์สินในทันทีผู้เสียหายอาจไม่สามารถตรวจจับภัยคุกคามได้ทันที ผู้โจมตีสามารถกําหนดเวลาการประท้วงได้อย่างมีกลยุทธ์ แทนที่จะดําเนินการทันทีพวกเขาอาจรอจนกว่ากระเป๋าเงินของเหยื่อจะมีทรัพย์สินมากขึ้นหรือจนกว่าจะถึงช่วงเวลาหนึ่งซึ่งทําให้ความพยายามในการติดตามมีความซับซ้อน ด้วยลายเซ็นที่ขยายระยะเวลาการใช้งานผู้โจมตียังสามารถใช้ประโยชน์จากการเคลื่อนไหวของราคาเพื่อเพิ่มผลกําไรสูงสุดทําให้พวกเขามีตัวเลือกการซื้อขายฟรีอย่างมีประสิทธิภาพ ความเสี่ยงนี้อธิบายว่าเหตุใดลายเซ็นใบอนุญาตจึงบังคับใช้กําหนดเวลาสั้น ๆ
ความสามารถของ Permit2 ในการอนุญาตโทเค็นหลายรายการด้วยลายเซ็นเดียวทําให้ผู้ใช้เข้าใจความหมายได้อย่างเต็มที่ ตัวอย่างเช่น เว็บไซต์ฟิชชิ่งอาจขอลายเซ็น Permit2 ในขณะที่เน้นสิทธิ์สําหรับโทเค็นเพียงหนึ่งหรือสองโทเค็น แต่แอบฝังการอนุญาตที่กว้างขวางสําหรับโทเค็นเพิ่มเติมภายในลายเซ็นเดียวกัน ผู้ใช้สามารถมองข้ามสิทธิ์ที่ซ่อนอยู่เหล่านี้ได้อย่างง่ายดายหากกระเป๋าเงินของพวกเขาไม่แสดงรายละเอียดทั้งหมดอย่างชัดเจน นอกจากนี้ผู้โจมตีมักใช้ชื่อสัญญาที่หลอกลวงเช่น "WalletGuard" ในลายเซ็นของพวกเขาปิดบังสัญญาที่เป็นอันตรายที่ออกแบบมาเพื่อขโมยสิทธิ์โทเค็น
โปรดจําไว้ว่าการลงนามเทียบเท่ากับการให้ความยินยอม - อย่าปล่อยให้การไม่มีค่าน้ํามันทําให้คุณประมาท เมื่อกระเป๋าเงินของคุณขอลายเซ็น ให้อ่านรายละเอียดข้อความอย่างละเอียด ตรวจสอบให้แน่ใจว่าเว็บไซต์หรือ DApp ที่ขอลายเซ็นนั้นถูกต้องและเนื้อหาข้อความสอดคล้องกับการกระทําที่คุณตั้งใจไว้ ตัวอย่างเช่นหากคุณเพียงแค่ลงชื่อเข้าใช้เว็บไซต์ลายเซ็นควรมีข้อความเข้าสู่ระบบที่อ่านได้ (ตามที่ DApps ส่วนใหญ่ใช้) ไม่ใช่สตริงที่อยู่โทเค็นและหมายเลข
ตรวจสอบให้แน่ใจว่าซอฟต์แวร์กระเป๋าเงินของคุณรองรับการแสดงข้อมูล EIP-712 โดยเฉพาะ กระเป๋าเงินชั้นนำเช่น MetaMask,TrustWallet, และLedger Live กําลังปรับปรุงประสบการณ์การแสดงเนื้อหาลายเซ็นของพวกเขา ตัวอย่างเช่น MetaMask สามารถแยกวิเคราะห์ข้อความอนุญาตทั่วไปเป็นภาษาธรรมดาได้แล้ว หากกระเป๋าเงินของคุณแสดงเฉพาะข้อมูลเลขฐานสิบหกยาวเมื่อลงนาม ให้ลองเปลี่ยนหรืออัปเดต ผู้ใช้กระเป๋าเงินฮาร์ดแวร์ควรอัปเดตเฟิร์มแวร์อยู่เสมอเพื่อรองรับรูปแบบใหม่ มิฉะนั้นอาจไม่เห็นข้อมูลอย่างถูกต้องบนหน้าจอ
ไม่ว่าจะใช้ลายเซ็นใบอนุญาตหรือใบอนุญาต 2 คุณมักจะสามารถปรับพารามิเตอร์การอนุญาตได้ อย่าเซ็นชื่อไม่ จํากัด จํานวน (ค่า = 2 ^ 256-1) เว้นแต่จําเป็นอย่างยิ่ง - แทนที่จะอนุญาตเฉพาะจํานวนเงินที่คุณต้องการบวกบัฟเฟอร์ขนาดเล็ก นอกจากนี้อย่ากําหนดเส้นตายมากเกินไปในอนาคต ด้วยวิธีนี้แม้ว่าลายเซ็นของคุณจะตกไปอยู่ในมือที่ไม่ถูกต้อง แต่การสูญเสียที่อาจเกิดขึ้นจะถูก จํากัด และลายเซ็นจะหมดอายุในที่สุด
พัฒนานิสัยในการตรวจสอบสถานะการอนุญาตที่อยู่ของคุณเป็นประจําโดยใช้เครื่องมือต่างๆ เช่น Revoke.cash, Etherscan Token Approval หรือคุณสมบัติในตัวของกระเป๋าเงินของคุณ ซึ่งรวมถึงการอนุมัติแบบดั้งเดิมและค่าเผื่อใบอนุญาต 2 หากคุณพบการอนุญาตที่น่าสงสัยหรือไม่จําเป็น ให้เพิกถอนสิทธิ์เหล่านั้นทันที สําหรับ Permit2 โปรดระวังการเพิกถอนสองระดับ: ขั้นแรกการอนุญาตหลัก (คุณอนุมัติสัญญา Permit2 เองซึ่งคุณอาจต้องการตั้งค่าเป็น 0 เมื่อไม่ได้ใช้งาน) ประการที่สองการอนุญาตย่อย (ค่าเผื่อของ Permit2 สําหรับ DApps ต่างๆซึ่งมักจะหมดอายุโดยอัตโนมัติ แต่สามารถยกเลิกได้ก่อนกําหนดหากมีระยะเวลานาน) หากคุณสงสัยว่าคุณได้ลงนามในใบอนุญาตที่น่าสงสัยการกระทําที่ปลอดภัยที่สุดคือการปรับ nonce ทันที: ลงนามในใบอนุญาตใหม่ให้กับผู้ใช้จ่ายรายเดียวกัน (แม้จะมีค่าเผื่อ 0) เพื่อทําให้ลายเซ็นเก่าที่อยู่ในความครอบครองของผู้โจมตีเป็นโมฆะ
ระมัดระวังเสมอเมื่อเยี่ยมชมเว็บไซต์ที่ไม่คุ้นเคยหรือดาวน์โหลดแอปพลิเคชัน อย่าคลิกลิงก์ที่ไม่รู้จัก โดยเฉพาะ "ข้อเสนอส่งเสริมการขาย" หรือ "กิจกรรมมิ้นท์" ที่แชร์ผ่านโฆษณาโซเชียลมีเดียหรือข้อความส่วนตัว ความพยายามฟิชชิงจํานวนมากเกิดขึ้นผ่านบัญชีทางการปลอมที่โพสต์ลิงก์กิจกรรมหลอกลวงซึ่งนําไปสู่คําขอลายเซ็น ทําให้เป็นนิสัยในการพิมพ์ URL DApp อย่างเป็นทางการโดยตรงหรือใช้บุ๊กมาร์กเพื่อหลีกเลี่ยงการตกหลุมรักเว็บไซต์ปลอม
ในสรุป การสร้างสมดุลระหว่างความสะดวกและความปลอดภัยเป็นสิ่งสำคัญ ในขณะที่เทคโนโลยีการอนุญาตเป็นสิ่งที่สะดวก ผู้ใช้ต้องรักษาความระมัดระวังเกี่ยวกับการป้องกันความเสี่ยง ซึ่งเมื่อระบบโตมากขึ้น ผลิตภัณฑ์กระเป๋าเงินและปลั๊กอินของเบราว์เซอร์กำลังพัฒนาการป้องกันต่อการลวดลามเกี่ยวกับการลงลายมากๆ เรามีเป้าหมายที่จะลดการโจมตีแบบนี้ผ่านการปรับปรุงทั้งด้านเทคนิคและการศึกษาในอนาคต
ตั้งแต่ข้อ จํากัด ของรูปแบบการอนุญาต ERC-20 แบบดั้งเดิมไปจนถึงการเกิดใบอนุญาตและจากนั้นไปจนถึงใบอนุญาตที่เป็นนวัตกรรมใหม่ของ Uniswap2 เราได้เห็นความพยายามของระบบนิเวศ Ethereum ในการปรับปรุงประสบการณ์และความปลอดภัยของผู้ใช้ Permit2 ช่วยลดความยุ่งยากในกระบวนการอนุมัติโทเค็นผ่านลายเซ็นนอกเครือข่ายลดความเสี่ยงของการอนุมัติซ้ําและการอนุญาตแบบไม่ จํากัด ในขณะที่แนะนําคุณสมบัติที่มีประโยชน์เช่นกลไกการหมดอายุและการดําเนินการแบทช์ อย่างไรก็ตามกลไกใหม่เหล่านี้มาพร้อมกับความรับผิดชอบใหม่ ๆ ผู้ใช้จําเป็นต้องเพิ่มความตระหนักด้านความปลอดภัยในขณะที่กระเป๋าเงินและ DApps ต้องทํางานร่วมกันเพื่อปกป้องผู้ใช้จากการโจมตีด้วยลายเซ็น เมื่อมองไปข้างหน้าด้วยการพัฒนาทางเทคโนโลยีเพิ่มเติมเช่นการเป็นนามธรรมของบัญชีการจัดการการอนุญาตโทเค็นคาดว่าจะราบรื่นและปลอดภัยยิ่งขึ้น