Search
Close this search box.

ERC-4337 : Account Abstraction สะพานเชื่อมคนทั้งโลกเข้าสู่คริปโต

Reading time 12 Mins
Share :
Account Abstraction 800x450

Table of Contents

ทุกคนที่เคยเล่นคริปโตคงต้องเคยได้ยินหรือรู้จัก Metamask ที่เป็นกระเป๋าใส่เหรียญคริปโต (Crypto Wallet) ต่างๆใช่มั้ยครับ รู้สึกมั้ยครับว่ามันวุ่นวายเหลือเกินกว่าจะเริ่มใช้งานได้ แถมยังมีเรื่องต้องมาระวังความปลอดภัยอีก ความลำบากและความเสี่ยงตรงนี้แหละเป็นหนึ่งใน Barrier ที่ปิดกั้นคนอีกมหาศาลในการเข้าสู่โลกคริปโต มันจะดีกว่ามั้ยถ้าเกิดว่า Account หรือกระเป๋าเงินของเรานั้นสามารถ recover ได้เหมือนเวลาเราลืมรหัสผ่านก็แค่กด forget password นี่ก็เป็นที่มาของตัว Account Abstraction หรือ ERC-4337 นี้เองที่จะเป็นสะพานที่นำพาคนอีกมหาศาลก้าวเข้าสู่โลกของ Ethereum และ Cryptocurrency 

รูปแบบเดิมของ Ethereum Account

ก่อนที่เราจะทำความรู้จักกับตัว Account Abstraction อยากจะชวนทุกคนมาดูรูปแบบของกระเป๋าที่ถูกใช้บน Ethereum กันในปัจจุบันก่อน โดยมี 2 ประเภทได้แก่

  1. Externally Owned Account (EOA)

Externally owned account นั้นเป็นกระเป๋าที่เราใช้งานกันทั่วไป โดยจะถูกควบคุมด้วยคนที่มี private key สามารถใช้ในการรับ/ส่งเงิน, การ sign transaction หรือการทำธุรกรรมกับตัว Blockchain โดยจะต้องเสียค่า gas ตัวอย่างเช่น Metamask ซึ่งตัวกระเป๋านั้นจะประกอบไปด้วย Private key และ Public key 

Private key นั้นเป็นเหมือนกุญแจที่ใช้เข้าและควบคุมกระเป๋าเรา ซึ่งจะถูกแปลงและจัดเก็บอยู่ในรูปแบบคำ 12 หรือ 24 คำ (Seed phrase) เพื่อการจดจำที่ง่ายยิ่งขึ้น โดยใครที่มี seed phrase หรือ private key ก็จะสามารถเข้าใช้งานกระเป๋าได้ทั้งหมด สำหรับ Public Key นั้นคือเลขกระเป๋าที่ใช้เป็น address ในการรับส่งเงิน (wallet address) ซึ่งถูกสร้างมาจากตัว private key อีกทอดนึง

  1. Contract Account (CA)

ต่างจาก EOA ให้ลองนึกภาพว่า Contract account เป็นกระเป๋าที่ถูกควบคุมโดย Code ซึ่งความสามารถในการใช้งานมากน้อยจะขึ้นอยู่กับ Code ทั้งหมด ทั้งนี้ทั้งนั้นการใช้งาน contract account นั้นต้องทำผ่าน EOA อยู่ดี โดยที่ EOA จะเป็นตัวจ่ายค่า gas ในการทำธุรกรรมต่างๆ ตัวอย่างของ Contract account ก็คือการ mint NFT ที่เราต้องเป็นผู้จ่าย gas ให้ contract เพื่อได้ NFT มานั่นเอง

ข้อจำกัดและปัญหาของ Account รูปแบบเดิม

ข้อจำกัดของ account แบบเดิมคืออะไร? สำหรับผู้ใช้งานเดิมที่ผ่านการใช้งานมาบ่อยครั้งคงรู้สึกว่าชินแล้ว แต่ความซับซ้อนของการใช้งาน EOA นั้นเรียกว่าเป็นฝันร้ายของผู้ใช้ใหม่เลยก็ว่าได้

โดยเริ่มแรกคุณจะต้องโหลด Extension ของกระเป๋ามา จากนั้นคุณก็ต้องจด Seed phrase ซึ่งเป็นคำ 12 หรือ 24 คำซึ่งหลายๆที่ก็จะบอกว่าต้องจำให้ได้ ถ้าเกิดหายแล้วหายเลยนะ ไม่มีการ account recovery คุณต้องรับผิดชอบตัวเอง ถ้าตัว seed phrase หลุดหรือโดนขโมยนู่นนี่นั่นก็คือเงินหายหมด นอกจากนี้จะใช้งานกระเป๋าคุณต้องไปเตรียมเงินในกระเป๋าเพื่อใช้จ่ายค่าธุรกรรม และยังมีศัพท์เฉพาะอีก อาทิ private key, wallet address แต่ละอันต่างกันยังไง จะรับเงินส่งเงินต้องใช้อันไหน

