ข้ามไปยังเนื้อหา

บล็อกเชน: สถานะ ฉันทามติ และการตรวจสอบ

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

อัปเดต

จัดทำขึ้นเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน การลงทุนอาจทำให้สูญเสียเงินลงทุนได้

คำตอบโดยตรง

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

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

บล็อกเชนอาจใช้โมเดลสถานะแบบ UTXO บัญชี อ็อบเจ็กต์ หรือแบบเฉพาะแอปพลิเคชัน ใช้ proof of work, proof of stake, การลงคะแนนที่ทนต่อความผิดพลาดแบบไบแซนไทน์ หรือฉันทามติแบบมีสิทธิ์เข้าถึง และอาจมีการยืนยันขั้นสุดท้ายแบบความน่าจะเป็นหรือแบบจุดตรวจ ดังนั้นคำว่า “บล็อกเชน” จึงหมายถึงสถาปัตยกรรมหลายรูปแบบ ไม่ใช่หลักประกันด้านความปลอดภัยหรือผลิตภัณฑ์ฐานข้อมูลชนิดเดียว

1
สร้าง

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

วิธีการทำงาน

  1. ระบุเชน เครือข่าย เวอร์ชันโปรโตคอล โมเดลสิทธิ์ โมเดลสถานะ และข้ออ้างที่ต้องการตรวจสอบให้ชัดเจน บันทึกบล็อกกำเนิดหรือจุดตรวจที่เชื่อถือได้ ตัวระบุเชน การติดตั้งไคลเอนต์ และผู้มีอำนาจอัปเกรด
  2. สร้างไบต์ของธุรกรรมและการอนุญาตให้ตรงทุกประการ ก่อนเผยแพร่ ให้ตรวจสอบความเป็นเจ้าของของผู้ส่งหรืออินพุต ค่า nonce หรือการอ้างอิงเอาต์พุตที่ยังไม่ถูกใช้ จำนวนเงิน ปลายทาง ขีดจำกัดค่าธรรมเนียม ช่วงเวลาที่ใช้ได้ ลายเซ็น และการเรียกแอปพลิเคชัน
  3. เผยแพร่ธุรกรรมผ่านเพียร์หรือเกตเวย์ แยกนโยบายรับธุรกรรมและ mempool ของแต่ละโหนดออกจากความถูกต้องตามฉันทามติ เพราะโหนดอาจปฏิเสธ หน่วงเวลา แทนที่ หรือไม่เคยได้รับธุรกรรมที่สามารถถูกต้องเมื่ออยู่ในบล็อก
  4. ผู้เสนอเลือกและเรียงลำดับธุรกรรมในบล็อกผู้สมัคร พร้อมคอมมิตต่อฟิลด์ของโปรโตคอล เช่น บล็อกแม่ และรากของธุรกรรม ใบเสร็จ สถานะ หรือข้อมูล ลำดับธุรกรรมอาจส่งผลต่อผลการประมวลผล ค่าธรรมเนียม การชำระบัญชี และมูลค่าที่สกัดได้
  5. โหนดอิสระถอดรหัสบล็อก ตรวจสอบสิทธิ์ตามฉันทามติและทุกการเปลี่ยนสถานะที่จำเป็น คำนวณคอมมิตเมนต์ใหม่ และปฏิเสธอินพุตที่ไม่ถูกต้องหรือข้อมูลที่ไม่พร้อมใช้ตามกฎของตน ลายเซ็นของผู้ผลิตหรือ proof of work ไม่อาจลบล้างการตรวจสอบที่ไม่ผ่าน
  6. กฎเลือกฟอร์กใช้เลือกระหว่างประวัติที่ถูกต้องหลายสาย ส่วนการยืนยัน การลงคะแนน หรือจุดตรวจทำให้ความเสี่ยงของการปรับโครงสร้างเปลี่ยนไปตามเวลา สถานะ “รวมแล้ว” “ปลอดภัย” และ “ยืนยันขั้นสุดท้ายแล้ว” แตกต่างกันและต้องตีความตามโปรโตคอลนั้น
  7. กระทบยอดสถานะในโปรโตคอลกับเจตนาของแอปพลิเคชัน การดูแลทรัพย์สิน บัญชีของบริดจ์หรือแพลตฟอร์ม และข้อกำหนดการเก็บถาวร เก็บไบต์ธุรกรรม แฮชบล็อก ความสูงหรือสล็อต ใบเสร็จ บันทึก หลักฐานสถานะ สถานะการยืนยันขั้นสุดท้าย เวอร์ชันไคลเอนต์ และหลักฐานจากปลายทางอิสระ

