Disclaimer: หลัก ๆ ของบทความนี้เราจะโฟกัสที่การกดงาน NFT ในช่วง Gas Wars เพราะฉะนั้นถ้าคุณต้องการแค่ทำธุรกรรมปกติเฉย ๆ วิธีการที่เราจะเล่าอาจไม่จำเป็นต้องทำตาม แต่ถ้าใครต้องการศึกษาเป็นความรู้ประดับไว้หรือต้องการเข้าใจวิธีการทำก็ไปดูได้เลย!
การทำธุรกรรมใด ๆ บนโลกคริปโตย่อมมีค่าแก๊ส และหมายความว่าการที่เราจะมิ้นงานหรือกดซื้องานของโปรเจคใดโปรเจคหนึ่งย่อมมีค่าแก๊สเช่นกัน แต่ก็ไม่ได้หมายความว่าเราจะได้งานทุกโปรเจคที่เราจ่ายค่าแก๊สเสมอไป เพราะเนื่องจากโปรเจค NFT นั้นมี Supply ที่จำกัด ซึ่งหมายความว่าถ้าเรา Submit ธุรกรรมช้า, ใส่ Fee น้อย หรือไม่เข้าใจหลักการทำงานของแก๊ส ก็อาจจะทำให้ธุรกรรมของเราล่าช้าและไม่ทันคนอื่นและเสียเงินฟรีไปในที่สุด
อย่างเช่นสมมุติว่าเราไปกดซื้องานของโปรเจคหนึ่งที่มีชื่อเสียงและมีงานแค่ 10 ชิ้นเท่านั้น และแบบว่าถ้าลงปุ๊ปคือขายหมดปั๊ปแน่นอน ถ้าเราไม่ได้ปรับค่าแก๊สหรือปรับผิดซึ่งอาจจะเพราะด้วยความไม่เข้าใจหรืออะไรก็แล้วแต่ ก็อาจส่งผลให้เราไม่ได้งานที่ต้องการและเสียเงินไปฟรี ๆ ได้เลย จึงเป็นเหตุผลที่ว่าทำไมค่าแก๊สถึงสำคัญกับการกดงาน NFT มาก
เพราะงั้นวันนี้เราเลยจะมาแนะนำการใส่ค่าแก๊สที่จะทำให้ธุรกรรมของเราสามารถสำเร็จได้อย่างรวดเร็ว แต่ก่อนจะพูดว่าเราควรใส่ค่าอะไรเท่าไหร่ เรามาเริ่มทำความเข้าใจการทำงานของแก๊สกันก่อนดีกว่า
เอาแบบสั้น ๆ ง่าย ๆ คือเมื่อก่อนนี้ความเร็วของการทำธุรกรรมจะขึ้นอยู่กับ Gas Fee(GWEI) ซึ่งยิ่งใส่มากก็ยิ่งมีสิทธิที่ธุรกรรมจะถูกปิดก่อน เช่นในช่วงนั้นค่าแก๊สต่ำคือ 35 GWEI กลาง 60 GWEI สูง 70 GWEI ถ้าเราใส่ 70 หรือมากกว่านั้น ธุรกรรมของเรามีแนวโน้มอย่างมากที่จะถูกปิดอย่างรวดเร็ว แต่หลังจากการอัพเกรด EIP-1559 การทำงานของแก๊สได้เปลี่ยนไป โดยค่าแก๊สจะมาจากสองส่วนคือ
- Base Fee – ค่าแก๊สที่ถูกกำหนดโดยระบบในช่วงระยะเวลานั้น ๆ (ไม่สามารถตั้งได้)
- Priority Fee – เปรียบเสมือนทิปที่เราต้องการให้ Miner (สามารถตั้งได้)
Max Fee (สามารถตั้งได้)
และสิ่งที่ต่างกับการเลือกแก๊สแบบเมื่อก่อน(ต่ำ กลาง สูง)คือการมี Max Fee เข้ามาโดยมันเป็นค่าที่จะกำหนดกรอบสูงสุดของค่าธุรกรรมของเรา(Base Fee + Priority Fee ต้องไม่เกิน Max Fee)
การตั้ง Priority กับ Max Fee จะสามารถแก้ได้โดยกด Edit ในหน้า Metamask ก่อนกดส่งธุรกรรม
สรุปแก๊สทั้งหมดที่เราจ่าย(Total Gas) = Base Fee + Priority Fee (รวมกันไม่เกิน Max Fee) และสิ่งที่เราสามารถปรับได้คือ Priority Fee กับ Max Fee
แล้วทีนี้อาจยังงง ๆ ว่าเราควรเพิ่มส่วนไหนอะไรบ้าง เพราะงั้นเรามาลองตั้งสมมุติฐานเป็นแต่ละเหตุการณ์กัน
เหตุการณ์ที่ 1: เพิ่มแค่ Max Fee
ข้อดี – รองรับการผันผวนของ Base Fee ที่อาจจะเพิ่มขึ้น
ข้อเสีย – เพิ่มแค่ Max Fee อย่างเดียวจะทำให้ Priority Fee อยู่ที่ประมาณ 1.5 – 2 Gwei(Default) เท่านั้น หมายความว่าถ้ามีคนใส่ Priority Fee สูงกว่าก็จะทำให้เร็วกว่าเรา
เหตุการณ์ที่ 2: เพิ่มแค่ Priority Fee
ข้อดี – เร็วกว่าแบบปกติเพราะ Miner ได้รับผลประโยชน์มากขึ้น
ข้อเสีย – ถ้า Base Fee ในช่วงทำธุรกรรมเพิ่มและเราไม่ได้เพิ่ม Max Fee ไว้ จะทำให้พื้นที่ในการเพิ่มของ Base Fee ที่น้อยลง ซึ่งส่งผลให้ Priority Fee ที่เราเพิ่มไว้ตอนแรกอาจถูกลดทอนลง เพราะ Base Fee รวมกับ Priority Fee ต้องเท่ากับหรือน้อยกว่า Max Fee
เหตุการณ์ที่ 3 : เพิ่มทั้ง Max Fee และ Priority Fee
ข้อดี – ทำธุรกรรมได้เร็ว เพราะ Miner ได้ผลประโยชน์เยอะขึ้นและการที่เราเพิ่ม Max Fee ก็จะทำให้มีพื้นที่ของ Base Fee มากขึ้น(ส่วนมาก Gas Wars จะทำให้ Base Fee เพิ่มขึ้นสูงอย่างต่อเนื่อง จึงจำเป็นที่ต้องเพิ่ม Max Fee เผื่อไว้สำหรับการขึ้นของแก๊ส)เพื่อที่จะได้ไม่ไปส่งผลกับ Priority Fee
ข้อเสีย – อาจต้องจ่ายค่าแก๊สที่สูงมาก
มาถึงคำถามที่สำคัญ! คือเราควรจะตั้งอะไรเท่าไหร่ล่ะ?
วิธีนึงที่สะดวกมากก็คือเข้าไปที่ Gas Estimator ของเว็บ Blocknative จากนั้นใช้ Max Fee กับ Priority Fee ของอันที่มี 99% Probability (โอกาส 99% ที่จะสำเร็จ) โดยการตั้งค่า Fee ส่วนนี้จะมีการเปลี่ยนแปลงอยู่ตลอดเวลา
อย่างเช่น 99% Probability ตอนนี้มี Priority Fee ที่ 4.52 และ Max Fee ที่ 96 ดังนั้นถ้าเราต้องการส่งธุรกรรมให้เสร็จเร็วที่สุด ให้ใส่ค่าตามนี้ในหน้า Edit บน Metamask
จากนั้นกด Save แล้วกด Confirm เพื่อส่งธุรกรรม
ทั้งนี้โปรเจค NFT ที่ฮ็อทฮิตก็มักจะมากับค่าแก๊สที่แสนแพง เนื่องจากคนจะมาแย่งกันเยอะและทำให้ค่าแก๊สสูงขึ้น เพราะงั้นถ้าโปรเจคที่เราจะซื้อหรือมิ้นมีแนวโน้มที่จะมี Gas War เราเลยไม่ควรที่จะงกค่าแก๊สเพราะถ้าสมมุติเรางก อย่างตรงนี้ให้ Priority Fee เป็น 2.15 และ Max Fee เป็น 93 ก็อาจทำให้ธุรกรรมเราปิดบล็อกไม่ทันและเสียเงินไปฟรี ๆ ได้เลย
อย่าลืมว่าการกดงานมันมีแค่ “ได้” กับ “ไม่ได้” เท่านั้น และเพราะมันมีแค่ “ได้” กับ “ไม่ได้” นี่แหละเลยทำให้ค่าแก๊สสูงขึ้นมาก ๆ เพราะคนที่กดก็ต่างกลัวว่าตัวเองจะกดงานไม่ได้และเสียเงินฟรี จึงเป็นเหตุผลที่ต้องใส่ค่าแก๊สสูง ๆ ไว้ก่อน
สรุป เมื่อเราทำตามวิธีที่ได้กล่าวมา ธุรกรรมของเราก็จะถูกปิดอย่างรวดเร็ว ด้วยค่าแก๊สที่ค่อนข้างแพงเกินความจำเป็น 55555555 เพราะอย่างงั้นถ้าไม่ได้กดงานเดือด ๆ หรือไม่ได้รีบมากก็ไม่จำเป็นต้องทำแบบนี้นะ และก็การเลือกส่งธุรกรรมตามแบบ 99% Probability แบบนี้ก็ยังมีโอกาสที่ธุรกรรมของเรา Failed เพราะถ้าเป็นช่วงนึงที่คนแย่งกันมาก ๆ ภายในเวลา 1 นาทีค่าแก๊สสามารถพุ่งจาก 100 GWEI ไปเป็น 1000 GWEI ได้เลย สมมุติว่าเราส่งธุรกรรมโดยเลือก Max Fee 100 GWEI ไปแล้ว ก็มีโอกาสอย่างมากที่ธุรกรรมจะปิดไม่ทันคนอื่นหรือ Failed นั่นเอง เพราะฉะนั้นจนกว่า ETH 2.0 จะมา เราเลยควรบริหารความเสี่ยงในส่วนนี้ให้ดีเลย
Reference : Digitalvee, Blocknative
Credit EIP-1559 Image: Yield App
Credit Society if ETH gas…: Publish0x