บทเรียนที่ 2

Bitcoin ทำงานอย่างไร

Bitcoin ใช้เทคโนโลยีบล็อกเชนซึ่งเป็นบัญชีแยกประเภทที่เผยแพร่ต่อสาธารณะซึ่งใช้กลไกฉันทามติ PoW เพื่อรักษาความปลอดภัยเครือข่าย

การกำเนิดของ bitcoin และ blockchain นั้นเกี่ยวข้องกับปัญหาสองประการที่มีมาอย่างยาวนานในสกุลเงินดิจิทัล: ปัญหาการใช้จ่ายซ้ำซ้อนและปัญหานายพลไบแซนไทน์

จากสกุลเงินจริงเป็นสกุลเงินดิจิทัล: การแก้ปัญหาการใช้จ่ายซ้ำซ้อน

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

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

ระบบที่ไม่ต้องการความเชื่อถือ: บัญชีแยกประเภทแบบกระจาย

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

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

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

การใช้งานบัญชีแยกประเภทแบบกระจาย: บล็อกและบล็อกเชน

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

Bitcoin เป็นแอปพลิเคชั่นขนาดใหญ่ตัวแรกของ blockchain และ blockchain เป็นรากฐานที่สำคัญของ Bitcoin

ระบบ Bitcoin สามารถแบ่งออกเป็นสามชั้น: ชั้นข้อมูล ชั้นโปรโตคอล และชั้นแอปพลิเคชัน เริ่มจาก “บัญชีแยกประเภท” (ชั้นข้อมูล) ที่สมาชิกระบบ Bitcoin แต่ละคนมีอยู่

จาก Merkle Trees บล็อก "โซ่"

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

ฟังก์ชันแฮช (SHA-256 และ RipeMD160) เป็นอัลกอริธึมการเข้ารหัสที่สำคัญใน Bitcoin ที่สามารถแปลงค่าอินพุตที่มีความยาวตามอำเภอใจให้เป็นเอาต์พุตค่าความยาวคงที่ด้วยการสุ่ม ฟีเจอร์ที่ไม่มีการชนกัน และเป็นการยากที่จะคาดเดาค่าอินพุตสำหรับ ฟังก์ชันแฮชจากเอาต์พุต การเปลี่ยนแปลงเล็กน้อยในอินพุตอาจส่งผลให้เอาต์พุตแตกต่างกันอย่างมาก เอาต์พุตของฟังก์ชันแฮชสามารถรับได้ง่ายจากอินพุต แต่การอนุมานอินพุตจากเอาต์พุตต้องใช้การแจงนับแบบ brute-force ซึ่งใช้เวลาและพลังในการคำนวณจำนวนมาก การใช้ฟังก์ชันแฮชซ้ำๆ ช่วยลดความยุ่งยากและกำหนดโครงสร้างข้อมูลของ Bitcoin

บล็อก Bitcoin ประกอบด้วยสองส่วน: ตัวบล็อกและส่วนหัวของบล็อก เนื้อหาของบล็อกประกอบด้วยข้อมูลการทำธุรกรรมทั้งหมดในบล็อกนั้น ซึ่งถูกแฮชหลายครั้งเพื่อสร้างโครงสร้างที่เรียกว่า Merkle tree ซึ่งประกอบขึ้นเป็นเนื้อหาของบล็อก ข้อความธุรกรรมแรกในแต่ละบล็อกเหล่านี้เรียกอีกอย่างว่าธุรกรรม coinbase และเป็นธุรกรรมที่สร้าง bitcoins ใหม่และให้รางวัลแก่นักขุด ในขณะที่ธุรกรรมอื่น ๆ ทั้งหมดจะถูกโอนระหว่างผู้ใช้ซึ่งกันและกัน

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

Proof-of-Work (PoW): กลไกฉันทามติเพื่อความปลอดภัยของเครือข่าย

หลังจากแนะนำ “บัญชีแยกประเภท” (ชั้นข้อมูล) ที่เก็บโดยแต่ละโหนดแล้ว เรามาต่อที่ชั้นฉันทามติของ Bitcoin ซึ่งรับผิดชอบด้านความปลอดภัยของเครือข่าย

