Apricot Phase Five: P<>C Atomic Transfers, Atomic Transaction Batching, และการปรับปรุงประสิทธิภาพ Algorithm ของค่าธรรมเนียมบน C-Chain

Apricot Phase 5 จะเปิดทดสอบบน Fuji Testnet เวลา 3 p.m. UTC (22.00 น.) ในวันพุธ ที่ 24 พฤศจิกายน และการเปิดใช้จริงบน Avalanche Mainnet จะประกาศให้ทราบอีกครั้ง

Avalanche Thailand
Avalanche Thailand
4 min readNov 27, 2021

--

เย็นวันนี้ code เวอร์ชัน pre-release จะถูกปล่อยสู่สาธารณะสำหรับระยะที่ 5 ของการอัพเกรดที่มีชื่อว่า Apricot Upgrade (“AP5”) ซึ่งจะเริ่มเวลา 3 p.m. UTC (22.00 น.) ในวันพุธ ที่ 24 พฤศจิกายน บน Fuji Testnet หมายเหตุ: code เวอร์ชัน pre-release นี้จะทำงานเฉพาะบน Fuji เท่านั้น หากคุณทำงานบน Mainnet จะเป็นการปิดการทำงานบนหน้า startup

เป็นการรอความสมบูรณ์ของการเปิดใช้งาน AP5 บน Fuji จากนั้นเวลาในการเปิดใช้งาน AP5 บน Avalanche Mainnet จะประกาศต่อไปภายหลัง และ AP5 AvalancheGo แบบเป็นทางการ (v1.7.0) ถึงจะถูกปล่อยออกมา

การอัพเกรดครั้งนี้จะรวมถึงการปรับปรุงประสิทธิภาพของ protocol ที่ไม่เข้ากันกับ AvalancheGo ตั้งแต่ version 1.7.0 ลงมา หากว่าทำการสั่งการ node บน Fujj Testnet มันจะแนะนำให้คุณทำการอัพเดทซอฟแวร์เป็น AvalancheGo ที่ใหม่กว่าหรือเท่ากับ v1.7.0 ก่อนที่จะเปิดใช้งานอันใหม่นี้บน Fuji หากคุณดูแล node บน Mainnet อยู่ ตอนนี้ไม่ต้องดำเนินการใด ๆ จนกว่าจะมีการประกาศโค้ดแบบทางการของ AvalancheGo@v1.7.0

P<>C Atomic Transfers

การโอนย้ายจาก C-Chain ไป X-Chain บน https://wallet.avax.network

Avalanche ใช้ abstraction (การแสดงคุณลักษณะที่จำเป็น) เรียกว่า Shared Memory เพื่ออำนวยความสะดวกของการเคลื่อนย้าย AVAX และ ANT (Avalanche Native Tokens) ระหว่าง C-Chain, P-Chain และ X-Chain ใน Shared Memory การถ่ายโอนในทุก ๆ เที่ยวจะแสดงเป็น UTXOs (วิธีในการแสดงยอดเงินคงเหลือหลังจากที่มีการทำธุรกรรม) ที่สามารถใช้งานอย่าง asynchronous (ทำงานถัดไปได้โดยไม่ต้องรอคำสั่งก่อนหน้าให้เสร็จก่อน) โดยแล้วแต่ว่า chain ไหนจะเป็นเจ้าของ UTXO ที่ทำการเรียกคำสั่ง ‘ImportTx’ อย่างไรก็ตามยังมีข้อยกเว้นอันใหญ่อยู่หนึ่งประการ คือผู้ใช้งานสามารถข้ามไปมาได้แค่ระหว่าง X<>C หรือ X<>P นั่นหมายถึงการที่บางคนที่พยายามจะ Stake เหรียญ AVAX พวกเขาได้รับมันบน C-Chain ซึ่งจะต้องเดินทางผ่าน X-Chain เพื่อจะไปที่ P-Chain ขั้นตอนที่เพิ่มขึ้นมานี้จะไปเพิ่มค่าธรรมเนียม ความซ้ำซ้อน และ latency ในกระบวนการโอนย้ายของ C<>P (หนึ่งใน flow ทั่วไปที่พบเจอบ่อยที่สุดบน Primary Network)

