Thiết kế GAS đầu tiên của ngôn ngữ MOVE: Phân tích phương pháp tính toán chi phí GAS trên chuỗi
Phiên bản đầu tiên của ngôn ngữ MOVE không xem xét cơ chế GAS, vì vậy một dự án blockchain đã thiết kế kế hoạch GAS cho nó được gọi là "một cuộc phiêu lưu". Kế hoạch này nêu rõ các nguyên tắc, quy trình, phương pháp tính toán, điều chỉnh sau này của GAS, và hoan nghênh cộng đồng cung cấp ý kiến.
GAS đo lường là khái niệm cơ bản của nhiều blockchain, được sử dụng để đo lường tài nguyên tính toán và lưu trữ cần thiết cho việc 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 chi phí GAS trong quá trình thực hiện giao dịch.
quy trình
Quy trình thực hiện GAS của dự án blockchain này bao gồm:
Nguyên tắc định nghĩa
Chuẩn bị khung đánh giá, xác định giá cho mỗi lần thực hiện
Thiết lập hệ thống đo lường GAS và đại số GAS an toàn cho MOVE
Nhập khung GAS thượng nguồn
Làm cho khung GAS có nhận thức về lưu trữ
Tinh chỉnh kế hoạch GAS hơn nữa
nguyên tắc
Nguyên tắc định nghĩa dự án bao gồm:
Chi phí hoạt động nên liên quan trực tiếp đến tài nguyên có sẵn của mạng và giảm theo sự tiến bộ của công nghệ.
GAS được thiết lập bởi quản trị on-chain, có thể cấu hình liền mạch.
GAS có thể ngăn chặn các cuộc tấn công DoS, 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 về tăng trưởng nhanh chóng và duy trì sự phổ biến của blockchain.
Khuyến khích thực hiện các lựa chọn có lợi cho an toàn, tính mô-đun trong thiết kế.
tính GAS
Người dùng cần chỉ định khi gửi giao dịch:
Số lượng GAS tối đa: Số đơn vị GAS tối đa mà bạn sẵn sàng chi cho việc thực hiện giao dịch
Đơn giá GAS: tính theo hệ bát phân, 1 bát phân = 0.00000001 mã thông báo gốc
Trong quá trình thực hiện giao dịch, 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ụ × Giá GAS đơn
Ví dụ, một giao dịch tiêu tốn 670 đơn vị GAS, người dùng chỉ định giá GAS là 100 Octa/đơn vị, vậy phí cuối cùng sẽ là 670 × 100 = 67000 Octa = 0.00067 token gốc.
Nếu GAS cạn kiệt trong quá trình thực hiện giao dịch, bên gửi sẽ bị tính phí theo lượng GAS tối đa, tất cả các thay đổi mà giao dịch đã thực hiện sẽ được khôi phục.
lập kế hoạch GAS
1. Cấu hình cơ bản
Kế hoạch GAS bao gồm các thành phần không liên quan đến một giao dịch đơn lẻ, chẳng hạn như kích thước giao dịch và đơn vị GAS tối đa.
2. Quy mô giao dịch
Hầu hết quy mô giao dịch ở mức kilobyte, nhưng việc phát hành mô-đun MOVE có thể đạt vài kilobyte. Ban đầu quy mô giao dịch được đặt là 32KB, sau đó điều chỉnh thành 64KB dựa trên phản hồi từ cộng đồng.
Giao dịch quy mô lớn sẽ làm tăng chi phí băng thông mạng và có thể ảnh hưởng đến hiệu suất. Bộ nhớ tạm sẽ có xu hướng bỏ qua các giao dịch lớn hơn, do đó cần cân bằng giữa quy mô tối đa và khả năng tiếp cận.
3. Đơn vị GAS lớn nhất
Đơn vị GAS tối đa trong kế hoạch GAS định nghĩa số lượng thao tác tối đa mà giao dịch có thể thực hiện. Việc thiết lập quá cao có thể dẫn đến ảnh hưởng hiệu suất tiêu cực, chẳng hạn như vòng lặp vô hạn. Qua thử nghiệm, phát hiện rằng ngay cả khi nâng cấp khung tối đa, cũng chưa đạt 90% của đơn vị GAS tối đa đã thiết lập (1,000,000).
4. Thực hiện
Đội ngũ đã xây dựng khung chuẩn và sử dụng công cụ phân tích để đánh giá chi phí thực hiện, ước lượng sơ bộ chi phí tương đối của tất cả các lệnh MOVE và hàm gốc. Bằng cách xem xét các mẫu mã hóa nhằm tăng cường 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.
5. Lưu trữ
Khi truy cập mục trạng thái hoặc dữ liệu của sổ cái, nút sẽ gửi yêu cầu đọc và ghi đến thiết bị lưu trữ. Tổng số lần truy cập dữ liệu bị giới hạn bởi băng thông và khả năng IOPS của thiết bị lưu trữ. Nhóm đã xem xét những chi phí này để thiết kế kế hoạch GAS lưu trữ.
Việc truy cập và lưu trữ các mục trạng thái sẽ phát sinh chi phí liên quan đến cấu trúc dữ liệu xác minh trạng thái toàn bộ blockchain. Công thức tính phí là:
Lưu trữ phí 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à ghi.
Hoạt động đọc là phổ biến nhất, chỉ bị hạn chế bởi sự khan hiếm tài nguyên tạm thời.
Tạo thao tác thêm mục mới vào lưu trữ trạng thái, chi phí cao nhất
Các thao tác ghi cập nhật các mục hiện có mà không phát sinh chi phí cấu trúc dữ liệu xác thực bổ sung.
Chi phí liên quan đến lưu trữ được đánh giá dựa trên mỗi giao dịch, nhiều lần đọc và ghi cùng một tài nguyên chỉ tính phí một lần.
Nhóm đã định nghĩa 6 tham số GAS cấu thành tổng phí GAS:
per_item_read: căn chỉnh theo IOPs
per_byte_read: căn chỉnh theo băng thông
per_item_create: Căn chỉnh theo tổng số dự án mục tiêu
per_byte_create: Điều chỉnh theo kích thước tổng mục tiêu
per_item_write: giống như per_item_read
per_byte_write: giống như per_byte_create
chi phí GAS đơn vị ổn định
Mỗi thao tác và giao dịch cần một chi phí đơn vị cố định tương ứng với chi phí lưu trữ và thực hiện. Chi phí đơn vị GAS cố định giúp duy trì kế hoạch GAS không thay đổi và tách rời khỏi giá trị thị trường của token gốc.
Đội ngũ biểu thị đơn vị GAS với độ chính xác khoảng 3 chữ số, chẳng hạn như chi phí giao dịch chuyển khoản khoảng 700 đơn vị GAS.
Tham gia cộng đồng
Các thành viên trong cộng đồng có thể:
Tìm ra những điểm không hợp lý của kế hoạch GAS
Bày tỏ lo ngại về kế hoạch GAS và tham gia thảo luận
Bỏ phiếu cho các đề xuất quản lý liên quan đến GAS
Làm thế nào để điều chỉnh chi phí GAS?
Kế hoạch GAS được lưu trữ cấu hình trên chuỗi, có thể được thay đổi thông qua đề xuất quản trị và có thể dễ dàng thêm lệnh hoặc chức năng mới.
Kế hoạch GAS được thiết kế có thể mở rộng, cho phép nâng cấp thông qua các đề xuất quản trị. Khi dự án cải tiến và tiếp thu phản hồi từ người dùng, các tham số GAS có thể được điều chỉnh dần dần.
Việc thay đổi công thức GAS phức tạp cần cập nhật phần mềm nút, sau khi áp dụng quy mô lớn sẽ được phê duyệt sử dụng phiên bản mới thông qua đề xuất quản trị.
Công việc tương lai
Là khung GAS khả thi đầu tiên của MOVE, dự án này đặt nền tảng cho công việc trong tương lai:
Giảm chi phí thực thi: Cải thiện hiệu suất của trình biên dịch và máy ảo
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 hiện và lưu trữ.
Giảm bớt tình trạng cồng kềnh: Khám phá khái niệm TTL của từng dự án, xóa các mục trạng thái không được truy cập khi TTL hết hạ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.
MOVE ngôn ngữ ra mắt thiết kế GAS đầu tiên: Phân tích toàn bộ kế hoạch tính phí tài nguyên trên chuỗi
Thiết kế GAS đầu tiên của ngôn ngữ MOVE: Phân tích phương pháp tính toán chi phí GAS trên chuỗi
Phiên bản đầu tiên của ngôn ngữ MOVE không xem xét cơ chế GAS, vì vậy một dự án blockchain đã thiết kế kế hoạch GAS cho nó được gọi là "một cuộc phiêu lưu". Kế hoạch này nêu rõ các nguyên tắc, quy trình, phương pháp tính toán, điều chỉnh sau này của GAS, và hoan nghênh cộng đồng cung cấp ý kiến.
GAS đo lường là khái niệm cơ bản của nhiều blockchain, được sử dụng để đo lường tài nguyên tính toán và lưu trữ cần thiết cho việc 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 chi phí GAS trong quá trình thực hiện giao dịch.
quy trình
Quy trình thực hiện GAS của dự án blockchain này bao gồm:
nguyên tắc
Nguyên tắc định nghĩa dự án bao gồm:
tính GAS
Người dùng cần chỉ định khi gửi giao dịch:
Trong quá trình thực hiện giao dịch, thu phí:
Chi phí giao dịch cuối cùng = Tổng lượng GAS tiêu thụ × Giá GAS đơn
Ví dụ, một giao dịch tiêu tốn 670 đơn vị GAS, người dùng chỉ định giá GAS là 100 Octa/đơn vị, vậy phí cuối cùng sẽ là 670 × 100 = 67000 Octa = 0.00067 token gốc.
Nếu GAS cạn kiệt trong quá trình thực hiện giao dịch, bên gửi sẽ bị tính phí theo lượng GAS tối đa, tất cả các thay đổi mà giao dịch đã thực hiện sẽ được khôi phục.
lập kế hoạch GAS
1. Cấu hình cơ bản
Kế hoạch GAS bao gồm các thành phần không liên quan đến một giao dịch đơn lẻ, chẳng hạn như kích thước giao dịch và đơn vị GAS tối đa.
2. Quy mô giao dịch
Hầu hết quy mô giao dịch ở mức kilobyte, nhưng việc phát hành mô-đun MOVE có thể đạt vài kilobyte. Ban đầu quy mô giao dịch được đặt là 32KB, sau đó điều chỉnh thành 64KB dựa trên phản hồi từ cộng đồng.
Giao dịch quy mô lớn sẽ làm tăng chi phí băng thông mạng và có thể ảnh hưởng đến hiệu suất. Bộ nhớ tạm sẽ có xu hướng bỏ qua các giao dịch lớn hơn, do đó cần cân bằng giữa quy mô tối đa và khả năng tiếp cận.
3. Đơn vị GAS lớn nhất
Đơn vị GAS tối đa trong kế hoạch GAS định nghĩa số lượng thao tác tối đa mà giao dịch có thể thực hiện. Việc thiết lập quá cao có thể dẫn đến ảnh hưởng hiệu suất tiêu cực, chẳng hạn như vòng lặp vô hạn. Qua thử nghiệm, phát hiện rằng ngay cả khi nâng cấp khung tối đa, cũng chưa đạt 90% của đơn vị GAS tối đa đã thiết lập (1,000,000).
4. Thực hiện
Đội ngũ đã xây dựng khung chuẩn và sử dụng công cụ phân tích để đánh giá chi phí thực hiện, ước lượng sơ bộ chi phí tương đối của tất cả các lệnh MOVE và hàm gốc. Bằng cách xem xét các mẫu mã hóa nhằm tăng cường 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.
5. Lưu trữ
Khi truy cập mục trạng thái hoặc dữ liệu của sổ cái, nút sẽ gửi yêu cầu đọc và ghi đến thiết bị lưu trữ. Tổng số lần truy cập dữ liệu bị giới hạn bởi băng thông và khả năng IOPS của thiết bị lưu trữ. Nhóm đã xem xét những chi phí này để thiết kế kế hoạch GAS lưu trữ.
Việc truy cập và lưu trữ các mục trạng thái sẽ phát sinh chi phí liên quan đến cấu trúc dữ liệu xác minh trạng thái toàn bộ blockchain. Công thức tính phí là:
Lưu trữ phí 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à ghi.
Chi phí liên quan đến lưu trữ được đánh giá dựa trên mỗi giao dịch, nhiều lần đọc và ghi cùng một tài nguyên chỉ tính phí một lần.
Nhóm đã định nghĩa 6 tham số GAS cấu thành tổng phí GAS:
chi phí GAS đơn vị ổn định
Mỗi thao tác và giao dịch cần một chi phí đơn vị cố định tương ứng với chi phí lưu trữ và thực hiện. Chi phí đơn vị GAS cố định giúp duy trì kế hoạch GAS không thay đổi và tách rời khỏi giá trị thị trường của token gốc.
Đội ngũ biểu thị đơn vị GAS với độ chính xác khoảng 3 chữ số, chẳng hạn như chi phí giao dịch chuyển khoản khoảng 700 đơn vị GAS.
Tham gia cộng đồng
Các thành viên trong cộng đồng có thể:
Làm thế nào để điều chỉnh chi phí GAS?
Kế hoạch GAS được lưu trữ cấu hình trên chuỗi, có thể được thay đổi thông qua đề xuất quản trị và có thể dễ dàng thêm lệnh hoặc chức năng mới.
Kế hoạch GAS được thiết kế có thể mở rộng, cho phép nâng cấp thông qua các đề xuất quản trị. Khi dự án cải tiến và tiếp thu phản hồi từ người dùng, các tham số GAS có thể được điều chỉnh dần dần.
Việc thay đổi công thức GAS phức tạp cần cập nhật phần mềm nút, sau khi áp dụng quy mô lớn sẽ được phê duyệt sử dụng phiên bản mới thông qua đề xuất quản trị.
Công việc tương lai
Là khung GAS khả thi đầu tiên của MOVE, dự án này đặt nền tảng cho công việc trong tương lai: