Block Hash คืออะไร?
Block Hash คือ ลายนิ้วมือของบล็อกในบล็อกเชน มันเป็นสตริงความยาวคงที่ที่แทนข้อมูลของบล็อกนั้นอย่างเฉพาะเจาะจงในช่วงเวลาหนึ่ง เหมือนกับหมายเลขใบเสร็จที่เตือนหากมีการแก้ไขแม้เพียงหนึ่งตัวอักษรในใบเสร็จ
ผู้คนคิดว่า Block Hash เป็นเพียงรหัสสุ่ม มันไม่ใช่เรื่องสุ่มเลยโดยทั้งหมด มันคือผลลัพธ์โดยตรงจากข้อมูลของบล็อก ดังนั้นเปลี่ยนบิตเดียว Block Hash จะเปลี่ยนไปโดยสิ้นเชิง
วิธีทำงานของ Block Hash
นึกภาพบล็อกใหม่ที่ถูกสร้างและส่งไปยังเครือข่าย นี่คือทัวร์สั้นๆ ว่าวิธี Block Hash เกิดขึ้นมาอย่างไร
- Step 1: บล็อกรวบรวมธุรกรรมบวก metadata ใน header ของ block.
- Step 2: header นั้นถูกประมวลผลผ่าน cryptographic hash function ซึ่งแปลงเป็นสตริงสั้นที่มีความยาวคงที่
- Step 3: นักขุด ปรับ nonce และทำ hash ใหม่จนได้ค่าต่ำกว่าค่าทาง ซึ่งเปรียบเหมือนเครื่องเล่นสล็อตกับห้องเรียนคณิตศาสตร์
- Step 4: เมื่อ Block Hash ตรงตามเป้าหมาย บล็อกจะถูกยอมรับและ hash ของมันกลายเป็นอ้างอิงในบล็อกถัดไป เชื่อมต่อห่วงโซ่
- Step 5: โหนดแพร่กระจายผลลัพธ์ทั่วเครือข่าย และ Block Hash นั้นกลายเป็นหน้าสาธารณะของบล็อก
รวดเร็ว มันถูกต้องตามเงื่อนไข และไม่ยืดหยุ่นต่อการแก้ไข
ทำไม Block Hash ถึงสำคัญ
นี่คือเหตุผลว่าทำไมคุณควรใส่ใจ Block Hash ในการใช้งานจริง:
- ประโยชน์: มันให้การตรวจสอบความสมบูรณ์ทันที หนึ่งมุมมองก็พอเห็นว่าบล็อกถูกต้องหรือไม่
- มุมมอง: เครือข่ายให้รางวัลกับความพยายาม computational effort ที่จำเป็นในการหาค่าที่ถูกต้อง ซึ่งเป็นสิ่งที่ทำให้เครือข่าย proof of work แข็งแกร่ง
- ความเกี่ยวข้อง: คุณจะเห็น Block Hash บน explorers เมื่อติดตามการยืนยัน ตรวจสอบแอป หรืออ่านการอัปเดตโปรโตคอล
เมื่อคุณเปรียบเทียบ Block Hash จาก block explorer ให้คัดลอกเป็นข้อความล_plain และตรวจดูช่องว่างที่ผิดปกติ ด้วยตัวอักษรพิเศษหนึ่งตัวจะทำให้ตรงกับแบบไม่สมบูรณ์
ลักษณะสำคัญของ Block Hash
นี่คือคุณลักษณะที่ทำให้มันเชื่อถือได้:
- Deterministic: input เดียวกันให้ผลลัพธ์เดียวกันทุกครั้ง
- Fixed: ความยาวของ output คงที่ ไม่ว่า block จะใหญ่แค่ไหน
- Sensitive: ปรับหนึ่งบิตในบล็อก แล้ว Block Hash จะดูไม่คล้ายเดิมเลย
- Chained: แต่ละบล็อกชี้ไปยัง Block Hash ก่อนหน้า ซึ่งล็อกรายการประวัติให้มั่นคง
- Opaque: คุณไม่สามารถย้อนกลับจาก Block Hash เพื่อเปิดเผยเนื้อหาของบล็อกได้
Block Hash คำนวณอย่างไร?
ส่วนใหญ่แล้วเครือข่าย proof of work จะคำนวณ Block Hash จาก header โดยใช้ two step hash ใน Bitcoin จะเป็น double sha
ในรูปแบบที่ง่ายที่สุด:
block_hash = sha256( sha256( block_header_bytes ) ) header รวม fields เช่น version, previous hash, merkle root, timestamp, difficulty target และ nonce ปรับ nonce แล้ว rehash ซ้ำๆ เฝ้าดูเมื่อมันเข้าเงื่อนไข
Block Hash ไม่ใช่ transaction hash Block Hash สรุป header ของบล็อก ในขณะที่ transaction hash ระบุธุรกรรมหนึ่งรายการภายในบล็อกนั้น
ตัวอย่าง
คุณเปิด block explorer ค้นหาบล็อกล่าสุด คัดลอก Block Hash แล้ววางลงใน log ของ node เพื่อยืนยันว่าคุณถูกรันอยู่บน view เดียวกับเครือข่าย
ข้อเท็จจริงที่น่าสนใจ
Block Hash ของบล็อก genesis ของ Bitcoin เริ่มต้นด้วยสตริคศูนย์ยาวมากๆ ซึ่งเป็นสัญลักษณ์ที่แสดงให้เห็นว่าช่องเป้าหมายการขุดในช่วงต้นรุนแรงเพียงใด
สรุป
Block Hash ในหนึ่งบรรทัด: เป็นอุปกรณ์เตือนการแก้ไขและแท็กสาธารณะสำหรับบล็อกทุกบล็อก แชร์ง่าย แหกได้ยาก และเป็นเหตุผลที่ห่วงโซ่ของคุณยังคงซื่อสัตย์