การเริ่มต้นใน AP5 ผู้ใช้สามารถใช้ UTXOs ใน Shared Memory บน Chain ใด ๆ ก็ได้ สิ่งนี้หมายถึง ตอนนี้เราสามารถ export เงินทุนจาก C และ import โดยตรงเข้าไปที่ P และหรือตรงกันข้ามได้ ฟังก์ชันใหม่นี้ทำให้มันง่ายขึ้นในการสร้างกลไลแบบ cross-chain ซึ่งน่าสนใจบน Primary Network และทำให้ง่ายกว่าเดิมสำหรับ integrators ที่ไม่สามารถทำการ index DAG ของ X-Chain เพื่อรองรับการ stake

Atomic Transaction Batching

จำนวน Atomic Transactions ของ C-Chain ต่อวัน

เมื่อ Avalanche Network เปิดใช้งาน จำนวนของ Atomic Transactions ที่สามารถประมวลผลได้ในบล็อคใด ๆ (ทั้งบน C-Chain และ P-Chain) ถูกกำหนดไว้สูงสุดที่ 1 เมื่อมี transaction รอดำนเนินการมากกว่า 1 รายการใน mempool, ผู้ใช้งานอาจพบเจอกับความล่าช้าที่ไม่เคยมีมาก่อน เนื่องจากท้ายที่สุดแล้วพวกเขารอให้ธุรกรรมของตนนั้นถูกจัดลำดับความสำคัญ (เรียงตาม AVAX ที่ถูกเผาทำลาย) และที่ถูกนำมารวมอยู่ในบล็อค ซึ่งปริมาณงาน (throughput) นี้เพียงพอสำหรับปีแรกของการดำรงอยู่ของเครือข่าย แต่มันก็ได้เริ่มเกิดเป็นคอขวดขึ้น ตั้งแต่ช่วงเริ่มต้นของ Avalanche Rush มันเพิ่มขึ้นประมาณ 7–8 เท่า ในจำนวนของ Atomic Transactions บน Primary Network ในแต่ละวัน (มักจะมาในรูปแบบการเพิ่มขึ้นอย่างรวดเร็ว)

การเริ่มต้นใน AP5 นั้นบล็อคของ C-Chain และ P-Chain จะประกอบไปด้วยหลาย ๆ atomic transactions เพราะในช่วงเริ่มต้นการเปิดใชังานนั้นจะจำกัดอยู่ที่ประมาณ 10 Atomic Transactions ต่อ block แต่สามารถทำให้เพิ่มขึ้นในการอัพเกรดย่อยเมื่อมีการใช้งานเพิ่มขึ้น การรองรับ Atomic Transaction ในการเชื่อมต่อกับ P<>C นั้นจะปรับปรุง UX ในด้านการโอนย้าย cross-chain เป็นอย่างมาก

การปรับปรุง Algorithm ค่าธรรมเนียม C-Chain

ใน Apricot Phase 3 นั้น dynamic fees ถูกเพิ่มไปที่ C-Chain โดยการใช้ algorithm เรียกว่า “Moderato” (ซึ่งจะไปกำหนดเป้าหมายเฉพาะของเครือข่ายเมื่อเวลาผ่านไป) algorithm นี้ถูกกำหนดค่าพารามิเตอร์ไว้ที่ 10ล้าน หน่วยของการใช้ gas ทุก ๆ 10 วินาที ใน Apricot Phase 4 ได้มีการเปิดตัว Snowman++ และ Block-Based fees เพื่อลดจำนวนของความขัดแย้งบนเครือข่าย (เวลามีข้อมูลเข้ามาพร้อม ๆ กัน) และเพื่อกระตุ้นให้ validators เพื่อทำการรวบรวมชุดธุรกรรม (batch transactions) ลงใน blocks ให้น้อยลง อย่างไรก็ตาม มัน ทำให้เป้าหมายของปริมาณการใช้ gas และอัตราการผลิต blocks คงที่ พวกเราได้ทำการจำลองเป็นจำนวนหลายครั้งมาก เพื่อสร้างพารามิเตอร์ไว้กำหนดการใช้งานใน AP4 และ AP5 แต่มันโลกแห่งความเป็นจริงไม่ได้เป็นไปตามนั้นสักเท่าไหร่!