ขั้นตอนการใช้งานกระเป๋า EOA ของผู้ใช้ใหม่

แผนภาพด้านบนนี้แสดงให้เห็นขั้นตอนที่ผู้ใช้ใหม่จะต้องทำในการใช้งาน dApps ครั้งแรก ซึ่งนอกจากขั้นตอนข้างต้นที่เห็น ในแต่ละขั้นจะต้องมีความละเอียดอื่นๆอีก อาทิ

  • Purchase Fund: จะซื้อผ่านบัตรเครดิตหรือจะโอนจาก Exchange ทำแบบไหนสะดวกสุด ถูกที่สุด
  • Deposit Fund: โอนออกจาก Exchange ใส่ Wallet address ถูกต้องหรือไม่ Blockchain นี้รองรับเหรียญนั้นๆรึเปล่า
  • Initiate Transaction: ค่าธุรกรรม (Gas fee) พอมั้ย dApps ที่เราจะใช้ปลอดภัยมั้ย

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

‘มีคนลืม Seedphrase เข้ากระเป๋าไม่ได้เงินติด’ หรือ ‘เศรษฐีคริปโตลืม Password กระเป๋าเงินติดอยู่เป็นล้านๆดอลล่าร์’ ดังตัวอย่างด้านล่างนี้

Bitcoin: Millions of dollars of cryptocurrency ‘lost’ after man dies with only password
https://www.nytimes.com/2021/01/12/technology/bitcoin-passwords-wallets-fortunes.html

นอกจากจะใช้งานยากแล้ว ในบริบทของ Web3 นั้น การเก็บรักษา Account นั้นก็ต้องทำด้วยตนเอง (Self Custody) เนื่องจากว่าคริปโตเป็นความพยายามในการหนีออกจากตัวกลางต่างๆ ทำให้เวลาผู้ใช้ลืม password หรือ seed phrase นั้นก็เท่ากับว่าแทบไม่มีโอกาสในการเข้าถึงเงินในกระเป๋านั้นๆได้อีกเลย ซึ่งเป็นความจริงที่โหดร้ายว่า Private Key นั้นนอกจากจะสูญหายได้ง่ายแล้ว ยังแทบเป็นไปไม่ได้ที่จะกู้คืนกลับมาอีกด้วย

Account Abstraction คืออะไร

Account Abstraction นั้นฟังดูเป็นคำที่เข้าใจยากแต่แก่นแท้ของมันก็คือ Smart Account เป็นกระเป๋า EOA ที่ให้ Execute EVM Code ได้เลย – เหมือนกับ CA – ภายในตัวเอง ซึ่งทำให้ผู้ใช้งานนั้นสามารถใช้งาน Web3 ได้อย่างสะดวกสบายมากยิ่งขึ้น

แล้วการทำได้แบบ CA มันดีกว่าเดิมอย่างไร

การให้ EOA execute code หรือ smart contract ในตัวเองได้แปลว่า function ในการใช้งานใดๆที่สามารถเขียนเป็น Code ได้ EOA สามารถทำได้ทั้งหมด เรียกว่าเพิ่มความยืดหยุ่นในการใช้งานกระเป๋าได้มากขึ้นมหาศาล ยกตัวอย่างสิ่งที่ Contract สามารถทำได้

**Account Abstraction ไม่ได้ตัดเรื่อง private key ออกไปแต่เพิ่ม Option ให้การเข้าใช้งานกระเป๋านั้นสะดวกสบายยิ่งขึ้น

นี่เป็นแค่บางตัวอย่างที่ Contract สามารถทำได้และ EOA ทำไม่ได้ และยังมีอย่างอื่นมากกว่านี้ เนื่องจากว่า Contract เป็น Code แปลว่า อะไรก็ตามที่สามารถเขียนเป็น Code ได้กระเป๋าเราก็จะทำอย่างงั้นได้เช่นกัน

แล้วถ้า Account Abstraction มันทำได้เยอะและดีขนาดนี้ทำไมพึ่งมีล่ะ?

