Hashing ใน Blockchain คืออะไร? ข้อมูลพื้นฐานที่ครอบคลุม

มือใหม่Nov 23, 2023
บทความนี้สำรวจบทบาทพื้นฐานของการแฮชในเทคโนโลยีบล็อกเชน ซึ่งเป็นนวัตกรรมสำคัญที่เป็นศูนย์กลางในการรักษาความปลอดภัยและความน่าเชื่อถือของสกุลเงินดิจิทัล ผู้อ่านจะได้รับข้อมูลเชิงลึกเกี่ยวกับโลกแห่งแฮชที่เข้าถึงได้แต่ลึกซึ้ง ซึ่งเป็นเครื่องมือเข้ารหัสที่จำเป็นซึ่งเสริมความแข็งแกร่งให้กับบล็อกเชน ทำให้เป็นแพลตฟอร์มที่ปลอดภัยสำหรับการทำธุรกรรมทางการเงิน
Hashing ใน Blockchain คืออะไร? ข้อมูลพื้นฐานที่ครอบคลุม

มีนวัตกรรมมากมายที่สนับสนุนเทคโนโลยีบล็อคเชน หนึ่งในสิ่งที่สำคัญที่สุดคือการแฮช แต่การแฮชใน blockchain คืออะไร? หากไม่มีบล็อกเชนก็จะไม่ปลอดภัยและใช้งานไม่ได้โดยสิ้นเชิง ด้วยสิ่งนี้ พวกเขาทำให้สกุลเงินดิจิตอลปลอดภัยและเชื่อถือได้

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

การเข้ารหัสคืออะไร?

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

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

จักรพรรดิโรมัน จูเลียส ซีซาร์ส่งข้อความที่เข้ารหัส ไปยังนายพลของเขาด้วยความสงสัยเกี่ยวกับผู้ส่งสารของเขา จูเลียส ซีซาร์ ได้รับการตั้งชื่อหลังมรณกรรม และเผยแพร่รหัสซีซาร์ Caesar Cipher ยังเป็นเทคนิคการทดแทนอย่างง่าย

การแฮชคืออะไร?

การแฮชเป็นรูปแบบหนึ่งของการเข้ารหัส ฟังก์ชันแฮชคือฟังก์ชันใดๆ ที่สามารถจับคู่ข้อมูลที่มีขนาดใดก็ได้กับค่าที่มีขนาดคงที่ ค่าที่ส่งคืนโดยฟังก์ชันแฮชเรียกว่าค่าแฮช รหัสแฮช ไดเจสต์ หรือเรียกง่ายๆ ว่าแฮช

ตัวอย่างเช่น ใช้ข้อความธรรมดา “Hello World” การใช้ฟังก์ชันแฮชของ Ethereum ฟังก์ชันแฮชของ Keccak-256 เราจะแปลงข้อความธรรมดาเป็นแฮช “592fa743889fc7f92ac2a37bb1f5ba1daf2a5c84741ca0e0061d243a2e6707ba” ในทำนองเดียวกัน ผลลัพธ์จะคล้ายกับที่อยู่ Ethereum

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

คุณสมบัติฟังก์ชันแฮชที่เข้ารหัส

พูดง่ายๆ ก็คือ ฟังก์ชั่นทั้งหมดไม่ได้ถูกสร้างขึ้นมาเท่ากัน ฟังก์ชันการแฮชต้องเป็นไปตามข้อกำหนดเฉพาะ เพื่อให้ทำงานได้อย่างถูกต้อง ต้องมีคุณสมบัติดังต่อไปนี้:

มีประสิทธิภาพในการคำนวณ

คอมพิวเตอร์จะต้องสามารถคืนแฮชได้อย่างรวดเร็ว ส่วนใหญ่สามารถประมวลผลฟังก์ชันแฮชได้ภายในเสี้ยววินาที

กำหนดไว้

