30 มิ.ย. 2022 เวลา 00:30 • คริปโทเคอร์เรนซี
มารู้จัก “มาตรฐานโทเคน” 🧐 ERC BEP KAP คืออะไร?
ตัวย่อที่มักตามด้วยตัวเลข เช่น ERC-20 ERC-1155 สำหรับมือใหม่อาจสงสัย เรามาหาคำตอบกันแบบง่าย ๆ กับเรื่อง “มาตรฐานโทเคน” 🧐
🎯 มาตรฐานโทเคน คืออะไร?
มาตรฐานโทเคน คือมาตรฐานทั่วไปที่ถูกกำหนดเป็นข้อบังคับสำหรับการสร้างโทเคนบนเครือข่าย โดยจะมีชื่อและหมายเลขเรียกต่างกันไปเหมือนที่เราเห็นกันบ่อย ๆ อย่าง Ethereum request for comment (ERC) ที่มี ERC-20, ERC-1155 หรือจะเป็นมาตรฐานของเครือข่ายอื่นอย่าง BEP-20 และ KAP-20 เป็นต้น
แล้วทำไมต้องมีมาตรฐานมากำกับ?
คำตอบก็ง่าย ๆ เลย ทำให้มันเป็นมาตรฐานยังไงหล่ะ! 😅 ลองนึกภาพว่าถ้าเราไม่มีมาตรฐานมากำกับดูแล คนที่สร้างโทเคนออกมามันก็จะมีความมั่วไปหมด บางเหรียญอาจไม่มีฟังก์ชันโอนย้าย (Transfer) หรือไม่สามารถเช็คยอดจำนวนเหรียญได้ (Balance) เป็นต้น ด้วยเหตุนี้เองมันเลยต้องมีมาตรฐานกำกับ
ว่าแต่มันมีมาตรฐานอะไรบ้าง แล้วแต่ละอยา่งแตกต่างกันอย่างไร เราลองไปดูกันคร่าว ๆ อย่าง ERC-20, ERC-721 และ ERC-1155 ที่เป็นโทเคนทั่วไปและ NFT นั่นเอง
🎯ERC-20 คืออะไร?
Ethereum request for comment 20 (ERC-20) คือมาตรฐานโทเคนทั่วไปที่ใช้ในเครือข่าย Ethereum โดยจะมีข้อบังคับคือฟังก์ชันต่าง ๆ ที่จำเป็นต้องมีเพื่อใช้ประโยชน์ในการแลกเปลี่ยน และเรียกดูข้อมูลต่าง ๆ ได้ดังนี้
1. ชื่อโทเคน (Name)
2. ชื่อย่อของโทเคน (Symbol)
3. จำนวนทศนิยม (Decimals)
4. ฟังก์ชันเช็คจำนวนโทเคนทั้งหมดที่มี (Total Supply)
5. ฟังก์ชันเรียกดูจำนวนโทเคนที่มี (Balance)
6. ฟังก์ชันการโอนเหรียญ (Transfer)
7. ฟังก์ชันการโอนเหรียญระหว่างกระเป๋าด้วยกันผ่านบุคคลที่สาม (TransferFrom)
8. ฟังก์ชันที่กำหนดจำนวนโทเคนที่อนุญาตให้โอนจากเจ้าของกระเป๋า (Approve)
9. ฟังก์ชันที่เช็คยอดเหรียญที่บุคคลที่สามในการใช้โทเคนของเจ้าของ ได้ (Allowance)
จะเห็นได้ว่ามาตรฐานที่กำหนดให้มีฟังก์ชันเหล่านี้ก็ดูเป็นระเบียบและครบถ้วนดี มีทั้งสั่งโอนย้ายทั้งการโอนด้วยตัวเอง และโอนผ่านตัวกลางอย่าง Smart Contract ได้ เช็คจำนวนได้ หากใครสงสัยว่าแต่ละฟังก์ชันนั้นใช้ทำอะไร เดี๋ยวแอดจะทำ Content แยกมาละกันนะ แต่ถ้าไม่อยากลงลึกมาก ลองแปลตรงตัวดูเลยก็ได้ ไม่ยาก
คุณอาจสนใจ
📓 Smart Contract คืออะไร?
ส่วนใครที่งง ๆ ว่า “บุคคลที่สาม” นั้นคือใครล่ะ? เอาแบบง่าย ๆ ก็คือตัว Smart Contract ที่เราเรียกใช้นั้นแหล่ะ เพราะมันเป็นสิ่งเดียวที่คอยทำงานให้เราจริงมั้ยล่ะ หากมันมีเงื่อนไขหรือคำสั่งพิเศษ ๆ มันก็จำเป็นต้องขออนุญาตจากเราก่อน เช่น การ Stake เหรียญ ก็จะมีการขอ Approve ให้ส่งเหรียญเราเข้าไปที่ ๆ หนึ่งอย่าง Pool ไรงี้ อ่ะ นี่แหล่ะที่มาของการที่ต้องมีฟังก์ชัน Approve เป็นต้น
คุณอาจสนใจ
📓 ต้อง Revoke ถ้าไม่อยากโดน Hack Metamask!
ด้านบนเป็นตัวอย่างว่า ฟังก์ชัน Approve และ Allowance มันไปอยู่ส่วนไหน ลองดูเล่น ๆ ได้
🎯ERC-721 คืออะไร?
Ethereum request for comment 721 (ERC-721) คือมาตรฐานโทเคนในเครือข่าย Ethereum ที่เพิ่มคุณสมบัติความเป็นเอกลักษณ์เฉพาะตัว หรือสั้น ๆ ที่เราคุ้นกัยคือ “NFT” นั่นเอง
คุณอาจสนใจ
📓 NFT คืออะไร?
โดยเบื้องต้นมันก็จะมีพื้นฐานของ ERC-20 อยู่บ้างแหล่ะ แต่ก็มีเพิ่มข้อกำหนดมานิดหน่อยเพื่อให้มันแยกได้ว่าโทเคนไหนคือออะไร และตามคอนเซปมันอ่ะเนอะ ก็คือ “ห้ามซ้ำ” ซึ่งมีเพิ่มมาดังนี้
1. ฟังก์ชันที่ดูว่า Address ไหนเป็นเจ้าของโทเคนนั้น ๆ (ownerOf)
2. ข้อมูลของโทเคนนั้น ๆ ในรูปแบบ URI (TokenURI)
3. ฟังก์ชันการโอนย้ายโทเคนแบบปลอดภัย (safeTransferFrom)
4. การดูโทเคนต่าง ๆ ที่เป็นเจ้าของ (tokenOfOwnerByIndex)
ERC-721 และ ERC-1155 รองรับข้อเสนอ EIP-165 ซึ่งถ้าให้อธิบายสั้น ๆ ก็คือการตรวจสอบรูปแบบว่าเป็นโทเคนประเภทไหน เพื่อป้องกันความผิดพลาดในกรณีส่งโทเคนไม่ถูกต้องได้ และหากไม่ถูกต้องโทเคนก็จะถูกตีกลับคืน ไม่หายหรือค้างอยู่ใน Contract โดยจะถูกใช้ร่วมกับ safeTransferFrom นั่นเอง
แล้วถ้าถามว่าข้อมูล NFT มันมาจากไหน เวลาที่เราเข้าไปดูในเกม หรือภาพศิลปะใน OpenSea ถ้าเอาแบบสั้น ๆ ก็คือมันดึงมาจาก TokenURI ที่เก็บอยู่ในรูปแบบ JSON นั้นเอง ซึ่งจริง ๆ แล้วมันสามารถเก็บขเอมูลต่าง ๆ ไว้ได้ทั้งในบล็อกเชน (On-Chain) และข้างนอกบล็อกเชน (Off-Chain) ก็ได้ แต่ไว้ว่าง ๆ แอดจะมาอธิบายเจาะลึกเพิ่มเติมละกัน
🎯ERC-1155 คืออะไร?
Ethereum request for comment 1155 (ERC-1155) คือมาตรฐานโทเคนที่คล้าย ERC-721 ที่เป็น NFT เหมือนกัน แต่มีความสามารถมากกว่า โดย ERC-1155 สามารถเก็บโทเคน ERC-20 และ ERC-721ทั้งสองอย่างในเวลาเดียวกันได้
ข้อดีของการเก็บแบบนี้คือ ช่วยประหยัดค่า Gas กรณีที่ต้องการส่ง NFT จำนวนหลาย ๆ ชิ้นพร้อมกัน อย่างเช่นตัวละครของคุณอาจมีอุปกรณ์สวมใส่หลายชิ้น และแต่ละชิ้นรวมทั้งตัวละครคุณเองก็เป็น NFT การห่อมันด้วย ERC-1155 เวลาทำการขายตัวละคร ก็สามารถทำได้ง่ายไม่ซับซ้อน เป็นต้น
ในส่วนของข้อกำหนดที่ต้องมีในโทเคน ERC-1155 ก็ไม่ต่างกับ ERC-721 มากนัก ส่วนใหญ่จะเป็นการเปลี่ยนไปใช้ Array เช่น
1. ฟังก์ชันโอนโทเคนหลายรายการในครั้งเดียว (Batch Transfer)
2. ฟังก์ชันดูยอดจำนวนโทเคนหลายรายการในเดียว (Batch Balance)
3. ฟังก์ชันอนุญาตการโอนโทเค็นทั้งหมด (Batch Approval)
🎯มาตรฐานอื่น ๆ
หากเราพอเข้าใจมาตรฐานโทเคนแล้ว ก็คงจะพอรู้แล้วว่าพวก BEP-20 BEP-721 ที่เป็นมาตรฐานของเครือข่าย Binance Smart Chain หรือ KAP-20 KAP-721 ของเครือข่าย Bitkub Chain หรือตัวย่ออื่น ๆ มันคืออะไร ซึ่งก็แยกกันไปตามเครือข่าย ส่วนข้อบังคับหรือคุณสมบัติก็อาจต้องอ่านเพิ่มเติมแต่โดยรวมแล้วก็คล้ายกับต้นฉบับอย่าง ERC 😅
ตอนนี้เราก็น่าจะพอเข้าใจแล้วว่า มาตรฐานโทเคนคืออะไรและแต่ละเลขต่างกันอย่างไร ซึ่งจริง ๆ แล้วยังมีอีกหลายมาตรฐานที่ยังไม่ได้พูดถึง หากสนใจก็สามารถลองไปศึกษาเพิ่มเติมกันได้น้า 😄
โฆษณา