BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

การวิจัยล่าสุดของ V God: ข้อ จำกัด ของความสามารถในการปรับขนาดของ blockchain การหักล้างวิธีการขยาย Dogeco

星球君的朋友们
Odaily资深作者
บทความนี้มีประมาณ 6631 คำ การอ่านทั้งหมดใช้เวลาประมาณ 10 นาที
blockchain สามารถปรับขนาดได้แค่ไหน?
สรุปโดย AI
blockchain สามารถปรับขนาดได้แค่ไหน?

บทความนี้มาจาก:วิถีแห่ง DeFiบทความนี้มาจาก:

วิถีแห่ง DeFi

วิถีแห่ง DeFi

ผู้เขียน: Vitalik Buterin ผู้ก่อตั้ง Ethereum ส่งต่อด้วยการอนุญาต

blockchain สามารถปรับขนาดได้แค่ไหน? สามารถทำได้จริงตามที่ Elon Musk (Tesla CEO) ต้องการ "โดยลดเวลาบล็อกลง 10 เท่า เพิ่มขนาดบล็อก 10 เท่า และลดค่าธรรมเนียมการจัดการลง 100 เท่า" โดยไม่ทำให้เกิดการรวมศูนย์มากเกินไปและทำให้บล็อกเสียหายซึ่งเป็นพื้นฐาน คุณสมบัติของห่วงโซ่สาระสำคัญ? ถ้าไม่ ความสามารถในการปรับขนาดของ blockchain สามารถทำได้มากน้อยเพียงใด จะเกิดอะไรขึ้นถ้าคุณเลือกที่จะปรับขนาดโดยการเปลี่ยนอัลกอริทึมที่สอดคล้องกัน ที่สำคัญกว่านั้น จะเกิดอะไรขึ้นหากคุณเปลี่ยนเทคโนโลยีเพื่อแนะนำคุณสมบัติต่างๆ เช่น ZK-SNARK หรือการแบ่งชิ้นส่วน ตามทฤษฎีแล้ว sharded blockchain สามารถเพิ่ม shards ได้มากขึ้น สิ่งนี้จะนำไปสู่การเพิ่มสิ่งต่าง ๆ มากขึ้นหรือไม่?

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

ปัญหาทั้งหมดสามารถแก้ไขได้โดยการเพิ่มพารามิเตอร์ แต่ราคาเท่าไหร่?

1 ผู้ใช้ทั่วไปยังสามารถเรียกใช้โหนดได้ ซึ่งเป็นสิ่งสำคัญสำหรับการกระจายอำนาจของบล็อกเชน

เมื่อเวลา 02:35 น. คุณได้รับโทรศัพท์ด่วนจากเพื่อนที่อยู่อีกซีกโลกหนึ่งให้ช่วยคุณจัดการกลุ่มการขุด (หรืออาจเป็นกลุ่มการเดิมพัน) คู่ของคุณบอกคุณว่าเมื่อประมาณ 14 นาทีที่แล้ว พูลของคุณและพูลอื่นๆ อีกหลายตัวถูกแยกออกจากเชนทันที และเชนเดิมยังคงใช้พลังการประมวลผลเครือข่ายถึง 79% ตามโหนดของคุณ บล็อกที่สร้างโดยเชนส่วนใหญ่นี้ (เชนดั้งเดิม) นั้นไม่ถูกต้อง สิ่งนี้ส่งผลให้เกิดข้อผิดพลาดของยอดคงเหลือ: บล็อคกุญแจดูเหมือนจะจัดสรรเหรียญเพิ่มเติม 4.5 ล้านเหรียญไปยังที่อยู่ที่ไม่รู้จักผิดพลาด

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

