Web3 Wallet ใช้งานง่าย ลืม Metamask ไปได้เลย

Web3 Wallet หรือว่า Crypto Wallet ที่คนส่วนใหญ่นิยมใช้กันมากที่สุด แน่นอนว่ายังเป็น Metamask แต่วันนี้ ผมจะมาเสนอ Web3 Wallet ตัวใหม่ ที่ผมได้ลองใช้จริงกับตัวเองมาระยะนึงแล้ว แล้วก็พบว่า มันดีกว่ามากจริงๆ ไม่ใช่แค่สิ่งที่เค้าเล่าๆกัน

Wallet ที่กำลังพูดถึง ก็คือ https://rabby.io/ นั่นเอง (อย่าพึ่ง Load จนกว่าจะอ่านจบจบ)

ข้อดีของ Rabby Web3 Wallet

สำคัญที่เรื่องความปลอดภัย

สิ่งที่ผมใช้งานแล้วพบว่า มีข้อดีเสริมเรื่องความปลอดภัย เหนือกว่า Metamask ก็คือ การ Sign ธุรกรรมแต่ละครั้ง จะแสดงรายละเอียดขึ้นมาค่อนข้างครบถ้วน ว่าเรากำลังจะทำอะไร กับ Contract อะไร และถ้าเป็น Contract แปลกๆ หรือว่า ไม่เคย interact มาก่อน ก็จะแสดง Warning เอาไว้ด้วย รวมทั้ง ถ้า Rabby ต้องสงสัย คือ Contract ที่มี TVL น้อยๆ หรือแปลกๆ ก็จะมี Warning ที่เราต้องกดอ่าน เพื่อ ignore เองด้วย ซึ่งจะช่วยลดความเบลอ และกดรัวๆ ลงไปได้มาก เพราะอย่างที่ทุกคนรู้กัน ว่าถ้าเรากด approve อะไรไปแล้ว มันจะมีผลทันทีและย้อนธุรกรรมนั้นกลับไม่ได้อีกด้วย ดังนั้น การเตือนก่อน sign ธุรกรรม จะช่วยให้ตั้งสติได้บ้าง

แสดงค่าต่างๆอย่างชัดเจน

สิ่งหนึ่ง ที่ผมไม่ชอบเกี่ยวกับ Metamask ก็คือ การไม่แสดงรายละเอียดของธุรกรรม ในแบบที่คนสามารถอ่านได้ เข้าใจได้ง่าย เพราะมันจะแสดงข้อมูลธุรกรรมแบบ HEX Data ออกมาเลย ซึ่งใครที่ไม่เข้าใจเรื่องการ Decode HEX data นี่คือจบเลย อย่างผมที่เข้าใจบ้าง ยังเสียเวลาต้องมานั่งแกะรายละเอียดดูเลย (เอาตรงๆ หลังๆ ก็คือไม่ได้ดูเลย เพราะเสียเวลามากๆ) แต่เจ้า Rabby นี่บอกรายละเอียดเยอะมาก คือ Interact กับ smart contract ใด ด้วย Method อะไร และ ด้วยจำนวนเท่าไร ที่เป็นตัวเลข ที่เราเห็นแล้วเข้าใจได้เลยทันที ไม่ต้องแปลงโค้ด แปลงตัวเลขกันอีก

การเปลี่ยน Chain ทำได้ง่าย เร็ว

หลังๆ Metamask ก็รู้จัก Chain default เป็นจำนวนมากขึ้น หลังจากการติดตั้งใหม่ แต่ถ้าใครจำได้ เวลาเปลี่ยน Chain ใน Metamask ทุกๆ Tab ที่เรากำลังเปิดอยู่ จะเปลี่ยนไปเป็น Chain ใหม่ที่เราเลือกพร้อมกันทั้งหมด แต่ Rabby จะเปลี่ยน Chain ได้เฉพาะ tab นั้นที่เรากำลังทำงานเท่านั้น และ จะมีการ Detect ด้วย ว่า Web3 Application ที่เรากำลังใช้งาน เลือกใช้งาน Chain ไหนอยู่ ก็จะเสนอให้เรา Switch ไปยัง Chain ที่ถูกต้องได้ง่ายๆเลย

