บทความเดียวเพื่อทำความเข้าใจ "ไซด์เชน"
หมายเหตุบรรณาธิการ: บทความนี้มาจากผู้ที่ชื่นชอบ Ethereum (ID: ethfans)หมายเหตุบรรณาธิการ: บทความนี้มาจาก
ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)
, ผู้แต่ง: barryWhiteHat, แปล: A Jian, พิมพ์ซ้ำโดย Odaily โดยได้รับอนุญาต
การแนะนำ
ข้อจำกัดความรับผิดชอบ: ความคิดเห็นที่แสดงในที่นี้เป็นความคิดเห็นของฉันเองและไม่จำเป็นต้องเป็นตัวแทนของนายจ้างของฉันหรือใครก็ตาม
ขอบคุณ Albert Ni สำหรับการอ่านและแสดงความคิดเห็น
การแนะนำ
ความสำคัญของ Layer-2 ต่อ Ethereum นั้นเพิ่มขึ้นทุกวัน และมีความเห็นเป็นเอกฉันท์
อย่างไรก็ตาม "Layer-2" เป็นฉลากที่ไม่ชัดเจน เมื่อบางคนพูดถึง "Layer-2" พวกเขาหมายถึง "สิ่งที่ไม่ได้อยู่ใน Ethereum Layer-1" แต่ในความเป็นจริง วิธีที่โซลูชันโต้ตอบกับ Ethereum Layer-1 นั้นมีความสำคัญมาก ลักษณะของโซลูชันที่แตกต่างกันภายใต้ชื่อ "Layer-2" เดียวกันอาจแตกต่างกันมาก อาจเป็นที่ถกเถียงกันอยู่ว่า "Layer-2" ควรหมายถึงบางสิ่งที่มีคุณสมบัติเฉพาะ (เช่น เราทุกคนอาจเห็นพ้องต้องกันว่าบางสิ่งที่ปรับใช้บน AWS ไม่ใช่ Layer-2 แต่มีบางโปรเจ็กต์ที่มีการรับประกันความปลอดภัยที่คล้ายคลึงกัน ซึ่งก็เช่นกัน ถือว่าเป็น Layer-2) อย่างไรก็ตาม นี่ไม่ใช่หัวข้อของการสนทนาของฉันที่นี่
สิ่งที่ผมจะพูดถึงต่อไปนี้คือคุณสมบัติของไซด์เชน
ความหมายพื้นฐานของ side chain คือ: กลุ่มของผู้ตรวจสอบส่งสถานะล่าสุดของ chain ไปยังสัญญาอัจฉริยะ (บน main chain) และส่งเสริมประเภทของระบบ จุดตรวจสอบ (ล่าสุด) เหล่านี้สามารถใช้โดยสัญญาสะพานเพื่อสนับสนุนการฝากและถอนของผู้ใช้ โดยทั่วไป จะมีกระบวนการเลือกผู้นำในหมู่ผู้ตรวจสอบกลุ่มนี้ด้วยเพื่อกำหนดว่าใครจะสร้างบล็อกลูกโซ่ด้านข้างในช่วงเวลาหนึ่ง เช่น อัลกอริทึมการพิสูจน์สิทธิ์ PoA และอัลกอริทึม PoS (หมายเหตุผู้แปล: จากคำจำกัดความนี้ จะเห็นได้ว่าสิ่งที่ผู้เขียนกำลังพูดถึงคือ side chain ที่ไม่มีกลไกการรับประกันความถูกต้องที่ออกแบบบน main chain ตามคำจำกัดความกว้างๆ ในปัจจุบันของ "side chain" ผู้เขียน กำลังพูดถึง side chain ทั่วไป อย่างไรก็ตาม "side chain" ดั้งเดิม ซึ่งก็คือแนวคิดแคบๆ ของ side chain นั้นเหมือนกันทุกประการกับที่ผู้เขียนหยิบยกมาไว้ ณ ที่นี้ ขึ้นอยู่กับว่าคุณเต็มใจที่จะใช้ "side chain " เป็นคำนามเฉพาะ หรือคุณยินดีใช้ความหมายที่ได้มา)
Sidechains ยังมีบทบาทสำคัญในระบบนิเวศ Ethereum เป็นการแก้ไขชั่วคราวสำหรับความสามารถในการปรับขนาดและการใช้งานจนกว่านักวิจัยจะพัฒนาสิ่งที่ดีกว่า ผลิตภัณฑ์อย่าง xDai ยังชี้ให้เห็นถึงความต้องการประสบการณ์การใช้งานที่ดีขึ้นและกระจายออกไป
อย่างไรก็ตาม sidechains ไม่มีการรักษาความปลอดภัยที่ชุมชน Ethereum ในวงกว้างคาดหวัง นี่ไม่ได้หมายความว่าไม่ควรใช้ไซด์เชน หากผู้คนได้รับข้อมูลครบถ้วน แต่เต็มใจใช้ นั่นคือทางเลือกของพวกเขา และมันอาจจะคุ้มค่า แต่ถ้าคนไม่รู้ก็อันตราย บทความนี้มีวัตถุประสงค์เพื่อให้ข้อมูลบางอย่าง หากทุกคนทราบดีถึงคุณลักษณะเหล่านี้แล้ว การเขียนบทความใหม่ก็ไม่ใช่เรื่องเสียหาย แต่ถ้าบทความนี้สามารถช่วยให้ผู้คนตระหนักถึงความเข้าใจผิดของพวกเขาได้ก็จะเป็นสิ่งที่ดี
คุณลักษณะด้านความปลอดภัยใดที่ขาดหายไปใน sidechains? ไซด์เชนเกือบทั้งหมดไม่สามารถให้บริการ:
การต่อต้านการเซ็นเซอร์
ตอนจบรับประกันความเป็นเจ้าของกองทุน
หากคุณต้องการคุณสมบัติทั้งหมดเหล่านี้ คุณอาจต้องหาวิธีแก้ปัญหาอื่นเพื่อเปลี่ยนไซด์เชน แน่นอนว่า มันเป็นไปได้ที่จะปรับปรุงประสิทธิภาพของโซลูชันเฉพาะในมิติเหล่านี้ ในขณะที่รักษาสถาปัตยกรรมหลักของ sidechain
ฉันคิดว่าการอภิปรายแบบเปิดเป็นสิ่งที่ดีสำหรับทุกคน
การต่อต้านการเซ็นเซอร์
เห็นได้ชัดว่าไซด์เชนมีความทนทานต่อการเซ็นเซอร์น้อยกว่าบล็อกเชน (ออกแบบมาอย่างดี) มิฉะนั้นก็ไม่จำเป็นต้องมีบล็อกเชนเลย แต่ที่นี่เราเจาะลึกลงไปอีกเล็กน้อย
หากมีผู้ตรวจสอบ N รายใน side chain หนึ่ง และธุรกรรมใดๆ สามารถตรวจสอบได้ตราบเท่าที่ผู้ตรวจสอบ M เห็นด้วยเป็นเอกฉันท์ ผู้ตรวจสอบ (NM) เท่านั้นที่ต้องรวมกันเพื่อตรวจสอบการบล็อก สิ่งนี้นำไปสู่ภาวะที่กลืนไม่เข้าคายไม่ออกที่น่าสนใจ: การเซ็นเซอร์ธุรกรรมทำได้ยากขึ้นทำให้บล็อกเซ็นเซอร์ง่ายขึ้น เนื่องจากการเซ็นเซอร์ธุรกรรมและการบล็อกเซ็นเซอร์เป็นสิ่งที่ไม่ดี โดยพื้นฐานแล้ว sidechains นั้นไม่สามารถบรรลุการต่อต้านการเซ็นเซอร์ที่แข็งแกร่งได้ ระบบไม่สามารถสร้างบล็อกได้ ดังนั้นโดยปกติแล้ว มีเพียงผู้ตรวจสอบ M เท่านั้นที่จะต้องตรวจสอบธุรกรรมโดยปฏิเสธที่จะสร้างบล็อก อย่างไรก็ตาม นี่ก็หมายความว่า ตราบใดที่ผู้ตรวจสอบ NM ยินยอม พวกเขาสามารถสร้างบล็อกได้ตามอำเภอใจ คือ บล็อกที่มีเนื้อหาอื่นแต่ไม่ใช่บล็อกเฉพาะ หรือแม้แต่ การเล่นแบบกลุ่มจะหายไป)
ข้อกังวลนี้ยังคงมีอยู่เมื่อใช้ PoS เช่นกัน และแม้แต่การคำนวณน้ำหนักบล็อกตามสัดส่วนการถือหุ้นก็ทำให้แย่ลงไปอีก เนื่องจากจำนวนหน่วยงานอิสระที่ถึงเกณฑ์อาจต่ำกว่า (แม้ในกรณีที่ดีที่สุดที่มีการกระจายเดิมพันเต็มจำนวนเท่าๆ กัน มันก็เหมือนกับการไม่มี PoS ก็จะไม่ดีขึ้น)
การรับประกันความพร้อมใช้งานของข้อมูล
สมมติว่ามีเพียงตัวตรวจสอบความถูกต้อง (NM) เท่านั้นที่สามารถสร้างบล็อกได้ สมมติเพิ่มเติมว่าตัวตรวจสอบอื่นๆ ทั้งหมดจำเป็นต้องมีข้อมูลสถานะทั้งหมดเพื่อให้สามารถตรวจสอบสถานะใหม่ได้ จากนั้น ตราบใดที่ตัวตรวจสอบความถูกต้อง (NM) นั้นเป็นอันตราย พวกเขาสามารถ:
สร้างบล็อกใหม่
ปฏิเสธที่จะแบ่งปันข้อมูลบล็อกกับผู้ตรวจสอบที่ซื่อสัตย์
โดยหลักแล้วจะลบ N-(NM) = M ตัวตรวจสอบความถูกต้องที่ซื่อสัตย์ออกจากกระบวนการฉันทามติ ดังนั้นจึงควบคุมระบบได้อย่างสมบูรณ์
สิ่งนี้มีแนวโน้มที่จะเกิดขึ้นได้อย่างไร? เห็นได้ชัดว่าจำเป็นต้องมีรายละเอียดที่เจาะจงมากขึ้นในการสรุป แต่เราสามารถเริ่มคิดได้ดังนี้: แรงจูงใจสำหรับผู้ตรวจสอบเชิงเหตุผลเพื่อแบ่งปันข้อมูลกับผู้อื่นอยู่ที่ไหน ในกลไกการพิสูจน์ผู้มีอำนาจแบบดั้งเดิม การไม่ทำเช่นนั้นอาจสร้างความเสียหายต่อชื่อเสียงได้ อย่างไรก็ตาม กลไกชื่อเสียงยังทำงานได้ยาก เนื่องจากไม่มีวิธีพิสูจน์ว่าข้อมูลถูกระงับ เว้นแต่จะมีคนอื่นใส่ข้อมูลทั้งหมดลงในห่วงโซ่ คิดว่าวิธีแก้ปัญหานี้ฟังดูดีหรือไม่? ถูกต้องนั่นแหล่ะ นอกจากนี้ยังหมายความว่าไซด์เชนที่มีการรักษาความปลอดภัยที่ดีกว่าโดยพื้นฐานแล้ว "เสื่อมลง" เป็นการยกเลิกในแง่ดี
ในรูปแบบไซด์เชนส่วนใหญ่ ผู้ตรวจสอบจะได้รับการชำระเงินบางรูปแบบสำหรับงานของตน สำหรับผู้ตรวจสอบที่ซื่อสัตย์ รางวัลจะถูกแบ่งปันระหว่างผู้ตรวจสอบความถูกต้อง N คน สำหรับผู้ตรวจสอบความถูกต้องที่ไม่ซื่อสัตย์ จำนวนรางวัลที่เท่ากันจะถูกแบ่งปันระหว่างผู้ตรวจสอบความถูกต้อง N-(NM)=M เท่านั้น ดังนั้นผู้ตรวจสอบความถูกต้องจึงมีแรงจูงใจทุกประการที่จะไม่เปิดเผยสถานะที่อัปเดตของตนกับผู้อื่น (หมายเหตุของผู้แปล: สงสัยว่าการคำนวณที่นี่จะผิดพลาด)
state1 => state2 => state3
ที่นี่มีความยากพื้นฐาน: เป็นการยากที่จะแยกแยะการโจมตีความพร้อมใช้งานของข้อมูล เป็นเรื่องยากสำหรับผู้ตรวจสอบที่ซื่อสัตย์ที่จะบอกได้ว่ามีคนเปิดการโจมตีหรือมีปัญหาในการซิงโครไนซ์หรือไม่
ตอนจบ
สมมติว่ากระแสการเปลี่ยนสถานะเป็นดังนี้:
state1 => state2 => state1
และการแปลงแต่ละครั้งต้องมีธุรกรรมบางอย่างที่มีผลกับสถานะที่มีอยู่เพื่อเปลี่ยนสถานะ ขั้นสุดท้ายหมายความว่าเมื่อธุรกรรมมีผล จะไม่สามารถเพิกถอนได้
จุดตรวจสอบของ side chain จะถูกส่งไปยัง Ethereum blockchain หลังจากที่ฉันทามติของผู้ตรวจสอบ side chain และได้รับการเสริมความแข็งแกร่งตามกลไกที่เป็นเอกฉันท์ของ Ethereum บางคนอาจคิดว่าจุดสิ้นสุดของ side chain นั้นเทียบเท่ากับจุดสิ้นสุดของ Ethereum ในการย้อนกลับบล็อกของ side chain คุณต้องย้อนกลับบล็อกของ Ethereum ด้วย แต่นี่เป็นสิ่งที่ผิดทั้งหมด
เนื่องจากการสิ้นสุดหมายความว่าธุรกรรมไม่สามารถย้อนกลับได้ ไม่ได้หมายความว่าสถานะเก่าไม่สามารถแทนที่ด้วยสถานะใหม่ได้ ตราบเท่าที่ตัวตรวจสอบความถูกต้อง (NM) ยอมรับ พวกเขาสามารถทำการเปลี่ยนสถานะต่อไปนี้ได้:
(การใช้ state1 เพื่อแทนที่ state3 นั้นเทียบเท่ากับการย้อนกลับ state2 ซึ่งได้รับการสรุปโดยค่าเริ่มต้น แต่สิ่งนี้ไม่ต้องการเชนหลักของ Ethereum ในการย้อนกลับ)
การรับประกันความเป็นเจ้าของกองทุน Sidechain
สมมติว่าสถานะปัจจุบัน 1={Alice:1000, Bob:0} นั่นคืออลิซมีเงิน 1,000 หยวน แต่บ๊อบไม่มีอะไรเลย Bob จะทำอะไรได้บ้างหากเขามุ่งร้ายและควบคุม (หรือสามารถเสียหายได้อย่างมีประสิทธิภาพ) โปรแกรมตรวจสอบความถูกต้องของ POA ส่วนใหญ่
เขาสามารถทำการเปลี่ยนสถานะ state1 => state2 และ state2={Alice:0,Bob:1000} นั่นคือขโมยเงินทั้งหมดของอลิซและมอบให้บ็อบ
ดังนั้น การป้องกันของ sidechain จึงลดลงเนื่องจากไม่มีตัวตรวจสอบความถูกต้อง (NM) ที่จะตกลงที่จะดำเนินการเปลี่ยนสถานะที่ผิดกฎหมายดังกล่าว
เรื่องนี้เป็นที่ทราบกันดีอยู่แล้ว (อย่างน้อยฉันก็เชื่ออย่างนั้น) แต่ฉันคิดว่าจำเป็นต้องเตือนทุกคน คุณสามารถมั่นใจใน sidechain ได้ก็ต่อเมื่อคุณเชื่อว่าผู้ตรวจสอบความถูกต้องส่วนใหญ่จะไม่ทำสิ่งนั้น การวิเคราะห์ความปลอดภัยของ sidechains ส่วนใหญ่ควรเน้นที่สิ่งนี้
อาจยังมีบางคนที่คุณสามารถไว้วางใจได้ในระดับหนึ่ง เช่นเดียวกับที่เราหลายคนไว้วางใจ (ด้วยเหตุผลหลายประการ) ผู้ให้บริการแบบรวมศูนย์ บางครั้งการเสียสละก็คุ้มค่า สิ่งสำคัญคือคุณต้องเข้าใจว่านี่คือการแลกเปลี่ยน
ปัญหาเกี่ยวกับการใช้กระบวนการกำกับดูแลเป็นวิธีการป้องกัน
มีสุภาษิตที่ว่า “เราสามารถใช้กระบวนการกำกับดูแลเพื่อแก้ปัญหาทั้งหมดที่กล่าวมาข้างต้นได้” วิธีการนี้มีข้อบกพร่องเนื่องจากระบบทั้งหมดเสื่อมลงเป็นกระบวนการกำกับดูแลเดียว เหตุผลหนึ่งที่ทำให้ข้อความนี้ทำให้ฉันกังวลเป็นพิเศษก็คือ มันบอกเป็นนัยว่าคุณสมบัติอื่นๆ ของไซด์เชนคือโรงละคร (เมื่อใดและทำไมเราต้องการคุณสมบัติดังกล่าว) ตัวอย่างเช่น หากกระบวนการกำกับดูแลเป็นวิธีที่ดีที่สุดในการป้องกันปัญหาข้างต้น หมายความว่าทั้ง PoS และ PoA ก็ไม่มีความสำคัญ กระบวนการกำกับดูแลของระบบคือ PoA ที่แท้จริง ยิ่งไปกว่านั้น เห็นได้ชัดว่าสามารถเปิดการโจมตีแบบเดียวกันนี้กับกระบวนการกำกับดูแลของระบบได้
นอกเหนือจากคุณสมบัติเพิ่มเติมบางอย่างของไซด์เชน เช่น เวลาบล็อกที่เร็วขึ้น (และทำให้ผู้ใช้ได้รับประสบการณ์ที่ดีขึ้น) มีโอกาสที่คุณสมบัติไซด์เชนจะเปล่งประกาย ตัวอย่างเช่น:
บทส่งท้าย
คุณเพียงแค่ต้องการให้ตัวตรวจสอบความถูกต้องของ NM สามารถดำเนินการเปลี่ยนสถานะได้ตามอำเภอใจ ตัวอย่างจะเป็นแอปพลิเคชันระดับองค์กรที่ต้องการควบคุมในระดับสูง
กรณีที่ตัวตรวจสอบ M=0 และ N สามารถดำเนินการเปลี่ยนสถานะใดๆ ตัวอย่างเช่น เกมที่สี่ฝ่ายเข้าร่วม แต่ปัญหาคือตัวตรวจสอบความถูกต้อง 1 ตัวสามารถปิดห่วงโซ่ได้
บทส่งท้าย
ครั้งหนึ่ง sidechains เป็นโซลูชันเดียวที่มีในขณะที่ยังคงรักษาระดับความสามารถในการทำงานร่วมกันและทำงานร่วมกับ Ethereum ในระดับหนึ่ง ขณะนี้ เนื่องจากโซลูชันการปรับขนาด Layer-2 อื่นๆ บางส่วนเติบโตเต็มที่แล้ว จึงถึงเวลาพิจารณาว่าไซด์เชนสามารถผสานรวมกับโซลูชันอื่นๆ ได้ดีขึ้นอย่างไร
มีคุณสมบัติบางอย่างที่เหมาะสำหรับไซด์เชนในการผสานรวม:
ตระหนักถึงการย้ายข้อมูลขนาดใหญ่โดยไม่มีค่าธรรมเนียม และรับรองว่าผู้ใช้จะไม่ติดขัดเพราะค่าธรรมเนียมและไม่สามารถออกได้
แทนที่การเลือกผู้นำด้วยสิ่งอื่นที่ทนต่อการเซ็นเซอร์ (PoS อาจเป็นทิศทางที่ผิด ดูโพสต์นี้)


