ค่าธรรมเนียม หรือ gas fee คืออะไร
คือสิ่งที่เราต้องจ่ายทุกครั้ง ในการทำธุรกรรมเพื่อเอาข้อมูลไปเก็บใน blockchain (หรือดำเนินการใดๆที่ให้มีผลบันทึกลง blockchain) ซึ่งโดยปกติ จะดูได้จากตรงนี้
แต่หลายคนมักจะดูผิด ไปดูบรรทัดล่างสีน้ำเงิน ซึ่งมันก็ดูได้ แต่ว่าบางครั้ง ที่เราทำธุรกรรมที่มันมี BNB ด้วย มันจะรวมไปอยู่บรรทัดล่าง แล้วเราจะ งง ว่าทำไมค่าธรรมเนียมมันแพง จริงๆแล้วมันเท่าเดิม แต่ว่า เอา BNB รวมเข้าไปด้วยเท่านั้นเอง
ค่าธรรมเนียมไปไหน
ใน blockchain network โดยทั่วไป จะเป็น open network ใครก็ตาม สามารถมาตั้ง node เพื่อช่วยเสริมความแข็งแรงให้ระบบได้ เพราะยิ่งกระจายตัวมาก ยิ่งมีสำเนาข้อมูลมาก และ ยิ่งทนทานต่อการพยายามโจมตีมากขึ้น เพราะมีหลายแรงแข็งขัน ซึ่งแน่นอน คนเหล่านี้ ควรได้รับค่าตอบแทน อย่างน้อยก็เป็นค่า server ค่า internet บ้าง เจ้าของ network จึงได้จ่ายผลตอบแทนให้กับคนที่มาร่วมตั้ง node ทั้งหลายเหล่านี้ โดยเก็บค่าธรรมเนียมมาจากคนที่ทำธุรกรรมนั่นเอง ยิ่งทำมาก ก็ยิ่งต้องจ่ายมาก เพราะคุณคือคนที่ใช้งานเยอะนั่นเอง อีกส่วนหนึ่งก็ไปที่เจ้าของ blockchain network อีกที อันนี้แล้วแต่ network เป็นตัวกำหนดเลย
ค่าธรรมเนียม คำนวณมาจากอะไร
ให้นึกถึงรถยนต์คันนึงครับ เวลาขับจากจุดนึง ไปถึงจุดหมาย เราอยากรู้ว่าสิ้นเปลืองค่าน้ำมันไปเท่าไร สิ่งนี้จะได้มาจาก ปริมาณน้ำมันที่ใช้ คูณ ราคาน้ำมัน เช่น ราคาน้ำมัน 12 บาท ต่อลิตร ใช้ไป 6 ลิตร ดังนั้น เราจ่ายเงินทั้งสิ้น 72 บาท สิ่งนี้จึงเป็นที่มา ที่เค้าเรียกกันว่า gas fee นั่นเอง
ซึ่งโดยปกติ เวลาที่เราทำธุรกรรมกับ smart contract หรือพวกเว็บฟาร์มต่างๆ แต่ละเว็บจะต้องจ่ายค่าธรรมเนียมที่ไม่เท่ากัน ขึ้นอยู่กับรูปแบบของโค้ดที่เค้าเขียนไว้ใน smart contract ยิ่ง smart contract ต้องทำงานเยอะ ยิ่งต้องใช้ gas เยอะ ส่วนเรื่องราคา gas ใน BSC network นั้น คิดตายตัวตอนนี้ ที่ 10 (เมื่อก่อนตอน BNB ราคา $30 คิดที่ 15) วันที่ 2021-04-07ค่ำๆ Binance ออกประกาศว่า ปรับลด Gas price ลงจาก 10 เหลือ 5 เท่านั้น เพราะราคา BNB ก็ขึ้นมาสูงแล้ว รวมเข้ากับ UNI v3 กำลังจะตามออกมา ซึ่งจะเป็น BSC killer ได้เลย ดังนั้น ถ้า popup metamask ยังใช้ 10 แก้เองเป็น 5 ได้เลย และใน app มือถือถ้ายัง default gas price ไว้ 10 ก็แก้เป็น 5 เองได้เลย ส่วนจำนวน gas ที่ใช้ ก็แล้วแต่เว็บที่เราใช้งานเลยไม่ต้องแก้ก็ได้
และค่าธรรมเนียม ไม่ได้ขึ้นอยู่กับตัวเลขด้วย แต่ขึ้นอยู่กับจำนวนตัวเลข การที่เราโอน 1 กับโอน 9999999999999999 ให้ผลค่าธรรมเนียมที่แตกต่างกันน้อยมากๆ เรียกได้ว่า แทบไม่มีนัยยะสำคัญอะไรเลย ดังนั้น โอนมากหรือน้อยไม่สำคัญเท่าโอนกี่ครั้ง ถี่แค่ไหนยิ่งถี่ ยิ่งจ่ายเยอะ
GAS Price , Gas Limit คืออะไร
Gas price ก็คือ ราคา gas ที่อธิบายไว้ข้างบน เหมือนน้ำมันลิตรละ 25 บาท
Gas Limit คือ เป็นตัวเลขที่บังคับว่า ห้าม transaction นี้ ใช้ gas เกินเท่านี้นะ หลายคนไม่รู้ชอบปรับไปที่ขั้นต่ำ 21000 อารมณ์แบบว่า ขับรถไปเชียงใหม่ ห้ามใช้น้ำมันเกิน 10 ลิตรนะ ผลที่ได้ก็คือ 10 ลิตร น่าจะขับไปถึงรังสิต แล้วน้ำมันหมด ต้องเรียกรถยกกลับมาบ้าน (ธุรกรรมนั้นจะ fail และ revert การทำธุรกรรม เหมือนยังไม่ได้ทำธุรกรรมนั้น) แต่เราต้องจ่ายน้ำมัน 10 ลิตรไปฟรีๆแล้วนะ ไม่ได้อะไรเลย เสียเวลา เสียเงินอีก ซึ่งเจ้า gas limit เนี่ย ไม่ต้องห่วง มันจะใช้ตามจริงอยู่แล้ว กำหนด เยอะๆเหมือนบอกว่า ขับรถไปเชียงใหม่ ห้ามใช้น้ำมันเกิน 1000 ลิตรนะ แต่เราขับไปถึงเชียงใหม่ ใช้ไป 500 ลิตร ก็คือใช้ไป 500 ลิตร คูณ ราคา gas price นั่นคือ ที่เราต้องจ่าย ไม่ใช่ว่าตั้ง 1000 แล้วผลจะเป็น 1000*gas price
ถ้าอยากรู้ว่า transaction นั้น ใช้ gas fee เท่าไร ให้ทำธุรกรรมเสร็จแล้วตามไปดูที่ bscscan จะบอกเอาไว้เสมอ ว่าใช้ไปเท่าไร ใช้จริงเท่าไร
ค่าธรรมเนียมทำให้ขาดทุนได้นะ
หลายคนที่ลงทุนด้วยเงินน้อยมาก เวลาที่เราเก็บ reward เราก็จะต้องจ่ายค่าธรรมเนียมด้วย และถ้า reward มีมูลค่าน้อยมาก เช่น มูลค่า 5 บาท แต่ตอนที่ทำธุรกรรม เราต้องจ่ายค่าธรรมเนียมรวม 15 บาท นั่นแปลว่า เรากำลังเสียเงิน 15 บาท เพื่อแลก 5 บาทออกมา
ตอนแรกผมก็ไม่รู้ งงๆ ก็เก็บบ่อยๆเลย รีบเก็บบ่อยๆ รีบเอาไป stake cake earn cake อยู่ เชื่อว่า ก็น่าจะขาดทุนไปเยอะอยู่ ฮ่าๆๆ
มีตัวอย่างที่เห็นได้ชัด เมื่อตอนที่เอา CAKE ไปเข้า Yield optimizer จะเห็นว่า เมื่อเข้าไปแล้ว ต้องรอถึง 3 วัน กว่าจะคืนทุน เลยทีเดียว
บาง platform ค่าธรรมเนียมแพงกว่าที่คิด
ที่ผมเคยเจอ ใช้เยอะสุดตอนนี้ ใน feature ที่ไม่น่าเยอะ ก็คือ การเก็บ reward จาก Venus.io ในเมนู Vote เวลาคนที่เอาเงินไปฝาก หรือไปกู้ออกมา XVS ที่ได้ จะเก็บเอาไว้ในนี้ เวลากดรับ reward ทีนึง ใช้ตามนี้
หรือ 0.030307(BNB unit) * 256(ราคา BNB ณ ตอนนี้) * 30(THB/US Dollar) = 230 บาทเลยทีเดียว ดังนั้น ใครที่เก็บเหรียญจำนวนน้อยๆออกมา รับรองได้เลย ขาดทุนแน่นอน
ใช้อะไรจ่ายค่าธรรมเนียมได้บ้าง
อันนี้เป็นมาตรฐานมาตั้งแต่ Bitcoin จนถึงปัจจุบัน เกือบจะทุก blockchain จะทำงานเหมือนกัน (มีบางอันที่ต่างออกไป) ก็คือ ต้องใช้ Native token ของ blockchain นั้นๆ ในการจ่ายค่าธรรมเนียมได้อย่างเดียว เช่น Bitcoin ก็ใช้ Bitcoin , Ethereum ก็ใช้ ETH , BSC network ก็ใช้ BNB (ก็สนับสนุนโดย Binance อีกทีไง) ดังนั้น เราใช้ network ไหน ข้อกำหนดพื้นฐาน ก็คือเราต้องมีเหรียญของ network นั้นๆเป็นพื้นฐานก่อนเลย เพราะถ้าไม่มี หรือ มีไม่พอ เราจะทำธุรกรรมต่อไม่ได้ นั่นถึงเป็นสาเหตุที่ transaction แรก ของ port web โอน BNB ออกมาก่อนเลย
เตรียมเอาไว้เท่าไร ถึงจะพอ จนเริ่ม stake ได้
อ้างอิงจาก port แรกของเว็บ คือ อันนี้ https://bscscan.com/address/0x9f9552b1fb4b4a0e8d5e0b61652ddb1d06219f23 ในวันแรกสุด จะมีธุรกรรม เกิดขึ้นทั้งหมด 5 ธุรกรรม ดังนี้
- 0.000231 BNB : รับโอนมาจาก Binance เข้า metamask
- 0.00044406 BNB : approve ALICE เพื่อให้ pancake มาเอาเหรียญ ALICE ไปได้
- 0.00181301 BNB : add คู่ pair ALICE : BNB
- 0.00044331 BNB : approve เพื่อให้ pancake มาเอา LP Token ALICE – BNB ไปได้
- 0.00128247 BNB : stake LP token เข้า pancake
รวมใช้ทั้งสิ้น 0.00421385 BNB ซึ่งถ้าจำได้ จากบทความตอนที่ซื้อ crypto currency เราซื้อ BNB มาที่ $255 ดังนั้น ใช้ไปแล้ว 33.31 บาทนั่นเอง
โดยเฉลี่ย เราจะเห็น transaction fee อยู่ที่ประมาณ 0.002 BNB หรือ คิดเป็น 15.81 บาทนั่นเอง ทั้งนี้ ขึ้นอยู่กับขนาด smart contract , ราคา BNB ตามที่อธิบายไปแล้วข้างต้นนั่นเอง
ทั้งนี้ ค่าธรรมเนียมนี้ ไม่รวมใน exchange ที่ใช้ ซึ่งต้องแยกออกไปต่างหาก และไม่รวมค่าธรรมเนียมที่ใช้ในกระบวนการอื่นๆ เช่นเก็บ reward, swap โอน ดังนั้น เราต้องมีเผื่อไว้ใช้ในอนาคตด้วย
ค่าธรรมเนียมหมด ทำอย่างไร
มี 2 แนวทาง คือ ให้เพื่อนโอนให้เรา หรือ เราไปโอนออกมาจากที่อื่นให้ตัวเราเอง ไม่มีทางอื่นเลยครับ
ETH แตกต่างออกไป
ETH Layer 1 ในปัจจุบัน เค้ามีกระบวนการป้องกันการโจมตี network โดยการใช้ค่าธรรมเนียมเข้ามาเป็น barrier โดยเมื่อใดก็ตามที่มีคนโจมตีทำให้ transaction เพิ่มขึ้นเป็นจำนวนเยอะมาก (เพราะปริมาณการ process ข้อมูล ทำได้น้อย) ระบบจะทำการเพิ่มราคา gas ให้แพงขึ้น ซึ่งแม้ว่า smart contract ตัวเดิม ใช้เท่าเดิม แต่ว่าราคาที่แพงขึ้น ทำให้ต้องจ่ายแพงขึ้นมากด้วยเช่นกัน แต่ว่าสิ่งนี้ ก็เป็น barrier ที่สำคัญทำให้หน้าใหม่ หรือคนเงินทุนน้อย ไม่กล้าเข้าตลาด ในช่วงที่ราคา gas แพงอย่างต่อเนื่อง (ตอนนี้ไม่ได้มีใครโจมตี แค่มีการใช้งานธุรกรรมกันเยอะมากๆ) อย่างในตอนนี้ จะทำธุรกรรมอะไรใน ETH จะต้องคิดแล้วคิดอีก คิดให้ดีๆหลายตลบเลยทีเดียว นั่นเป็นเหตุผลหลักที่ทำให้ BSC ได้รับความนิยมขึ้นมาในระยะเวลาอันสั้น เพราะไม่มีกระบวนการทำงานเรื่องนี้เข้ามาเกี่ยวข้อง แต่ใช้ gas price ที่ตายตัวอย่างที่เล่าข้างต้นเลย