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

Dr. Jia Yaoqi, National University of Singapore: เทคโนโลยี Fragmentation คือสูตรการขยายตัวที่จะเกิดขึ้น | การประชุม Blockchain POD

芦荟
读者
2018-09-09 04:12
บทความนี้มีประมาณ 4032 คำ การอ่านทั้งหมดใช้เวลาประมาณ 6 นาที
"โซลูชันปัจจุบันเพื่อปรับปรุงปริมาณงานและความสามารถในการปรับขนาดของห่วงโซ่สาธารณะ เช่น
สรุปโดย AI
ขยาย
"โซลูชันปัจจุบันเพื่อปรับปรุงปริมาณงานและความสามารถในการปรับขนาดของห่วงโซ่สาธารณะ เช่น

ในการพัฒนา blockchain สามเหลี่ยมที่เป็นไปไม่ได้ของการกระจายอำนาจ ความปลอดภัย และประสิทธิภาพเป็นหัวข้อที่มีการพูดถึงมากที่สุด จะปรับปรุงประสิทธิภาพของ blockchain และทำให้เป็นไปได้ในเชิงพาณิชย์ได้อย่างไร เมื่อวันที่ 5 กันยายน ที่การประชุม POD ซึ่งจัดโดย Odaily และจัดร่วมกันเชิงกลยุทธ์โดย 36Kr Group ดร. Jia Yaoqi ผู้ร่วมก่อตั้งและผู้อำนวยการด้านเทคนิคของ Zilliqa และ National University of Singapore ได้ให้คำตอบในการกล่าวสุนทรพจน์ที่สถานที่จัดงาน .

Jia Yaoqi กล่าวว่าโซลูชันปัจจุบันเพื่อปรับปรุงปริมาณงานและความสามารถในการปรับขนาดของห่วงโซ่สาธารณะ เช่น การเพิ่มขนาดบล็อก กลไกฉันทามติของพร็อกซี และโซลูชันนอกเครือข่าย ไม่ใช่โซลูชันที่สมบูรณ์แบบ ประการแรก เนื่องจากข้อจำกัดของความจุในการจัดเก็บคอมพิวเตอร์และพลังการประมวลผล จึงเป็นไปไม่ได้ที่จะเพิ่มขนาดบล็อกเป็น 100 เท่า นอกจากนี้ แม้ว่ากลไกฉันทามติของเอเจนต์จะปรับปรุงความเร็วของธุรกรรม แต่กลุ่มฉันทามติที่ค่อนข้างเล็กก็หมายความว่า มีความเสี่ยงที่จะถูกโจมตีมากกว่าและสีของศูนย์กลางนั้นแข็งแกร่ง ในขณะที่ off-chain solutions และ side chains จะสูญเสียการกระจายอำนาจ ความเปิดกว้าง และความโปร่งใสของตัว blockchain เองในระดับหนึ่ง

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

ในฐานะที่เป็นเทคโนโลยีเกิดใหม่ เทคโนโลยีการแบ่งส่วนย่อยก็มีจุดบอดและความท้าทายเช่นกัน สำหรับการโจมตี sybil (ผู้โจมตีที่เป็นอันตรายสร้างโหนดที่เป็นอันตรายที่แตกต่างกัน ซึ่งอาจถูกกำหนดให้กับชิ้นส่วนที่แตกต่างกันเพื่ออำนวยความสะดวกในการทำธุรกรรมที่เป็นอันตรายมากขึ้น) Jia Yaoqi เสนอว่าหลักฐานการทำงานสามารถใช้เพื่อให้โหนดระบุตัวตนได้ และในขณะเดียวกัน เครือข่ายจะสับเปลี่ยนทุก ๆ ครั้งเพื่อสุ่มกำหนดโหนดให้กับ shards ต่าง ๆ เมื่อจำนวนโหนดในแต่ละ shard ไม่น้อยกว่า 600 ชิ้นต่อชิ้น ความน่าจะเป็นที่หนึ่งในสามของโหนดบนชิ้นส่วนนั้นเป็นอันตรายนั้นน้อยกว่าหนึ่งในล้าน นอกจากนี้ เมื่อพิจารณาถึงความเสี่ยงของการโจมตีแบบ double-spend ที่เกิดจากการคำนวณแบบขนานของชิ้นส่วนที่แตกต่างกัน Jia Yaoqi กล่าวว่าทีมของเธอได้พัฒนากลไกการแบ่งกลุ่มของสัญญาอัจฉริยะใหม่ โดยผ่านการจัดสรรที่กำหนดขึ้น เพื่อให้แน่ใจว่าสัญญาอัจฉริยะที่แตกต่างกันสามารถดำเนินการคำนวณใน หลายเศษในเวลาเดียวกัน

ชื่อเรื่องรอง

ต่อไปนี้คือบันทึกสุนทรพจน์ของ Jia Yaoqi:

ขอบคุณมากสำหรับคำเชิญของ Mandy และ Odaily วันนี้ฉันอยากจะแนะนำให้คุณทราบว่า Zilliqa ได้ทำการวิจัยเกี่ยวกับวิธีการบางอย่างของ blockchain โดยเฉพาะอย่างยิ่งการขยายเครือข่ายสาธารณะในช่วงสามปีที่ผ่านมา โดยเฉพาะอย่างยิ่งในฐานะผู้บุกเบิกเทคโนโลยี blockchain sharding ทีมวิจัยความคืบหน้าล่าสุดในพื้นที่นี้

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

