ic yic pic g

ERC-4337 คืออะไร และทำไมมันถึงเปลี่ยน Ethereum ได้อย่างมากมาย?

ic arrowBack
19 Mar 2026
ERC-4337 คืออะไร และทำไมมันถึงเปลี่ยน Ethereum ได้อย่างมากมาย?
ERC-4337 หรือที่รู้จักในชื่อ “Account Abstraction” เป็นมาตรฐานใหม่ในระบบ Ethereum ที่ทำให้การจัดการบัญชีมีความยืดหยุ่นมากขึ้นกว่าเดิม ในระบบดั้งเดิมของ Ethereum บัญชี Externally Owned Accounts (EOAs) ซึ่งควบคุมโดยผู้ใช้ผ่าน private key มีข้อจำกัดในเรื่องของความปลอดภัย หากผู้ใช้ทำ private key สูญหายหรือถูกขโมย การกู้คืนหรือป้องกันไม่สามารถทำได้
ERC-4337 ได้เข้ามาแก้ปัญหานี้โดยนำฟีเจอร์ที่สามารถทำให้ Smart Contracts ทำหน้าที่แทน EOAs ซึ่งสามารถเพิ่มความยืดหยุ่นให้กับการจัดการธุรกรรม เช่น การยืนยันตัวตนผ่าน biometrics, การใช้ OAuth 2.0, multisignature และ social recovery (การกู้คืนบัญชีด้วยความช่วยเหลือของคนอื่น)
.
**การทำงานร่วมกับ UserOperation ใน ERC-4337**
หัวใจหลักของ ERC-4337 คือการนำเสนอการทำงานผ่าน UserOperation ซึ่งเป็นคำสั่งในการทำธุรกรรมแทนที่การใช้ private key แบบเดิม โดย UserOperation จะถูกส่งไปยัง alt-mempool ที่ถูกสร้างขึ้นมาเฉพาะสำหรับการจัดการธุรกรรมที่ใช้มาตรฐานนี้
UserOperation จะรวบรวมข้อมูลต่างๆ เช่น:
- Signature หรือ Access Token ที่ใช้ยืนยันตัวตน
- Nonce
- Gas price และ Gas limit ที่ใช้สำหรับการทำธุรกรรม
- CallData ซึ่งเป็นข้อมูลของ smart contract ที่ถูกเรียกใช้
.
**Bundlers กับการจัดการ UserOperation**

นอกจากนี้ bundlers จะทำหน้าที่คล้ายกับ miners ในระบบเดิม แต่สำหรับการทำงานใน ERC-4337 โดยเฉพาะ โดยจะทำหน้าที่รวบรวมคำสั่งธุรกรรมจาก UserOperation มารวมกันเป็นชุด (bundle) ก่อนที่จะนำไปประมวลผลและส่งไปยังเครือข่าย Ethereum การรวมคำสั่งเหล่านี้ทำให้การทำธุรกรรมสามารถประมวลผลได้รวดเร็วขึ้น