ตัวอย่างการทำงาน

  • การกระทบยอดสถานะบัญชี บัญชีเริ่มต้นด้วย 10 ETH และ nonce 41 ธุรกรรมที่ถูกต้องซึ่งใช้ nonce 41 โอน 2 ETH และเสียค่าธรรมเนียม 0.00042 ETH ดังนั้นสถานะหลังธุรกรรมแบบย่อคือ 10 - 2 - 0.00042 = 7.99958 ETH ผู้รับเพิ่มขึ้น 2 ETH และ nonce ของผู้ส่งเปลี่ยนเป็น 42 ลายเซ็นที่ถูกต้องเพียงอย่างเดียวไม่พิสูจน์ว่ายอดคงเหลือก่อนหน้าพอหรือการประมวลผลสำเร็จ
  • การอนุรักษ์ UTXO ธุรกรรมใช้อินพุต 0.80 BTC และ 0.35 BTC รวม 1.15 BTC เอาต์พุต 1.00 BTC และ 0.1496 BTC รวม 1.1496 BTC ส่วนต่าง 1.15 - 1.1496 = 0.0004 BTC คือค่าธรรมเนียม โหนดยังต้องตรวจสอบว่าเอาต์พุตอ้างอิงทุกตัวมีอยู่ ยังไม่ถูกใช้ และเป็นไปตามเงื่อนไขการใช้จ่าย
  • ขนาดของหลักฐานคอมมิตเมนต์ ในตัวอย่างต้นไม้ Merkle แบบไบนารีสมดุลที่มี 8 leaves เส้นทางพิสูจน์ต้องใช้ log2(8) = 3 sibling hashes เมื่อแฮชมีขนาด 256-bit = 32-byte แฮชข้างเคียงใช้ 3 * 32 = 96 bytes ก่อนรวมดัชนีและการเข้ารหัส หลักฐานผูก leaf เข้ากับ root ที่อ้าง แต่ไม่พิสูจน์ว่าข้อมูลต้นทางเป็นจริงหรือยังพร้อมใช้งาน
  • น้ำหนักไม่ใช่จำนวนโหนด ในตัวอย่างโปรโตคอลลงคะแนนที่กำหนดเกณฑ์การยืนยันขั้นสุดท้ายเป็นน้ำหนัก >= 2/3 ผู้ตรวจสอบมีน้ำหนัก 30%, 25%, 20%, 15%, 10% สามรายแรกรวม 30 + 25 + 20 = 75% และผ่านเกณฑ์ ส่วนสองรายแรกรวม 55% และไม่ผ่าน เกณฑ์จริง ความสัมพันธ์ การลงคะแนนขัดแย้ง และกฎการกู้คืนต้องอ้างอิงโปรโตคอลที่ระบุ

