ปลอดภัยหายห่วงด้วย Hash

410 Views
ปลอดภัยหายห่วงด้วย Hash

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

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

    Hash นั้นมีรูปแบบที่น่าสนใจไม่น้อย มันเป็นเรื่องง่ายที่จะสร้างรหัส hash ออกมาสัก 1 ชุดจากข้อมูลของบล็อกบิทคอยน์ แต่มันเป็นเรื่องที่ยากมากจนถึงขั้นที่เรียกว่าเป็นไปไมได้เลยถ้าคุณต้องการที่จะอ่านข้อมูลของบล็อกนั้นจาก hash และถึงแม้ว่ามันจะเป็นเรื่องที่ง่ายที่จะสร้าง hash จากข้อมูลที่มีขนาดใหญ่ แต่ hash แต่ละ hash นั้นก็จะมีความแตกต่างกันออกไป ถ้าหากคุณเปลี่ยนข้อมูลของบิทคอยน์บล็อกเพียงแค่ 1 ตัวอักษรละก็ hash นั้นก็จะเปลี่ยนไปแบบทั้งแถบเลย

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

    เนื่องจากว่า hash ในแต่ละบล็อกนั้นถูกสร้างขึ้นมาโดยใช้ hash ของบล็อกก่อนหน้าของมัน 1 บล็อก มันจึงกลายเป็นเปรียบเสมือนตัวซีลจดหมายแบบดิจิตอลที่สามารถ ‘คอนเฟิร์ม’ ว่าบล็อกนี้และบล็อกก่อนหน้านี้ทุกๆบล็อกคือของจริงต้นฉบับ เพราะถ้าหากว่าคุณโกงหรือแอบเข้าไปปรับเปลี่ยน ทุกๆคนก็จะสามารถรู้ได้

    ถ้าหากคุณพยายามลองโกงธุรกรรมโดยการเปลี่ยนข้อมูลในบล็อกที่ได้ถูกเก็บแล้วในบล็อกเชน hash ของบล็อกนั้นก็จะถูกเปลี่ยนแปลง ถ้ามีใครคนอื่นเข้ามาตรวจสอบความถูกต้องของบล็กด้วยการรันระบบ hashing นั้น พวกเขาก็จะพบว่า hash นั้นแตกต่างจากตัวก่อนหน้านี้ที่เคยถูกเก็บไว้ในบล็อกเชน และบล็อกนั้นก็จะเป็นที่รู้กันทันทีว่าเป็นของปลอม

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