Thiết kế GAS đầu tiên của ngôn ngữ MOVE: Khám phá phương pháp tính phí GAS trên chuỗi
Phiên bản trước của ngôn ngữ MOVE ban đầu được lên kế hoạch hoạt động trong môi trường không có GAS, vì vậy chưa chuẩn bị cho việc thiết kế GAS. Gần đây, một nhóm dự án blockchain đã giới thiệu giải pháp thiết kế GAS đầu tiên cho chuỗi của họ dựa trên ngôn ngữ MOVE, điều này được gọi là một "nỗ lực mạo hiểm".
Trong kế hoạch GAS này, đội ngũ đã làm rõ các nguyên tắc, quy trình, phương pháp tính toán và cơ chế điều chỉnh sau này của GAS, đồng thời cho biết hoan nghênh cộng đồng cung cấp ý kiến.
Đo lường GAS là khái niệm cơ bản của dự án này và nhiều blockchain khác, nó định nghĩa lượng tài nguyên tính toán và lưu trữ cần thiết để thực hiện và lưu trữ giao dịch trên chuỗi. Kế hoạch GAS xác định chi phí cho tất cả các thực thi trên chuỗi, được sử dụng để tính toán phí GAS được sử dụng trong quá trình thực hiện giao dịch.
quy trình
Để thực hiện một cách hiệu quả, quy trình trên chuỗi của dự án là:
Nguyên tắc định nghĩa
Chuẩn bị khung đánh giá, xác định giá của mỗi thực hiện
Xây dựng hệ thống đo lường GAS và đại số GAS an toàn cho MOVE
Nhập khung GAS thượng nguồn vào dự án
Làm cho khung GAS có ý thức lưu trữ
Tiến hành chi tiết hóa kế hoạch GAS
nguyên tắc
Các nguyên tắc được định nghĩa bao gồm:
Chi phí vận hành nên liên quan trực tiếp đến tài nguyên có sẵn trên mạng và giảm theo sự tiến bộ của công nghệ.
GAS nên được thiết lập bởi quản trị on-chain, có thể cấu hình linh hoạt.
GAS có thể ngăn chặn các cuộc tấn công DoS và có thể điều chỉnh nhanh chóng theo tình hình mạng.
Giá GAS phản ánh tầm nhìn của quỹ dự án trong việc thúc đẩy tăng trưởng và duy trì khả năng tiếp cận của blockchain.
Khuyến khích đưa ra những lựa chọn xuất sắc trong thiết kế, như chú trọng đến tính an toàn, tính mô-đun, v.v.
Tính GAS
Người dùng cần chỉ định hai số lượng khi gửi giao dịch:
Số lượng GAS tối đa: Số lượng GAS tối đa mà người dùng sẵn sàng trả để thực hiện giao dịch
Giá GAS: Được tính bằng hệ bát phân cho mỗi đơn vị GAS, 1 bát phân = 0.00000001 token gốc
Trong quá trình thực hiện, giao dịch sẽ bị thu phí:
Chi phí cố định
Chi phí thực hiện
Đọc chi phí
Chi phí ghi
Chi phí giao dịch cuối cùng = Tổng lượng GAS tiêu thụ × Đơn giá GAS
Ví dụ, nếu một giao dịch tiêu tốn 670 đơn vị GAS, giá GAS mà người dùng chỉ định là 100 Octa mỗi đơn vị, thì phí giao dịch cuối cùng sẽ là 670 × 100 = 67000 Octa = 0.00067 token gốc.
Nếu trong quá trình thực hiện giao dịch mà hết GAS, người gửi sẽ bị tính phí theo số lượng GAS tối đa, và tất cả các thay đổi mà giao dịch đã thực hiện sẽ bị hủy bỏ.
thiết lập bảng kế hoạch GAS
Cấu hình cơ bản
Kế hoạch GAS bao gồm một số thành phần không liên quan đến một thao tác đơn lẻ, như kích thước giao dịch và đơn vị GAS tối đa.
Quy mô giao dịch
Hầu hết các giao dịch có quy mô ở mức kilobyte, nhưng mô-đun MOVE có thể phát hành lên tới vài kilobyte, khung dự án khoảng 100 KB. Quy mô giao dịch ban đầu được đặt là 32KB, sau đó được điều chỉnh thành 64KB dựa trên nhu cầu của cộng đồng nhằm đơn giản hóa việc phát triển ứng dụng.
Đơn vị GAS lớn nhất
Đơn vị GAS tối đa trong kế hoạch GAS xác định số lượng thao tác tối đa có thể thực hiện trong một giao dịch. Việc đặt quá cao có thể ảnh hưởng tiêu cực đến hiệu suất của blockchain. Hiện tại được đặt là 1.000.000, ngay cả khi nâng cấp khung tối đa cũng không vượt quá 90%.
Thực thi
Đánh giá chi phí thực hiện thông qua khung tiêu chuẩn và công cụ phân tích, ước lượng chi phí tương đối của tất cả các lệnh MOVE và hàm gốc. Cân nhắc tính ổn định và an toàn của hệ thống, đưa ra số lượng lệnh máy cuối cùng được thực hiện, và so sánh với lưu trữ và đơn vị GAS tối đa.
Lưu trữ
Kế hoạch lưu trữ GAS xem xét tính khan hiếm tạm thời của truy cập dữ liệu và chi phí chiếm dụng đĩa vĩnh viễn. Việc truy cập và lưu trữ các mục trạng thái phát sinh chi phí liên quan đến việc xác minh toàn bộ trạng thái blockchain. Phí lưu trữ GAS = Phí dự án + ( phí byte × Số byte )
Đọc, tạo và viết
Truy cập mục trạng thái được chia thành ba loại: đọc, tạo và viết, mỗi loại có cách tính phí khác nhau. Hoạt động đọc là phổ biến nhất, hoạt động tạo có chi phí cao nhất, hoạt động viết nằm giữa hai loại còn lại.
Dựa trên những xem xét này, đã định nghĩa 6 tham số GAS:
per_item_read
per_byte_read
per_item_create
per_byte_create
per_item_write
per_byte_write
Chi phí đơn vị GAS ổn định
Mỗi hoạt động và giao dịch đều cần một chi phí cố định tương ứng với chi phí lưu trữ và thực hiện, điều này giúp duy trì kế hoạch GAS ổn định. Nhóm dự án thể hiện đơn vị GAS với độ chính xác khoảng 3 chữ số, khiến chi phí giao dịch chuyển khoản khoảng 700 đơn vị GAS.
Tham gia cộng đồng
Là một dự án cộng đồng, các thành viên có thể:
Chỉ ra những điểm không hợp lý trong kế hoạch GAS
Bày tỏ lo ngại về kế hoạch GAS và tham gia thảo luận
Tham gia bỏ phiếu cho các đề xuất quản trị liên quan đến GAS
Làm thế nào để điều chỉnh chi phí GAS?
Kế hoạch GAS được cấu hình lưu trữ trên chuỗi, có thể thay đổi thông qua các đề xuất quản trị, và có thể thêm các chỉ thị hoặc chức năng gốc một cách liền mạch. Tham số GAS có thể được điều chỉnh theo thời gian để phù hợp với sự phát triển của dự án và cộng đồng.
Một số thay đổi phức tạp trong công thức GAS có thể yêu cầu cập nhật phần mềm nút, và phân biệt bằng cách sử dụng các cờ GAS mới. Điều này yêu cầu các nhà điều hành nút phải áp dụng rộng rãi phần mềm mới và được phê duyệt thông qua các đề xuất quản trị để sử dụng phiên bản mới.
Công việc tương lai
Là khuôn khổ GAS khả thi đầu tiên của ngôn ngữ MOVE, dự án này đã mở đường cho công việc trong tương lai:
Giảm chi phí thực hiện
Thực hiện tính toán GAS đa chiều, cho phép người dùng chỉ định ngân sách riêng cho việc thực thi và lưu trữ.
Giảm bớt trạng thái cồng kềnh, khám phá khái niệm TTL của từng dự án, xóa các dự án trạng thái chưa được truy cập khi TTL hết hạn.
GAS này được thiết kế để cung cấp nền tảng quan trọng cho sự phát triển của hệ sinh thái ngôn ngữ MOVE, trong tương lai vẫn còn nhiều không gian để tối ưu hóa và cải tiến.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Thiết kế GAS sáng tạo của ngôn ngữ MOVE: Phân tích toàn bộ chi phí trên chuỗi
Thiết kế GAS đầu tiên của ngôn ngữ MOVE: Khám phá phương pháp tính phí GAS trên chuỗi
Phiên bản trước của ngôn ngữ MOVE ban đầu được lên kế hoạch hoạt động trong môi trường không có GAS, vì vậy chưa chuẩn bị cho việc thiết kế GAS. Gần đây, một nhóm dự án blockchain đã giới thiệu giải pháp thiết kế GAS đầu tiên cho chuỗi của họ dựa trên ngôn ngữ MOVE, điều này được gọi là một "nỗ lực mạo hiểm".
Trong kế hoạch GAS này, đội ngũ đã làm rõ các nguyên tắc, quy trình, phương pháp tính toán và cơ chế điều chỉnh sau này của GAS, đồng thời cho biết hoan nghênh cộng đồng cung cấp ý kiến.
Đo lường GAS là khái niệm cơ bản của dự án này và nhiều blockchain khác, nó định nghĩa lượng tài nguyên tính toán và lưu trữ cần thiết để thực hiện và lưu trữ giao dịch trên chuỗi. Kế hoạch GAS xác định chi phí cho tất cả các thực thi trên chuỗi, được sử dụng để tính toán phí GAS được sử dụng trong quá trình thực hiện giao dịch.
quy trình
Để thực hiện một cách hiệu quả, quy trình trên chuỗi của dự án là:
nguyên tắc
Các nguyên tắc được định nghĩa bao gồm:
Tính GAS
Người dùng cần chỉ định hai số lượng khi gửi giao dịch:
Trong quá trình thực hiện, giao dịch sẽ bị thu phí:
Chi phí giao dịch cuối cùng = Tổng lượng GAS tiêu thụ × Đơn giá GAS
Ví dụ, nếu một giao dịch tiêu tốn 670 đơn vị GAS, giá GAS mà người dùng chỉ định là 100 Octa mỗi đơn vị, thì phí giao dịch cuối cùng sẽ là 670 × 100 = 67000 Octa = 0.00067 token gốc.
Nếu trong quá trình thực hiện giao dịch mà hết GAS, người gửi sẽ bị tính phí theo số lượng GAS tối đa, và tất cả các thay đổi mà giao dịch đã thực hiện sẽ bị hủy bỏ.
thiết lập bảng kế hoạch GAS
Kế hoạch GAS bao gồm một số thành phần không liên quan đến một thao tác đơn lẻ, như kích thước giao dịch và đơn vị GAS tối đa.
Hầu hết các giao dịch có quy mô ở mức kilobyte, nhưng mô-đun MOVE có thể phát hành lên tới vài kilobyte, khung dự án khoảng 100 KB. Quy mô giao dịch ban đầu được đặt là 32KB, sau đó được điều chỉnh thành 64KB dựa trên nhu cầu của cộng đồng nhằm đơn giản hóa việc phát triển ứng dụng.
Đơn vị GAS tối đa trong kế hoạch GAS xác định số lượng thao tác tối đa có thể thực hiện trong một giao dịch. Việc đặt quá cao có thể ảnh hưởng tiêu cực đến hiệu suất của blockchain. Hiện tại được đặt là 1.000.000, ngay cả khi nâng cấp khung tối đa cũng không vượt quá 90%.
Đánh giá chi phí thực hiện thông qua khung tiêu chuẩn và công cụ phân tích, ước lượng chi phí tương đối của tất cả các lệnh MOVE và hàm gốc. Cân nhắc tính ổn định và an toàn của hệ thống, đưa ra số lượng lệnh máy cuối cùng được thực hiện, và so sánh với lưu trữ và đơn vị GAS tối đa.
Kế hoạch lưu trữ GAS xem xét tính khan hiếm tạm thời của truy cập dữ liệu và chi phí chiếm dụng đĩa vĩnh viễn. Việc truy cập và lưu trữ các mục trạng thái phát sinh chi phí liên quan đến việc xác minh toàn bộ trạng thái blockchain. Phí lưu trữ GAS = Phí dự án + ( phí byte × Số byte )
Đọc, tạo và viết
Truy cập mục trạng thái được chia thành ba loại: đọc, tạo và viết, mỗi loại có cách tính phí khác nhau. Hoạt động đọc là phổ biến nhất, hoạt động tạo có chi phí cao nhất, hoạt động viết nằm giữa hai loại còn lại.
Dựa trên những xem xét này, đã định nghĩa 6 tham số GAS:
Chi phí đơn vị GAS ổn định
Mỗi hoạt động và giao dịch đều cần một chi phí cố định tương ứng với chi phí lưu trữ và thực hiện, điều này giúp duy trì kế hoạch GAS ổn định. Nhóm dự án thể hiện đơn vị GAS với độ chính xác khoảng 3 chữ số, khiến chi phí giao dịch chuyển khoản khoảng 700 đơn vị GAS.
Tham gia cộng đồng
Là một dự án cộng đồng, các thành viên có thể:
Làm thế nào để điều chỉnh chi phí GAS?
Kế hoạch GAS được cấu hình lưu trữ trên chuỗi, có thể thay đổi thông qua các đề xuất quản trị, và có thể thêm các chỉ thị hoặc chức năng gốc một cách liền mạch. Tham số GAS có thể được điều chỉnh theo thời gian để phù hợp với sự phát triển của dự án và cộng đồng.
Một số thay đổi phức tạp trong công thức GAS có thể yêu cầu cập nhật phần mềm nút, và phân biệt bằng cách sử dụng các cờ GAS mới. Điều này yêu cầu các nhà điều hành nút phải áp dụng rộng rãi phần mềm mới và được phê duyệt thông qua các đề xuất quản trị để sử dụng phiên bản mới.
Công việc tương lai
Là khuôn khổ GAS khả thi đầu tiên của ngôn ngữ MOVE, dự án này đã mở đường cho công việc trong tương lai:
GAS này được thiết kế để cung cấp nền tảng quan trọng cho sự phát triển của hệ sinh thái ngôn ngữ MOVE, trong tương lai vẫn còn nhiều không gian để tối ưu hóa và cải tiến.