Concept ของ Account Abstraction นั้นมีมาสักพักแล้วและกว่าจะมาเป็น ERC-4337 ได้นั้นมีประวัติคร่าวๆดังนี้

  • ปี 2016 EIP-86 = มี proposal ให้ผู้ใช้งาน account ทั่วๆไปนั้นสามารถสร้าง “Account Contract” ได้ เป็นการเปิดให้ผู้ใช้สามารถใช้ signature แบบอื่นๆแทนรูปแบบเดิมได้
  • ปี 2020 EIP-2938 = มี proposal ให้สร้างธุรกรรมแบบใหม่ในรูปแบบ AA_TX_TYPE, โดยมีชื่อเรียกทั่วไปว่า “AA Transaction”
  • ปี 2020 EIP-3074 = proposal ที่ให้เจ้าของ account สามารถมอบอำนาจให้ smart contract ใช้งานได้ เท่ากับว่าสามารถให้ EOA ทำงานเหมือน smart contract โดยที่ไม่ต้องมีการ deploy contract ใหม่
  • แต่ proposal ทั้งหมดด้านบนนั้นไม่เคยถูกนำมาปรับใช้บน Ethereum เนื่องจากมีข้อจำกัดเกี่ยวกับ consensus layer บน Ethereum เอง
  • จนกระทั่งในปี 2021 ที่มี proposal EIP-4337 ซึ่งสามารถให้ตัว Account Abstraction นั้นสามารถปรับใช้งานกับ Ethereum ได้โดยไม่ต้องข้องเกี่ยวกับ Consensus layer

*EIP กับ ERC ต่างกันตรงที่ EIP นั้นเป็น Proposal ในการปรับปรุงแก้ไข function การดำเนินงานต่างๆแต่ ERC นั้นเป็นข้อเสนอในการสร้างหรือเปลี่ยนแปลงมาตรฐานของ Token หรือ Smart Contract

ERC-4337: Account Abstraction Architecture

สำหรับคนที่สนใจในเบื้องลึกเบื้องหลังการทำงานของ ERC-4337 ในส่วนนี้จะมาเล่าให้ฟังคร่าวๆกันครับ

องค์ประกอบที่ ERC-4337 นั้นเพิ่มขึ้นมานั้นมี 3 อย่างหลักๆ ด้วยกัน

UserOperation: เป็น Object ที่ทำหน้าที่ในการทำธุรกรรมในนามของ user หรือเป็นตัวที่สามารถทำธุรกรรมแทนเราได้

Bundlers: ธุรกรรมที่ถูกส่งออกจาก UserOperation จะเข้าไปยัง Alt Mempool ซึ่งเป็นเหมือนกับห้องเก็บธุรกรรมที่ยังไม่ถูกยืนยันต่างๆรวมไว้ด้วยกัน หลังจากนั้นตัว Bundler ก็จะมัดรวมหลาย UserOperation ที่ยังไม่ถูกยืนยันเข้าด้วยกันก่อนที่จะส่งออกไปยัง EntryPoint

EntryPoint: เป็นตัว Smart Contract ที่ทำหน้าที่ตรวจสอบธุรกรรมและจัดเรียงลงบน Blockchain โดยเมื่อมาถึงตัว EntryPoint ก็จะมีการตรวจสอบว่า Account ต้นทางที่ส่งธุรกรรมมานั้นมีค่าธรรมเนียมเพียงพอหรือไม่ หากเพียงพอก็จะเรียกใช้ Contract Account – Smart Contract ที่ถูกสร้างโดย User – ซึ่งหาก gas ไม่เพียงพอก็จะปัดตกไป

นอกจาก Contract Account ปกติแล้ว ERC-4337 ยังมีอีกสอง Smart Contract เพิ่มเติมที่ EntryPoint สามารถเรียกใช้ได้

Paymasters: เป็น Smart Contract ที่สร้างความยืดหยุ่นในระบบการจ่ายค่า Gas โดยตัว Paymasters สามารถจ่ายค่า Gas แทนผู้ใช้ได้หรือการจ่ายค่า Gas เป็น Stablecoin หรือเหรียญอื่นๆ ก็สามารถทำได้

Aggregators: เป็น Smart Contract ที่ทำหน้าที่ยืนยันธุรกรรมแบบควบรวม จากเดิมที่แต่ละธุรกรรมนั้นต้องถูก Approve และจ่ายค่า Gas แยกกัน ตัว Aggregator จะมัดรวมธุรกรรมเข้าด้วยกันและให้ Signature สำหรับยืนยันธุรกรรมทั้งหมดในครั้งเดียว

ข้อได้เปรียบและตัวอย่างการใช้งาน Account Abstraction

