Mempool นี่มันคืออะไร?
คือเรื่องมันเป็นแบบนี้นะพวก
Memory pool เปรียบดั่งพื้นที่ๆให้ Trasaction ที่ยังไม่ถูก confirm ได้รอที่จะถูก confirm ลง block
ซึ่งแต่ละ Node ต่างก็จะมี Mempool และ blockchain เก็บเอาไว้เป็นของตัวเอง
โดยที่ขนาดของ mempool ของแต่ละ node จะมีค่า default อยู่ที่ 300 MB
เมื่อ transaction ถูก broadcast มันจะถูกตรวจสอบความถูกต้องโดย network ก่อนที่จะถูกบรรจุลงไปใน mempool
ซึ่ง transaction นั้นก็ต้องรอใน mempool จนกว่า miner เลือกที่จะเอา transaction นั้นไปปิดลง block
ทีนี้อย่างที่บอกไปว่าพื้นที่มันมีจำกัด และถ้าเราให้แต่ละ transaction เป็นผู้โดยสาร และ Mempool คืออาคารผู้โดยสาร
Miner ของเรารับบทเป็นคนขับรถ ซึ่งแต่ละคันก็มีพื้นที่จำกัดที่จำกัดซะยิ่งกว่าอาคารผู้โดยสารเสียอีก
การที่ใครจะได้ขึ้นรถก่อนหลังไม่ได้อยู่ว่าใครมาก่อนมาหลัง แต่อยู่ที่ค่า fees หรือค่าโดยสารที่คุณยอมจ่ายให้ miner
Transaction ทีมีขนาดเล็กแต่จ่ายค่า fees มากเมื่อเทียบกับขนาดตัว ก็เหมือนผู้โดยสารที่ตัวเล็กแต่จ่ายค่าโดยสารมาก
นั่นย่อมจูงใจคนขับให้รับผู้โดยสารรายนั้นขึ้นรถก่อนผู้โดยสารรายอื่นๆ เพราะนอกจากพื้นที่ในรถจะใช้น้อยกว่าแล้วก็ยังจะได้ค่าโดยสารที่มากกว่า
เมื่อ Mempool มี transaction ที่รอ confirm เต็มความจุ node จะเริ่มจัดลําดับความสําคัญของธุรกรรมโดยการตั้งค่าเกณฑ์ fees ขั้นต่ำ
ธุรกรรมที่มี fees ต่ำกว่าเกณฑ์จะถูกลบออกจาก Mempool ทันทีและเฉพาะธุรกรรมใหม่ที่มีค่าธรรมเนียมมากพอเท่านั้นที่ได้รับอนุญาตให้เข้าถึง Mempool
ทำไม trasaction ของคุณจึงค้างอยู่ใน mempool นาน
1.ความแออัดของ network , เมื่อขนาดของ block มีจำกัด และความต้องการใช้งานเยอะจนขาดสมดุลย์
2.จ่ายค่า fees น้อยเกินไป, เมื่อมีคนที่รอเอา transaction ของพวกเขาไปปิด block และพวกเค้ายอมจ่ายค่า fees ที่มากกว่า
transaction ที่ยอมจ่าย fees ที่มากกว่าย่อมจูงใจมากกว่าคนที่จ่าย fees น้อยกว่า เพราะที่ mempool นี้ไม่มีคิว มีแต่ความจูงใจให้ miner ทำงานให้คุณ
3.Hash rate ลดลงอย่างมาก , เมื่อมีการลดลงของ hash rate อย่างมาก แต่ในเมื่อค่า difficulty ยังคงอยู่เท่าเดิม
ดังนั้นระยะเวลาที่ transaction จะถูกปิดลง block ก็อาจจะนานกว่าปรกติได้ แต่อย่างไรเสียเมื่อครบรอบการปรับค่า difficulty ลง block time ก็จะกลับเข้าสู่ 10 นาที
#thainostrich #siamstr