ปรับค่า Gas ได้ง่าย

อีกสิ่งนึงที่ผมชอบเองก็คือ ทุกครั้งที่มีหน้าจอให้ Confirm จะมีกล่องให้เราเลือก Gas ได้ง่ายๆเลย แม้ว่าบาง Chain จะ อ๊องๆอยู่บ้าง แต่ถ้าใครที่ เข้าใจเรื่องการบริหารจัดการ Gas fee แล้วล่ะก็ บอกเลย ประหยัดเงินได้ อย่างมีนัยยะสำคัญเลย โดยเฉพาะ Chain ที่ Gas แพงจัดๆ อย่าง Ethereum Layer 1 แต่กับ Chain อื่นๆ ที่ทำงานได้เร็ว และ Fee ต่ำอยู่แล้ว เราก็เลือกเข้าสู่สนาม Gas war ได้อย่างไม่ยากเลย ขึ้นอยู่กับว่า เราจะด่วนมากแค่ไหน เราก็เลือกเองได้ทุก Tx เลย ซึ่งสิ่งนี้ใน Metamask จะวางเป็น link ที่ต้องเข้าไปกดเองเท่านั้น

รู้จัก Token ที่เป็นที่แพร่หลายเยอะมาก

ใครใช้ Metamask และเป็นมือใหม่ จะมีความน่าปวดหัวอย่างนึง ก็คือ มันไม่รู้จักเหรียญ แม้กระทั้ง USDT คือเวลา Add chain ไหนเข้ามา ก็จะรู้จักอยู่แค่ Native Token ของ Chain นั้นเท่านั้น แล้วจบเลย แต่ว่า Rabby คือรู้จักเยอะมาก USDT , USDC, BTC, ETH, BNB อะไรที่เป็นเหรียญยอดนิยมนี่คือรู้จักหมด ไม่ต้องตาม Add เองให้เหนื่อย และ งง

เป็น Open Source เหมือนอย่าง Metamask

เริ่มต้น Rabby ก็ Fork Metamask ออกมา และเติม feature ต่างๆ เข้าไป ในช่วงแรก ก็มีปัญหาเรื่องการที่ Close source บางส่วน แต่ปัจจุบัน open source ทั้งหมดแล้ว ข้อดีของการ Open source ก็คือ ทุกคนจะ review code ต่างๆได้ โดยเฉพาะ อะไรก็ตามที่เป็นความเสี่ยงทั้งหลาย จะถูกพบเห็นได้ทันที ดังนั้น เราก็เชื่อใจว่า Community จะช่วยกัน review เพื่อไม่ให้มีช่องว่างทำอะไรแปลกๆ หรือแอบใส่ Back door เข้ามาได้ หรือว่าเราจะเข้าไปตรวจเองก็ได้เช่นกัน

และในส่วนของ private key management (กระบวนการบริหารจัดการ seed phrases / private key) ก็ใช้เหมือนอย่าง Metamask ใช้งาน นั่นเลย ไม่ได้เพิ่มหรือตัดอะไรออกไป

เอาเท่านี้ก่อน เดี๋ยวไป review feature กันอีกทีต่างหาก

ข้อกังวล สำหรับการใช้งาน Rabby

จะมีแต่ข้อดี อวยยศกันอย่างเดียว ก็ไม่ใช่ผมเท่าไร เราต้องวางตัวเป็นกลาง มองด้วยสายตาที่เป็นกลาง เราถึงจะได้เข้าใจทุกมุม และไม่ตกเป็นเหยื่อในเรื่องที่เราไม่รู้ได้ ดังนั้น เรามีดูข้อกังวล หรือว่า จะมองว่าเป็นข้อเสีย ก็ว่าได้

