สายโซ่แฮชและการเชื่อมโยงบล็อก
สร้างบล็อกเชนขนาดเล็กด้วยตัวชี้แฮชเพื่อทำความเข้าใจความไม่เปลี่ยนรูป
สายโซ่แฮชและการเชื่อมโยงบล็อก เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน
ห่วงโซ่แฮชคืออะไร
ห่วงโซ่แฮชเชื่อมโยงบล็อกข้อมูลเข้าด้วยกัน โดยแต่ละบล็อกจะมีแฮชของบล็อกก่อนหน้าอยู่ภายใน การแก้ไขบล็อกใดก็ตามจะทำให้แฮชของบล็อกนั้นเปลี่ยนไป และทำให้บล็อกทั้งหมดที่ตามมาใช้ไม่ได้ ห่วงโซ่นี้จึงสร้างบัญชีรายการที่ตรวจพบการแก้ไขได้และเพิ่มข้อมูลได้อย่างเดียว
โครงสร้างบล็อก
แต่ละบล็อกประกอบด้วย: (1) ส่วนข้อมูล (ธุรกรรม) (2) แฮชของบล็อกก่อนหน้า (ตัวชี้ไปยังบล็อกก่อนหน้า) (3) การประทับเวลา (4) นอนซ์ (สำหรับการพิสูจน์การทำงาน) (5) รากเมอร์เคิลของธุรกรรม บล็อกแรก (บล็อกกำเนิด) มี previous_hash = "0"*64
บล็อกเชนอย่างง่ายด้วย Python
import hashlib, json class Block: def __init__(self, data, prev_hash): self.data = data self.prev_hash = prev_hash self.hash = hashlib.sha256( json.dumps({'data':data,'prev':prev_hash}).encode() ).hexdigest()
เหตุใดตัวชี้แฮชจึงรับรองความถูกต้องครบถ้วน
หากผู้โจมตีแก้ไขข้อมูลของบล็อก 3 แฮชของบล็อก 3 จะเปลี่ยนไป บล็อก 4 อ้างอิงแฮชเดิมของบล็อก 3 ทำให้ห่วงโซ่ขาดที่บล็อก 4 ผู้โจมตีจึงต้องคำนวณแฮชใหม่สำหรับบล็อก 3, 4, 5, ... ไปจนถึงบล็อกปลายสุดทั้งหมด เมื่อใช้การพิสูจน์การทำงาน การคำนวณเช่นนี้ทำได้ยากเกินกว่าจะเป็นไปได้ในทางปฏิบัติ
ความเปลี่ยนแปลงไม่ได้เทียบกับหลักฐานการถูกแก้ไข
ห่วงโซ่แฮชให้หลักฐานว่ามีการแก้ไข แต่ไม่ได้ทำให้ข้อมูลเปลี่ยนแปลงไม่ได้ด้วยตัวมันเอง หากไม่มีกลไกเพิ่มเติม เช่น การพิสูจน์การทำงาน ลายเซ็นดิจิทัล และการกระจายข้อมูล ผู้โจมตีที่ควบคุมห่วงโซ่ได้ก็สามารถเขียนห่วงโซ่ใหม่ได้ ฉันทามติแบบกระจายคือสิ่งที่ทำให้บล็อกเชนต้านทานการแก้ไขได้ในทางปฏิบัติ
กฎห่วงโซ่ที่ยาวที่สุด
กฎห่วงโซ่ที่ยาวที่สุดของบิตคอยน์: ห่วงโซ่ที่ถูกต้องซึ่งมีหลักฐานการทำงานสะสมมากที่สุดถือเป็นห่วงโซ่หลัก หากผู้โจมตีแยกห่วงโซ่ออกไป นักขุดที่ซื่อสัตย์จะต่อห่วงโซ่ที่ถูกต้องได้เร็วกว่า (สมมติฐาน 51%) ห่วงโซ่ที่ผู้โจมตีสร้างจึงสั้นกว่าและถูกทิ้ง
ส่วนหัวเทียบกับบล็อกเต็ม
ไคลเอ็นต์ SPV (การตรวจสอบการชำระเงินอย่างง่าย) ของบิตคอยน์จะดาวน์โหลดเฉพาะส่วนหัวบล็อกขนาด 80 ไบต์ ซึ่งมีแฮชก่อนหน้า รากเมอร์เคิล นอนซ์ การประทับเวลา และบิต โหนดเต็มรูปแบบจะจัดเก็บธุรกรรมทั้งหมด ไคลเอ็นต์ SPV ตรวจสอบธุรกรรมด้วยหลักฐานเมอร์เคิลเทียบกับรากเมอร์เคิลในส่วนหัว
บล็อกกำเนิด
บล็อกกำเนิดของบิตคอยน์ (บล็อก 0, 3 ม.ค. 2009) มี prev_hash = 0x000...0 ซาโตชิฝังพาดหัวข่าว "เดอะไทมส์ 03/ม.ค./2009 รัฐมนตรีคลังใกล้ต้องขอความช่วยเหลือครั้งที่สองแก่ธนาคาร" ไว้ในธุรกรรมคอยน์เบสเพื่อเป็นหลักฐานยืนยันเวลา
ลำดับการควบคุมดูแล
ห่วงโซ่แฮชมีมาก่อนบล็อกเชน การใช้งาน ได้แก่ รายการเพิกถอนใบรับรอง (เชื่อมโยงด้วยแฮช) ความถูกต้องของบันทึก (ใช้แฮชของรายการบันทึกก่อนหน้า) และห่วงโซ่แห่งความไว้วางใจของ DNSSEC แนวคิดนี้ใช้ได้ทั่วไปกับโครงสร้างแบบเพิ่มข้อมูลได้อย่างเดียวทุกชนิด ซึ่งแต่ละรายการรับรองรายการก่อนหน้าทั้งหมด
การกำหนดจุดตรวจสอบ
เพื่อเร่งการซิงค์เริ่มต้น Bitcoin Core จะฝังแฮชของจุดตรวจสอบไว้ตายตัว ซึ่งเป็นแฮชของบล็อกที่ทราบว่าถูกต้อง ณ ความสูงบางค่า ไคลเอ็นต์ที่เริ่มซิงค์สามารถข้ามการตรวจสอบการพิสูจน์การทำงานของบล็อกก่อนจุดตรวจสอบได้ โดยเชื่อถือแฮชที่ฝังไว้ตายตัว ข้อแลกเปลี่ยนคือทำให้ลดการพึ่งพาความไว้วางใจได้น้อยลง
การระบุที่อยู่ด้วยเนื้อหา
Git ใช้หลักการเดียวกัน โดยแต่ละคอมมิตจะระบุด้วย SHA-1/SHA-256 ของเนื้อหาและแฮชของคอมมิตแม่ การเรียกดูคอมมิตที่มีแฮชใดแฮชหนึ่งจะได้สถานะนั้นอย่างตรงกันทุกประการ ประวัติทั้งหมดของ Git จึงเป็นต้นไม้ออบเจ็กต์ที่เชื่อมโยงด้วยแฮช
ตรวจสอบความเข้าใจ
เหตุใดผู้โจมตีจึงต้องคำนวณแฮชของบล็อกทั้งหมดที่ตามมาใหม่ หลังจากแก้ไขบล็อกหนึ่งบล็อก
สรุปทบทวน
ห่วงโซ่แฮชเชื่อมโยงบล็อกด้วยตัวชี้เชิงการเข้ารหัสลับ การแก้ไขจะส่งผลต่อบล็อกทั้งหมดที่ตามมา เมื่อใช้ร่วมกับการพิสูจน์การทำงานและฉันทามติแบบกระจาย จึงทำให้บล็อกเชนเปลี่ยนแปลงไม่ได้ในทางปฏิบัติ บทถัดไป: ต้นไม้เมอร์เคิลสำหรับตรวจสอบความถูกต้องของธุรกรรมอย่างมีประสิทธิภาพ
คำถามที่พบบ่อย
บทเรียน “สายโซ่แฮชและการเชื่อมโยงบล็อก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “สายโซ่แฮชและการเชื่อมโยงบล็อก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “สายโซ่แฮชและการเชื่อมโยงบล็อก”
สร้างบล็อกเชนขนาดเล็กด้วยตัวชี้แฮชเพื่อทำความเข้าใจความไม่เปลี่ยนรูป คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “สายโซ่แฮชและการเชื่อมโยงบล็อก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม
ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- สายโซ่แฮชและการเชื่อมโยงบล็อก
- ต้นไม้ Merkle: ความถูกต้องของธุรกรรมในระดับใหญ่
- Proof of Work: การขุดและการปรับความยาก
- สคริปต์ Bitcoin และการตรวจสอบลายมือชื่อ UTXO