This article has been translated from English to Thai.
อะไรคือ Bitcoin miner?
มันเกี่ยวกับจอบ พลั่ว หรือถ้ำใช่ไหม?

ผิดแล้ว!
ในบทเรียนนี้ ผมจะอธิบายให้ฟังว่า Bitcoin miner คืออะไร
กลับมาที่เครือข่าย Bitcoin ที่มีธุรกรรมขัดแย้งกันอีกครั้งครับ ตามที่ได้กล่าวไว้ในตัวอย่างจาก บทเรียนก่อนหน้านี้.
บางโหนดมีธุรกรรม “สีม่วง” ขณะที่บางโหนดมีธุรกรรม “สีแดง”.
แต่ทั้งสองธุรกรรมพยายามใช้ Bitcoin เดียวกัน
แล้วคอมพิวเตอร์เหล่านี้จะตกลงกันได้อย่างไรว่า ธุรกรรมไหนถูกต้อง?
นี่แหละครับที่เรียกว่า “การขุด” เข้ามามีบทบาท

มาดูกันเถอะว่าในคอมพิวเตอร์นี้มีอะไรอยู่ 👇

โหนดนี้คือ “เครื่องขุด“
อะไรคือ Bitcoin miner?
โหนดขุด คือโหนดเต็มรูปแบบของ Bitcoin ที่ทำงานเพิ่มเติมโดยการ ยืนยัน ธุรกรรม
ทุกเครื่องขุดคือโหนด แต่ไม่ใช่ทุกโหนดคือเครื่องขุด Bitcoin miner จะทำงานไม่ได้ถ้าไม่มีการรันโหนด แต่โหนดเต็มรูปแบบไม่จำเป็นต้องเป็นเครื่องขุดเสมอไปในขณะที่โหนดเต็มรูปแบบจะรับ เก็บ และส่งต่อธุรกรรมไปยังโหนดอื่นๆ โหนดขุดจะทำเช่นเดียวกันแต่ยังพยายาม สร้างบล็อกใหม่ ของธุรกรรมและพยายามส่งต่อไปยังโหนดอื่นๆ ซึ่งจะยอมรับหรือปฏิเสธบล็อกใหม่นั้น
อย่างที่คุณจะได้เห็นในบทเรียนถัดไป เนื่องจากวิธีการทำงานของ “การขุด” เครื่องขุดต้องใช้ ฮาร์ดแวร์เฉพาะทาง
ถ้าคุณสงสัย นี่คือตัวอย่างของเครื่องขุด มันดูงดงามใช่ไหม? 😍

Bitcoin miner “ขุด” อย่างไร?
มาดูกันเลยครับ เข้าไปในเครื่องขุดและดูว่ามัน “ขุด” ธุรกรรมจาก memory pool ลงไฟล์ของมัน (หรือ “blockchain”) อย่างไร

ตอนนี้เรากำลังดูใน memory pool ของเครื่องขุด
มันมีธุรกรรม สีม่วง อยู่ในนั้น

แต่ใน memory pool คุณสามารถมี มากกว่าหนึ่งธุรกรรม ได้
สมมติว่ามีธุรกรรมใหม่ๆ เพิ่มเข้ามา
ตัวอย่างเช่น memory pool นี้มี สี่ธุรกรรม. (จริงๆ แล้ว memory pool สามารถเก็บได้เป็นพันๆ ธุรกรรม)

แล้วเครื่องขุดจะทำอะไรกับธุรกรรมทั้งหมดใน memory pool?
มันจะสร้างภาชนะที่เรียกว่า “candidate block”
ซึ่งเป็นเพียงภาชนะสำหรับธุรกรรมต่างๆ
เครื่องขุดจะเติม candidate block นี้ด้วยธุรกรรมจาก memory pool
อะไรคือ candidate block?
คิดว่า candidate block เป็นบล็อกชั่วคราว ที่ถูกสร้างขึ้นจากการเลือกธุรกรรมจาก memory pool
บล็อกชั่วคราวนี้เรียกว่า “candidate block” เพราะมัน ยังไม่ใช่บล็อกที่ถูกต้อง. บล็อกที่ได้รับการเพิ่มลงใน blockchain (ซึ่งเครื่องขุดพยายามทำ) เท่านั้นที่จะถือว่าเป็นบล็อกที่ถูกต้อง

สิ่งที่เครื่องขุดทำคือ เติม candidate block นี้ด้วยธุรกรรม จาก memory pool

แบบนี้เลย…

เนื่องจากพื้นที่มีจำกัด จึงสามารถรวมธุรกรรมได้จำนวนจำกัดในแต่ละบล็อก เครื่องขุดมีแรงจูงใจที่จะให้ความสำคัญกับธุรกรรมที่มีค่าธรรมเนียมสูงที่สุด
แล้วจากนั้นก็พยายามเพิ่ม “บล็อก” ของธุรกรรมนี้ลงในไฟล์ (หรือ “blockchain”)
แล้ว candidate block ถูกเพิ่มไปยัง blockchain จริง ๆ ได้อย่างไร?

มาดู candidate block อย่างละเอียดกันเถอะ…