Ngôn ngữ lập trình Move

Ngôn ngữ lập trình Move Nội dung
Xem nhanh Ẩn

Move là một ngôn ngữ lập trình mới được phát triển để cung cấp nền tảng an toàn và có thể lập trình cho Libra Blockchain. Một tài khoản trong Libra Blockchain là nơi chứa số lượng tài nguyên Move và các modules Move tùy ý. Mọi giao dịch được gửi tới Libra Blockchain đều sử dụng tệp lệnh giao dịch được viết bằng Move để mã hóa logic của nó. Kịch bản giao dịch có thể gọi các thủ tục được khai báo bởi một modules để cập nhật trạng thái toàn cầu của blockchain.

 

Yếu tố chính tạo sự khác biệt giữa Move với các ngôn ngữ lập trình khác là việc sử dụng resources của nó, được rút ra từ ý tưởng toán học của linear logic. Trong linear logic, các công thức được coi là resources cơ bản chỉ có thể được sử dụng một lần. Theo đó, trong Move, “Resources không bao giờ có thể được sao chép hoặc loại bỏ hoàn toàn, chỉ được di chuyển giữa các vị trí lưu trữ chương trình.” Move cho phép các nhà phát triển mã hóa các loại resources tùy chỉnh được coi là “first-class” và không thể sao chép hoặc xóa. 

Điều này được kích hoạt bởi hệ thống loại tĩnh (static type) của Move. Có nghĩa là các biến trong ngôn ngữ lập trình phải được định nghĩa là một kiểu nhất định (tức là một số hoặc một từ). Trong Move, hệ thống này bảo vệ bản chất first-class của resources. Tuy nhiên, tài nguyên vẫn có thể được sử dụng tương tự như bất kỳ phần tử nào khác, ít được bảo vệ hơn. Chúng có thể được lưu trữ trong cấu trúc dữ liệu hoặc được truyền dưới dạng đối số cho các thủ tục (được cung cấp dưới dạng các giá trị được sử dụng để tính toán).

Tất cả điều này có nghĩa là các resources trong Move được hưởng mức độ cao về cả tính bảo mật và tính minh bạch. Chúng được bảo vệ trong code, nhưng cũng có thể được sử dụng tự do cho tất cả các loại hoạt động. Sự kết hợp này là hoàn hảo cho lập trình blockchain, vì nó giải quyết cả khía cạnh bảo mật và khả năng mở rộng của bộ ba bất khả thi.