แต่… หลังจากที่ผมนั่ง research มาพักนึง ก็พบว่า ไม่มีแฮะ….. คือไม่มีอะไรที่น่าจะต้องเป็นกังวล แบบ serious เว้นแต่เมื่อครั้งนึงในปี 2022 คนที่เคยใช้ function swap ใน Rabby แล้วโดน hack หลังจากนั้น (แก้ไขได้ด้วยการ revoke ออก) ก็ไม่มีเรื่องใหญ่หลังจากนั้นอีก และเข้าไปดู github ส่วนรายงาน Bug ก็คือไม่มีเลย

แต่ถ้าจะมี เท่าที่เห็นตอนนี้ ก็คือ เป็นข้อติดขัดต่างๆมากกว่า อันได้แก่

ประมาณนี้ เท่าที่ดู ก็ไม่ได้มีข้อกังวลอะไร ที่น่าหนักใจ (ณ ตอนที่เขียนนี้ อนาคตยังไม่รู้ และไม่ได้การันตีอ่ะนะ) ลองไปเฝ้าติดตามกันได้ที่นี่ https://github.com/RabbyHub/Rabby/issues?q=is%3Aopen+is%3Aissue+sort%3Acomments-desc เพื่อดูว่ามีปัญหาอะไรใหม่ pop up ขึ้นมาหรือเปล่าหลังจากบทความนี้ออกไป

ก่อนจะเริ่มใช้

ขออธิบายให้ความรู้ หรือ ถือว่าเป็นการทบทวนกันนิดนึงแล้วกันนะครับ Rabby เองเนี่ย จัดเป็น Software Wallet เหมือนอย่าง Metamask (และตัวอื่นๆที่ทำงานในรูปแบบ Software 100%) โดยอยู่ในกลุ่ม Self-Custody ก็คือ private key จะไม่มีใครบริหารจัดการให้เรา เราต้องบริหารจัดการ private key เอง ซึ่ง ข้อเสียของ Software Wallet แบบ self-custody ที่ทุกตัวจะต้องเป็นเหมือนกัน ก็คือ “Private key/seed words เก็บในรูปแบบ Digital File” แต่แน่นอนว่า ส่วนใหญ่ Software wallet เจ้าดังๆ ก็มีวิธีในการ Encrypt private key ตามแบบที่ตัวเองคิดว่ามันปลอดภัยแล้ว (rabby ใช้วิธีการเดียวกับ Metamask เพราะ fork code มา)

ซึ่งระหว่างการใช้งาน Software จำเป็น ต้อง Un encrypt ออกมา เพื่อใช้งานอยู่ดี โดยเฉพาะขั้นตอนอย่างการ “Add new account” (ที่ไม่ได้สร้าง Seed ใหม่) หรือการ Sign transaction ที่ได้ใช้กันบ่อยๆนั่นแหล่ะ ตรงนี้มีความเป็นไปได้ว่าจะทำให้เกิดการรั่วไหล หรือโดน hack ได้ (ด้วยวิธีการขั้นสูง)

สิ่งเหล่านี้ ไม่มีทางแก้ไขนะครับ เพราะมันเป็นธรรมชาติของการทำงานของ Software เพราะถ้าเราไม่อนุญาตให้ software wallet เก็บ private key นั่นคือเราต้องกรอก private key เองทุกๆครั้ง ซึ่งตามจริง อาจจะอันตรายกว่าด้วยซ้ำ

