การอัปเดตเครือข่ายที่คุ้มค่าสำหรับ Sui testnet Wave 2 คืออะไร
การรวบรวมต้นฉบับ: Babywhale, Foresight News
การรวบรวมต้นฉบับ: Babywhale, Foresight News
Sui testnet Wave 2 ได้รับการสรุปผลสำเร็จแล้ว และการทดสอบนี้ช่วยให้เราบรรลุเป้าหมายในการเดิมพัน Sui จำนวนกิจกรรมบนเครือข่ายทำให้เรารู้สึกมั่นใจยิ่งขึ้นว่าเราได้ดำเนินขั้นตอนสำคัญอีกขั้นในการเปิดตัว mainnet ขอบคุณมากสำหรับทุกคนที่เข้าร่วมและช่วยเราปรับปรุง Sui ให้ดียิ่งขึ้น!
เราได้เรียนรู้อะไรมากมายจาก Wave 2 และนับจากนี้ไป เราจะโพสต์ชุดบล็อกสามตอนที่รีวิวทุกอย่างใน Wave 2 บล็อกแรกครอบคลุมด้านเครือข่าย ในขณะที่บทความต่อๆ ไปจะกล่าวถึงเศรษฐศาสตร์โทเค็นและเกม Frenemies ในเชิงลึกมากขึ้น
ภาพรวมทางสถิติ
ในช่วง Wave 2 ชุมชนได้ร่วมกันสร้างสถิติใหม่หลายรายการในสามสัปดาห์ 33 ช่วงเวลาของการทดสอบ
มากกว่า 7,000 โหนดเชื่อมต่อกับตัวตรวจสอบความถูกต้อง 41 ตัว
1.69 ล้านที่อยู่
36.5 ล้านธุรกรรม (เพิ่มขึ้น 1.6 เท่าจาก Wave 1)
3.24 ล้าน NFT
มีการออกสัญญา 118,614 ฉบับ (เพิ่มขึ้น 45 เท่าจาก Wave 1)
หลุดจำนำ1.34ล.SUI
ดำเนินการเดิมพัน 7.35 ล้านครั้ง
67 TPS พุ่งสูงขึ้น
Sui Wallet DAU เพิ่มขึ้น 2.2 เท่าเป็น 171,000 ในช่วง Wave 2 และการติดตั้ง Sui Wallet มากกว่าสามเท่าเป็น 333,000 เมื่อเทียบกับสามสัปดาห์แรกของเดือนมกราคม
Sui block explorer ทำสถิติสูงสุดเป็นประวัติการณ์ด้วยจำนวนการดูหน้าเว็บ 1 ล้านครั้งและผู้เข้าชมที่ไม่ซ้ำกัน 571,000 คน
Sui Discordชุมชนมีสมาชิกมากกว่า 600,000 คน ทำให้เป็นหนึ่งในชุมชน web3 ที่ใหญ่ที่สุดในโลก
โดยเฉพาะอย่างยิ่ง มีสัญญาอัจฉริยะสี่รายการที่ประมวลผลธุรกรรมมากกว่า 1 ล้านรายการในช่วง Wave 2 ซึ่งคิดเป็น 40% ของปริมาณธุรกรรม Wave 2 ทั้งหมด:
ระบบวัตถุของ Sui อยู่ในอันดับต้น ๆ โดยจัดการธุรกรรมที่เกี่ยวข้องกับการเดิมพันมากกว่า 7.3 ล้านรายการ
Frenemies gameอันดับที่สอง การทำธุรกรรมมากกว่า 3.5 ล้านรายการเสร็จสมบูรณ์ในเวลาเพียงห้าวันของการเล่น
สัญญาอัจฉริยะที่ใช้งานมากเป็นอันดับสามคือ8192 gameสัญญาคือ 0x 137 aebf 47 cd 16956 b 68633 b 6 f 6 f 00 a 99 2d 87 d 9 c 6 ประมวลผลธุรกรรมมากกว่า 2 ล้านรายการ
สัญญาอัจฉริยะที่ใช้งานมากเป็นอันดับสี่คือSui Capysสัญญาคือ 0x 4 c 10 b 61966 a 34 d 3 bb 5 c 8 a 8 f 063 e 6 b 7445 fc 41 f 93 ประมวลผล 1.6 ล้านธุรกรรม
ขอแสดงความยินดีเป็นพิเศษกับโปรเจ็กต์คอมมิวนิตี้เกม 8192 ที่ทะลุล้านธุรกรรม! ขอขอบคุณโครงการชุมชนที่ให้การวิเคราะห์ข้อมูล Wave 2Suiscan。
บันทึกใหม่เหล่านี้และระดับของกิจกรรมเครือข่ายช่วยให้เราสามารถระบุการอัปเดตซอฟต์แวร์ที่สำคัญและทำงานร่วมกับชุมชนผู้ตรวจสอบและโหนดเพื่อปรับปรุงความสามารถในการปฏิบัติงานของเรา
การอัปเดตเว็บที่น่าจดจำ
เช่นเดียวกับ Wave 1 Wave 2 มีเป้าหมายเพื่อระบุพื้นที่สำหรับการปรับปรุงโครงสร้างพื้นฐานของ Sui
จัดการข้อความหรือธุรกรรมขนาดใหญ่
เนื่องจาก Wave 2 มุ่งเน้นไปที่การปักหลัก เครือข่ายจึงประสบกับธุรกรรมการปักหมุดและไม่ปักหมุดจำนวนมาก ซึ่งช่วยให้เราปรับปรุงความสามารถของเราในการจัดการข้อความและธุรกรรมเครือข่ายขนาดใหญ่ โดยเฉพาะอย่างยิ่ง แต่ละธุรกรรมการมอบหมายการปักหลักและการยกเลิกการมอบหมายที่รอดำเนินการจะสร้างเหตุการณ์ระหว่างการเปลี่ยนแปลงยุค สิ่งนี้ส่งผลต่อขนาดธุรกรรมของธุรกรรมการเปลี่ยนแปลงยุค เนื่องจากแต่ละเหตุการณ์ที่สร้างขึ้นเป็นส่วนหนึ่งของผลกระทบของธุรกรรม ใน Wave 2 เราเห็นการดำเนินการเดิมพันมากถึง 230,000 รายการในยุคหนึ่งๆ ดังนั้นผลกระทบจากการทำธุรกรรมของการเปลี่ยนแปลงยุคนั้นจึงมีขนาดใหญ่มาก
ธุรกรรมขนาดใหญ่เหล่านี้สร้างปัญหามากมาย หากเอฟเฟ็กต์ธุรกรรมการเปลี่ยนแปลงยุคมีขนาดใหญ่เกินกว่าจะดาวน์โหลดผ่านเครือข่าย การเปลี่ยนแปลงยุคจะล้มเหลว หากผลกระทบของธุรกรรมมากกว่าการตอบสนอง JSON RPC สูงสุด จะไม่สามารถเรียกข้อมูลธุรกรรมได้ แอปพลิเคชันใดๆ (เช่น Explorer) ที่พยายามโหลดธุรกรรมขนาดใหญ่เช่นนี้อาจเสี่ยงต่อการหยุดทำงาน ธุรกรรมขนาดใหญ่เช่นนี้อาจมีราคาแพงเกินกว่าที่เครือข่ายจะจัดการได้ ในช่วง Wave 2 ทีมของเราต้องเพิ่มขีดจำกัดฉุกเฉินเพื่อให้เครือข่ายทำงานต่อไปได้ในขณะที่ประมวลผลธุรกรรมจำนวนมาก
เพื่อตอบสนองต่อสิ่งที่กล่าวมาข้างต้น เราได้เร่งเพิ่มขีดจำกัดขนาดการป้องกันสำหรับออบเจกต์ แพ็กเกจ และข้อมูลธุรกรรมต่างๆ (พารามิเตอร์อินพุต เอฟเฟกต์ธุรกรรม เหตุการณ์) ขีดจำกัดเหล่านี้จะช่วยให้แน่ใจว่าทรัพยากรพื้นที่เก็บข้อมูล เครือข่าย และการประมวลผลไม่ถูกครอบงำโดยการแลกเปลี่ยนขนาดใหญ่มากบน mainnet
การจัดการอินพุตพารามิเตอร์ประเภทธุรกรรมที่มีประสิทธิภาพมากขึ้น
เมื่อวันที่ 1 กุมภาพันธ์ เราพบจุดบกพร่องซึ่งหากมีการระบุโมดูล Move เป็นอินพุตธุรกรรมในพารามิเตอร์ประเภท ตรรกะการประมวลผลธุรกรรมจะไม่สามารถตรวจสอบการขึ้นต่อกันของโมดูล Move ได้อย่างถูกต้อง (กล่าวคือเผยแพร่โมดูลที่เป็นของประเภทนั้นหรือไม่) เนื่องจากการเผยแพร่แพ็คเกจ Move เกิดขึ้นผ่านทาง fastpath ของการออกอากาศที่สอดคล้องกันของ Byzantine ผู้ตรวจสอบความถูกต้องบางรายอาจเรียนรู้เกี่ยวกับโมดูล Move ที่เผยแพร่ก่อนผู้อื่น และอาจไม่เห็นด้วยกับความถูกต้องของธุรกรรมที่ใช้โมดูลนี้ในพารามิเตอร์ประเภท ธุรกรรมหนึ่งรายการดังกล่าวทำให้ระบบไม่สามารถสร้างจุดตรวจสอบถัดไป ทำให้โหนดเต็มจำนวนมากหยุดทำงานและตัวตรวจสอบความถูกต้องแยกเครือข่ายเป็นผล นี่เป็นสาเหตุหลักของการหยุดทำงานของ Wave 2 ในช่วงเช้าตรู่ของวันที่ 1 กุมภาพันธ์
เพื่อให้ testnet ทำงานในสถานะของธุรกรรมที่ส่งด้วยโมดูลอินพุตที่ไม่ถูกต้องในพารามิเตอร์ประเภท ทีมของเราได้ดำเนินการแก้ไขฉุกเฉินบางอย่าง:
ตรวจสอบเสมอว่ามีการเผยแพร่โมดูลประเภทพารามิเตอร์
อนุญาตให้ส่งธุรกรรมที่ไม่ถูกต้องเพื่อดำเนินการให้เสร็จสิ้นผ่านความล้มเหลว;
ป้องกันการส่งธุรกรรมเพิ่มเติมด้วยพารามิเตอร์ประเภทที่ไม่ได้เผยแพร่
จากนั้นเราพบจุดบกพร่องที่สองซึ่งตรรกะการตรวจสอบอินพุตของธุรกรรมไม่ได้ปฏิเสธการแทรกสัญญาที่ไม่ใช่โมดูล Move เป็นอินพุตในพารามิเตอร์ประเภท เนื่องจากพารามิเตอร์ประเภทต้องเป็นโมดูล Move จึงไม่สามารถดำเนินการธุรกรรมให้เสร็จสมบูรณ์ได้ และไม่สามารถสร้างจุดตรวจถัดไปได้ ในทำนองเดียวกัน ทีมของเราต้องเพิ่มการแก้ไขฉุกเฉินเพื่อบังคับธุรกรรมที่มีปัญหาให้ล้มเหลวเนื่องจากข้อผิดพลาดในการดำเนินการเพื่อกู้คืนเครือข่าย
เราได้เพิ่มการแก้ไขข้อบกพร่องทั้งสองนี้ในโค้ดเบสของ Sui:แก้ไขการสร้างวัตถุอินพุต #7940。
กลไกฉันทามติของ Narwhal ปรับปรุงความล่าช้า
เช่นเดียวกับ Wave 1 Testnet Wave 2 มอบโอกาสอันมีค่าในการทดสอบฉันทามติของ Narwhal เพิ่มเติมด้วยตัวตรวจสอบความถูกต้องแบบกระจายอำนาจ 41 ตัว ในช่วง Wave 2 เราใช้โอกาสนี้ในการเพิ่มประสิทธิภาพการลดเวลาแฝงที่สอดคล้องกันหลายรายการ (กระทำฉันทามติกับผู้ตรวจสอบความถูกต้องสองคนพร้อมกัน、การตรวจสอบใบรับรองแบบขนาน、พารามิเตอร์ min_header_delay、min_header_dela หนึ่งวินาทีย). เรากำลังปรับปรุงคุณสมบัติอย่างต่อเนื่องและจะมีเพิ่มเติมในเร็วๆ นี้การเพิ่มประสิทธิภาพวางแผน.
บทเรียนที่สำคัญสำหรับนักพัฒนาที่ได้เรียนรู้
ในขณะที่การรับรองความเสถียรของเครือข่ายเป็นสิ่งสำคัญสูงสุด เป้าหมายระยะยาวของเราคือการทำให้ Sui เป็นแพลตฟอร์มนักพัฒนาสัญญาอัจฉริยะชั้นนำ ซึ่งนักพัฒนาสามารถสร้างประสบการณ์ที่ดีที่สุดสำหรับ Web3.x บนพื้นฐานของ Sui เพื่อจุดประสงค์นี้ เรายังมุ่งเน้นไปที่จุดเสียดทานของนักพัฒนาและผู้ใช้ในช่วง Wave 2
การจัดการโทเค็น
ในช่วง Wave 2 มีหลายปัจจัยที่ทำให้ผู้ใช้ประสบปัญหาเกี่ยวกับการจัดการโทเค็น ปัญหาเหล่านี้มักแสดงเป็นข้อผิดพลาดค่าธรรมเนียมน้ำมันไม่เพียงพอ หรือปุ่มเดิมพันสีเทาปรากฏขึ้นเมื่อผู้ใช้ดูเหมือนจะมียอดคงเหลือ SUI เพียงพอที่จะทำธุรกรรม
เพราะValidator Gameเมื่อมีการใช้งานบนเครือข่าย ราคาก๊าซอ้างอิงอาจผันผวนและเพิ่มขึ้นมากกว่าปกติระหว่างแต่ละยุค ความผันผวนของราคาก๊าซที่สูงอาจทำให้มูลค่าของโทเค็นเดียวที่ผู้ใช้ถือครองไม่เพียงพอที่จะชำระค่าธรรมเนียมก๊าซ ประการที่สอง ราคาก๊าซอ้างอิงเริ่มต้นตั้งไว้สูงกว่าราคาของ Devnet ดังนั้นผู้ใช้จึงมีโอกาสน้อยที่จะถือโทเค็นหลายโทเค็นและโทเค็นหมดเร็วขึ้น ประการสุดท้าย การดำเนินการปักหลักเกี่ยวข้องกับผู้ใช้ที่มอบหมายยอดคงเหลือ SUI ที่มีอยู่ให้กับตัวตรวจสอบความถูกต้องตั้งแต่หนึ่งตัวขึ้นไป อย่างไรก็ตาม เลย์เอาต์ของ SUI ที่ผู้ใช้ถือครองอาจไม่ตรงกับการดำเนินการเดิมพันที่ตั้งใจไว้เสมอไป
เราทำการเปลี่ยนแปลงบางอย่างในช่วง Wave 2 เพื่อลดสิ่งนี้:
เรา
เราแก้ไขข้อบกพร่องของ SDK ที่ไคลเอนต์ Sui เลือกวัตถุก๊าซที่ใหญ่กว่า gas_budget แทนที่จะเป็น gas_budget * gas_price;
เพิ่มการจัดการโทเค็นพื้นฐานสำหรับการเดิมพัน Sui wallet. สำหรับการดำเนินการรับจำนำแต่ละครั้ง เราใช้ธุรกรรม paySui เพื่อสร้างโมดูลสำหรับการจำนำและการจ่ายก๊าซตามลำดับ
เราวางแผนที่จะสนับสนุนในเร็วๆ นี้ธุรกรรมที่ตั้งโปรแกรมได้ซึ่งจะทำให้การจัดการโทเค็นสำหรับแอปพลิเคชันง่ายขึ้น
ประเด็นอื่นๆ จากการทดสอบรอบนี้
ทุก Testnet Wave เป็นการผสมผสานระหว่างความตึงเครียดและความตื่นเต้น เราทำงานร่วมกับทุกคนในชุมชน Sui เพื่อตั้งใจผลักดันความสามารถในการเดิมพันของเครือข่ายให้ถึงขีดจำกัด และด้วยจิตวิญญาณนั้นทำให้ Sui แข็งแกร่งขึ้นได้สำเร็จในช่วง Testnet Wave 2
ลิงค์ต้นฉบับ


