Hash , Hashing คืออะไร
Hashing คือการนำข้อมูลของเราไปเข้าอัลกอริทึมแล้วจะได้เป็น Hash ออกมา ซึ่ง Hash ที่ได้ออกมานี้จะไม่สามารถย้อนกลับไปเป็นข้อมูลต้นฉบับได้ การ Hash จึงไม่ใช่การเข้ารหัส (Encrytion) แต่เปรียบเสมือนการสรุปข้อมูล ซึ่ง Hash มีลักษณะคือจะนำข้อมูลยาวเท่าไรก็ได้ มาผ่านอัลกอริทึมสำหรับการ Hash แล้วข้อมูลที่ออกมาจะมีความยาวที่คงที่ Hash เปรียบเสมือนลายเซ็นต์ของข้อมูล ถ้าเราเปลี่ยนข้อมูลแค่ตัวเดียว Hash ที่ได้ออกมาจะไม่เปลี่ยนแปลงจากการ Hash ครั้งก่อนทั้งหมด
ยกตัวอย่างเช่น มีข้อมูลคือเลข 5555 แล้วเรามีอัลกอริทึมในการ Hash คือนำเลขทั้งหมดมาบวกกันแล้วดูที่หลักหน่วย Hash ที่ได้ก็จะเป็น 0 นั่นเอง เวลาเราจะใช้งาน เราก็จะส่งข้อมูลตามด้วย Hash เป็น 5555 0 เมื่อผู้รับได้ข้อมูลของเราก็จะนำข้อมูลไปทำการ Hashing ถ้าตรงกับ Hash ที่เราส่งไปก็แปลว่าข้อมูลนั้นถูกต้องไม่มีการเปลี่ยนแปลง เช่นมีข้อมูลส่งมา 4555 0 เรานำข้อมูลไปทำการ Hashing ได้ 9 ซึ่งไม่ตรงกับ Hash ที่ส่งมาก็แปลว่าข้อมูลไม่ถูกต้องหรือมีการเปลี่ยนแปลงก่อนมาถึงเรา
ยกตัวอย่างการใช้งาน Hash ในชีวิตจริง อย่างเช่นเลขบัตรประจำตัวประชาชน 13 หลัก ซึ่งหลักที่ 13 จะเป็น Hash ที่ไว้ตรวจสอบว่าเลขประจำตัวได้ปลอมขึ้นมาไหม เพราะถ้าปลอมเลขหลักที่ 13 จะไม่ถูกนั่นเอง
Hash กับ Bitcoin
บิตคอยน์ใช้อัลกอริทึมในการ Hash ชื่อ “SHA256” ย่อมาจาก Secure Hashing Algorithm 256 – 256 คือความยาวคงที่ของ Hash ที่จะออกมา ซึ่งจะมี 256 บิต 256 บิตหมายความว่าจะมีเลข 0 หรือ 1 เรียงกัน 256 ตัว แต่บิตคอยน์จะทำ Hash ให้เป็นเลขฐาน 16 ซึ่ง 4 บิตจะแปลงเป็นเลขฐาน 16 ได้หนึ่งตัว Hash ของบิตคอยน์จึงมีความยาว 64 ตัว (256/4)
Hash กับ Cryptocurrency
1. เหรียญดิจิทัลที่มีการใช้ระบบ Proof of Work จะให้นักขุดนำคอมพิวเตอร์มาประมวลผลหา Hash ที่เป็นคำตอบ โดย hash ที่ได้ออกมาจะมาจากข้อมูลการแลกเปลี่ยนกันบนบล็อกเชนมาเข้า Hash function
2. ใช้ Hash ในการเชื่อมบล็อกในบล็อกเชนเข้าด้วยกัน บล็อกแต่ละบล็อกบนบล็อกเชนนั้นจะมี Hash ของบล็อกก่อนหน้าอยู่ซึ่งจะทำให้ยากต่อการแทรกแซงและปลอมแปลง เพราะถ้าจะปลอม 1 บล็อกก็ต้องปลอมบล็อกที่เชื่อมกันอีกจึงทำให้ต้องใช้พลังงานที่สูงและไม่คุ้มที่คนจะปลอมแปลงบล็อก