Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Bitcoin Data Mining (การขุดข้อมูลบิทคอยน์) คืออะไร?


Bitcoin Mining (การขุดบิทคอยน์) คืออะไร?

Bitcoin mining หมายถึงกระบวนการยืนยันและเพิ่มข้อมูลธุรกรรมลงในบัญชีแจ้งสาธารณะ (public ledger) บัญชีแจ้งสาธารณะนี้เรียกว่า blockchain เพราะประกอบด้วยชุดของบล็อก (blocks) บิทคอยน์เป็นเงินเสมือนที่มีค่า และค่าเปลี่ยนแปลงตามเวลา ไม่มีหน่วยงานกำกับดูแลธุรกรรมบิทคอยน์

บิทคอยน์ถูกสร้างขึ้นภายใต้ชื่อ مستعار (pseudonym) Satoshi Nakamoto ซึ่งประกาศการสร้าง และเปิดตัวเป็น open-source software ระบบเงินสดอิเล็กทรอนิกส์แบบ peer-to-peer ทั้งหมดอนุญาตให้ชำระเงินออนไลน์โดยตรงจากคนหนึ่งไปอีกคนหนึ่งโดยไม่ต้องผ่านสถาบันการเงิน

บิทคอยน์เป็นรูปแบบเครือข่ายที่อนุญาตให้บุคคลส่งสิทธิ์ทรัพย์สินบนหน่วยบัญชีที่เรียกว่า "บิทคอยน์" ที่สร้างขึ้นในปริมาณจำกัด เมื่อคนหนึ่งส่งบิทคอยน์ให้อีกคน ข้อมูลนี้จะถูกเผยแพร่ไปยังเครือข่ายบิทคอยน์แบบ peer-to-peer

กลไกการขุด (Mining) และ Proof-of-Work

Bitcoin Mining ต้องการงานที่ทำได้ยากมาก แต่ตรวจสอบได้ง่าย ใช้ทฤษฎีการเข้ารหัส (cryptography) ด้วย hash function ที่เรียกว่า double SHA-256 (ฟังก์ชันที่แปลงข้อความความยาวเท่าไรก็ตามให้กลายเป็น 256 บิต) Hash รับข้อมูลนำเข้าและบีบอัดให้กลายเป็น hash value ขนาดเล็ก (256 บิต)

ข้อได้เปรียบของบิทคอยน์คือความเป็นนิรนาม (anonymity) ข้อมูลส่วนตัวของผู้ส่งและผู้รับถูกเข้ารหัส นี่คือเหตุผลหลักที่ทำให้กลายเป็นรูปแบบธุรกรรมเงินที่น่าเชื่อถือบนอินเทอร์เน็ต ตามข้อตกลง ความยากในการสร้างเงินกระจาย (distributed currency) คือความจำเป็นในการมีกลไกป้องกัน double-spending

บุคคลหนึ่งอาจส่งสองธุรกรรมพร้อมกัน ส่งเหรียญเดียวกันให้สองฝ่ายบนเครือข่าย บิทคอยน์แก้ปัญหานี้และให้ความมั่นใจในสิทธิ์โดยการเก็บบัญชีแจ้งชุมชนของธุรกรรมทั้งหมด เรียกว่า blockchain

ด้วย cryptographic hash ไม่มีทางได้ hash value ที่ต้องการโดยไม่ลอง input หลายพันล้านครั้ง แต่ถ้าเจอ input ที่ให้ค่าที่ต้องการ การตรวจสอบ hash จะง่ายมาก ดังนั้น cryptographic hashing กลายเป็นวิธีที่ดีสำหรับ Bitcoin "Proof-of-work" (ข้อมูลที่สร้างยาก แต่ตรวจสอบง่าย)

ถ้าต้องการขุดบล็อก ต้องรวบรวมธุรกรรมใหม่เข้าไปในบล็อก แล้ว hash บล็อกเพื่อได้ 256-bit block hash value เมื่อ hash เริ่มต้นด้วยศูนย์เพียงพอ (leading zeros) บล็อกก็ถือว่าขุดสำเร็จและส่งออกไปยังเครือข่ายบิทคอยน์ กลายเป็นหลักฐานสำหรับบล็อกนั้น