ตัวอย่างเช่น เมื่อใช้ ฟังก์ชันแฮช Keccak-256 เราจะเปลี่ยนข้อความ "Hello World" เป็น "hello World" ซึ่งส่งกลับค่า “079813c47d3d4ab9abf0c0747f5b5cdf90e0e264ae09ea44fb2509c559b72ac1” อย่างที่คุณเห็น ฟังก์ชันการแฮชของเราคำนึงถึงขนาดตัวพิมพ์ และเปลี่ยนแปลงผลลัพธ์ของการแฮชที่ส่งคืนอย่างมาก

ต้องสร้างค่าแฮชที่แน่นอนทุกครั้งสำหรับค่าอินพุตที่กำหนด คุณต้องจำไว้ว่าการแฮชเป็นวิธีการส่งข้อความอย่างปลอดภัย หากไม่เป็นเช่นนั้น คุณสามารถเปลี่ยนอินพุตเป็นแฮชโดยที่ผู้รับไม่รู้จักได้

ความต้านทานก่อนภาพ

การโจมตีก่อนอิมเมจเกิดขึ้นเมื่อทราบเอาท์พุตของแฮช และภารกิจคือค้นหาอินพุตบางส่วน การโจมตีก่อนอิมเมจในฟังก์ชันแฮชที่เข้ารหัสลับค้นหาข้อความที่มีค่าแฮชเฉพาะ ฟังก์ชันแฮชที่เข้ารหัสควรทนทานต่อการโจมตีก่อนอิมเมจ (ชุดอินพุตที่เป็นไปได้)

คุณไม่ต้องการใช้รูปภาพล่วงหน้า (เช่น ข้อความธรรมดา) เป็นรหัสผ่านในตัวอย่างของเรา “Hello World” เนื่องจากข้อความธรรมดา “Hello World” นั้นเรียบง่ายและง่ายต่อการตรวจสอบ มีฐานข้อมูลที่เก็บบันทึกอินพุตที่รู้จักไว้แม้กระทั่งฟังก์ชันแฮชที่ปลอดภัย เช่น SHA-256

ความต้านทานก่อนอิมเมจที่สอง

คุณสมบัติที่คาดหวังของฟังก์ชันแฮชการเข้ารหัสซึ่งการค้นหาภาพก่อนหน้าที่สองของการแยกย่อยข้อความที่รู้จักนั้นเป็นไปไม่ได้ในการคำนวณ

ความต้านทานการชน

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

ดังนั้นจึงเป็นไปได้ที่ค่าอินพุตมากกว่าหนึ่งค่าจะสร้างเอาต์พุตเดียวกัน หากความต้านทานการชนไม่แข็งแกร่งพอ การชนอาจพบได้ผ่าน "การโจมตีวันเกิด" คุณอาจสังเกตเห็นว่าความต้านทานก่อนอิมเมจที่สองและความต้านทานการชนมีความคล้ายคลึงกันมาก มั่นใจได้ว่าจะแยกจากกันและค่อนข้างเรียบง่าย

ด้วยการต้านทานก่อนอิมเมจที่สอง จะทราบอินพุตและผู้โจมตีสามารถค้นหาอินพุตที่สองที่แฮชเป็นค่าเดียวกันได้ ด้วยการต้านทานการชนกัน อินพุตทั้งสองจะไม่ทราบ และผู้โจมตีสามารถค้นหาทั้งสองอินพุตที่แฮชเป็นค่าเดียวกันได้ ความต้านทานการชนหมายถึงความต้านทานก่อนภาพ

การโจมตีวันเกิด

นี่คือการโจมตีที่ใช้ประโยชน์จากคณิตศาสตร์เบื้องหลังทฤษฎีความน่าจะเป็น คุณคงเคยได้ยินตัวอย่างวันเกิดมาแล้ว หากคุณมีห้องที่มีจำนวน 27 คน แม้จะดูไม่น่าเป็นไปได้ แต่จริงๆ แล้วมีโอกาส 50% ที่คนสองคนจะมีวันเกิดวันเดียวกัน

