This article has been translated from English to Thai.

อะไรคือ Bitcoin miner?

มันเกี่ยวกับจอบ พลั่ว หรือถ้ำใช่ไหม?

Bitcoin miner

ผิดแล้ว!

ในบทเรียนนี้ ผมจะอธิบายให้ฟังว่า Bitcoin miner คืออะไร

กลับมาที่เครือข่าย Bitcoin ที่มีธุรกรรมขัดแย้งกันอีกครั้งครับ ตามที่ได้กล่าวไว้ในตัวอย่างจาก บทเรียนก่อนหน้านี้.

บางโหนดมีธุรกรรม “สีม่วง” ขณะที่บางโหนดมีธุรกรรม “สีแดง”.

แต่ทั้งสองธุรกรรมพยายามใช้ Bitcoin เดียวกัน

แล้วคอมพิวเตอร์เหล่านี้จะตกลงกันได้อย่างไรว่า ธุรกรรมไหนถูกต้อง?

นี่แหละครับที่เรียกว่า “การขุด” เข้ามามีบทบาท

Which Bitcoin transaction is the legit one?

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

Inside look at Bitcoin node

โหนดนี้คือ “เครื่องขุด

อะไรคือ Bitcoin miner?

โหนดขุด คือโหนดเต็มรูปแบบของ Bitcoin ที่ทำงานเพิ่มเติมโดยการ ยืนยัน ธุรกรรม

ทุกเครื่องขุดคือโหนด แต่ไม่ใช่ทุกโหนดคือเครื่องขุด Bitcoin miner จะทำงานไม่ได้ถ้าไม่มีการรันโหนด แต่โหนดเต็มรูปแบบไม่จำเป็นต้องเป็นเครื่องขุดเสมอไป

ในขณะที่โหนดเต็มรูปแบบจะรับ เก็บ และส่งต่อธุรกรรมไปยังโหนดอื่นๆ โหนดขุดจะทำเช่นเดียวกันแต่ยังพยายาม สร้างบล็อกใหม่ ของธุรกรรมและพยายามส่งต่อไปยังโหนดอื่นๆ ซึ่งจะยอมรับหรือปฏิเสธบล็อกใหม่นั้น

อย่างที่คุณจะได้เห็นในบทเรียนถัดไป เนื่องจากวิธีการทำงานของ “การขุด” เครื่องขุดต้องใช้ ฮาร์ดแวร์เฉพาะทาง

ถ้าคุณสงสัย นี่คือตัวอย่างของเครื่องขุด มันดูงดงามใช่ไหม? 😍

Antminer

Bitcoin miner “ขุด” อย่างไร?

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

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

มันมีธุรกรรม สีม่วง อยู่ในนั้น

Bitcoin miner with one transaction in memory pool

แต่ใน memory pool คุณสามารถมี มากกว่าหนึ่งธุรกรรม ได้

สมมติว่ามีธุรกรรมใหม่ๆ เพิ่มเข้ามา

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

Bitcoin miner with four transaction in memory pool

แล้วเครื่องขุดจะทำอะไรกับธุรกรรมทั้งหมดใน memory pool?

มันจะสร้างภาชนะที่เรียกว่า “candidate block

ซึ่งเป็นเพียงภาชนะสำหรับธุรกรรมต่างๆ

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

อะไรคือ candidate block?

คิดว่า candidate block เป็นบล็อกชั่วคราว ที่ถูกสร้างขึ้นจากการเลือกธุรกรรมจาก memory pool

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

Bitcoin miner creates a candidate block

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

Bitcoin will fill candidate block

แบบนี้เลย…

Bitcoin miner fills candidate block with transactions

เนื่องจากพื้นที่มีจำกัด จึงสามารถรวมธุรกรรมได้จำนวนจำกัดในแต่ละบล็อก เครื่องขุดมีแรงจูงใจที่จะให้ความสำคัญกับธุรกรรมที่มีค่าธรรมเนียมสูงที่สุด

แล้วจากนั้นก็พยายามเพิ่ม “บล็อก” ของธุรกรรมนี้ลงในไฟล์ (หรือ “blockchain”)

แล้ว candidate block ถูกเพิ่มไปยัง blockchain จริง ๆ ได้อย่างไร?

How does the candidate block actually get added onto the blockchain?

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