ถ้าเรากังวลจุดนี้ สิ่งที่เราควรทำ เมื่อใช้งาน Software wallet เหล่านี้ ก็คือ “ใช้งานร่วมกับ Hardware Wallet” หรือร่วมกับ Solution อื่นแบบ Air gap (QR base) โดยที่เราต้องไม่เคยจดหรือ เอา seed words ของ hardware wallet ที่เรากำลังใช้งานเก็บใน Digital Version หรือ digital file เลย แม้แต่ครั้งเดียว (seed words เอาไว้ใช้สร้าง private key อีกที) แบบนี้ เราจะตัดความน่ากลัวของ seed words หลุดออกไปได้ เพราะ software ก็ไม่สามารถเข้าถึง seed words/private key ของเราได้ อีกทั้ง การที่เราไม่เก็บ seed words/private key ไว้ในรูปแบบ digital ก็จะมั่นใจได้ว่า ไม่ว่าการ hack รูปแบบใดก็ตาม ก็จะไม่มีทางได้ seed words เราไป เพราะมัน offline 100% อย่างไรล่ะ

แต่.. สำหรับมือใหม่มาก หรือว่า wallet ที่มีเงินไม่เยอะ หรือใช้งานเป็น hot wallet ที่หมุนเวียนเงิน ไม่ได้เก็บเงินเยอะ เก็บเงินยาวๆ ก็ไม่ต้องกลัวจนเกินไป เพราะปลอดภัยระดับหนึ่งครับ แต่ถ้าเรามีเงินเยอะ หรือ ต้องบริหารเงินเยอะ ก็ลองหา solution ที่ปลอดภัยกว่ามาใช้ หรือว่า แยก cold wallet ออกไปเก็บใน hardware wallet ต่างหาก เพื่อความปลอดภัย

สำหรับเนื้อหาต่อจากนี้ ก็จะเป็นการเล่าถึงการใช้งาน Rabby โดยเบื้องต้น

ติดตั้ง Rabby

ใช้ browser chrome, edge, brave, opera (เหล่านี้ใช้ Chrome engine) เปิดหน้าเว็บ Rabby.io จากนั้น ก็เลือก Install ได้เลยโดยเนื้อหานี้จะใช้เป็น Browser extension นะครับ เพราะสะดวกกว่า เนื่องจากเราจะทำธุรกรรมบนหน้า web3 application ได้โดยตรงเลย (กดรูป เพื่อดูรูปขนาดใหญ่)

เพื่อความสะดวกในการใช้งาน เราก็ pin extension ขึ้นมาให้อยู่ใน task bar เลยครับ

setup new Wallet

การ setup wallet ใหม่นี้ จะเป็นการสร้าง seed words ขึ้นมาใหม่ เหมาะสำหรับคนที่ไม่เคยมี wallet มาก่อน แต่ถ้าใครมีแล้ว ข้ามไปที่หัวข้อต่อไปได้เลย

เปิดหน้า Rabby ขึ้นมา โดยการกดที่ icon ที่ task bar ของ browser ที่เราพึ่ง pin ไว้เมื่อสักครู่ จากนั้นกด create new Seed Phrases

หน้าจอต่อไป จะให้เราตั้งรหัสผ่าน ซึ่งรหัสผ่านนี้ คือรหัสผ่านที่ใช้ Unlock Rabby wallet ของเรา ดังนั้น ใครที่ใช้งานเครื่องนี้ได้ และ รู้รหัสผ่าน จะ Unlock Rabby wallet และสั่งโอน asset ออกไปได้ทั้งหมด และความสำคัญอีกอย่าง ก็คือ รหัสผ่านนี้ เป็นรหัสที่ใช้เข้ารหัส seed phrases เพื่อเก็บในเครื่อง ดังนั้น ใครที่ได้ไฟล์ seed phrases แบบเข้ารหัสไป แล้วเค้ารู้รหัสตัวนี้ เค้าจะสามารถถอดออกมาเป็น seed phrases ได้ด้วยเช่นกัน ดังนั้น ก็ต้องระวังที่จุดนี้ด้วย