ทำไมเป็นเช่นนี้? คนหนึ่งคนมีความน่าจะเป็น 1/365 ที่จะมีวันเกิดที่ 'ถูกต้อง' โอกาสที่คนที่สองจะมีวันเกิดวันเดียวกันนั้นก็คือ 1/365 เช่นกัน หากต้องการหาความน่าจะเป็นที่ทั้งคู่มีวันเกิดวันเดียวกัน เราต้องคูณความน่าจะเป็น ถ้าขยายขนาด ถ้าคุณมีวันเกิดที่แตกต่างกัน 365 วันเกิด และความเป็นไปได้ 365 วันเกิด คุณต้องมีรากที่สองของ 365 ซึ่งเป็นคนสุ่มเลือก 23 คนเพื่อโอกาส 50% ที่จะมีคนที่ตรงกัน

เมื่อใช้ทฤษฎีนี้กับการแฮช เราตระหนักดีว่าในทางเทคนิค ไม่มีฟังก์ชันแฮชที่ไม่มีการชนกัน แต่ควรใช้เวลานานกว่าจะเกิดขึ้น!

Hashing ถูกนำมาใช้ใน Blockchain อย่างไร?

อัตราแฮชรวมของ Bitcoin: Blockchain.com

Bitcoin ทำงานบนบล็อกเชนและใช้อัลกอริทึมการแฮช 'SHA-256' (อัลกอริทึมแฮชที่ปลอดภัย 256) สำหรับ bitcoin ฟังก์ชันแฮชจะใช้สำหรับฟังก์ชันหลักสามฟังก์ชัน:

ขุดเหมือง

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

การเชื่อมโยงบล็อก

เพื่อเพิ่ม ความปลอดภัย; แต่ละบล็อกบนบล็อกเชนเชื่อมโยงกับบล็อกก่อนหน้า สิ่งนี้สามารถทำได้ด้วยตัวชี้แฮช (ตัวแปรที่เก็บที่อยู่ของตัวแปรอื่น) โดยพื้นฐานแล้ว แต่ละบล็อกจะมีผลแฮชจากบล็อกก่อนหน้าบนบล็อกเชน สิ่งนี้ทำให้แน่ใจได้ว่าสามารถติดตามประวัติของบล็อคเชนได้อย่างง่ายดาย และลดโอกาสที่บล็อคที่เป็นอันตรายจะถูกเพิ่มเข้าไป

การสร้างคีย์

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

ความสำคัญของการแฮช

ฟังก์ชันแฮชทำให้สกุลเงินดิจิทัลมีความปลอดภัยระดับสูง แม้ว่าตามทฤษฎีแล้ว ไม่มีสิ่งใดในโลกออนไลน์ที่สามารถรอดพ้นจากการแฮ็กได้ ฟังก์ชั่นแฮชให้ระดับความยากสูงสุดที่มีอยู่ในปัจจุบัน

ข้อสงวนสิทธิ์:

  1. บทความนี้ทำซ้ำจาก [Beincrypto] และลิขสิทธิ์เป็นของผู้เขียนต้นฉบับ [Jessica Lloyd] หากมีการคัดค้านการทำซ้ำ โปรดติดต่อทีมงาน Gate Learn และทีมงานจะดำเนินการทันทีตามขั้นตอนที่เกี่ยวข้อง
  2. ข้อสงวนสิทธิ์: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงมุมมองส่วนตัวของผู้เขียนเท่านั้น และไม่ถือเป็นคำแนะนำในการลงทุนใดๆ
  3. บทความเวอร์ชันภาษาอื่นๆ ได้รับการแปลโดยทีมงาน Gate Learn โดยไม่กล่าวถึง Gate.io จะไม่ได้รับอนุญาตให้คัดลอก เผยแพร่ หรือลอกเลียนแบบบทความที่แปลแล้ว

