DAOrayaki: วิธีที่นามธรรมของบัญชีสามารถรับประกันการยอมรับจำนวนมากของ Ethereum
ผู้เขียน: ฟิฟตี้ ฟินนีย์
ชื่อเดิม: Account Abstraction — ขั้นตอนสำคัญในการรับรองการยอมรับของ Ethereum
นามธรรมของบัญชีเป็นหัวข้อที่เกิดขึ้นซ้ำ ๆ ในปีนี้ แต่มีผู้เข้าร่วมตลาดเพียงไม่กี่คนที่เข้าใจว่ามันคืออะไรและสามารถเปลี่ยนเกมได้อย่างไร ตาม Vitalik การแยกบัญชีเป็น "สิ่งที่เราต้องการมาตลอด" และเป็น "ความฝันระยะยาวของชุมชน Ethereum"
ในโพสต์นี้ เราจะหารือเกี่ยวกับบทบาทของการแยกบัญชีในการปรับขนาด Ethereum blockchain และการรับรองการยอมรับจำนวนมาก
ก่อนอื่น เพื่อให้เข้าใจสิ่งที่เป็นนามธรรมของบัญชีอย่างถ่องแท้ เราต้องเข้าใจก่อนว่าสิ่งที่เป็นนามธรรมคืออะไรในวิทยาการคอมพิวเตอร์:
ศิลปะนามธรรม:
สิ่งที่เป็นนามธรรมหมายถึงการลบรายละเอียดทางกายภาพ เชิงพื้นที่ หรือทางโลกของระบบ และมุ่งเน้นไปที่คุณสมบัติที่สำคัญกว่า
คำอธิบายภาพ

ที่มา: TIBC
ตัวอย่างเช่น เมื่อนักพัฒนาเขียนซอฟต์แวร์ พวกเขาเขียนภาษาโปรแกรมระดับสูงเช่น Python, Java เป็นต้น โปรแกรมเมอร์ไม่จำเป็นต้องรู้วิธีเขียนเลข 0 และ 1 ที่ประกอบกันเป็นรหัสเครื่อง
นามธรรมบัญชี Ethereum
นามธรรมบัญชีเป็นรูปแบบหนึ่งของนามธรรมข้อมูล เพื่อให้เข้าใจถึงสิ่งที่แยกออกจากบัญชี Ethereum เราต้องเข้าใจก่อนว่าบัญชีทำงานอย่างไรบน Ethereum มีบัญชีสองประเภทบน Ethereum ได้แก่:
บัญชีที่เป็นเจ้าของภายนอก (EOA), บัญชีสัญญา (CA)
บัญชีที่เป็นเจ้าของภายนอก (EOA)
โดยหลักแล้วบัญชีเหล่านี้เป็นบัญชีที่ผู้ใช้ควบคุมซึ่งประกอบด้วยคีย์เข้ารหัส คีย์สาธารณะ และคีย์ส่วนตัว พวกเขาถูกสร้างขึ้นและควบคุมโดยใครก็ตามที่ถือกุญแจส่วนตัว ไม่มีค่าธรรมเนียมในการสร้างบัญชีดังกล่าว และผู้ใช้บัญชีสามารถเริ่มทำธุรกรรมได้
บัญชีสัญญา (CA)
บัญชีสัญญาเป็นสัญญาอัจฉริยะที่ควบคุมโดยรหัสบนเครือข่าย Ethereum สัญญาไม่มีรหัสส่วนตัว แต่ถูกควบคุมโดยตรรกะของรหัสสัญญาอัจฉริยะบนเครือข่าย Ethereum เนื่องจากคุณใช้ที่เก็บข้อมูลเครือข่าย คุณต้องจ่ายค่าธรรมเนียมในการเปิดบัญชีสัญญา บัญชีดังกล่าวสามารถส่งธุรกรรมเพื่อตอบสนองธุรกรรมที่ได้รับเท่านั้น
บัญชี Ethereum มีสี่ฟิลด์ ได้แก่:
Nonce - ทำหน้าที่เป็นตัวนับที่ระบุจำนวนธุรกรรมที่ส่งจากบัญชี nonce เป็นคุณสมบัติที่สำคัญเพราะช่วยให้มั่นใจได้ว่าธุรกรรมจะเกิดขึ้นเพียงครั้งเดียวใน EOA ใน CA nonce หมายถึงจำนวนสัญญาที่สร้างขึ้นโดยบัญชี
ยอดคงเหลือ - นี่แสดงถึงจำนวนของ eth ที่แอดเดรสวัดเป็น wei
Codehash - หมายถึงรหัสบัญชีบน Ethereum Virtual Machine (EVM) โค้ดที่แตกต่างกันมีฟังก์ชันเฉพาะที่แตกต่างกัน และเมื่อมีการเรียกแฮชของโค้ด โค้ดก็จะเข้ามามีบทบาท สำหรับ EOA นี่แสดงด้วยแฮชของสตริงว่าง
คำอธิบายภาพ