จากด้านบนก็ได้มีการเล่าถึงความสามารถในการใช้งานตัว Contract account ไปบ้างแล้ว ในส่วนนี้เราจะมาลงรายละเอียดรูปแบบการใช้งานในหลายๆแง่มุมกันครับ

Alternative Wallet Recovery

จากเดิมที่หากเราทำ Seed phrase หาย, ลืม Private key หรือลืม password เงินเราจะติดอยู่ในกระเป๋าไปตลอดกาล ด้วย Account Abstraction นั้นเราสามารถกู้คืนกระเป๋าเราได้โดยไม่จำเป็นต้องผ่านตัวกลาง แต่สามารถระบุให้กลุ่มเพื่อน, ครอบครัว หรือ คนที่เราเชื่อถือนั้นมีกุญแจที่จะช่วยให้เรากู้คืนกระเป๋ากลับมาได้

Bundling

ทำให้สามารถมัดรวมธุรกรรมหลายๆ อย่างเข้าด้วยกันและ Approve ในครั้งเดียวได้ ตัวอย่างเช่น

  • ในกรณีที่เราไปใช้งาน platform ใหม่ๆซึ่งอาจมีความเสี่ยงในอนาคต เราสามรถ Approve, swap, revoke ได้ทั้งหมดใน 1 ธุรกรรม
  • หากคุณเป็น NFT creator ที่ต้องการลงผลงานต่างๆ ก็สามารถสร้าง collection ,เพิ่มผลงานของคุณ, Approve ธุรกรรม และ List ผลงานได้ในธุรกรรมเดียว สร้างความสะดวกต่อผู้ใช้งานได้เป็นอย่างมาก
  • ผู้ใช้งานยังสามารถสร้างรูปแบบการใช้งานเฉพาะได้ที่เหมาะกับความต้องการของแต่ละคนได้ เช่น trader นั้นสามารถ Trade ได้ในคลิกเดียวแทนที่จะมาแยกธุรกรรมการ approve และยืนยันเป็นหลายๆขั้นตอน

Multisig Wallet

การทำธุรกรรมของโปรเจกต์ต้องผ่านการ approve ของ CFO และ CEO? สามารถปรับให้การทำธุรกรรมนั้นเป็น multisig (ต้องผ่านการอนุมัติจากหลายคนจึงสามารถทำธุรกรรมได้) ได้ผ่านการตั้งค่าที่ง่ายดาย โดยสามารถตั้งจำนวนคนที่จำเป็นในการทำธุรกรรมได้ตามความต้องการ เพิ่มทั้งความปลอดภัยและความสะดวกในเวลาเดียวกัน

Gasless & Sponsored transaction

การทำธุรกรรมต่างๆลำบากมากต้องเตรียมเงินจ่ายค่า Gas ตลอดเลย? Account Abstraction สามารถให้คนอื่นจ่ายค่า gas แทนได้เสมือนกับการที่คุณซื้อของและออกบิลในนามบริษัท นอกจากนี้โปรเจกต์ต่างๆที่

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

Approval Timer

อยากใช้งาน dApps นึงมากๆแต่จะทำนู่นนี่อะไรก็ต้อง approve ทุกธุรกรรมที่เกิดขึ้นลำบากสุดๆ? ต่อจากนี้สามารถ Approve transaction ไว้ในระยะเวลาที่กำหนดได้แล้ว เช่น คุณต้องการเล่นเกมบน web3 ประมาณ 2 ชั่วโมง แทนที่จะมานั่ง approve ธุรกรรมซื้อขายของหรือ action อะไรต่างๆ ก็สามารถตั้งค่าไว้ได้เลยว่า approve transaction บน dApp นี้เป็นเวลา 2 ชั่วโมงก็จะทำให้ประสบการณ์ในการเล่นนั้นลื่นไหลขึ้นมากๆ

Subscriptions 

Subscription model นั้นโดยปกติทำได้ยากมากๆบน ETH เนื่องจากว่าทุกการทำธุรกรรมที่เกิดขึ้นนั้นต้องผ่านการยืนยันโดยเจ้าของ account แต่ด้วย account abstraction จะสามารถให้เราตั้งค่าการ subscribe ได้เลยอย่างง่ายดาย

Custom limits & 2FA (Security)

ในด้านความปลอดภัยและการใช้จ่ายก็สามารถออกแบบให้ครอบคลุมขึ้นได้และปลอดภัยยิ่งขึ้นได้ อาทิ

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

ตัวอย่าง Project ที่ใช้งาน Account Abstraction แล้ว

Ambire