หน้าจอต่อมา ก็คือ อ่านคำเตือน ซึ่งสำคัญมากๆ

  • ถ้าทำ seed phrases นี้หาย จะไม่สามารถเข้าถึง asset ในนั้นตลอดไป
  • ถ้าแชร์ seed phrases นี้ให้ใครก็ตาม จะโดนขโมย asset แน่นอน
  • seed phrase จะเก็บในเครื่องนี้เท่านั้น แม้แต่ rabby (ผู้ผลิต) เอง ก็ไม่สามารถเข้าถึงได้
  • ถ้าลบ rabby wallet ออกโดยไม่มีการ backup seed phrase เอาไว้ก่อน จะไม่มีวิธี recover seed phrases กลับมาได้อีก (และกลับไปอ่านข้อแรกอีกที)

ตรงนี้สำคัญมาก หากคุณเป็นมือใหม่ เพราะจำเป็นต้องเรียนรู้ สิ่งที่สำคัญจริงๆ เพื่อให้ใช้งานได้อย่างถูกต้อง และป้องกันการสูญหายของ digital asset ในอนาคต ซึ่งหมายถึงเงินจริงๆที่เราใส่เข้าไป

เมื่อเข้าใจดีแล้ว ให้เตรียม กระดาษ และ ปากกาจด โดยกระดาษ ควรเป็นกระดาษที่คงทนหน่อย และ ปากกาที่หมึกไม่ละลายหายไปได้เอง เพราะเราต้องจด seed phrase เก็บเอาไว้ อย่างที่บอก อย่าทำ หรือ เก็บ ในรูปแบบ digital เด็ดขาด ถ้าไม่มั่นใจมากพอ (ว่า digital version ที่เรากำลังเก็บนั้นปลอดภัยมากจริงๆ) จากนั้นกด show seed phrase เพื่อรับ seed phrases มาจด

หน้าจอต่อไป คือ seed phrase 12 คำ ที่เราต้องจดให้ถูกต้อง เรียงตามลำดับ ห้ามสลับ เด็ดขาด และทวนให้มั่นใจก่อนด้วย ว่าถูกต้องตรงกัน สำคัญมาก เพราะคนจำนวนมาก จดมาแต่ใช้ recover ไม่ได้ และไม่รู้ว่าผิดตรงไหน หรืออ่านลายมือตัวเองไม่ออก จากนั้น กด I’ve saved the seed phrase

หน้าจอต่อไป ก็คือ หน้าจอที่ให้เราเลือกเปิด Wallet ขึ้นมาใช้งาน อธิบายเพิ่มเติม คือปกติ Seed phrase 1 ชุดเนี่ย จะสามารถนำไปสร้าง wallet แบบมีโครงสร้างได้จำนวนมากที่แบบที่เราไม่มีทางจะใช้งานได้หมด ให้เข้าใจง่ายๆคือ มีการรันตัวเลขของ Wallet โดยเริ่มกระเป๋าแรกสุดตามรูป จะเรียกว่า กระเป๋าลำดับที่ 0 ใบต่อไป ก็ลำดับที่ 1 แล้วก็ไล่เรียงเลขไปเรื่อยๆเลย ดังนั้น เวลาสร้างกระเป๋าใหม่ เราไม่ต้องสร้าง seed phrase ชุดใหม่ ใช้การเพิ่มกระเป๋าได้เลย แต่การสร้างกระเป๋าหลายใบจาก seed phrase เดียวกันก็มีข้อเสียคือหาก seed phrase ชุดนั้นหลุดออกไป หรือรั่วไหลไป ก็จะหมายความว่า กระเป๋าทุกใบที่สร้างจาก seed phrase ชุดนั้นมีโอกาสสูงมากที่จะโดนขโมย asset ออกไปได้พร้อมกันทั้งหมดในคราวเดียวเลย

เพียงเท่านี้ เราก็จะได้ Web3 Wallet พร้อมใช้งานแล้วครับ

ทดสอบ Recovery