ก่อนที่จะเจาะลึกถึงฉันทามติแบบกระจาย สิ่งสำคัญคือต้องเข้าใจปัญหา "Byzantine Generals"

Byzantine Generals: ปัญหาการซิงโครไนซ์ข้อความหลายข้อความ

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

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

Proof-of-Work(PoW): คำนวณคำตอบและเผยแพร่ไปยังเครือข่ายเพื่อการตรวจสอบตามเวลาจริง

คำตอบของ Bitcoin คือกลไกฉันทามติ Proof-of-Work (PoW) หรือที่เรียกกันทั่วไปว่า “การขุด” ซึ่งเป็นกระบวนการคำนวณแบบดิจิทัลที่ดำเนินการโดยโหนด โดยที่โหนดแรกที่พบ “คำตอบ” จะได้รับสิทธิ์ในบัญชีแยกประเภท โดยเฉพาะอย่างยิ่ง โหนดจำเป็นต้องพยายามเปลี่ยน Nunce ของส่วนหัวของบล็อก คำนวณแฮชของบล็อก และสุดท้ายจะได้แฮชของบล็อกโดยที่บิตแรกเป็นศูนย์

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

นั่นนำเสนอปัญหาในการที่ข้อมูลใช้เวลาในการถ่ายทอดระหว่างโหนด และเป็นไปได้โดยสิ้นเชิงที่โหนดสองโหนดขึ้นไปจะค้นพบคำตอบของปริศนาในเวลาเดียวกันก่อนที่ชุมชนโดยรวมจะตกลงกันได้ อย่างไรก็ตาม เนื่องจากโหนดสองโหนดบรรจุธุรกรรมฐานเหรียญที่แตกต่างกัน ส่งผลให้มีบล็อกที่ถูกต้องที่แตกต่างกันสองบล็อก เนื่องจากลำดับการส่งสัญญาณที่แตกต่างกัน โหนดขุดจะทำงานบนโซ่ส้อมทั้งสอง ณ จุดนี้ เครือข่าย Bitcoin จะปฏิบัติตาม “กฎลูกโซ่ที่ยาวที่สุด” โดยถือว่า Fork chain ที่มีบล็อกมากที่สุดเป็นบล็อกเชนเดียวที่รู้จัก โดยทั่วไปการแข่งขันทางแยกนี้จะเสร็จสิ้นภายในเวลาน้อยกว่า 6 ช่วงตึก และธุรกรรมทั้งหมดบนเชนที่ถูกละทิ้งอื่นจะถือเป็นโมฆะ

สาระสำคัญของ Bitcoin: โมเดล UXTO

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

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

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

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

ไฮไลท์

  • Bitcoin ใช้เทคโนโลยีบล็อก บล็อกเชนเป็นฐานข้อมูลแบบกระจายอำนาจที่ใช้สร้างบัญชีแยกประเภทแบบกระจาย ดังนั้นจึงไม่จำเป็นต้องใช้ความไว้วางใจจากบุคคลที่สาม และแต่ละโหนดในเครือข่ายจะทำหน้าที่เป็นผู้ดูแลข้อมูล
  • Bitcoin ใช้อัลกอริทึม SHA256 เพื่อสร้างแฮชและจัดเก็บข้อมูลในส่วนหัวของบล็อกและเนื้อหาของบล็อก มันกลายเป็นโครงสร้างที่ประกอบด้วยบล็อกแต่ละบล็อกที่เชื่อมโยงเข้าด้วยกัน และเนื่องจากข้อมูลไม่สามารถเปลี่ยนแปลงได้ จึงมีความปลอดภัยสูง
  • กลไกที่สอดคล้องกันของ Bitcoin คือ Proof-of-Work (PoW) ซึ่งเป็นกลไกที่ช่วยให้โหนดใช้พลังเลขคณิตเพื่อไขปริศนาและซิงโครไนซ์ธุรกรรมกับโหนดอื่นเพื่อรับรางวัลบล็อก
ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn
แคตตาล็อก
บทเรียนที่ 2