ราคา gas ที่เปลี่ยนแปลงในอัตราร้อยละ จากค่าต่ำสุดของนาทีที่แล้ว เทียบกับค่า gas สูงสุดของนาทีถัดมา

ถึงแม้ว่า AP4 นั้นจะประสบความสำเร็จเป็นอย่างมากในการลดความขัดแย้งของข้อมูลบน C-Chain พวกเราได้เห็นราคาค่า gas ต่ำสุดนั้นแกว่งตัวในอัตราสูงกว่าในการจำลองของพวกเรา จาก 1 นาที ไปยังนาทีต่อไป พวกเราได้สังเกตเห็นการเปลี่ยนแปลง 20–50% สิ่งนี้ส่งผลกระทบโดยตรงต่อประสบการณ์ของผู้ใช้งานจำนวนหนึ่งที่ธุรกรรมของพวกเขา “หยุดนิ่งไป” เนื่องจากค่า gas ขั้นต่ำนั้นกระโดดขึ้นไปจากตอนที่ธุรกรรมของพวกเขาเข้าไปใน mempool ผู้ใช้งานเหล่านั้นจะจำเป็นที่ต้องรอคอยให้ค่า gas ขั้นต่ำลดลงมาก่อนที่จะเห็นธุรกรรมของพวกเขาถูกนำไปรวมไว้ใน block (เว้นแต่พวกเขาจะ “เร่วความเร็ว” กับธุรกรรมด้วยการใช้งาน wallet ของพวกเขา)

การเริ่มต้นของ AP5 นั้น Moderato ในตอนนี้ถูกกำหนดค่าพารามิเตอร์ให้เสถียรมากขึ้น ~66% มีเป้าหมาย 15 ล้านหน่วยของการใช้งาน gas ต่อ 10 วินาที และมีการควบคุมการ batch ของ block ที่ดีกว่า (block น้อยลง บรรจุข้อมูลให้เต็มมากขึ้น) ความเสถียรของค่า gas ที่เพิ่มขึ้นควรทำให้โครงสร้างของธุรกรรมนั้นมีความน่าเชื่อถือมากขึ้น และการเพิ่ม block batching ควรไปเพิ่มจำนวนของธุรกรรมที่ถูกนำไปประมวลผลในราคาค่า gas ที่กำหนด ต่อจากนี้อีกหลายเดือน พวกเราจะปรับปรุงประสิทธิภาพ EVM อย่างต่อเนื่อง ที่ชี้ให้เห็นถึงเป้าหมายของปริมาณการใช้ gas เพิ่มขึ้นต่อ ๆ ไป

ลิงค์ที่เป็นประโยชน์

  • โค้ดของการอัพเกรด Apricot ระยะที่ 5 สามารถดูได้จาก ที่นี่
  • วิธีการอัพเกรด node ของฉัน ที่นี่
  • หากคุณมีคำถามใด ๆ กรุณาติดต่อกับทีมนักพัฒนา Ava Labs ได้ ที่นี่

FAQ (คำถามพบบ่อย)

เราจะสามารถอัพเกรด node ของเราได้อย่างไร?

