Cortina: Tuyến tính hóa chuỗi X-Chain

Avalanche - Việt Nam
8 min readMar 24, 2023

--

Vào Thứ Hai, ngày 27 tháng 3 năm 2023, mã phát hành trước cho Bản nâng cấp Avalanche Cortina sẽ được xuất bản. Bản nâng cấp này sẽ kích hoạt lúc 11 AM ET (10 PM theo giờ VN) vào Thứ Năm, ngày 30 tháng 3 năm 2023. Lưu ý, mã phát hành trước này CHỈ hoạt động trên Fuji. Nếu bạn chạy mã trên Mainnet, nó sẽ thoát khi khởi động.

Trong khi chờ Nâng cấp Cortina thành công trên Fuji, thời gian kích hoạt Avalanche Mainnet sẽ được công bố và bản phát hành Cortina AvalancheGo chính thức (v1.10.0) sẽ được xuất bản.

Bản nâng cấp Cortina bao gồm các tối ưu hóa giao thức không tương thích với các phiên bản AvalancheGo < v1.10.0. Nếu bạn chạy một node trên Fuji, bạn phải nâng cấp phần mềm của mình lên AvalancheGo >= v1.10.0 trước thời điểm kích hoạt trên Fuji. Nếu bạn là nhà điều hành node Mainnet, bạn không cần thực hiện hành động nào cho đến khi mã AvalancheGo@v1.10.0 chính thức được xuất bản.

Tuyến tính hóa chuỗi X-Chain

X-Chain chạy Avalanche Consensus, một giao thức dựa trên DAG, không có người lãnh đạo, cho phép xử lý đồng thời các UTXO không xung đột với thông lượng cao mà không cần thiết lập tổng thứ tự hoạt động. Mặt khác, C-Chain, P-Chain và tất cả các Subnets Avalanche chạy Snowman++ , một giao thức dựa trên chuỗi, được sắp xếp hoàn toàn theo trình tự sản xuất khối không xung đột mà không có thời gian dựa trên hàng nghìn người tham gia.

Ngữ nghĩa hiện có của X-Chain ngăn chặn hoặc làm phức tạp đáng kể việc tích hợp Avalanche Warp Messaging (AWM), việc bổ sung các giao dịch X-Chain phức tạp, hỗ trợ đồng bộ hóa trạng thái và hỗ trợ trao đổi rộng rãi. Tích hợp AWM yêu cầu Snowman++ để xác minh BLS Multi-Signature của các tin nhắn đến từ các Subnets Avalanche khác. Hạn chế này có nghĩa là X-Chain, ở dạng hiện tại, không thể tương tác với các Subnets và sự đồng thuận dựa trên DAG mà nó chạy không thể được áp dụng rộng rãi cho các Subnets, vốn mong muốn giao tiếp liền mạch với các Subnets khác. Thứ tự một phần trên X-Chain có nghĩa là không có trạng thái chính tắc trong quá trình xác minh đỉnh (đỉnh là nơi chứa các giao dịch theo đợt trên X-Chain, giống như một khối trong blockchain) và theo thiết kế, các đỉnh đó được xử lý theo thứ tự khác nhau trên các node khác nhau. Không có trạng thái chuẩn, việc tương tác với các đối tượng được chia sẻ trên chuỗi, chẳng hạn như sàn giao dịch, và trạng thái đồng bộ hóa với phần cuối của mạng (để tránh xử lý lại tất cả hoạt động lịch sử) trở thành một vấn đề không hề nhỏ và dễ xảy ra lỗi, làm mất thời gian cộng đồng có thể dành cho các Subnets phát triển hơn nữa. Cuối cùng, thứ tự không xác định của hoạt động trên chuỗi cản trở đáng kể khả năng tích hợp của nhiều sàn giao dịch kế thừa với X-Chain ở dạng hiện tại, vì hầu hết các sàn giao dịch cũ được thiết kế cho các blockchain được sắp xếp hoàn toàn như Bitcoin và Ethereum, và họ gặp khó khăn trong việc đối chiếu số dư tại các thời điểm khác nhau trên blockchain được sắp xếp một phần

