Chủ đề thịnh hành
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Tóm tắt: Mô hình hiện tại để nâng cấp các chương trình Solana là một thảm họa.
Điều nguy hiểm nhất khi viết mã hợp đồng thông minh là các mô hình dữ liệu chương trình thực sự bị khóa lại sau khi triển khai.
Trong phát triển phần mềm truyền thống, API của khách hàng được tách rời khỏi backend. Bạn có thể thay đổi một cách vô hình một lược đồ backend hoặc thêm các di chuyển vào cơ sở dữ liệu.
Trong lập trình Solana, bạn có thể cố gắng bảo vệ hợp đồng cho tương lai bằng cách:
- Thêm padding cho cấu trúc và hy vọng rằng có đủ bit trống trong dữ liệu tài khoản cho các thay đổi trong tương lai
- Yêu cầu người dùng ký tay để di chuyển trạng thái ứng dụng (trải nghiệm người dùng tồi tệ)
- Thực hiện các hành động quản trị cấp ứng dụng để di chuyển các lược đồ
Lưu ý rằng tất cả những điều trên đều có khả năng phá vỡ tính khả thi ở cấp VM. Chúng cũng yêu cầu logic phức tạp và dễ mắc lỗi để thực hiện một cách an toàn. Nó không chỉ giới thiệu rủi ro dữ liệu logic, mà còn cả rủi ro quản lý khóa.
Một lập luận là không bao giờ thay đổi mã sau khi triển khai. Dù sao đi nữa, khung hiện tại khiến việc sửa đổi các định dạng dữ liệu hiện có trở nên cực kỳ khó khăn và an toàn.
Tuy nhiên, ngay cả khi tính bất biến là mong muốn, thật ngây thơ và liều lĩnh khi nghĩ rằng không có lỗi nghiêm trọng nào cần sửa chữa hoặc tính năng quan trọng nào cần thêm trong tương lai (một số trong đó có thể yêu cầu thay đổi dây). Các doanh nghiệp xây dựng trên nền tảng này buộc phải chọn giữa an ninh, tốc độ và chất lượng.
Hiện nay, các công cụ để cho phép bảo trì và phát triển liên tục một hợp đồng thông minh đủ phức tạp là không tồn tại.
Dưới đây là một số tính năng mà tôi sẽ nghĩ đến nếu tôi xây dựng môi trường này từ những nguyên tắc cơ bản:
- Nên có các API riêng trong VM để đọc và ghi dữ liệu tài khoản. Điều này cho phép thay đổi lược đồ mà không làm hỏng định dạng dây cho cả người tiêu dùng trên chuỗi và ngoài chuỗi.
- Một số chức năng hợp đồng thông minh quản trị (tùy chọn) nên tồn tại ở cấp hệ thống, không phải cấp ứng dụng.
- Khi nâng cấp thực thi, nên có một di chuyển nguyên tử tùy chọn đồng thời cho các tài khoản thuộc sở hữu của chương trình đó.
Ngay cả khi mục tiêu là tính bất biến, việc xây dựng công cụ cấp hệ thống để cho phép nâng cấp phần mềm an toàn là rất quan trọng cho các ứng dụng tiêu dùng có trạng thái đang phát triển. Hệ thống hiện tại quá dễ vỡ đến nỗi lời khuyên tốt nhất cho những nhà phát triển này là không bao giờ chạm vào các lược đồ trên chuỗi trừ khi họ thực sự biết mình đang làm gì.

Hàng đầu
Thứ hạng
Yêu thích
