Zelcore
Z
Zelcore TeamMulti-Asset Crypto Wallet & Web3 Ecosystem

บล็อกและเชนทำงานอย่างไร

อ่าน 8 นาที
ภาพอธิบายการทำงานของบล็อกและเชน

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

อธิบายอย่างเข้าใจง่าย

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

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

ภายในบล็อกมีอะไรบ้าง

ทุกบล็อกมีสองส่วน ได้แก่ ส่วนหัวบล็อก และส่วนเนื้อหา

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

กลไกการเชื่อมโยงของเชนอยู่ในส่วนหัว ส่วนหัวบล็อก Bitcoin มีขนาด 80 ไบต์พอดี และประกอบด้วย 6 ฟิลด์ ได้แก่

  1. เวอร์ชัน — ระบุว่าบล็อกนี้ใช้ชุดกฎการตรวจสอบใด
  2. แฮชส่วนหัวของบล็อกก่อนหน้า — ลายนิ้วมือของบล็อกที่อยู่ก่อนหน้านี้โดยตรง ซึ่งเป็นสิ่งที่เชื่อมบล็อกเข้าด้วยกัน
  3. แฮชรากเมอร์เคิล — แฮชค่าเดียวที่สรุปธุรกรรมทั้งหมดในส่วนเนื้อหา หากธุรกรรมใดเปลี่ยน ค่านี้ก็จะเปลี่ยน
  4. เวลา — เวลาที่ขุดบล็อก โดยบันทึกในรูปแบบ Unix epoch
  5. nBits (เป้าหมายความยาก) — ค่าที่แสดงระดับความยากของปริศนาที่นักขุดต้องแก้ในรูปแบบย่อ
  6. Nonce — ตัวเลขสุ่มขนาด 4 ไบต์ที่นักขุดปรับระหว่างการขุด (จะอธิบายเพิ่มเติมด้านล่าง)

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

แฮชคืออะไร และเหตุใดจึงสำคัญ

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

Bitcoin ใช้ double SHA-256 โดยคำนวณ SHA256 สองครั้ง SHA256(SHA256(block_header)) ผลลัพธ์คือ ID เฉพาะของบล็อก

คุณสมบัติสามประการทำให้ฟังก์ชันแฮชมีประโยชน์ในกรณีนี้:

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

เชื่อมบล็อกเข้าด้วยกันเป็นเชนได้อย่างไร

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

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

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

เหตุใดการแก้ไขจึงทำให้ทั้งเชนใช้ไม่ได้

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

หากต้องการทำให้เชนที่ถูกแก้ไขกลับมาถูกต้อง ผู้โจมตีต้องทำ proof of work ใหม่สำหรับทุกบล็อก ตั้งแต่บล็อกที่ถูกแก้ไปจนถึงบล็อกล่าสุด Proof of work คือกระบวนการที่นักขุดใช้ค้นหาบล็อกที่ถูกต้อง โดยปรับ nonce ซ้ำ ๆ (ตัวนับขนาด 4 ไบต์ในส่วนหัว) แล้วแฮชส่วนหัวทั้งหมด จนกว่าจะได้ผลลัพธ์ที่ต่ำกว่า เป้าหมายความยาก ของเครือข่าย การหา nonce ที่ถูกต้องต้องใช้การประมวลผลมหาศาล ส่วนการตรวจสอบความถูกต้องใช้เวลาเพียงเสี้ยววินาที

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

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

ความไม่สมดุลนี้ ซึ่งการแก้ไขมีต้นทุนมหาศาล แต่การตรวจสอบทำได้ง่าย คือรากฐานทางเศรษฐกิจที่ทำให้ข้อมูลบนบล็อกเชนเปลี่ยนแปลงไม่ได้

สิ่งนี้มีความหมายต่อคุณในฐานะผู้ใช้อย่างไร

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

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

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

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

สรุปประเด็นสำคัญ


อ่านเพิ่มเติม

บล็อกเชนคืออะไรกันแน่

บล็อกเชนคืออะไรกันแน่

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

อ่าน 7 นาที
ภาพแสดงขั้นตอนการทำงานของธุรกรรมบนบล็อกเชน

ธุรกรรมบนบล็อกเชนทำงานอย่างไร ทีละขั้นตอน

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

อ่าน 10 นาที
ใครเป็นผู้เก็บรักษา Ledger? ทำความเข้าใจโหนดและการกระจายศูนย์

ใครเป็นผู้เก็บรักษา Ledger? ทำความเข้าใจโหนดและการกระจายศูนย์

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

อ่าน 9 นาที

สมัครรับจดหมายข่าว

รับข่าวสารอัปเดตจากเราเดือนละครั้ง ไม่มีสแปม มีเพียงเรื่องล่าสุดจาก Zelcore

สมัครรับจดหมายข่าว