![https://miro.medium.com/v2/resize:fit:1400/format:webp/0*SlAjzdYEHBuKj19v.png](https://static.tokenx.finance/upload/0_Sl_Ajzd_YEH_Bu_Kj19v_2d8000186d.png)

Overview of UserOperation lifecycle (Image courtesy of Vitalik Buterin)
.
**ตัวอย่างโค้ดของ ERC-4337 ที่ใช้การยืนยันตัวตนผ่าน OAuth 2.0**
.
โค้ดต่อไปนี้แสดงถึงการยืนยันตัวตนผ่าน OAuth 2.0 โดยใช้ access token จากผู้ให้บริการ OAuth (เช่น Google หรือ Facebook) แทนการ Sign ผ่าน private key แบบเดิม
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;

contract ERC4337OAuthVerification {
struct UserOperation {
address sender;
uint256 nonce;
bytes callData;
uint256 gasLimit;
uint256 maxFeePerGas;
string oauthToken; // Access Token จาก OAuth 2.0
}

mapping(address => uint256) public nonces;
event UserOperationProcessed(address indexed sender, bytes callData, uint256 gasUsed);

// สมมติว่า OAuthProvider เป็น contract ที่เชื่อมต่อกับผู้ให้บริการ OAuth
address public oauthProvider;

constructor(address _oauthProvider) {
oauthProvider = _oauthProvider;
}

// ฟังก์ชันสำหรับจัดการธุรกรรม UserOperation
function handleUserOperation(UserOperation calldata userOp) external {
require(userOp.sender != address(0), "Sender cannot be zero address");
require(userOp.nonce == nonces[userOp.sender], "Invalid nonce");

// ตรวจสอบ OAuth Token ผ่านฟังก์ชัน verifyOAuthToken
require(verifyOAuthToken(userOp.oauthToken, userOp.sender), "Invalid OAuth token");

// ดำเนินการธุรกรรม
(bool success, ) = userOp.sender.call{gas: userOp.gasLimit}(userOp.callData);
require(success, "Call failed");

nonces[userOp.sender]++;
emit UserOperationProcessed(userOp.sender, userOp.callData, userOp.gasLimit);
}

// ฟังก์ชันตรวจสอบ OAuth Token
function verifyOAuthToken(string memory token, address sender) internal view returns (bool) {
// เรียกใช้ฟังก์ชันใน oauthProvider เพื่อตรวจสอบว่าผู้ใช้ได้รับการยืนยันตัวตนหรือไม่
(bool success, ) = oauthProvider.call(abi.encodeWithSignature("verifyToken(string,address)", token, sender));
return success;
}
}
.
คำอธิบายโค้ด:
1. UserOperation: ในโค้ดตัวอย่างนี้ เราเพิ่มฟิลด์ oauthToken ซึ่งเป็น token ที่ได้จาก OAuth 2.0 เช่น Google หรือ Facebook เพื่อใช้แทนการ Sign ด้วย private key
2. verifyOAuthToken: ฟังก์ชันนี้จะเรียกใช้ oauthProvider ซึ่งเป็น smart contract ที่เชื่อมต่อกับผู้ให้บริการ OAuth และตรวจสอบว่า token นั้นถูกต้องหรือไม่ และผู้ใช้งานนั้นมีสิทธิ์ทำธุรกรรมหรือไม่
3.oauthProvider: เป็น smart contract ภายนอกที่ทำหน้าที่เชื่อมต่อกับระบบ OAuth และสามารถตรวจสอบ token ว่าถูกต้องและยืนยันได้
.
**ความสำคัญของ ERC-4337**
ประโยชน์ที่สำคัญที่ ERC-4337 นำเสนอคือการ เพิ่มความปลอดภัย และ ความสะดวกในการใช้งาน สำหรับผู้ใช้ Ethereum ซึ่งมีประโยชน์ในหลายด้าน ดังนี้:

1. ความปลอดภัยที่ยืดหยุ่นและหลากหลาย
ERC-4337 ทำให้การใช้งาน smart contract กลายเป็นเรื่องง่ายและปลอดภัยขึ้นมาก ผู้ใช้สามารถตั้งค่าการใช้ multisig เพื่อให้ธุรกรรมใด ๆ ต้องได้รับการอนุมัติจากหลายบัญชีก่อนถึงจะดำเนินการได้ ทำให้การทำธุรกรรมมีความปลอดภัยมากขึ้น นอกจากนี้ยังเพิ่มความสามารถในการกู้คืนบัญชี โดยผู้ใช้งานสามารถตั้งค่าให้ trusted devices หรือบุคคลอื่นเข้ามาช่วยในการกู้คืนบัญชีได้หากทำ private key สูญหาย ซึ่งเป็นฟีเจอร์ที่ระบบเก่าไม่มี

2. การเพิ่มความสะดวกสบายให้ Wallets
ในยุคของ ERC-4337 Wallets สามารถถูกออกแบบให้มีความปลอดภัยมากขึ้นและมีความยืดหยุ่นในการใช้งาน เช่น ไม่จำเป็นต้องใช้ private key สำหรับการทำธุรกรรม หรือการตั้งค่าธุรกรรมที่มีการจำกัดวงเงินในแต่ละวัน ฟีเจอร์อย่างการทำธุรกรรมอัตโนมัติ (automatic payments) หรือการตั้งเวลาล่วงหน้าในการทำธุรกรรมสามารถทำได้สะดวกยิ่งขึ้น

3. การเปิดโอกาสใหม่ให้ dApps
ด้วยความสามารถในการทำธุรกรรมที่ไม่มีค่าธรรมเนียม (gasless transactions) ที่ Defi Platform สามารถรองรับการจ่ายค่า Transaction Fee แทนผู้ใช้งานได้ และการทำธุรกรรมที่สามารถตั้งค่าได้ล่วงหน้าผ่าน smart contracts, dApps (Decentralized Applications) ที่พัฒนาขึ้นบน Ethereum จะสามารถเพิ่มฟีเจอร์ที่ซับซ้อนได้โดยไม่จำเป็นต้องเพิ่มความซับซ้อนให้กับผู้ใช้งาน
..
ERC-4337 ยังช่วยขยายศักยภาพให้กับ Ethereum ในการสร้างแอปพลิเคชันที่เน้นประสบการณ์ผู้ใช้งานที่ดีขึ้น ทำให้ผู้ใช้ทั่วไปสามารถเข้าถึงแอปพลิเคชันบล็อกเชนได้ง่ายขึ้น โดยไม่ต้องมีความรู้ทางเทคนิคมากมาย เช่น:
- การใช้ smart wallets ที่ไม่ต้องการ private key
- การทำธุรกรรมที่ง่ายดายยิ่งขึ้นสำหรับผู้ใช้ทั่วไป
- การเปิดโอกาสให้ผู้ใช้ทั่วไปสามารถมีส่วนร่วมในโลกบล็อกเชนได้โดยไม่ต้องกังวลเกี่ยวกับการรักษาความปลอดภัยของ private key
.
**สรุป**
ERC-4337 นำเสนอแนวทางใหม่ในการจัดการบัญชีผู้ใช้งานและธุรกรรมบน Ethereum ผ่านการใช้ UserOperation และการยกระดับความปลอดภัยด้วยการนำ biometrics, OAuth 2.0, multisig และ social recovery มาทดแทนการใช้ private key แบบดั้งเดิม การที่ Ethereum สามารถปรับตัวและเพิ่มฟีเจอร์เหล่านี้ได้ ทำให้การใช้งานบล็อกเชนเข้าถึงผู้ใช้งานทั่วไปได้ง่ายขึ้น ปลอดภัยขึ้น และเหมาะสมสำหรับการใช้งานในโลกจริงมากขึ้น
.
ERC-4337 จะช่วยผลักดัน ecosystem ของ Ethereum ให้ก้าวไปอีกขั้นสู่การนำบล็อกเชนมาใช้ในวงกว้าง ซึ่งไม่เพียงแต่จะเป็นประโยชน์ต่อผู้ใช้ทั่วไปเท่านั้น แต่ยังช่วยเปิดโอกาสใหม่ ๆ ให้กับการพัฒนา dApps ที่มีประสิทธิภาพมากขึ้นและเน้นประสบการณ์ผู้ใช้ที่ดีที่สุด
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับ ERC-4337 สามารถอ่านเพิ่มเติมได้ที่ Ethereum Improvement Proposal.
.
#TokenX #LifeatTokenX
ic correct
Link copied