Cortina di chuyển X-Chain để chạy sự đồng thuận của Snowman ++ và hoạt động như một blockchain được sắp xếp hoàn toàn trong một quy trình gọi là “tuyến tính hóa”. Khi quá trình tuyến tính hóa bắt đầu, sẽ không thể thêm các đỉnh bổ sung vào X-Chain DAG nữa. Trạng thái cuối của DAG, hiện không thể thay đổi, sau đó sẽ được sử dụng làm trạng thái ban đầu của X-Chain được tuyến tính hóa do Snowman++ cung cấp. Định dạng giao dịch được sử dụng trên X-Chain và các API để gửi giao dịch, tìm nạp trạng thái giao dịch và tìm nạp số dư sẽ không thay đổi trong quá trình này, vì vậy hầu hết các ví sẽ không cần thực hiện bất kỳ thay đổi nào để hỗ trợ sự kiện tuyến tính hóa này. Tuy nhiên, những người khám phá hỗ trợ X-Chain sẽ cần chuyển sang phân tích cú pháp các khối X-Chain thay vì phân tích cú pháp các đỉnh X-Chain, trông rất giống với các khối P-Chain. Quá trình tuyến tính hóa diễn ra liền mạch và không gây ra bất kỳ thời gian ngừng hoạt động nào trên P-Chain, C-Chain hoặc bất kỳ Subnets nào. Tuy nhiên, X-Chain sẽ không thể truy cập được trong thời gian ngắn.

Như đã đề cập ở trên, quá trình di chuyển này mở đường cho việc tích hợp Avalanche Warp Messaging, các loại giao dịch mới giúp sửa đổi trạng thái X-Chain được chia sẻ, cung cấp một đường dẫn đơn giản để kích hoạt đồng bộ hóa trạng thái và cho phép các sàn giao dịch hỗ trợ X-Chain, vốn sẽ chứa nhiều của các token được sử dụng trên Elastic Subnets. Mặc dù có thể giới thiệu tổng thứ tự qua DAG, nhưng làm như vậy trên X-Chain sẽ yêu cầu viết lại công cụ Đồng thuận Avalanche hiện có và sẽ không hữu ích cho bất kỳ Subnets nào. Việc di chuyển sang một công cụ đồng thuận duy nhất trên toàn bộ Mạng Avalanche, giúp giảm kích thước của cơ sở điện toán đáng tin cậy và tăng đòn bẩy cho các nỗ lực R&D hiện tại, sẽ cho phép phát triển nhanh hơn và đổi mới có thể áp dụng rộng rãi hơn.

Chúng tôi đã chuẩn bị một hướng dẫn di chuyển dành cho các nhà tích hợp ở đây nêu bật tất cả các thay đổi đối với API AvalancheGo cần thiết để hỗ trợ Cortina.

Phần thưởng Delegator được xử lý theo đợt

Kể từ khi ra mắt Mạng Avalanche, những người xác thực đã có cơ hội tính phí dịch vụ cho bất kỳ ai ủy quyền cho node của họ. Nếu người xác thực trực tuyến trong 80% thời gian ủy quyền, họ sẽ nhận được % phần thưởng (phí) mà người ủy quyền kiếm được. P-Chain phân phối khoản phí này dưới dạng UTXO riêng biệt cho mỗi khoảng thời gian ủy quyền.

Do số lượng người ủy quyền trên mạng tăng lên đáng kể trong vài tháng qua (lên đến ~80 nghìn tính đến ngày 20/3/23), số lượng UTXO mà người xác thực có thể nhận được dưới dạng phí cũng tăng lên đáng kể. Điều này thường có nghĩa là trình xác thực sẽ kết thúc với hàng nghìn UTXO nhỏ phải được tổng hợp để sử dụng cho bất kỳ mục đích gì. Việc theo dõi hàng nghìn UTXO trong trình khám phá và ví cũng khiến việc cung cấp trải nghiệm người dùng tuyệt vời trở nên khó khăn hơn mức cần thiết.