ที่มา: เอกสาร Ethereum
ตอนนี้เรารู้บัญชีทั้งสองประเภทบน Ethereum แล้ว เราสามารถกำหนดสิ่งที่เป็นนามธรรมของบัญชีได้ การแยกบัญชีเป็นกระบวนการลดความซับซ้อนของบัญชี Ethereum สองประเภท (บัญชีที่เป็นของภายนอกและบัญชีสัญญา) ให้เป็นประเภทเดียว นั่นคือบัญชีสัญญา บัญชีสัญญาที่เป็นผลลัพธ์จะสามารถเริ่มต้นการทำธุรกรรม ชำระค่าธรรมเนียมการทำธุรกรรม และสามารถปรับแต่งตามความต้องการเฉพาะของผู้ใช้ บัญชีสัญญาจะมีฟังก์ชันของ CA และ EOA แบบดั้งเดิม
เทคโนโลยีการใช้งาน
Vitalik Buterin ผู้ก่อตั้ง Ethereum อธิบายหลายวิธีในการบรรลุผลสำเร็จของบัญชีบนเครือข่าย วิธีการเหล่านี้รวมถึง:
Lazy Full Abstraction: นี่เป็นรูปแบบของสิ่งที่เป็นนามธรรมที่พูดถึงกันบ่อยๆ เป็นการลดบัญชี Ethereum จาก EOA และ CA เหลือเพียง CA ผู้ใช้เก็บเงินในบัญชีสัญญา และรหัสสัญญาตีความและดำเนินการข้อมูลที่เข้ารหัสใน nonces, ยอดคงเหลือ, รหัสแฮช, ลายเซ็น, ราคาน้ำมัน และแฮชการจัดเก็บ
ข้อได้เปรียบ:
ข้อบกพร่อง:
ข้อบกพร่อง:
รหัสที่ซับซ้อนมากจำเป็นต้องเดินสายในแต่ละบัญชีเพื่อตรวจสอบลายเซ็นที่ไม่มีตัวตนและจ่ายน้ำมัน
ต้องใช้ตรรกะเพิ่มเติมก่อนที่นักขุดจะสามารถสร้างบัญชีใหม่สำหรับผู้ส่งได้
เนื่องจากบัญชีถูกสร้างขึ้นด้วยวิธีที่ไม่ได้มาตรฐาน ธุรกรรมที่มีแฮชเดียวกันจึงสามารถรวมได้หลายครั้ง
ลบ nonce ที่เป็นนามธรรม: ในเทคนิคการใช้งานนี้ nonce จะถูกทำให้เป็นนามธรรมโดยการทำให้ธุรกรรม nonce เท่ากับบัญชี nonce
ข้อได้เปรียบ:
ข้อบกพร่อง:
ข้อบกพร่อง:
มันทำให้โปรโตคอลพื้นฐานซับซ้อน
รูปแบบลายเซ็นมาตรฐาน: สิ่งที่เป็นนามธรรมนี้เพิ่มลายเซ็นฟิลด์อาร์เรย์ของไบต์ในการทำธุรกรรม
ข้อได้เปรียบ:
ข้อบกพร่อง:
ข้อบกพร่อง:
เป็นการเพิ่มความซับซ้อนของชั้นฐาน
เทคนิคการแยกบัญชีอื่นๆ ที่ Vitalik เสนอ ได้แก่ การเพิ่ม breakpoint opcodes, การเพิ่ม opcodes แบบชำระเงิน, การใส่ gas price + panic opcodes, การรวม panic และ opcodes แบบจ่ายแก๊ส, การรวมรหัสเกลือ + ในการทำธุรกรรม, การสร้างบัญชีใหม่ การชำระเงิน
ประโยชน์ของการตัดบัญชี
ณ จุดนี้ คุณอาจสงสัยว่าสิ่งนี้ส่งผลต่อคุณอย่างไร และสิ่งนี้จะทำให้ Ethereum blockchain ดีขึ้นได้อย่างไร มาดูประโยชน์บางประการของการสรุปบัญชี:
1. การใช้งานฟังก์ชันการโทรหลายสาย: ปัจจุบัน เมื่อโต้ตอบกับ Ethereum blockchain คุณต้องทำธุรกรรมใหม่สำหรับแต่ละการดำเนินการ ด้วยสิ่งที่เป็นนามธรรม ธุรกรรมทั้งหมดจะเสร็จสมบูรณ์ได้ด้วยคลิกเดียว ช่วยประหยัดน้ำมันและเวลาของผู้ใช้