ขั้นตอนนี้ เป็นขั้นตอนที่ผมคิดว่า ควรต้องทำ เพราะเป็นขั้นตอนที่ใช้ชี้เป็นชี้ตาย ในอนาคตได้ เพราะมีหลายครั้ง ที่จด seed phrase แล้วจดผิด หรือว่า คิดว่าจดถูก แต่พอเอาไป recovery แล้วพบว่าเป็นคนละกระเป๋ากัน ซึ่งนั่นคือทำให้สูญเสีย assets ทั้งหมดในกระเป๋าใบเดิมทันที (กรณีที่ไม่สามารถ access เข้ากระเป๋าเดิมได้อีกแล้ว)

ดังนั้น ทุกครั้งที่ผมสร้าง seed phrase ชุดใหม่ ผมจะมีขั้นตอนทดสอบ recovery กระเป๋าซ้ำ 1-2 รอบทุกครั้ง ก่อนนำกระเป๋าของ seed phrase ใหม่นั้นไปใช้งาน

ขั้นแรก ให้เรา copy address เอาไว้ก่อน โดยคลิกที่ icon copy ซึ่งอันนี้ ก็คือ address ที่เปรียบเหมือนเลขบัญชีธนาคารของเราเลยครับ เราเอาไปแสดงให้กับ exchange ต่างๆ เพื่อให้โอน asset เข้ามาได้ ส่งต่อให้เพื่อนได้ ส่งให้คนอื่นได้ (แต่คนอื่นก็จะรู้ว่า เราเป็นเจ้าของกระเป๋านี้ด้วยนะ) เมื่อเรา copy เก็บเอาไว้แล้ว อาจจะ paste เอาไว้ใน notepad ก็ได้ อย่างของผม ได้ address นี้ 0xf60029a09952302a5632d98cE465419501423A15 (ซึ่งหน้าตา จะขึ้นต้นด้วย 0x และตัวอักษรยาว 40 ตัวอักษรนี่แหล่ะ แต่ว่าแต่ละคน จะได้ address ที่แตกต่างกันไป)

ขั้นที่สอง ลบ address ออก กดที่ address ด้านบน แล้วไปกด delete address ออกเลยครับ

ขั้นที่สาม recovery wallet จาก seed phrase โดยกด back ไปเริ่มต้นขั้นแรก แต่ว่าเลือกเป็น import Seed Phrases แทน

จากนั้นก็เอา seed phrase กรอกเข้าไปได้เลย และเมื่อกรอกไปเรียบร้อยแล้ว เราก็ทำเหมือนการสร้าง wallet ใหม่ที่ด้านบน เลือกอันแรกออกมาใช้เหมือนเดิม

สิ่งที่สำคัญที่สุด ก็คือ เราจะต้องได้ address เดียวกันออกมา นั่นก็คือ 0xf60029a09952302a5632d98cE465419501423A15 (อันนี้กรณีของผมนะครับ แต่ของท่านผู้อ่าน ก็ลองดูว่า address ที่ copy ไว้ตอนแรก เป็น address อะไรก็ต้องได้เหมือนกันครับ) ขั้นตอนนี้ ใครที่กลัวจะพลาด ก็วนซ้ำสองรอบก็ได้ครับ จะได้มั่นใจว่า จดไว้แล้วใช้งานได้จริงๆ

พร้อมใช้งาน

เพียงเท่านี้ กระเป๋า Web3 Wallet หรือ Crypto Wallet ของคุณก็พร้อมใช้งานแล้วครับ สำหรับใครที่จะร่วมสนับสนุน ก็ทำได้โดยการกด link ที่ด้านบนนะครับ เพื่อ download กระเป๋า Rabby หรือว่า ใส่โค้ด refer BEMYBLOCKCHAIN ทีหลังก็ได้ครับ (แต่ก็ไม่รู้หรอกนะ ว่าจะได้อะไร เค้าแค่มีให้เก็บ point ไปแค่นั้นเอง)