ในตอนเช้า ทวิตเตอร์ ฟอรัมชุมชนเต็มไปด้วยข้อโต้แย้งที่ไม่ถูกเซ็นเซอร์ การสนทนามีอยู่ทุกที่ แต่ในเวลานี้ ส่วนใหญ่ของโทเค็น 4.5 ล้านโทเค็นที่ออกใหม่ก่อนหน้านี้ได้ถูกแปลงเป็นสินทรัพย์อื่นบนเครือข่าย และมีการทำธุรกรรม DeFi หลายพันล้านดอลลาร์ 79% ของโหนดที่สอดคล้องกันและเบราว์เซอร์ที่สำคัญทั้งหมดและกระเป๋าเงินขนาดเล็กกำลังติดตามเครือข่ายใหม่นี้ บางทีกองทุนสำหรับนักพัฒนาใหม่นี้อาจจะเป็นทุนในการพัฒนาบางส่วน หรือบางทีเงินทั้งหมดนั้นอาจถูกกลืนหายไปจากกลุ่มการขุดชั้นนำ การแลกเปลี่ยน ฯลฯ แต่ไม่ว่าผลจะออกมาเป็นอย่างไร สำหรับความตั้งใจและวัตถุประสงค์ทั้งหมดแล้ว กองทุนก็ล้มเหลว และผู้ใช้ทั่วไปก็ไม่มีอำนาจที่จะต่อสู้กลับ

การแสดงที่ดีกำลังจะมา อาจได้รับทุนจาก MolochDAO หรืออะไรสักอย่าง

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

ขอให้ชัดเจน: การต่อต้านการเปลี่ยนแปลงโปรโตคอลที่เป็นอันตรายของคุณมาจากวัฒนธรรมของผู้ใช้ที่ตรวจสอบบล็อคเชน แทนที่จะเป็น PoW หรือ PoS - Hasu

สิ่งนี้สามารถเห็นได้จากสิ่งที่ Hasu กล่าว

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

ชื่อระดับแรก

  • 2 แล้วเราต้องทำงานเต็มโหนดมากแค่ไหน?

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

  • มีข้อจำกัดที่สำคัญสามประการสำหรับความสามารถของโหนดทั้งหมดในการประมวลผลธุรกรรมจำนวนมาก:

พลังการประมวลผล: เปอร์เซ็นต์ของพลังงาน CPU ที่จำเป็นสำหรับการรันโหนดอย่างปลอดภัย

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

  • ที่เก็บข้อมูล: เราสามารถขอให้ผู้ใช้จัดเก็บดิสก์ได้เท่าใด นอกจากนี้ ความเร็วในการอ่านต้องใช้ความเร็วเท่าไร? (สามารถใช้ฮาร์ดไดรฟ์เชิงกลของ HDD ได้หรือไม่ หรือคุณต้องการไดรฟ์โซลิดสเทตหรือไม่)

  • ความเข้าใจผิดส่วนใหญ่เกี่ยวกับวิธีที่ blockchain สามารถปรับขนาดได้โดยใช้เทคโนโลยี "ง่ายๆ" เกิดจากการมองโลกในแง่ดีมากเกินไปเกี่ยวกับตัวเลขเหล่านี้ เราสามารถแนะนำปัจจัยทั้งสามนี้ทีละตัว:

ความสามารถในการคำนวณ

  • ข้อผิดพลาด: พลังงาน CPU 100% สามารถใช้สำหรับการตรวจสอบบล็อก

  • ถูกต้อง: สามารถใช้พลังงาน CPU ประมาณ 5-10% สำหรับการตรวจสอบความถูกต้องของบล็อก

  • มีสี่สาเหตุหลักสำหรับเปอร์เซ็นต์ต่ำ:

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

โหนดต้องสามารถซิงค์เชนได้หลังจากออฟไลน์ ถ้าฉันตัดการเชื่อมต่อจากเครือข่ายสักครู่ ฉันน่าจะสามารถซิงค์กับเครือข่ายได้อีกครั้งในไม่กี่วินาที

การเรียกใช้โหนดไม่ควรทำให้แบตเตอรี่หมดเร็วเกินไป และไม่ควรทำให้แอปพลิเคชันอื่นๆ ทั้งหมดทำงานช้าลง

โหนดยังจำเป็นต้องทำงานการผลิตแบบ non-block อื่นๆ โดยส่วนใหญ่จะตรวจสอบความถูกต้องและตอบสนองต่อธุรกรรมและคำขอที่เข้ามาบนเครือข่าย p2p

  • โปรดทราบว่าจนกระทั่งเมื่อเร็วๆ นี้ คำอธิบายส่วนใหญ่สำหรับ "ทำไมเพียง 5-10%" มุ่งเน้นไปที่ปัญหาที่แตกต่างกัน: เนื่องจากบล็อก PoW ปรากฏขึ้นแบบสุ่ม ยิ่งใช้เวลานานในการตรวจสอบความถูกต้องของบล็อกเพิ่มขึ้นพร้อมกัน ความเสี่ยงในการสร้างหลายบล็อก มีวิธีแก้ไขปัญหานี้มากมาย (เช่น Bitcoin NG หรือการใช้ PoS) แต่การแก้ไขเหล่านั้นไม่สามารถแก้ไขอีกสี่ข้อที่เหลือได้ ดังนั้นจึงไม่ได้ให้ประโยชน์อย่างมากในการปรับขนาดอย่างที่หลายคนคิดในตอนแรก

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