ความเสี่ยง

  • การใช้เชน เครือข่าย ฟอร์ก จุดตรวจ หรือตัวระบุเชนผิดรายการ
  • การปฏิบัติต่อชื่อแบรนด์ในฐานะโปรโตคอลที่สมบูรณ์หรือข้อกำหนดรูปแบบความน่าเชื่อถือ
  • สมมติว่าการเชื่อมโยงแฮชเพียงอย่างเดียวจะป้องกันการเขียนซ้ำที่ได้รับอนุญาตหรือได้รับการอนุมัติเป็นเอกฉันท์
  • การสับสนระหว่างการเสนอบล็อกของผู้ผลิตกับการตรวจสอบบล็อกโดยโหนดอิสระ
  • การถือว่าการยอมรับเข้า mempool การเผยแพร่ การรวมในบล็อก ความสำเร็จในการประมวลผล และการยืนยันขั้นสุดท้ายเป็นสถานะเดียวกัน
  • ไบต์การลงนาม โดเมน หรือปลายทางที่แตกต่างจากสิ่งที่อินเทอร์เฟซแสดง
  • การนำ nonces มาใช้ซ้ำ การใช้ UTXO ที่เก่าแล้ว หรือการคำนวณค่าธรรมเนียมและการเปลี่ยนแปลงผิด
  • การเชื่อถือสัญลักษณ์โทเค็น ป้ายกำกับ เหตุการณ์ หรือการตีความ explorer แทนตัวระบุและสถานะโปรโตคอล
  • การปฏิบัติต่ออินพุตของ oracle, บริดจ์ หรือเอกสารที่ลงนามแล้ว เพื่อเป็นข้อพิสูจน์ว่าการอ้างสิทธิ์นอกเครือข่ายนั้นเป็นเรื่องจริง
  • ละเว้นการเรียงลำดับธุรกรรม การเซ็นเซอร์ การดำเนินการส่วนหน้า และผู้เสนอหรือการรวมตัวของผู้สร้าง
  • การนับโหนดหรือ Validator โดยไม่ต้องแก้ไขตัวดำเนินการทั่วไป น้ำหนัก และโครงสร้างพื้นฐาน
  • ไม่สนใจไคลเอ็นต์ คลาวด์ ภูมิศาสตร์ การกำกับดูแล คีย์ และห่วงโซ่อุปทานซอฟต์แวร์ ความเข้มข้น
  • สมมติว่าโมเดลฉันทามติทั้งหมดมีเกณฑ์ข้อบกพร่องหรือซีแมนทิกส์สุดท้ายที่เหมือนกัน
  • การละเลยการแบ่งพาร์ติชันของเครือข่าย การยืนยันขั้นสุดท้ายที่ล่าช้า การปรับโครงสร้าง การลงคะแนนขัดแย้ง และขั้นตอนการกู้คืน
  • การยอมรับส่วนหัวของบล็อกหรือการพิสูจน์โดยไม่มีสมมติฐานด้านความพร้อมใช้งานของข้อมูลที่จำเป็น
  • ขึ้นอยู่กับ RPC หนึ่งตัว, explorer, กระเป๋าสินทรัพย์ดิจิทัล, ตัวจัดทำดัชนีหรือแพลตฟอร์มการดูแลเป็นแหล่งที่มาของความจริง
  • การครอบครองหรือการควบคุมโปรโตคอลที่สับสนด้วยชื่อทางกฎหมาย การขอความช่วยเหลือ หรือความสามารถในการกู้คืน
  • การประเมินการเติบโตของสถานะต่ำเกินไป การสูญเสียการเก็บถาวร ค่าใช้จ่ายในการซิงโครไนซ์ และอุปสรรคด้านฮาร์ดแวร์
  • การเพิกเฉยต่อคีย์การอัปเกรด การหยุดชั่วคราวฉุกเฉิน การฟื้นฟูทางสังคม และ Fork ที่เป็นที่ถกเถียง
  • การอนุมานความเป็นส่วนตัว ความสามารถในการปรับขนาด มูลค่าการลงทุน หรือความปลอดภัยของแอปพลิเคชันจากป้ายกำกับ บล็อกเชน

ความเข้าใจผิดทั่วไป

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

หัวข้อที่เกี่ยวข้อง

แหล่งที่มา

การนำทาง

ค้นหาในวิกิ...