เมื่อเทียบกับระบบการชำระเงินแบบดั้งเดิม เช่น บัตรเครดิตต่างๆ พวกเขาสามารถเข้าถึง 8,000tps นั่นคือ รถไฟแต่ละขบวนสามารถรองรับคนได้ 8,000 คน ดังนั้นจะมีคนเข้าแถวน้อยมาก ปัญหาบางอย่างที่เกิดจากปริมาณงานต่ำของระบบเครือข่ายสาธารณะในปัจจุบันคือปัญหาการจราจรติดขัด เช่น ตอนนี้เรามีหลายร้อยคน หลายล้านคนต้องการขึ้นรถไฟแบบนี้ แต่รถไฟแต่ละขบวนจุคนได้แค่สิบคน เราจะทำอย่างไร? ก่อนอื่น เพิ่มค่าโดยสาร ตัวอย่างเช่น จาก 10 หยวนแรก ตอนนี้เราเพิ่มเป็น 1,000 หยวน และ 10 คนที่เสนอราคาสูงสุดจะสามารถขึ้นรถไฟขบวนล่าสุดได้

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

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

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

ในขณะเดียวกัน ทีมงานและนักวิชาการบางส่วนได้เสนอกลไกฉันทามติแบบมอบฉันทะ ในปัจจุบัน ห่วงโซ่สาธารณะที่มีอยู่มี 10,000 หรือ 20,000 โหนดเพื่อเรียกใช้โปรโตคอลที่สอดคล้องกันของทั้งระบบ ประมวลผลธุรกรรม และสร้างบล็อกใหม่ ดังนั้นเราสามารถลดโหนดจาก 20,000 คนให้เหลือ 1,000 หรือ 50 หรือ 21 คนเพื่อลงคะแนนเพื่อสร้างฉันทามติได้หรือไม่? คำตอบคือใช่ เราสามารถลดโปรโตคอลฉันทามติดังกล่าวให้เหลือเพียง 50 คนที่ประมวลผลธุรกรรมเพื่อให้ได้ฉันทามติและสร้างการบล็อก

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

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

ในขณะเดียวกัน เมื่อต้นปีนี้ Vitalik ได้โพสต์บน Twitter ของเขาว่า Sharding กำลังจะมา ในฐานะทีมแรกที่ดำเนินการวิจัยเกี่ยวกับเทคโนโลยีการชาร์ดดิ้ง ทีมของเราได้เริ่มการวิจัยการชาร์ดดิ้งในปี 2558 และเผยแพร่เอกสารที่เกี่ยวข้องในการประชุมด้านความปลอดภัยคอมพิวเตอร์ชั้นนำ CCS ในปี 2559 นี่เป็นเอกสารทางวิชาการฉบับแรกที่ใช้เทคโนโลยีการชาร์ดดิ้งกับบทความทางวิชาการเกี่ยวกับเครือข่ายสาธารณะ การปรับปรุงปริมาณงาน

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

เทคโนโลยีการแบ่งส่วนยังเผชิญกับความท้าทายและปัญหามากมาย เช่น วิธีการรับประกันความปลอดภัยที่ดี การกระจายอำนาจที่แน่วแน่ และการดำเนินการตามสัญญาอัจฉริยะอย่างมีประสิทธิภาพ

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

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

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

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

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

เพื่อแก้ปัญหาความไม่สอดคล้องกันในสถานะของเศษสัญญาอัจฉริยะ เราสามารถใช้โปรโตคอลคอมมิตสองเฟสเพื่อล็อคสถานะของสัญญาอัจฉริยะที่เกี่ยวข้องในเศษต่างๆ Alice และ Bob ซื้อตั๋วหนังใบสุดท้ายใน Shards ต่างๆ เราสามารถให้การทำธุรกรรมของ Alice ดำเนินการก่อนและล็อคสถานะของ Smart Contract ของ Bob's Shard อย่างไรก็ตาม โปรโตคอลการล็อกจะป้องกันไม่ให้สัญญาอัจฉริยะทำงานพร้อมกันในหลายๆ ชาร์ด เพื่อแก้ปัญหาการคำนวณแบบขนานดังกล่าว ทีมของเราได้พัฒนาวิธีการอื่น ซึ่งก็คือการแก้ปัญหาข้อขัดแย้งของสัญญาอัจฉริยะที่เพิ่งกล่าวถึงผ่านการจัดสรรเชิงกำหนด

ก่อนอื่น เราจะศึกษาสัญญาอัจฉริยะจำนวนมาก จากนั้นจึงจัดประเภทธุรกรรมของสัญญาอัจฉริยะเหล่านี้:

1. รายการโอนธรรมดา

2. เพียงโทรหาสัญญาอัจฉริยะ

3. มีความซับซ้อนมากขึ้น ผู้ใช้สามารถเรียกสัญญาอัจฉริยะได้ และสัญญาอัจฉริยะจะเรียกสัญญาอัจฉริยะอีกครั้ง

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

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

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

นี่คือการแบ่งปันของฉัน ขอบคุณทุกคน!

ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
ค้นหา
สารบัญบทความ
空头猎人
คลังบทความของผู้เขียน
芦荟
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android