แบนด์วิธ

  • ข้อผิดพลาด: หากเราสร้างบล็อกขนาด 10 MB ทุก 2-3 วินาที ผู้ใช้ส่วนใหญ่จะมีความเร็วเครือข่ายมากกว่า 10 MB/วินาที จึงสามารถจัดการกับบล็อกดังกล่าวได้อย่างแน่นอน

  • ถูกต้อง: บางทีเราอาจประมวลผลบล็อก 1-5 MB ทุกๆ 12 วินาที มันยากอยู่แล้ว

  • เรามักจะได้ยินสถิติโฆษณาในปัจจุบันเกี่ยวกับปริมาณแบนด์วิธที่การเชื่อมต่ออินเทอร์เน็ตสามารถให้ได้: มักจะได้ยินตัวเลข 100 Mbps หรือแม้แต่ 1 Gbps อย่างไรก็ตาม มีความคลาดเคลื่อนอย่างมากระหว่างแบนด์วิธที่โฆษณาและแบนด์วิดธ์ที่คาดไว้จริงเนื่องจากสาเหตุหลายประการ:

  • "Mbps" หมายถึง "ล้านบิตต่อวินาที" บิตคือ 1/8 ของไบต์ ดังนั้นคุณต้องหารตัวเลขบิตที่โฆษณาด้วย 8 เพื่อให้ได้จำนวนไบต์ในโฆษณา

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

พื้นที่จัดเก็บ

  • พื้นที่จัดเก็บ

  • ข้อความ

ข้อผิดพลาด: 10 TB

ข้อความ

ถูกต้อง: 512 GB

อย่างที่คุณอาจเดาได้ ข้อโต้แย้งหลักที่นี่: ความแตกต่างระหว่างทฤษฎีและการปฏิบัติ

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

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

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

ชื่อระดับแรก

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

อย่าใช้กราฟนี้อย่างแท้จริง ฐานข้อมูลที่แตกต่างกันทำงานแตกต่างกัน และส่วนในหน่วยความจำมักจะเป็นเพียงระดับเดียว (แต่ใหญ่) (ดูแผนผัง LSM ที่ใช้ใน leveldb) แต่หลักการพื้นฐานเหมือนกัน

ตัวอย่างเช่น หากแคชมีขนาด 4 GB และเราถือว่าแต่ละชั้นของฐานข้อมูลมีขนาดใหญ่กว่าชั้นก่อนหน้า 4 เท่า สถานะปัจจุบันของ Ethereum ที่ ~64 GB จะต้องมีสิทธิ์เข้าถึง ~2 ครั้ง อย่างไรก็ตาม หากขนาดสถานะเพิ่มขึ้น 4x เป็น ~256 GB การเข้าถึงจะเพิ่มเป็น ~3 ดังนั้นการเพิ่มขึ้น 4 เท่าของขีดจำกัดของแก๊สจึงสามารถแปลเป็น ~6 เท่าของเวลาในการตรวจสอบความถูกต้องของบล็อกได้ ผลกระทบอาจรุนแรงกว่า: โดยทั่วไปการอ่านและเขียนจะใช้เวลานานกว่าเมื่อไดรฟ์เต็มนานกว่าเมื่อไดรฟ์ใกล้เต็ม

4 สิ่งนี้หมายความว่าอย่างไรสำหรับ Ethereum