Hashing ใน Blockchain คืออะไร? ข้อมูลพื้นฐานที่ครอบคลุม

มือใหม่Nov 23, 2023
บทความนี้สำรวจบทบาทพื้นฐานของการแฮชในเทคโนโลยีบล็อกเชน ซึ่งเป็นนวัตกรรมสำคัญที่เป็นศูนย์กลางในการรักษาความปลอดภัยและความน่าเชื่อถือของสกุลเงินดิจิทัล ผู้อ่านจะได้รับข้อมูลเชิงลึกเกี่ยวกับโลกแห่งแฮชที่เข้าถึงได้แต่ลึกซึ้ง ซึ่งเป็นเครื่องมือเข้ารหัสที่จำเป็นซึ่งเสริมความแข็งแกร่งให้กับบล็อกเชน ทำให้เป็นแพลตฟอร์มที่ปลอดภัยสำหรับการทำธุรกรรมทางการเงิน
Hashing ใน Blockchain คืออะไร? ข้อมูลพื้นฐานที่ครอบคลุม

มีนวัตกรรมมากมายที่สนับสนุนเทคโนโลยีบล็อคเชน หนึ่งในสิ่งที่สำคัญที่สุดคือการแฮช แต่การแฮชใน blockchain คืออะไร? หากไม่มีบล็อกเชนก็จะไม่ปลอดภัยและใช้งานไม่ได้โดยสิ้นเชิง ด้วยสิ่งนี้ พวกเขาทำให้สกุลเงินดิจิตอลปลอดภัยและเชื่อถือได้

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

การเข้ารหัสคืออะไร?

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

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

จักรพรรดิโรมัน จูเลียส ซีซาร์ส่งข้อความที่เข้ารหัส ไปยังนายพลของเขาด้วยความสงสัยเกี่ยวกับผู้ส่งสารของเขา จูเลียส ซีซาร์ ได้รับการตั้งชื่อหลังมรณกรรม และเผยแพร่รหัสซีซาร์ Caesar Cipher ยังเป็นเทคนิคการทดแทนอย่างง่าย

การแฮชคืออะไร?

การแฮชเป็นรูปแบบหนึ่งของการเข้ารหัส ฟังก์ชันแฮชคือฟังก์ชันใดๆ ที่สามารถจับคู่ข้อมูลที่มีขนาดใดก็ได้กับค่าที่มีขนาดคงที่ ค่าที่ส่งคืนโดยฟังก์ชันแฮชเรียกว่าค่าแฮช รหัสแฮช ไดเจสต์ หรือเรียกง่ายๆ ว่าแฮช

ตัวอย่างเช่น ใช้ข้อความธรรมดา “Hello World” การใช้ฟังก์ชันแฮชของ Ethereum ฟังก์ชันแฮชของ Keccak-256 เราจะแปลงข้อความธรรมดาเป็นแฮช “592fa743889fc7f92ac2a37bb1f5ba1daf2a5c84741ca0e0061d243a2e6707ba” ในทำนองเดียวกัน ผลลัพธ์จะคล้ายกับที่อยู่ Ethereum

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

คุณสมบัติฟังก์ชันแฮชที่เข้ารหัส

พูดง่ายๆ ก็คือ ฟังก์ชั่นทั้งหมดไม่ได้ถูกสร้างขึ้นมาเท่ากัน ฟังก์ชันการแฮชต้องเป็นไปตามข้อกำหนดเฉพาะ เพื่อให้ทำงานได้อย่างถูกต้อง ต้องมีคุณสมบัติดังต่อไปนี้:

มีประสิทธิภาพในการคำนวณ

คอมพิวเตอร์จะต้องสามารถคืนแฮชได้อย่างรวดเร็ว ส่วนใหญ่สามารถประมวลผลฟังก์ชันแฮชได้ภายในเสี้ยววินาที

กำหนดไว้

