Đã hơn ba tháng kể từ khi Moonriver được ra mắt trên Kusama, sau đó nhanh chóng trở thành parachain tích cực nhất với hệ sinh thái có tích hợp lớn nhất. Hơn 13 triệu giao dịch đã được xử lý trên Moonriver cho đến nay, với khoảng 1650 token ERC-20 được triển khai, hơn 340 ngàn ví và khoảng 925 ngàn token MOVR (~ 260 triệu USD) được stake.
Để cải thiện tính bảo mật và ổn định của mạng, đội ngũ Moonbeam đã thực hiện các thay đổi đối với quy trình staking, sẽ có hiệu lực thông qua bản nâng cấp Runtime 1001. Bài viết này sẽ cho bạn thấy những thay đổi đối với trải nghiệm staking của người dùng:
Đặt lại tên: Delegations, không phải là Nominations
Moonriver là parachain đầu tiên triển khai giao thức parachain staking đồng thuận tùy chỉnh ở Kusama dựa trên Bằng chứng cổ phần được ủy quyền (DPoS), nơi chủ sở hữu token ủy quyền (stake) token của họ để hỗ trợ các nhà sản xuất khối cụ thể -collators- và kiếm phần thưởng.
Ban đầu, việc triển khai stake trên Moonbeam parachain phản ánh “Bằng chứng cổ phần được đề cử” của Polkadot, trong đó những người stake MOVR được gọi là những người đề cử (nominators), những người đã “đề cử” các nhà sản xuất khối. Tuy nhiên, điều này đã tạo ra một số nhầm lẫn vì việc triển khai staking parachain của Moonbeam khác với cách triển khai trên Polkadot/Kusama: nó chỉ được sử dụng để khuyến khích việc sản xuất các khối và không ảnh hưởng đến việc chúng có hợp lệ hay không (tính cuối cùng). Tính cuối cùng của khối được đảm bảo bởi Polkadot/Kusama.
Vì mô hình đồng thuận parachain được triển khai trên Moonriver gần giống nhất với mô hình Bằng chứng cổ phần được ủy quyền, các hành động liên quan đến staking giờ đây sẽ được gọi là “ủy quyền” (delegations). Điều này phản ánh ý tưởng rằng người được ủy quyền (delegators) có thể trực tiếp chọn người đối chiếu (collators) mà họ muốn hỗ trợ, thay vì một thuật toán quyết định cho họ. Hơn nữa, không có khái niệm “slashing”, nơi những người đề cử mất token nếu họ chỉ định người xác nhận (validator) thực hiện các hành động trái luật. Vì Moonriver vẫn đang trong giai đoạn đầu, việc đổi tên các chức năng liên quan đến việc staking này dự kiến sẽ không gây ra gián đoạn nào quá lớn.
Tăng thời gian delay Exit/Unbonding
Trước đây, delegator có hai tùy chọn để thoát khỏi ủy quyền của họ sang đến một collator:
- Thu hồi toàn bộ ủy quyền và tiền sẽ có sẵn trong vòng hai vòng (thời gian hoãn thoát), tức là khoảng 2 giờ.
- Giảm số tiền staking xuống tối thiểu 5 $MOVR, thu hồi một phần staking ngay lập tức (mặc dù không cố ý, điều này đã xảy ra kể từ khi mạng ra mắt) và nhận được ủy quyền 5 MOVR còn lại trong vòng hai round.
Với bản nâng cấp mới, mỗi round được tăng lên 600 khối (trước đây là 300 khối) và độ trễ thoát được kéo dài từ hai round (khoảng 2 giờ) lên 24 round (khoảng 48 giờ).
Tất cả các hành động sau đây hiện có độ trễ thoát là 48 giờ (tại thời điểm viết bài):
Delagators:
- Giảm ủy quyền đối với một collator cụ thể (bond-less).
- Thu hồi hoàn toàn một ủy quyền.
Collators:
- Giảm liên kết self-bond.
- Rời khỏi nhóm ứng cử viên của collator.
Lý do chính để kéo dài thời gian trì hoãn thoát là để tăng tính ổn định của cơ chế đồng thuận Bằng chứng cổ phần được ủy quyền. Trước đây, những người tham gia parachain staking có thể nhanh chóng di chuyển toàn bộ cổ phần của họ xung quanh các collators hoặc thậm chí ra khỏi toàn bộ mô-đun parachain staking, điều này tạo ra sự bất ổn tiềm ẩn trong tập hợp các collators đang hoạt động. Do đó, một bộ hoạt động đối chiếu không ổn định có thể dẫn đến các sự cố sản xuất khối và cản trở hiệu suất mạng. Chúng tôi hy vọng số lượng staking sẽ ổn định hơn trong suốt các round với bản nâng cấp mới.
Lưu ý rằng trên Kusama, thời gian trễ thoát (hoặc thời gian hủy liên kết) là 7 ngày, trong khi trên Polkadot là 28 ngày. Một sự khác biệt chính khác là trên Polkadot/Kusama, những nominators không kiếm được bất kỳ phần thưởng staking nào khi hủy liên kết tiền của họ. Trên Moonriver, delegators sẽ kiếm được phần thưởng staking từ giá trị được đưa ra khỏi delegation (ủy quyền).
Exits thủ công
Một thay đổi có ý nghĩa khác đối với giao diện staking liên quan đến cách delegators/collators có thể giảm hoặc thoát hoàn toàn khỏi delegations/bonds của họ.
Trước khi nâng cấp, delegators/collators sẽ gửi một giao dịch bày tỏ ý định giảm bond của họ (delegation/self-bond) hoặc thoát hoàn toàn vị trí stake của họ (thu hồi ủy quyền/rời khỏi bộ ứng cử viên của collator). Khi giao dịch được xác nhận, hành động sẽ tự động được thực hiện sau hai rounds (khoảng 2 giờ). Những gì chúng tôi đã tìm thấy dựa trên việc chạy Moonriver trong hơn ba tháng là việc lên lịch cho các lần thực thi tự động này đã dẫn đến một số khối quá tải, quá lớn để được Kusama xác thực. Điều này dẫn đến các lỗi mạng nhỏ và hiệu suất mạng nói chung kém đi.
Do đó, các lối thoát hiện được chia thành hai hành động: được lên lịch và thực hiện ngay. Khi delegator/collator muốn giảm bond của họ (delegation / self-bond) hoặc thoát hoàn toàn (thu hồi ủy quyền/rời khỏi nhóm ứng cử viên của colltators), trước tiên, họ cần yêu cầu làm như vậy (lên lịch). Sau khi thời gian delay trôi qua (2 ngày tại thời điểm viết bài), delegator/collator cần thực hiện yêu cầu của họ để được thực thi. Họ cũng có thể hủy hành động của mình bất kỳ lúc nào để có thể lên lịch cho một hành động khác.
Lưu ý:
- Delegators chỉ có thể lên lịch cho một yêu cầu rút bớt hoặc một yêu cầu thu hồi cho mỗi delegation, chứ không phải cả hai.
- Nếu một delegator muốn thay đổi yêu cầu của họ, họ cần phải hủy bỏ yêu cầu đã được lên lịch trước đó.
- Collators có thể lên lịch cho một giao dịch bond-less hoặc để ứng cử viên của collator tự thiết lập một cách độc lập.
- Chỉ collator hoặc delegator mới có thể lên lịch/hủy yêu cầu của họ, nhưng bất kỳ ai cũng có thể thực hiện các yêu cầu khi chúng đã sẵn sàng được thực hiện.
Điều này giống với mô hình staking của Polkadot/Kusama, trong đó những nominators phải unbond token của họ trước và sau đó mở khóa chúng.
Thay đổi lớn trong Runtime Upgrade
Các nhà phát triển DApp nên xem xét triển khai thuật ngữ mới và quy trình thực thi theo lịch trình. Các hành động chính bị ảnh hưởng bởi thay đổi này được liệt kê bên dưới, được chia thành API Substrate và API Ethereum.
Substrate API
Các yếu tố trạng thái chuỗi đã thay đổi
Lưu ý rằng các trạng thái cũ không được dùng nữa (bộ nhớ đã được di chuyển), nhưng chúng vẫn có thể được truy cập thông qua staking precompile:
Các extrinsics đã thay đổi
Lưu ý rằng extrinsics cũ đã không được dùng nữa:
Các events đã thay đổi
EthereumAPI
Các phương thức đã thay đổi trong Staking Precompile
Lưu ý rằng các chức năng cũ sẽ không được dùng nữa trong tương lai gần.
Bài viết được dịch từ article “Moonriver Technical Update: Staking Changes as Part of Runtime Upgrade 1001”