ทุกวันนี้ ใน Ethereum blockchain การเรียกใช้โหนดกลายเป็นเรื่องท้าทายสำหรับผู้ใช้หลายคน แม้ว่าจะยังคงทำได้ในฮาร์ดแวร์ทั่วไป (ฉันเพิ่งซิงค์โหนดบนแล็ปท็อปขณะที่ฉันเขียนสิ่งนี้!) ดังนั้นเราจึงเข้าใกล้คอขวด ความกังวลที่ใหญ่ที่สุดของนักพัฒนาหลักคือขนาดพื้นที่เก็บข้อมูล ดังนั้น สำหรับตอนนี้ ความพยายามอย่างกล้าหาญในการแก้ปัญหาคอขวดของคอมพิวเตอร์และข้อมูล หรือแม้แต่การเปลี่ยนแปลงอัลกอริทึมที่สอดคล้องกัน ไม่น่าจะส่งผลให้ขีดจำกัดก๊าซที่ยอมรับเพิ่มขึ้นอย่างมาก แม้แต่การแก้ช่องโหว่ DoS ที่โดดเด่นที่สุดของ Ethereum ก็ยังเพิ่มขีดจำกัดก๊าซได้เพียง 20% เท่านั้น

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

ชื่อระดับแรก

5 จะเกิดอะไรขึ้นหลังจากแยกส่วน

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

Ethereum กำลังวางแผนที่จะใช้ Quadratic Sharding และความสามารถในการขยายขนาดโดยรวมนั้นถูกจำกัดด้วยข้อเท็จจริงที่ว่าโหนดจะต้องสามารถจัดการ Shards แต่ละตัวได้ และ Beacon Chain จะต้องทำงานด้านการดูแลระบบสำหรับแต่ละ Shard หากชิ้นส่วนมีขนาดใหญ่เกินไป โหนดจะไม่สามารถประมวลผลชิ้นส่วนเดียวได้อีกต่อไป หากมีชิ้นส่วนมากเกินไป โหนดจะไม่สามารถประมวลผลห่วงโซ่บีคอนได้อีกต่อไป ผลคูณของข้อจำกัดทั้งสองนี้ก่อตัวเป็นขอบเขตบน

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

ชื่อระดับแรก

6 แล้วความเสี่ยงเหล่านี้คืออะไร?

จำนวนผู้ใช้ขั้นต่ำ

เป็นไปได้ว่าบล็อกเชนแบบ non-sharded สามารถทำงานได้แม้ว่าจะมีผู้ใช้เพียงรายเดียวที่เต็มใจเข้าร่วมก็ตาม นี่ไม่ใช่กรณีของบล็อกเชนแบบแยกส่วน: ไม่มีโหนดเดียวที่สามารถประมวลผลเชนทั้งหมดได้ ดังนั้นคุณต้องมีโหนดเพียงพอเพื่อให้อย่างน้อยโหนดเหล่านั้นสามารถประมวลผลบล็อกเชนร่วมกันได้ หากแต่ละโหนดสามารถจัดการได้ 50 TPS และเชนทั้งหมดสามารถรองรับได้ 10,000 TPS ดังนั้นเชนต้องการโหนดอย่างน้อย 200 โหนดเพื่อความอยู่รอด หากเชนในบางจุดมีโหนดน้อยกว่า 200 โหนด โหนดนั้นไม่สามารถติดตามเชนได้อีกต่อไป หรือโหนดหยุดตรวจหาบล็อกที่ไม่ถูกต้อง หรือสิ่งเลวร้ายอื่นๆ อาจเกิดขึ้นได้ ขึ้นอยู่กับวิธีการตั้งค่าซอฟต์แวร์โหนด

  • ในทางปฏิบัติ เนื่องจากความต้องการความซ้ำซ้อน (รวมถึงการสุ่มตัวอย่างความพร้อมใช้งานของข้อมูล) จำนวนโหนดขั้นต่ำที่ปลอดภัยจึงสูงกว่า "เชน TPS หารด้วยโหนด TPS" หลายเท่า สำหรับตัวอย่างข้างต้น สมมติว่ามี 1,000 โหนด

  • หากความสามารถของ sharded blockchain เพิ่มขึ้น 10 เท่า จำนวนผู้ใช้ขั้นต่ำก็จะเพิ่มขึ้น 10 เท่าเช่นกัน ตอนนี้ คุณอาจถามว่า: ทำไมเราไม่เริ่มต้นด้วยความจุขนาดเล็ก เพิ่มความจุเมื่อเราเห็นผู้ใช้จำนวนมาก และลดความจุเมื่อจำนวนผู้ใช้ลดลง

  • มีปัญหาบางอย่างที่นี่:

จะเกิดอะไรขึ้นหากผู้ใช้หลายคนออกจากระบบอย่างกะทันหันและกะทันหัน

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

จำนวนผู้ใช้ขั้นต่ำคือ 1,000 ซึ่งเกือบจะโอเค ในทางกลับกัน จำนวนผู้ใช้ขั้นต่ำกำหนดไว้ที่ 1 ล้านคน ซึ่งไม่สามารถยอมรับได้อย่างแน่นอน แม้แต่การกำหนดจำนวนผู้ใช้ขั้นต่ำที่ 10,000 คนก็ยังค่อนข้างเสี่ยง ดังนั้นจึงเป็นการยากที่จะพิสูจน์ว่ามี Sharded Blockchain ที่มีมากกว่าสองสามร้อย Shards

ชื่อระดับแรก

7 ความสามารถในการกู้คืนข้อมูลย้อนหลัง

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

การประเมินความเสี่ยงนี้เป็นเรื่องง่าย นำความจุข้อมูลของ blockchain (MB/วินาที) คูณด้วย ~30 เพื่อรับจำนวนข้อมูลที่จัดเก็บไว้ใน TB ต่อปี แผนการชาร์ดดิ้งปัจจุบันมีความจุข้อมูลประมาณ 1.3 MB/วินาที ดังนั้นประมาณ 40 TB/ปี หากคุณเพิ่มขึ้น 10 เท่า จะกลายเป็น 400 TB/ปี หากเราต้องการให้ข้อมูลไม่เพียงเข้าถึงได้ แต่เข้าถึงได้ง่าย เราก็ต้องมีข้อมูลเมตาด้วย (เช่น ขยายขนาดธุรกรรมรวม) นั่นคือ 4 PB ต่อปี หรือ 40 PB ในระยะเวลา 10 ปี Internet Archive ใช้เพียง 50 PB ดังนั้น นี่จึงเป็นขอบเขตบนที่สมเหตุสมผลสำหรับการรักษาความปลอดภัยของบล็อกเชนที่แยกส่วน

สรุป

ดังนั้น ดูเหมือนว่าการออกแบบ Ethereum sharding นั้นมุ่งเป้าไปที่ค่าความปลอดภัยสูงสุดที่สมเหตุสมผลในทั้งสองมิติ ค่าคงที่สามารถเพิ่มได้เล็กน้อย แต่ไม่มากเกินไป

ชื่อระดับแรก

สรุป

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

คอมพิวเตอร์ที่ใช้โหนด blockchain ไม่สามารถใช้พลังงาน CPU ได้ 100% ในการตรวจสอบความถูกต้องของ blockchain พวกเขาต้องการความปลอดภัยสูงจากการโจมตี DoS ที่ไม่คาดคิด และพวกเขาต้องการความจุสำรองเพื่อทำสิ่งต่างๆ เช่น ประมวลผลธุรกรรมในงาน mempool ซึ่งคุณไม่ต้องการ เพื่อรันโหนดบนเครื่องเพื่อไม่ให้ใช้เครื่องกับแอพพลิเคชั่นอื่นในเวลาเดียวกัน แบนด์วิธยังเป็นเดิมพัน: การเชื่อมต่อ 10 MB/s ไม่ได้หมายความว่าคุณจะมีบล็อก 10 MB ต่อวินาทีได้! อาจจะบล็อก 1-5 MB ทุก ๆ 12 วินาที นี้เหมือนกับการจัดเก็บ การเพิ่มข้อกำหนดของฮาร์ดแวร์สำหรับการรันโหนดและการจำกัดการทำงานของโหนดเฉพาะนักแสดงเฉพาะนั้นไม่ใช่วิธีแก้ปัญหา สำหรับบล็อกเชนแบบกระจายอำนาจ ผู้ใช้ทั่วไปจะสามารถเรียกใช้โหนดและพัฒนาวัฒนธรรมที่เรียกใช้โหนดเป็นกิจกรรมปกติได้เป็นสิ่งสำคัญ

DeFi
ETH
NFT
โดชคอยน์
คอมพิวเตอร์ความเป็นส่วนตัว
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก:
https://t.me/Odaily_News
กลุ่มสนทนา:
https://t.me/Odaily_GoldenApe
บัญชีทางการ:
https://twitter.com/OdailyChina
สารบัญบทความ
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android