ตัวอย่างเช่น เมื่อใช้ ฟังก์ชันแฮช Keccak-256 เราจะเปลี่ยนข้อความ "Hello World" เป็น "hello World" ซึ่งส่งกลับค่า “079813c47d3d4ab9abf0c0747f5b5cdf90e0e264ae09ea44fb2509c559b72ac1” อย่างที่คุณเห็น ฟังก์ชันการแฮชของเราคำนึงถึงขนาดตัวพิมพ์ และเปลี่ยนแปลงผลลัพธ์ของการแฮชที่ส่งคืนอย่างมาก

ต้องสร้างค่าแฮชที่แน่นอนทุกครั้งสำหรับค่าอินพุตที่กำหนด คุณต้องจำไว้ว่าการแฮชเป็นวิธีการส่งข้อความอย่างปลอดภัย หากไม่เป็นเช่นนั้น คุณสามารถเปลี่ยนอินพุตเป็นแฮชโดยที่ผู้รับไม่รู้จักได้

ความต้านทานก่อนภาพ

การโจมตีก่อนอิมเมจเกิดขึ้นเมื่อทราบเอาท์พุตของแฮช และภารกิจคือค้นหาอินพุตบางส่วน การโจมตีก่อนอิมเมจในฟังก์ชันแฮชที่เข้ารหัสลับค้นหาข้อความที่มีค่าแฮชเฉพาะ ฟังก์ชันแฮชที่เข้ารหัสควรทนทานต่อการโจมตีก่อนอิมเมจ (ชุดอินพุตที่เป็นไปได้)

คุณไม่ต้องการใช้รูปภาพล่วงหน้า (เช่น ข้อความธรรมดา) เป็นรหัสผ่านในตัวอย่างของเรา “Hello World” เนื่องจากข้อความธรรมดา “Hello World” นั้นเรียบง่ายและง่ายต่อการตรวจสอบ มีฐานข้อมูลที่เก็บบันทึกอินพุตที่รู้จักไว้แม้กระทั่งฟังก์ชันแฮชที่ปลอดภัย เช่น SHA-256

ความต้านทานก่อนอิมเมจที่สอง

คุณสมบัติที่คาดหวังของฟังก์ชันแฮชการเข้ารหัสซึ่งการค้นหาภาพก่อนหน้าที่สองของการแยกย่อยข้อความที่รู้จักนั้นเป็นไปไม่ได้ในการคำนวณ

ความต้านทานการชน

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

ดังนั้นจึงเป็นไปได้ที่ค่าอินพุตมากกว่าหนึ่งค่าจะสร้างเอาต์พุตเดียวกัน หากความต้านทานการชนไม่แข็งแกร่งพอ การชนอาจพบได้ผ่าน "การโจมตีวันเกิด" คุณอาจสังเกตเห็นว่าความต้านทานก่อนอิมเมจที่สองและความต้านทานการชนมีความคล้ายคลึงกันมาก มั่นใจได้ว่าจะแยกจากกันและค่อนข้างเรียบง่าย

ด้วยการต้านทานก่อนอิมเมจที่สอง จะทราบอินพุตและผู้โจมตีสามารถค้นหาอินพุตที่สองที่แฮชเป็นค่าเดียวกันได้ ด้วยการต้านทานการชนกัน อินพุตทั้งสองจะไม่ทราบ และผู้โจมตีสามารถค้นหาทั้งสองอินพุตที่แฮชเป็นค่าเดียวกันได้ ความต้านทานการชนหมายถึงความต้านทานก่อนภาพ

การโจมตีวันเกิด

นี่คือการโจมตีที่ใช้ประโยชน์จากคณิตศาสตร์เบื้องหลังทฤษฎีความน่าจะเป็น คุณคงเคยได้ยินตัวอย่างวันเกิดมาแล้ว หากคุณมีห้องที่มีจำนวน 27 คน แม้จะดูไม่น่าเป็นไปได้ แต่จริงๆ แล้วมีโอกาส 50% ที่คนสองคนจะมีวันเกิดวันเดียวกัน

