Abstractions ทางเศรษฐกิจทั่วไปเกี่ยวกับ Ethereum
ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)ผู้เขียน: Kevin Britz แปลและพิสูจน์อักษร: Zeng Mi & A Jian พิมพ์ซ้ำโดย Odaily พร้อมการอนุญาต
ในช่วงสองปีที่ผ่านมาที่ Astro Wallet (ซึ่ง Coinbase ได้มาเมื่อเร็ว ๆ นี้) เราได้ทำงานในรูปแบบต่างๆ ของสิ่งที่เป็นนามธรรมทางเศรษฐกิจ เราต้องการแบ่งปันสิ่งที่เราค้นพบกับเพื่อนร่วมงานในอุตสาหกรรมบล็อกเชน โดยหวังว่าจะให้คำแนะนำสำหรับปัญหาประสบการณ์ผู้ใช้จำนวนมากที่ dApps เผชิญอยู่ในปัจจุบัน
คำนิยาม
คำนิยาม
เนื่องจากมีการใช้คำนี้อย่างแพร่หลาย เราต้องการให้คำจำกัดความที่ชัดเจนก่อนที่จะเริ่มการสนทนา
นามธรรมทางเศรษฐกิจ - ความสามารถในการใช้สินทรัพย์บล็อกเชนใด ๆ เพื่อชำระค่าธรรมเนียมการทำธุรกรรมสำหรับการเริ่มต้นธุรกรรมบล็อกเชนใด ๆ และการดำเนินการธุรกรรมเอง
ลองมาดูตัวอย่างเพื่ออธิบายความหมายเพิ่มเติม:
ผู้ใช้ต้องการโอน USDC แต่ประสบปัญหาเนื่องจากไม่มี ETH ในกระเป๋าเงินเพื่อชำระค่าธรรมเนียมการทำธุรกรรม
ชื่อเรื่องรอง
องค์ประกอบ
ในความเป็นจริง สิ่งที่เป็นนามธรรมทางเศรษฐกิจบนบล็อกเชนส่วนใหญ่นั้นแบ่งออกเป็นสองส่วน: สิ่งที่เป็นนามธรรมของค่าธรรมเนียมและสิ่งที่เป็นนามธรรมของโทเค็น หากสามารถทำได้ทั้งสองอย่าง เราก็มีนามธรรมทางเศรษฐกิจที่สมบูรณ์
การหักค่าธรรมเนียมการจัดการ - สามารถใช้สินทรัพย์ใด ๆ ในบล็อกเชนเพื่อชำระค่าธรรมเนียมการจัดการสำหรับการเริ่มต้นธุรกรรม
โดยทั่วไปแล้ว โปรโตคอลบล็อกเชนจำเป็นต้องอาศัยโทเค็นพื้นฐานเฉพาะ (เช่น Ethereum) เพื่อรับรองความปลอดภัยของเครือข่าย โปรโตคอลบางตัวคิดว่าตราบใดที่พวกเขาสนับสนุนการใช้โทเค็นใดๆ เพื่อชำระค่าธรรมเนียม พวกเขาสามารถรับรู้ถึงสิ่งที่เป็นนามธรรมของค่าธรรมเนียมได้ แต่สิ่งนี้ไม่เหมาะสำหรับโปรโตคอลส่วนใหญ่ ในส่วนการใช้งานด้านล่าง เราจะหารือเกี่ยวกับวิธีสร้างสิ่งที่เป็นนามธรรมของค่าธรรมเนียมบนโปรโตคอลที่คล้ายกับ Ethereum
Token abstraction - ความสามารถในการใช้สินทรัพย์ใด ๆ ใน blockchain เพื่อทำธุรกรรมให้เสร็จสมบูรณ์
ชื่อระดับแรก
ทำให้สำเร็จ
ชื่อเรื่องรอง
หน่วยการสร้างพื้นฐาน
กุญแจสำคัญในการนำฟังก์ชันหลักเหล่านี้ไปใช้บน Ethereum คือการใช้กระเป๋าเงินสัญญาอัจฉริยะ กระเป๋าเงินตามที่อยู่แบบดั้งเดิมไม่มีฟังก์ชั่นเหล่านี้ แต่เราสามารถเพิ่มตรรกะเพิ่มเติมให้กับพวกเขาผ่านสัญญาอัจฉริยะเพื่อให้ได้ฟังก์ชั่นหลักใหม่
การมอบหมายค่าธรรมเนียม — นั่นคือการกำหนดผู้ชำระเงินรายอื่นแทนผู้ส่งเพื่อชำระค่าธรรมเนียมการทำธุรกรรม
กระเป๋าเงินสัญญาอัจฉริยะส่วนใหญ่ใช้ Gas repeater เพื่อดำเนินการมอบหมายค่าธรรมเนียม ผู้ใช้ไม่จำเป็นต้องป้อน Ethereum โดยตรงในกระเป๋าเงินสัญญาอัจฉริยะเพื่อชำระค่าธรรมเนียมการทำธุรกรรม แต่สามารถทำการส่งต่อธุรกรรมให้เสร็จสมบูรณ์ได้โดยการลงนามในข้อความ (รีเลย์จะรวมข้อความไว้ในการทำธุรกรรม จากนั้นจึงส่งข้อความเป็น ผู้ส่ง) ธุรกรรม) เนื่องจากบัญชีของผู้ใช้เป็นสัญญาอัจฉริยะจริง ๆ ทั้งสองวิธีจึงใช้งานได้ตราบเท่าที่กระเป๋าเงินสามารถตรวจสอบการเรียกสัญญาได้
การทำธุรกรรมหลายขั้นตอน - นั่นคือ การเรียกใช้ฟังก์ชันอะตอมหลายรายการเสร็จสิ้นภายในธุรกรรมเดียว
ชื่อเรื่องรอง
ดำเนินการถอดถอนค่าธรรมเนียม
เมื่อใช้ธุรกรรมแบบหลายขั้นตอน เราสามารถสร้างโปรโตคอลการส่งข้อความอีกชั้นหนึ่งบนสถาปัตยกรรม Gas repeater มาตรฐานเพื่อรับรู้ค่าธรรมเนียมการจัดการที่เป็นนามธรรม ด้านล่างนี้เราใช้กรณีง่ายๆ เพื่อแสดงให้เห็นว่าโปรโตคอลสามารถขยายกระเป๋าเงินเพื่อให้มีฟังก์ชันเพิ่มเติมได้อย่างไร
ขั้นตอนที่ 0: กระเป๋าเงินลูกค้าต้องการส่งธุรกรรมที่ประกอบด้วยชุดการดำเนินการ [1…n]
ขั้นตอนที่ 1: กระเป๋าเงินของลูกค้าแจ้ง Gas relayer ว่าธุรกรรมใดที่ต้องการส่งและสินทรัพย์ใดที่ต้องการชำระค่าธรรมเนียมการทำธุรกรรม
ขั้นตอนที่ 2: ผู้ส่งต่อตอบกลับพร้อมข้อความใบเสนอราคาที่มีลายเซ็นซึ่งระบุราคาสำหรับธุรกรรมที่ผู้ใช้ส่งต่อร้องขอ โดยคำนวณจากสินทรัพย์ที่ผู้ใช้ระบุ (ใช้เพื่อชำระค่าธรรมเนียม)
ขั้นตอนที่ 3: กระเป๋าเงินไคลเอนต์เพิ่มการดำเนินการเพิ่มเติม ซึ่งก็คือการโอนสินทรัพย์ตามมูลค่าที่ระบุไปยังตัวทำซ้ำ
ขั้นตอนที่ 4: ในที่สุดธุรกรรมที่ประกอบด้วยการดำเนินการ [1…n+1] จะถูกส่งกลับไปยังผู้ส่งต่อพร้อมกับข้อความข้อเสนอที่ลงนาม
ขั้นตอนที่ 5: ผู้ส่งต่อตรวจสอบธุรกรรมและข้อความอ้างอิง จากนั้นส่งธุรกรรมไปยังบล็อกเชน
ชื่อเรื่องรอง
ใช้นามธรรมโทเค็น
เมื่อได้รับพรจากการทำธุรกรรมแบบหลายขั้นตอนแล้ว การตระหนักถึงนามธรรมของโทเค็นจึงเป็นเรื่องง่าย ความยากหลักอยู่ที่การวิเคราะห์ธุรกรรม กระเป๋าเงินของลูกค้าต้องสามารถวิเคราะห์ธุรกรรมพื้นฐานได้ เพื่อที่จะทราบว่าสินทรัพย์ใดบ้างที่จะใช้ (หรือรับ) และจะใช้ (หรือรับ) เท่าใดเมื่อดำเนินการในธุรกรรม
เราสร้างโหนด Ethereum ที่ได้รับการดัดแปลงใน Astro เพื่อเรียกใช้การวิเคราะห์ข้างต้น แต่เนื่องจากนี่เป็นความท้าทายด้านวิศวกรรมมากกว่าจะเป็นเรื่องอัลกอริทึม เราจึงปล่อยให้มันเป็นแบบฝึกหัดสำหรับผู้อ่าน
ชื่อระดับแรก
ฟิตไปด้วยกัน!
ตอนนี้เราได้ตระหนักถึงสิ่งที่เป็นนามธรรมของค่าธรรมเนียมและโทเค็นในเวลาเดียวกัน และการรวมกันของทั้งสองสามารถทำให้เกิดสิ่งที่เป็นนามธรรมทางเศรษฐกิจได้!
นอกจากนี้ เรายังสามารถเพิ่มคุณสมบัติที่ยืดหยุ่นอื่นๆ เช่น การอนุญาตทันที เพื่อให้เราไม่ต้องส่งธุรกรรมแยกต่างหากเพื่ออนุญาตสัญญา เช่น 0x และ Uniswap เพื่อใช้สินทรัพย์ของเราอีกต่อไป สิ่งนี้ยังช่วยปรับปรุงความปลอดภัยของผู้ใช้ เนื่องจากเราจำเป็นต้องอนุญาตการทำธุรกรรมเท่านั้นจึงจะใช้จ่ายสินทรัพย์ตามจำนวนที่กำหนด (ไม่ใช่ทั้งหมด)
เราสามารถแสดงตัวอย่างที่ค่อนข้างซับซ้อนได้อย่างชัดเจนในบทนำผ่านผังงานนี้ ซึ่งแสดงรายการการดำเนินการที่ธุรกรรมนี้มีในท้ายที่สุด อย่างที่เราเห็น ผู้ใช้สามารถชำระค่าธรรมเนียมสำหรับโปรโตคอล 0x (ETH) ค่าธรรมเนียมสำหรับรีเลย์ 0x (ZRX) การเสนอราคาจากผู้ขาย CryptoKitties (DAI) และค่าธรรมเนียมสำหรับ Gas relayer เพื่อกำหนดเส้นทางการทำธุรกรรม ทั้งหมดนี้ทำได้ในครั้งเดียว การพึ่งพา USDC ในกระเป๋าเงินก็เพียงพอแล้ว
ขอขอบคุณ Clinton Bembry, Linda Xie, Aparna Krishnan และ Clay Robbins สำหรับการตรวจสอบบทความนี้