Cortina sửa đổi cách phân phối các khoản phí ủy quyền này cho tất cả những người xác thực bắt đầu stake sau khi Kích hoạt Cortina (những người xác thực đã stake trước đó sẽ không thấy thay đổi nào). Thay vì gửi một khoản phí UTXO cho mỗi khoảng thời gian ủy quyền thành công, các khoản phí hiện được chia theo đợt trong toàn bộ thời gian xác thực của một node và được phân phối khi nó unstake.

Tăng giới hạn gas C-Chain

Kể từ Giai đoạn 1 của Apricot, giới hạn gas của khối C-Chain đã được đặt thành 8M gas. Các khối trên C-Chain được tạo ra cứ sau ~2 giây, vì vậy, cài đặt này giới hạn lượng gas tối đa có thể được tiêu thụ sau mỗi 10 giây xuống còn ~40M gas. Tuy nhiên, mục tiêu gas cho mỗi cửa sổ kéo dài 10 giây được đặt thành 15M gas. Điều này có nghĩa là khi sử dụng hơn 15M gas trong khoảng thời gian 10 giây, giá gas sẽ tăng (và giảm khi sử dụng ít hơn 15M). Bạn có thể đọc thêm về cách dynamic fees hoạt động trên C-Chain tại đây.

Ngoài việc giới hạn lượng gas có thể được tiêu thụ trong một số cửa sổ ở bất kỳ mức giá gas nào, giới hạn gas của khối cũng hạn chế mức độ phức tạp của các giao dịch có thể được phát hành trong một khối. Khi các nhà phát triển khác nhau trên Avalanche bắt đầu triển khai các dApp phức tạp hơn, họ đã bày tỏ rằng 8M gas mỗi khối là không đủ cho trường hợp sử dụng của họ. Cortina tăng giới hạn gas khối C-Chain lên 15 triệu gas. Để tránh tăng lượng tài nguyên cần thiết để xác thực Mạng chính, mục tiêu gas sẽ không thay đổi ở mức 15M gas mỗi 10 giây.

Câu hỏi thường gặp

Làm cách nào để nâng cấp node của tôi?

Quá trình nâng cấp lên AvalancheGo v1.10.0 cũng giống như bất kỳ bản nâng cấp nào khác. Nếu bạn xây dựng từ nguồn, hãy chạy tập lệnh xây dựng như trước đây. Nếu bạn sử dụng các tệp nhị phân được biên dịch sẵn, hãy gọi chúng như trước. Nếu bạn sử dụng tập lệnh cài đặt, hãy sử dụng tập lệnh đó như trước đây.

Sau khi khởi động AvalancheGo v1.10.0, bạn không cần phải làm gì khác. Thông tin thêm về việc cập nhật một nút có thể được tìm thấy ở đây. Xin nhắc lại, cách tốt nhất là sao lưu khóa/chứng chỉ staking của bạn.

Tôi có phải nâng cấp node của mình không?

Nếu bạn không nâng cấp trình xác thực của mình lên v1.10.0 trước ngày kích hoạt Mainnet Avalanche (sẽ được chia sẻ trong những ngày tới), node của bạn sẽ được đánh dấu là ngoại tuyến và các node khác sẽ báo cáo node của bạn có thời gian hoạt động thấp hơn, điều này có thể gây nguy hiểm phần thưởng đặt cược của bạn.

Có thay đổi nào về yêu cầu phần cứng không?

KHÔNG.

Việc cập nhật có làm giảm thời gian hoạt động của trình xác thực của tôi không?

Không. Xin nhắc lại, bạn có thể kiểm tra thời gian hoạt động ước tính của trình xác thực bằng lệnh gọi API info.uptime:

Tôi nghĩ có gì đó không ổn. Tôi nên làm gì?

Trước tiên, hãy đảm bảo rằng bạn đã đọc kỹ tài liệu và kiểm tra Câu hỏi thường gặp. Nếu bạn không thấy câu trả lời cho câu hỏi của mình, hãy truy cập máy chủ Discord của chúng tôi và tìm kiếm câu hỏi của bạn. Nếu nó chưa được hỏi, xin vui lòng gửi nó trong kênh thích hợp.

--

--

Avalanche - Việt Nam
Avalanche - Việt Nam

Written by Avalanche - Việt Nam

Chào mừng bạn đến với Avalanche - Việt Nam: https://t.me/avalanche_vn

No responses yet