2. คีย์เซสชัน: คีย์เซสชันอนุญาตให้ผู้ใช้ระบุกฎเมื่อโต้ตอบกับแอปพลิเคชันที่กระจายอำนาจ (Dapps) กฎเหล่านี้จะรับประกันความปลอดภัยที่มากขึ้นเนื่องจากผู้ใช้ถูกจำกัดให้อยู่ในกฎที่ได้รับการอนุมัติล่วงหน้า ทำให้มั่นใจได้ว่าผู้ประสงค์ร้ายจะไม่สามารถแก้ไขบัญชีและขโมยเงินของคุณได้ พารามิเตอร์บางตัวที่สามารถระบุได้โดยใช้คีย์เซสชันรวมถึงเวลาสูงสุดที่บัญชีสามารถเชื่อมต่อกับ Dapp ได้ ปริมาณน้ำมันสูงสุดที่สามารถใช้ได้ และเกณฑ์ความปลอดภัยสำหรับจำนวนโทเค็นที่สามารถซื้อขายได้ ทีมบางส่วนที่ใช้คุณสมบัตินี้ ได้แก่ loot realm, briq, matchboxDAO และบัญชีแยกประเภท
3. การฟื้นฟูทางสังคม นามธรรมของบัญชีช่วยให้ยุติการใช้ metamask ที่เป็นที่นิยมสำหรับวลีเริ่มต้น Social Recovery ช่วยให้ผู้ใช้สามารถระบุวิธีการกู้คืนผ่านผู้ติดต่อที่เชื่อถือได้หรือบริการของบุคคลที่สามที่เชื่อถือได้ หากผู้ใช้เปลี่ยนใจขณะพยายามกู้คืนบัญชี ผู้ใช้ยังสามารถตั้งเวลาหน่วงก่อนที่จะกู้คืนได้ Argent กำลังดำเนินการนี้และอนุญาตให้ผู้ใช้สำรองวลีเริ่มต้นที่เข้ารหัสบน Google ไดรฟ์
4. การรับรองความถูกต้องด้วยหลายปัจจัย: สถาบันการเงินแบบดั้งเดิมบางแห่งกำลังส่งเสริมการกำหนดมาตรฐานของการรับรองความถูกต้องด้วยสองปัจจัย รูปแบบการรักษาความปลอดภัยนี้สามารถนำไปใช้ได้ผ่านการแยกบัญชี ทำให้ผู้ใช้สามารถระบุและสร้างกระเป๋าเงินแบบหลายลายเซ็นได้
5. ปลั๊กอิน: การสรุปบัญชีช่วยให้นักพัฒนาบุคคลที่สามสามารถเสียบฟังก์ชันใหม่ได้เมื่อสร้างบัญชี
6. การชำระค่าธรรมเนียมหลายโทเค็น: การแยกบัญชีจะช่วยให้ผู้ใช้สามารถชำระค่าธรรมเนียมก๊าซในโทเค็นอื่น ๆ นอกเหนือจาก Ethereum
7. การมอบหมายค่าธรรมเนียม: การถอนบัญชีจะช่วยให้ผู้ใช้สามารถชำระค่าธรรมเนียมในนามของผู้อื่นได้ โครงการและโปรโตคอลสามารถชำระค่าน้ำมันในนามของผู้ใช้ ทำให้กระบวนการเริ่มต้นใช้งานราบรื่นยิ่งขึ้น
8. แบบแผนลายเซ็นที่หลากหลาย: การสรุปบัญชีจะอนุญาตให้มีแบบแผนลายเซ็นที่แตกต่างจากแบบแผน ECDSA ปัจจุบัน สิ่งที่เป็นนามธรรมเท่านั้นที่จะอนุญาตให้มีการเปลี่ยนแปลงแบบนี้ นี่จะ:
แนะนำการต่อต้านควอนตัมเพื่อให้แน่ใจว่า Ethereum จะไม่ถูกปลอมแปลงหรือโจมตีโดยคอมพิวเตอร์ควอนตัม
สร้างอัลกอริทึมลายเซ็นที่มีประสิทธิภาพมากขึ้น ซึ่งอาจนำไปสู่การลดค่าธรรมเนียมน้ำมัน
อนุญาตให้อัปเกรดบัญชีสัญญาได้
เราเชื่อว่าการแยกบัญชีจะทำให้เครือข่าย Ethereum พร้อมใช้งานมากขึ้นเพื่อให้ผู้ใช้คลื่นลูกต่อไปเข้าสู่ DeFi