เปิดตัวในปี 2021 เป็น smart wallet ครอบจักรวาลที่เน้นไปที่กลุ่มคนเล่นคริปโตเป็นหลัก ตั้งใจที่จะมอบประสบการณ์การเล่นคริปโตผ่าน User Interface ที่เข้าใจง่ายใช้ได้ทั้งหน้าใหม่และ OG มีให้ใช้ทั้งบน Web Browser และมือถือโดยมีความสามารถคร่าวๆ เช่น 

  • เปิด Account โดยใช้ Email address & password
  • Batching Transaction ช่วยให้สามารถทำหลายๆ ธุรกรรมพร้อมกันได้
  • มีระบบ Gas tank เป็นส่วนลดค่าธรรมเนียมให้ user รวมทั้งเปิดให้จ่ายค่า gas ด้วยเหรียญใดก็ได้

และอื่นๆได้อีกมาก รายละเอียดเพิ่มเติมที่ Ambire

Safe

Safe ถูก Rebrand มาจาก Gnosis Safe ในปี 2022 มีเป้าหมายหลักในการสร้างความอัตโนมัติรวมถึงการทำงานร่วมกันในโลกคริปโต มี Feature หลักๆคือการเป็นกระเป๋า Multisig (ต้องใช้ signature ของหลายฝ่าย) ซึ่งถูกใช้กันอย่างแพร่หลายใน community web3 และ DAO ถึงแม้ว่า Safe นั้นจะไม่ได้เน้นไปที่การใช้งานที่ง่ายจาก User และจะซับซ้อนกว่ากระเป๋าอื่นๆมาก แต่จากชื่อของ Safe ก็ไม่ต้องแปลกใจเลยว่าคุณสมบัติหลักๆเลยที่กระเป๋า Safe เน้นนั้นก็คือความปลอดภัยของผู้ใช้งาน ความสามารถคร่าวๆ คือ

  • เป็น Open-Source ทำให้การพัฒนานั่นโปร่งใสและตรวจสอบได้
  • เน้นไปที่ความปลอดภัยในการจัดการสินทรัพย์ ทำให้เหมาะแก่การใช้ใน DAOs
  • มีระบบ Advanced Multisig Option ที่ช่วยเพิ่มความปลอดภัยในการทำธุรกรรมอีกหนึ่งชั้น

ซึ่งมีตัวอื่นๆอีกมากมายสามารถดูจาก List นี้ได้เลยครับ

Biconomy

นอกจากจะมีกระเป๋าต่างๆที่เป็น Smart Wallet ผ่านการใช้งาน Account Abstraction แล้วก็มีโปรเจคอย่าง Biconomy ที่ทำเป็นรูปแบบ SDK ให้ dApps ต่างๆนั้นนำไปใช้เป็น plugins ให้คนที่ใช้กระเป๋า EOA ทั่วๆไปใช้ function ได้รูปแบบเดียวกันกับ account abstraction ทำให้การใช้งาน dApps นั้นๆ สะดวกและมีอิสระมากยิ่งขึ้น

Account Abstraction จะเป็นประตูสู่การใช้งาน Cryptocurrency ของคนทั่วโลก

ตัวอย่างทั้งหมดที่กล่าวถึงนั้นเป็นแค่เศษเสี้ยวของสิ่งที่เราจะทำได้บนกระเป๋าของเรา และสำหรับตัว ERC-4337 นั้นได้เริ่มแล้วโดยมีการเปิดตัวในงาน WalletCon Colorado 2023 เมื่อวันที่ 1 มีนาคม ที่ผ่านมานี้เอง

Account Abstraction นั้นจะทำให้คนใหม่ที่เข้าสู่โลก Cryptocurrency นั้นทำได้อย่างง่ายและปลอดภัยเสมือนเล่น internet ธรรมดาทั่วไป คนเก๋าก็จะสามารถปรับแต่ง custom การใช้งานของกระเป๋าได้ตามใจอย่างไร้ขีดจำกัด เรียกได้ว่า Account Abstraction นั้นจะเป็นใบเบิกทางและสะพานให้คนทั่วทุกมุมโลกนั้นเข้าสู่โลก web3 ได้อย่างง่ายดายเลยจริงๆครับ

Author

Share :
Related
Anzen และ USDz: รูปแบบใหม่ของ Stablecoin ที่ Backed ด้วย Real-World Assets
Cryptomind Monthly Outlook - January 2025
Trump ไม่เซ็นต์ Executive Order เกี่ยวกับคริปโตฯ ในวันแรก! ตลาดจะเดินหน้าอย่างไรต่อ?
Ethena และ USDe กับยุคใหม่ของ Stablecoin