กระบวนการอัพเกรดเป็น AvalancheGo v1.7.0 นั้นเหมือนกับทุกๆ ครั้งที่ผ่านมา หากคุณสร้างมันเองแต่ต้น ให้ใช้คำสั่งเหมือนตอนสร้าง script ในครั้งแรก หากว่าคุณใช้ pre-compiled binaries ให้ทำการ invoke เหมือนที่ผ่านมา หากว่าคุณใช้ตัวติดตั้ง script ก็ให้ใช้งานเหมือนกับตอนแรกที่เคยทำ

เมื่อคุณเริ่มใช้งาน AvalancheGo v1.7.0 คุณไม่จำเป็นจะต้องทำอะไรเพิ่มเติมอีกแล้ว ข้อมูลเพิ่มเติมสำหรับการอัพเดท node สามารถดูเพิ่มได้จาก ที่นี่ และเพื่อเตือนความจำ สิ่งที่ควรถือปฏิบัติ คือการสำรองข้อมูล ของ staking key/certificate.

ฉันใช้ Metamask จำเป็นจะต้องเปลี่ยนแปลงอะไรหรือไม่?

ไม่จำเป็น

ฉันจำเป็นจะต้องอัพเกรด Node หรือไม่?

หากคุณไม่ทำการอัพเกรด validator ของคุณเป็น v1.7.0 ก่อนวันที่เปิดใช้งานบน Avalanche Mainnet (ซึ่งจะนำมาแชร์ในอีกไม่กี่วันนี้) node ของคุณจะถูกมองว่าไร้การเชื่อมต่อ (offline) และ node อื่น ๆ จะรายงาน node ของคุณว่ามี uptime ที่ต่ำลง ซึ่งอาจเป็นอันตรายต่อผลตอบแทนจากการ stake

จำเป็นต้องเปลี่ยนแปลงอะไรสำหรับ hardware หรือไม่?

ไม่จำเป็น

การอัพเดทนี้จะไปลด uptime ของ validator ของฉันไหม?

ไม่จำเป็น และเพื่อเป็นการเตือนความจำ คุณสามารถตรวจสอบ uptime โดยประมาณของ validator โดยการใช้ `info.uptime` API call:

ฉันคิดว่าบางอย่างไม่ถูกต้อง ฉันควรทำอย่างไร?

ขั้นแรก ให้แน่ใจว่าได้อ่าน documentation อย่างละเอียด และได้ทำการค้นหา FAQs แล้ว มันอาจจะมีคำตอบของคำถามคุณก็เป็นได้ หากไม่พบคำตอบ ให้ไปที่ Discord server ของเรา และค้นหาคำถามของคุณ หากว่าไม่มีใครเคยถาม กรุณาโพสมันลงในช่องทางที่เหมาะสมที่สุด

เกี่ยวกับ Avalanche

Avalanche เป็นแพลตฟอร์ม smart contracts ที่เร็วที่สุดในอุตสาหกรรมบล็อคเชน นับจากเวลาในการปิดธุรกรรม มี validators มากที่สุด คอยทำการตรวจสอบกิจกรรมต่าง ๆ ของ protocol แบบ proof-of-stake, Avalanche มีความเร็วสูง ประหยัด และเป็นมิตรต่อสิ่งแวดล้อม อีกทั้ง Application ใด ๆ ที่รองรับ smart contract ก็สามารถมีข้อได้เปรียบเหล่านี้เหนือคู่แข่งได้ เมื่อใช้งานอยู่บน Avalanche ไม่เชื่อใช่ไหม? ลอง Avalanche วันนี้เลยสิ

Telegram ประเทศไทย | Twitter ประเทศไทย | Website | Whitepapers | Twitter | Discord | GitHub | Documentation | Forum | Avalanche-X | Telegram | Facebook | LinkedIn | Reddit | YouTube

--

--

Avalanche Thailand
Avalanche Thailand

Avalanche เป็นแพลตฟอร์ม open-source สำหรับให้ใช้งาน decentralized applications และประยุกต์ใช้ blockchain ระดับองค์กร