Bitcoin ทำงานอย่างไร

Bitcoin ใช้เทคโนโลยีบล็อกเชนซึ่งเป็นบัญชีแยกประเภทที่เผยแพร่ต่อสาธารณะซึ่งใช้กลไกฉันทามติ PoW เพื่อรักษาความปลอดภัยเครือข่าย

การกำเนิดของ bitcoin และ blockchain นั้นเกี่ยวข้องกับปัญหาสองประการที่มีมาอย่างยาวนานในสกุลเงินดิจิทัล: ปัญหาการใช้จ่ายซ้ำซ้อนและปัญหานายพลไบแซนไทน์

จากสกุลเงินจริงเป็นสกุลเงินดิจิทัล: การแก้ปัญหาการใช้จ่ายซ้ำซ้อน

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

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

ระบบที่ไม่ต้องการความเชื่อถือ: บัญชีแยกประเภทแบบกระจาย

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

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

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

การใช้งานบัญชีแยกประเภทแบบกระจาย: บล็อกและบล็อกเชน

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

Bitcoin เป็นแอปพลิเคชั่นขนาดใหญ่ตัวแรกของ blockchain และ blockchain เป็นรากฐานที่สำคัญของ Bitcoin

ระบบ Bitcoin สามารถแบ่งออกเป็นสามชั้น: ชั้นข้อมูล ชั้นโปรโตคอล และชั้นแอปพลิเคชัน เริ่มจาก “บัญชีแยกประเภท” (ชั้นข้อมูล) ที่สมาชิกระบบ Bitcoin แต่ละคนมีอยู่

จาก Merkle Trees บล็อก "โซ่"

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

ฟังก์ชันแฮช (SHA-256 และ RipeMD160) เป็นอัลกอริธึมการเข้ารหัสที่สำคัญใน Bitcoin ที่สามารถแปลงค่าอินพุตที่มีความยาวตามอำเภอใจให้เป็นเอาต์พุตค่าความยาวคงที่ด้วยการสุ่ม ฟีเจอร์ที่ไม่มีการชนกัน และเป็นการยากที่จะคาดเดาค่าอินพุตสำหรับ ฟังก์ชันแฮชจากเอาต์พุต การเปลี่ยนแปลงเล็กน้อยในอินพุตอาจส่งผลให้เอาต์พุตแตกต่างกันอย่างมาก เอาต์พุตของฟังก์ชันแฮชสามารถรับได้ง่ายจากอินพุต แต่การอนุมานอินพุตจากเอาต์พุตต้องใช้การแจงนับแบบ brute-force ซึ่งใช้เวลาและพลังในการคำนวณจำนวนมาก การใช้ฟังก์ชันแฮชซ้ำๆ ช่วยลดความยุ่งยากและกำหนดโครงสร้างข้อมูลของ Bitcoin

บล็อก Bitcoin ประกอบด้วยสองส่วน: ตัวบล็อกและส่วนหัวของบล็อก เนื้อหาของบล็อกประกอบด้วยข้อมูลการทำธุรกรรมทั้งหมดในบล็อกนั้น ซึ่งถูกแฮชหลายครั้งเพื่อสร้างโครงสร้างที่เรียกว่า Merkle tree ซึ่งประกอบขึ้นเป็นเนื้อหาของบล็อก ข้อความธุรกรรมแรกในแต่ละบล็อกเหล่านี้เรียกอีกอย่างว่าธุรกรรม coinbase และเป็นธุรกรรมที่สร้าง bitcoins ใหม่และให้รางวัลแก่นักขุด ในขณะที่ธุรกรรมอื่น ๆ ทั้งหมดจะถูกโอนระหว่างผู้ใช้ซึ่งกันและกัน

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

Proof-of-Work (PoW): กลไกฉันทามติเพื่อความปลอดภัยของเครือข่าย

หลังจากแนะนำ “บัญชีแยกประเภท” (ชั้นข้อมูล) ที่เก็บโดยแต่ละโหนดแล้ว เรามาต่อที่ชั้นฉันทามติของ Bitcoin ซึ่งรับผิดชอบด้านความปลอดภัยของเครือข่าย