ทำไมเป็นเช่นนี้? คนหนึ่งคนมีความน่าจะเป็น 1/365 ที่จะมีวันเกิดที่ 'ถูกต้อง' โอกาสที่คนที่สองจะมีวันเกิดวันเดียวกันนั้นก็คือ 1/365 เช่นกัน หากต้องการหาความน่าจะเป็นที่ทั้งคู่มีวันเกิดวันเดียวกัน เราต้องคูณความน่าจะเป็น ถ้าขยายขนาด ถ้าคุณมีวันเกิดที่แตกต่างกัน 365 วันเกิด และความเป็นไปได้ 365 วันเกิด คุณต้องมีรากที่สองของ 365 ซึ่งเป็นคนสุ่มเลือก 23 คนเพื่อโอกาส 50% ที่จะมีคนที่ตรงกัน

เมื่อใช้ทฤษฎีนี้กับการแฮช เราตระหนักดีว่าในทางเทคนิค ไม่มีฟังก์ชันแฮชที่ไม่มีการชนกัน แต่ควรใช้เวลานานกว่าจะเกิดขึ้น!

Hashing ถูกนำมาใช้ใน Blockchain อย่างไร?

อัตราแฮชรวมของ Bitcoin: Blockchain.com

Bitcoin ทำงานบนบล็อกเชนและใช้อัลกอริทึมการแฮช 'SHA-256' (อัลกอริทึมแฮชที่ปลอดภัย 256) สำหรับ bitcoin ฟังก์ชันแฮชจะใช้สำหรับฟังก์ชันหลักสามฟังก์ชัน:

ขุดเหมือง

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

การเชื่อมโยงบล็อก

เพื่อเพิ่ม ความปลอดภัย; แต่ละบล็อกบนบล็อกเชนเชื่อมโยงกับบล็อกก่อนหน้า สิ่งนี้สามารถทำได้ด้วยตัวชี้แฮช (ตัวแปรที่เก็บที่อยู่ของตัวแปรอื่น) โดยพื้นฐานแล้ว แต่ละบล็อกจะมีผลแฮชจากบล็อกก่อนหน้าบนบล็อกเชน สิ่งนี้ทำให้แน่ใจได้ว่าสามารถติดตามประวัติของบล็อคเชนได้อย่างง่ายดาย และลดโอกาสที่บล็อคที่เป็นอันตรายจะถูกเพิ่มเข้าไป

การสร้างคีย์

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

ความสำคัญของการแฮช

ฟังก์ชันแฮชทำให้สกุลเงินดิจิทัลมีความปลอดภัยระดับสูง แม้ว่าตามทฤษฎีแล้ว ไม่มีสิ่งใดในโลกออนไลน์ที่สามารถรอดพ้นจากการแฮ็กได้ ฟังก์ชั่นแฮชให้ระดับความยากสูงสุดที่มีอยู่ในปัจจุบัน

ข้อสงวนสิทธิ์:

  1. บทความนี้ทำซ้ำจาก [Beincrypto] และลิขสิทธิ์เป็นของผู้เขียนต้นฉบับ [Jessica Lloyd] หากมีการคัดค้านการทำซ้ำ โปรดติดต่อทีมงาน Gate Learn และทีมงานจะดำเนินการทันทีตามขั้นตอนที่เกี่ยวข้อง
  2. ข้อสงวนสิทธิ์: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงมุมมองส่วนตัวของผู้เขียนเท่านั้น และไม่ถือเป็นคำแนะนำในการลงทุนใดๆ
  3. บทความเวอร์ชันภาษาอื่นๆ ได้รับการแปลโดยทีมงาน Gate Learn โดยไม่กล่าวถึง Gate.io จะไม่ได้รับอนุญาตให้คัดลอก เผยแพร่ หรือลอกเลียนแบบบทความที่แปลแล้ว
เริ่มตอนนี้
สมัครและรับรางวัล
$100