ก่อนที่จะเจาะลึกถึงฉันทามติแบบกระจาย สิ่งสำคัญคือต้องเข้าใจปัญหา "Byzantine Generals"

Byzantine Generals: ปัญหาการซิงโครไนซ์ข้อความหลายข้อความ

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

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

Proof-of-Work(PoW): คำนวณคำตอบและเผยแพร่ไปยังเครือข่ายเพื่อการตรวจสอบตามเวลาจริง

คำตอบของ Bitcoin คือกลไกฉันทามติ Proof-of-Work (PoW) หรือที่เรียกกันทั่วไปว่า “การขุด” ซึ่งเป็นกระบวนการคำนวณแบบดิจิทัลที่ดำเนินการโดยโหนด โดยที่โหนดแรกที่พบ “คำตอบ” จะได้รับสิทธิ์ในบัญชีแยกประเภท โดยเฉพาะอย่างยิ่ง โหนดจำเป็นต้องพยายามเปลี่ยน Nunce ของส่วนหัวของบล็อก คำนวณแฮชของบล็อก และสุดท้ายจะได้แฮชของบล็อกโดยที่บิตแรกเป็นศูนย์

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

นั่นนำเสนอปัญหาในการที่ข้อมูลใช้เวลาในการถ่ายทอดระหว่างโหนด และเป็นไปได้โดยสิ้นเชิงที่โหนดสองโหนดขึ้นไปจะค้นพบคำตอบของปริศนาในเวลาเดียวกันก่อนที่ชุมชนโดยรวมจะตกลงกันได้ อย่างไรก็ตาม เนื่องจากโหนดสองโหนดบรรจุธุรกรรมฐานเหรียญที่แตกต่างกัน ส่งผลให้มีบล็อกที่ถูกต้องที่แตกต่างกันสองบล็อก เนื่องจากลำดับการส่งสัญญาณที่แตกต่างกัน โหนดขุดจะทำงานบนโซ่ส้อมทั้งสอง ณ จุดนี้ เครือข่าย Bitcoin จะปฏิบัติตาม “กฎลูกโซ่ที่ยาวที่สุด” โดยถือว่า Fork chain ที่มีบล็อกมากที่สุดเป็นบล็อกเชนเดียวที่รู้จัก โดยทั่วไปการแข่งขันทางแยกนี้จะเสร็จสิ้นภายในเวลาน้อยกว่า 6 ช่วงตึก และธุรกรรมทั้งหมดบนเชนที่ถูกละทิ้งอื่นจะถือเป็นโมฆะ

สาระสำคัญของ Bitcoin: โมเดล UXTO

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

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

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

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

ไฮไลท์

  • Bitcoin ใช้เทคโนโลยีบล็อก บล็อกเชนเป็นฐานข้อมูลแบบกระจายอำนาจที่ใช้สร้างบัญชีแยกประเภทแบบกระจาย ดังนั้นจึงไม่จำเป็นต้องใช้ความไว้วางใจจากบุคคลที่สาม และแต่ละโหนดในเครือข่ายจะทำหน้าที่เป็นผู้ดูแลข้อมูล
  • Bitcoin ใช้อัลกอริทึม SHA256 เพื่อสร้างแฮชและจัดเก็บข้อมูลในส่วนหัวของบล็อกและเนื้อหาของบล็อก มันกลายเป็นโครงสร้างที่ประกอบด้วยบล็อกแต่ละบล็อกที่เชื่อมโยงเข้าด้วยกัน และเนื่องจากข้อมูลไม่สามารถเปลี่ยนแปลงได้ จึงมีความปลอดภัยสูง
  • กลไกที่สอดคล้องกันของ Bitcoin คือ Proof-of-Work (PoW) ซึ่งเป็นกลไกที่ช่วยให้โหนดใช้พลังเลขคณิตเพื่อไขปริศนาและซิงโครไนซ์ธุรกรรมกับโหนดอื่นเพื่อรับรางวัลบล็อก
ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn