DI CHUYỂN là gì?

Nâng cao11/30/2022, 9:36:44 AM
Move là một ngôn ngữ bytecode chức năng được phát triển bởi Libra (nay là Diem) để giải quyết các vấn đề ảnh hưởng đến chuỗi khối. Move thực hiện các hợp đồng thông minh và cho phép tùy chỉnh giao dịch.

Giới thiệu loại coin

Chuỗi khối và ngành công nghiệp tiền điện tử đã cách mạng hóa lĩnh vực tài chính và thế giới. Một số công ty khởi nghiệp đã xuất hiện để hỗ trợ sự phát triển của ngành và tạo ra việc sử dụng tiền điện tử rộng rãi. Nhiều dự án đã tạo ra các nền tảng mới thu hút người dùng phổ thông để thu hút nhiều đối tượng hơn.

Các dự án này được hỗ trợ bởi một số cơ chế đảm bảo hoạt động diễn ra suôn sẻ, đảm bảo nền tảng an toàn, bảo mật và hiệu quả. Hợp đồng thông minh , là chương trình máy tính, là một thành phần quan trọng vì chúng kiểm soát các hoạt động và sự kiện của hợp đồng. Để đảm bảo điều đó, hợp đồng thông minh Move đã được tạo ra để giúp các nhà phát triển tạo ra phần mềm có thể thích ứng giúp giảm bớt sự phát triển của các chương trình.

Bài viết này sẽ xem xét các tính năng, cách sử dụng, thành phần của Move và bí mật đằng sau sự phổ biến gần đây của nó.

Di chuyển là gì?

Move là một ngôn ngữ mã byte khả thi, thực hiện các hợp đồng thông minh và các giao dịch có thể tùy chỉnh. Nó được phát triển để giải quyết các vấn đề chung ảnh hưởng đến ngôn ngữ lập trình blockchain. Với lợi thế bổ sung về bảo mật và bảo vệ, Move tạo ra một con đường cho các nhà phát triển xây dựng các chương trình linh hoạt giúp dễ dàng quản lý và chuyển tài sản kỹ thuật số.

Mặc dù nó có những cách sử dụng khác, nhưng mục tiêu chính của nhóm phát triển Move là thiết lập một ngôn ngữ đảm bảo rằng một tài sản kỹ thuật số nhất định chỉ có thể được sử dụng một lần và chỉ một người có thể nắm giữ tại một thời điểm.

Nền tảng của ngôn ngữ lập trình Move

Move được phát triển như một ngôn ngữ lập trình an toàn và đơn giản cho chuỗi khối Diem do Facebook phát triển. Libra được phát triển để trở thành một chuỗi khối dễ dàng, rẻ tiền và được sử dụng phổ biến trên toàn thế giới. Nó được phát triển như một tài sản kỹ thuật số dựa trên chuỗi khối linh hoạt, chi phí thấp. Do đó, Move được thiết kế để thực hiện các giao dịch chuỗi khối và cho phép các nhà phát triển xây dựng các ứng dụng tương thích với Libra.

Trước khi kết thúc năm 2020, Libra phải đối mặt với một số vấn đề và phản ứng dữ dội từ các thành viên kinh tế từ các quốc gia khác nhau cũng như các vấn đề về tên và logo khiến Libra phải đổi tên thành Diem. Việc ra mắt chuỗi khối đã thất bại vào tháng 1 năm 2022 do lo ngại của các cường quốc toàn cầu về các vấn đề an ninh và rửa tiền mà việc ra mắt Libra sẽ tạo ra.

Move được viết bằng ngôn ngữ RUST ; một ngôn ngữ lập trình đa mô hình phổ biến được các lập trình viên trên toàn thế giới săn đón vào năm 2018. Ngôn ngữ lập trình của Rust ưu tiên sự an toàn của bộ nhớ và ngăn chặn các cuộc đua dữ liệu đồng thời. Nó được phát triển bởi Graydon Hoare vào năm 2006 khi ông làm việc cho Mozilla Research.

Di chuyển mục tiêu thiết kế

Thiết kế của Move cho chuỗi khối Diem chủ yếu tập trung vào việc tạo ra một nền tảng an toàn và dễ lập trình. Để chứng minh điều đó, Move phải giới thiệu các luật về chuỗi khối Diem và tiền tệ của nó theo cách đơn giản, chính xác và có thể kiểm chứng được.

Với suy nghĩ này, các nhà phát triển Move đã chọn các mục tiêu thiết kế cụ thể để hỗ trợ sự phát triển của chương trình và vẫn phù hợp trong tương lai. Một số mục tiêu thiết kế bao gồm:

Tài nguyên hạng nhất

Di chuyển cho phép người dùng khai báo nội dung tùy chỉnh dưới dạng loại tài nguyên. Những tài sản này được gọi là tài nguyên hạng nhất và được cấp các đặc quyền và bảo mật bổ sung. Các tài nguyên hạng nhất cũng sẽ tự động được kiểm soát truy cập, do đó, chỉ những người dùng có mã bảo mật chính xác mới có thể mở rộng quy mô thông qua điểm truy cập. Move cũng có các mô-đun như hợp đồng thông minh Ethereum phổ biến (Solidity). Các mô-đun này là các khối mã chứa tài nguyên và các loại và thủ tục khác nhau.

Bản dựng đặc biệt của Move làm cho các tài nguyên có thể hoàn toàn trong suốt trong các mô-đun trong khi không rõ ràng đối với các lời gọi bên ngoài tới mô-đun. Một tính năng quan trọng khác của ngôn ngữ Move là tài nguyên không bao giờ có thể được sao chép hoặc xóa hoàn toàn. Chúng chỉ có thể được di chuyển từ vị trí lưu trữ này sang vị trí lưu trữ khác.

Uyển chuyển

Kịch bản giao dịch sẽ được bao gồm trong mọi giao dịch của Diem (Libra). Các tập lệnh giao dịch này được sử dụng trong một mô-đun để thực hiện các cuộc gọi và thủ tục gọi lên. Thủ tục chính duy nhất có thể được tạo thành từ mã có thể tùy chỉnh và tùy ý. Một tập lệnh giao dịch đơn lẻ có thể gọi ra nhiều thủ tục khác nhau.

Các mô-đun di chuyển giúp lập trình viên linh hoạt với cơ hội xây dựng các mã an toàn. Move có thể được ví như ngôn ngữ lập trình hướng đối tượng do mối quan hệ giống hệt nhau giữa “lớp, phương thức, đối tượng” và “mô-đun, thủ tục và tài nguyên”.

khả năng kiểm chứng

Các công cụ xác minh ngoài chuỗi cũng được cho phép trên MOVE, mặc dù nó đã có một hệ thống cho phép xác minh trên chuỗi. Điều này là do xác minh trên chuỗi không phù hợp với chuỗi khối cấp cao. Việc giới thiệu xác minh ngoài chuỗi sẽ cắt giảm quá trình xác minh phức tạp trên chuỗi. Để đạt được điều này, ngôn ngữ lập trình di chuyển sẽ tập trung vào ba thiết kế riêng biệt:

Không có công văn động

Điều này được sử dụng để tránh việc xây dựng biểu đồ cuộc gọi phức tạp và cho phép các vị trí cuộc gọi được xác định tĩnh.

tính mô đun

MOVE, với sự trợ giúp của tính mô-đun, có thể cô lập các mô-đun để xác minh chức năng. Di chuyển các mô-đun sẽ giúp trừu tượng hóa dữ liệu và bản địa hóa các hoạt động tài nguyên quan trọng.

Khả năng biến đổi hạn chế

Thiết kế này phù hợp với các trường hợp hướng tới việc sử dụng các kiểu tham chiếu tương tự như C++. Nó cho phép tối đa một tham chiếu có thể thay đổi tại một điểm.

Sự an toàn

Ba thuộc tính an toàn rất cần thiết trong ngôn ngữ lập trình Move; an toàn kiểu, an toàn tài nguyên và an toàn bộ nhớ. Có nhiều cách tiếp cận khả thi khác nhau mà Move có thể sử dụng để đảm bảo rằng các chương trình không tuân thủ các đặc tính an toàn này sẽ không được chấp nhận.

Cách tiếp cận đầu tiên là Move sử dụng ngôn ngữ lập trình cấp cao được trang bị trình biên dịch có nhiệm vụ duyệt qua các thuộc tính.

Cách tiếp cận thứ hai sẽ là sử dụng một tổ hợp chưa được định kiểu ở mức độ thấp cùng với các kiểm tra an toàn. Move loại bỏ cả hai cách tiếp cận và dựa vào việc thực thi của nó, đây là một mã byte được nhập nâng cao so với mã byte và không nâng cao như ngôn ngữ nguồn.

Di chuyển hoạt động như thế nào?

Ngôn ngữ đặc biệt của Move được phát triển bằng cách sử dụng logic tuyến tính, giới hạn việc sử dụng tài nguyên trong một lần và khiến tài sản kỹ thuật số không thể bị xóa hoặc sao chép. Điều này cho phép các nhà phát triển mã hóa các loại tài nguyên tùy chỉnh mà không thể xóa hoặc sao chép hoàn toàn do các loại tài nguyên được coi là hạng nhất.

Move sử dụng một hệ thống kiểu tĩnh xác định các biến trong ngôn ngữ lập trình là một kiểu nhất định (nghĩa là một số hoặc một từ.) Move vẫn duy trì sự an toàn của tài nguyên nhưng vẫn đủ chỗ để sử dụng chúng như bất kỳ tài nguyên không phải hạng nhất nào khác. Chúng có thể dễ dàng được lưu trữ trong cấu trúc dữ liệu hoặc được chuyển thành giá trị trong tính toán.

Điều này có nghĩa là các tài nguyên trong Move được bảo mật cao, đồng thời có thể thực hiện mà không bị hạn chế. Mã này cung cấp một mức độ bảo mật nhưng cũng có thể được sử dụng cho tất cả các hoạt động khác một cách dễ dàng. Đây là một sự kết hợp hoàn hảo cho các chương trình chuỗi khối vì nó giải quyết các vấn đề về bảo mật và khả năng mở rộng mà hầu hết các chuỗi khối gặp phải.

Điều gì làm cho Move trở nên độc đáo?

Hầu hết các dự án tiền điện tử đều có một tính năng hoặc thuộc tính nhất định ngoài cái tên khiến chúng khác biệt với tất cả các nền tảng và đối thủ cạnh tranh khác. Di chuyển không khác nhau trong khía cạnh đó. Nó được trang bị một số tính năng nhất định khiến nó trở thành lựa chọn tốt hơn cho các dự án hiện có. Dưới đây là một vài tính năng khiến Move khác biệt so với phần còn lại.

  • Di chuyển ngôn ngữ liên quan đến các chính sách kiểm soát truy cập nhúng trong ngữ nghĩa ngôn ngữ.
  • Move không thực thi hệ thống loại mặc định cho các tài sản kỹ thuật số như Ether hoặc Bitcoin .
  • Trong toàn bộ ngôn ngữ, bạn có thể định vị một đại diện định vị nội dung duy nhất. Bất kỳ loại nội dung tùy chỉnh nào, chẳng hạn như mã thông báo ERC20 , phải được kiểm tra các tính năng an toàn do lập trình viên đã tạo mã thông báo chỉ định.
  • Di chuyển không có vấn đề về giới hạn

Các thành phần của DI CHUYỂN

Các tính năng độc đáo của Move không phải là tất cả những gì làm cho ngôn ngữ lập trình chạy được. Nó cũng bao gồm một số thành phần phù hợp với quy trình của chương trình. Dưới đây là một vài thành phần mà người dùng có thể tìm thấy trong MOVE.

các loại

Trong MOVE, điều này đề cập đến các kiểu dữ liệu nguyên thủy được hỗ trợ. Boolean, số nguyên không dấu 64 bit, mảng byte có kích thước cố định và địa chỉ 256 bit đều là những ví dụ.

cấu trúc

Có hai loại cấu trúc. Cái đầu tiên được gọi là Loại, đề cập đến cấu trúc tài nguyên. Cái thứ hai, được gọi là không giới hạn, đề cập đến cấu trúc chung.

thủ tục

Trong thành phần này, chúng ta có hai phương thức chính là public và internal. Sự phụ thuộc mô-đun không theo chu kỳ giúp ngăn chặn các cuộc tấn công định kỳ.

Trình xác minh mã byte

Thành phần này được giao nhiệm vụ xác minh các đặc điểm an toàn trước khi các mô-đun được xuất bản. Các chương trình trên Move đều phải qua kiểm định trước khi xuất xưởng. Việc xác minh được chia thành các giai đoạn khác nhau.

  • Xác minh rằng kích thước của ngăn xếp vẫn chưa được sửa đổi sau khi hoàn thành tất cả các thao tác.
  • kiểm tra loại
  • Phát triển đồ thị kiểm soát
  • xác minh tài liệu tham khảo
  • Liên kết các tham chiếu đến trạng thái chung để xác minh việc tuân thủ khai báo và sử dụng
  • Kiểm tra tài nguyên

Trình thông dịch mã byte

Khi quá trình xác minh hoàn tất, tất cả các chương trình phải thông qua trình thông dịch. Việc thực thi các chương trình có thể được ví như Ethereum vì cả hai nền tảng đều sử dụng các tham số gas, đảm bảo thực thi vòng lặp vô hạn.

Di chuyển máy ảo

Máy ảo của Move không hoạt động khác với chuỗi khối trung bình của bạn. Nó bao gồm một số khối chứa nhiều giao dịch và mỗi giao dịch, sau khi được thực hiện, sẽ tạo ra hiệu ứng giao dịch. Các hiệu ứng tạo ra trạng thái toàn cầu được cập nhật của chuỗi khối, tách các hiệu ứng khỏi các chuyển đổi trạng thái.

Bí mật đằng sau sự nổi tiếng gần đây của Move

Người ta có thể kỳ vọng Move đã trở thành một ngôn ngữ lập trình phổ biến hiện nay, nhưng do các vấn đề mà Diem (trước đây là Libra) gặp phải, sự phát triển của nó đã bị cắt ngắn. Nó gần đây đã nhận được sự chú ý của ánh đèn sân khấu nhờ Aptos.

Aptos là một blockchain lớp một được tạo bằng ngôn ngữ lập trình Move. Nó được phát triển bởi các nhà phát triển Meta, những người đã quyết định phát triển chuỗi khối của họ sau khi Meta bỏ dự án chuỗi khối Diem (trước đây là Libra). Nó kết hợp các giao dịch song song và ngôn ngữ lập trình Move để tạo ra tốc độ giao dịch lý thuyết là 100,00 giao dịch mỗi giây.

Quyết định của Aptos sử dụng ngôn ngữ lập trình Move đã tạo ra một nền tảng mà về mặt lý thuyết có thể đạt được tốc độ giao dịch cao và khả năng mở rộng mà không từ bỏ sự an toàn của chuỗi khối. Aptos đã tự thiết lập các thành phần giúp chuỗi khối nổi bật so với phần còn lại.

Di chuyển và các ngôn ngữ lập trình khác

[Move không phải là ngôn ngữ lập trình khả dụng duy nhất; nó thường được so sánh với Solidity và Clarity. Ba ngôn ngữ lập trình này được sử dụng nhiều nhất trên các nền tảng khác nhau trong không gian chuỗi khối. Dưới đây là bài phân tích so sánh của Move so với 2 hãng còn lại.

Di chuyển so với Solidity

Solidity là ngôn ngữ lập trình được xây dựng chỉ để tạo hợp đồng thông minh trên mạng Ethereum. Do đó, các thành viên đằng sau chuỗi khối Ethereum đã biến Solidity trở thành lựa chọn hàng đầu để triển khai các hợp đồng thông minh cho Máy ảo Ethereum cũng như các nền tảng phát triển chuỗi khối tương thích với EVM. Ngôn ngữ cấp cao, có dấu ngoặc nhọn lấy cảm hứng từ các ngôn ngữ lập trình khác như Javascript, C++ và Python.

Thiết kế của solidity cho phép các nhà phát triển viết các ứng dụng kịch bản sử dụng logic tự thực thi. Ngoài ra, việc Solidity sử dụng cú pháp javascript làm nguồn cảm hứng đã khiến Javascript trở nên dễ hiểu và được triển khai bởi các nhà phát triển.

Giống như Solidity, Move được tạo ra với các mạng khác nhau. Mạng lưới hàng đầu để thực hiện ngôn ngữ Di chuyển là Diệm, cuối cùng đã bị giải thể. Mặt khác, Solidity được phát triển cho chuỗi khối Ethereum phổ biến, vẫn đang hoạt động cho đến ngày nay.

Mức độ bảo mật khi đối mặt với các cuộc tấn công vào lại là một sự khác biệt lớn giữa Move và Solidity. Solidity thường được biết là dễ bị tấn công vào lại nếu mã được xây dựng bằng ngôn ngữ yếu. Mặt khác, Move không bị tấn công vào lại do các tính năng bảo mật tài sản của nó (định nghĩa tài nguyên và phân tách quyền kiểm soát, nhập tĩnh, tổng quát, hệ thống mô-đun và xác minh chính thức.)

Cuối cùng, một yếu tố quan trọng đối với các nhà phát triển trong việc lựa chọn ngôn ngữ lập trình là tính dễ sử dụng. Solidity được biết đến như một trong những ngôn ngữ linh hoạt nhất hiện có và đó là lý do tại sao nó vẫn được sử dụng phổ biến cho đến ngày nay. Thật không may, Move không linh hoạt bằng, nhưng nó vẫn dễ sử dụng.

Di chuyển so với rõ ràng

Blockstack là một nền tảng được thiết lập để phát triển internet của riêng mình và cung cấp các dịch vụ và cơ sở hợp đồng thông minh. Để tạo điều kiện thuận lợi cho điều đó, Blockstack đã giới thiệu Clarity làm ngôn ngữ lập trình hợp đồng thông minh cho Stacks Blockchain của riêng họ. Clarity là ngôn ngữ lập trình cho phép người dùng phát triển các điều khoản đặc biệt của riêng họ cho hợp đồng thay vì các điều khoản được lập trình sẵn.

Tính rõ ràng cũng giúp loại bỏ khả năng xảy ra các giao dịch không mong muốn, mang lại cho nó mức độ bảo mật cao hơn. Một đặc điểm chính của sự rõ ràng là một khía cạnh của sự chắc chắn cung cấp một ngôn ngữ lập trình “có thể quyết định” cho biết máy tính sẽ làm gì với mã.

Move dựa trên Diem, một chuỗi khối linh hoạt, an toàn và có khả năng mở rộng cao, trong khi Clarity dựa trên Stack 2.0, một mạng nguồn mở dành cho các ứng dụng dApp khác nhau sử dụng mạng Ethereum để tạo các ứng dụng mới.

Phần tổng hợp của Move cũng khiến nó khác biệt với Clarity. Move sử dụng trình biên dịch để thực thi mã của nó. Không giống như Move, Clarity không sử dụng trình biên dịch trong khi thực thi mã.

Phần kết luận

Move đã cho thấy mình là một loại ngôn ngữ lập trình đặc biệt sẽ cách mạng hóa toàn bộ ngành công nghiệp blockchain. Cho đến nay, nó đã thu hút sự chú ý của blockchain Aptos mới và chỉ có thời gian mới cho biết sự kết hợp này sẽ thành công như thế nào.

作者: Tamilore
譯者: piper
審校: Hugo、Edward、Ashely、Joyce
* 投資有風險,入市須謹慎。本文不作為Gate.io提供的投資理財建議或其他任何類型的建議。
* 在未提及Gate.io的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io有權追究其法律責任。

DI CHUYỂN là gì?

Nâng cao11/30/2022, 9:36:44 AM
Move là một ngôn ngữ bytecode chức năng được phát triển bởi Libra (nay là Diem) để giải quyết các vấn đề ảnh hưởng đến chuỗi khối. Move thực hiện các hợp đồng thông minh và cho phép tùy chỉnh giao dịch.

Giới thiệu loại coin

Chuỗi khối và ngành công nghiệp tiền điện tử đã cách mạng hóa lĩnh vực tài chính và thế giới. Một số công ty khởi nghiệp đã xuất hiện để hỗ trợ sự phát triển của ngành và tạo ra việc sử dụng tiền điện tử rộng rãi. Nhiều dự án đã tạo ra các nền tảng mới thu hút người dùng phổ thông để thu hút nhiều đối tượng hơn.

Các dự án này được hỗ trợ bởi một số cơ chế đảm bảo hoạt động diễn ra suôn sẻ, đảm bảo nền tảng an toàn, bảo mật và hiệu quả. Hợp đồng thông minh , là chương trình máy tính, là một thành phần quan trọng vì chúng kiểm soát các hoạt động và sự kiện của hợp đồng. Để đảm bảo điều đó, hợp đồng thông minh Move đã được tạo ra để giúp các nhà phát triển tạo ra phần mềm có thể thích ứng giúp giảm bớt sự phát triển của các chương trình.

Bài viết này sẽ xem xét các tính năng, cách sử dụng, thành phần của Move và bí mật đằng sau sự phổ biến gần đây của nó.

Di chuyển là gì?

Move là một ngôn ngữ mã byte khả thi, thực hiện các hợp đồng thông minh và các giao dịch có thể tùy chỉnh. Nó được phát triển để giải quyết các vấn đề chung ảnh hưởng đến ngôn ngữ lập trình blockchain. Với lợi thế bổ sung về bảo mật và bảo vệ, Move tạo ra một con đường cho các nhà phát triển xây dựng các chương trình linh hoạt giúp dễ dàng quản lý và chuyển tài sản kỹ thuật số.

Mặc dù nó có những cách sử dụng khác, nhưng mục tiêu chính của nhóm phát triển Move là thiết lập một ngôn ngữ đảm bảo rằng một tài sản kỹ thuật số nhất định chỉ có thể được sử dụng một lần và chỉ một người có thể nắm giữ tại một thời điểm.

Nền tảng của ngôn ngữ lập trình Move

Move được phát triển như một ngôn ngữ lập trình an toàn và đơn giản cho chuỗi khối Diem do Facebook phát triển. Libra được phát triển để trở thành một chuỗi khối dễ dàng, rẻ tiền và được sử dụng phổ biến trên toàn thế giới. Nó được phát triển như một tài sản kỹ thuật số dựa trên chuỗi khối linh hoạt, chi phí thấp. Do đó, Move được thiết kế để thực hiện các giao dịch chuỗi khối và cho phép các nhà phát triển xây dựng các ứng dụng tương thích với Libra.

Trước khi kết thúc năm 2020, Libra phải đối mặt với một số vấn đề và phản ứng dữ dội từ các thành viên kinh tế từ các quốc gia khác nhau cũng như các vấn đề về tên và logo khiến Libra phải đổi tên thành Diem. Việc ra mắt chuỗi khối đã thất bại vào tháng 1 năm 2022 do lo ngại của các cường quốc toàn cầu về các vấn đề an ninh và rửa tiền mà việc ra mắt Libra sẽ tạo ra.

Move được viết bằng ngôn ngữ RUST ; một ngôn ngữ lập trình đa mô hình phổ biến được các lập trình viên trên toàn thế giới săn đón vào năm 2018. Ngôn ngữ lập trình của Rust ưu tiên sự an toàn của bộ nhớ và ngăn chặn các cuộc đua dữ liệu đồng thời. Nó được phát triển bởi Graydon Hoare vào năm 2006 khi ông làm việc cho Mozilla Research.

Di chuyển mục tiêu thiết kế

Thiết kế của Move cho chuỗi khối Diem chủ yếu tập trung vào việc tạo ra một nền tảng an toàn và dễ lập trình. Để chứng minh điều đó, Move phải giới thiệu các luật về chuỗi khối Diem và tiền tệ của nó theo cách đơn giản, chính xác và có thể kiểm chứng được.

Với suy nghĩ này, các nhà phát triển Move đã chọn các mục tiêu thiết kế cụ thể để hỗ trợ sự phát triển của chương trình và vẫn phù hợp trong tương lai. Một số mục tiêu thiết kế bao gồm:

Tài nguyên hạng nhất

Di chuyển cho phép người dùng khai báo nội dung tùy chỉnh dưới dạng loại tài nguyên. Những tài sản này được gọi là tài nguyên hạng nhất và được cấp các đặc quyền và bảo mật bổ sung. Các tài nguyên hạng nhất cũng sẽ tự động được kiểm soát truy cập, do đó, chỉ những người dùng có mã bảo mật chính xác mới có thể mở rộng quy mô thông qua điểm truy cập. Move cũng có các mô-đun như hợp đồng thông minh Ethereum phổ biến (Solidity). Các mô-đun này là các khối mã chứa tài nguyên và các loại và thủ tục khác nhau.

Bản dựng đặc biệt của Move làm cho các tài nguyên có thể hoàn toàn trong suốt trong các mô-đun trong khi không rõ ràng đối với các lời gọi bên ngoài tới mô-đun. Một tính năng quan trọng khác của ngôn ngữ Move là tài nguyên không bao giờ có thể được sao chép hoặc xóa hoàn toàn. Chúng chỉ có thể được di chuyển từ vị trí lưu trữ này sang vị trí lưu trữ khác.

Uyển chuyển

Kịch bản giao dịch sẽ được bao gồm trong mọi giao dịch của Diem (Libra). Các tập lệnh giao dịch này được sử dụng trong một mô-đun để thực hiện các cuộc gọi và thủ tục gọi lên. Thủ tục chính duy nhất có thể được tạo thành từ mã có thể tùy chỉnh và tùy ý. Một tập lệnh giao dịch đơn lẻ có thể gọi ra nhiều thủ tục khác nhau.

Các mô-đun di chuyển giúp lập trình viên linh hoạt với cơ hội xây dựng các mã an toàn. Move có thể được ví như ngôn ngữ lập trình hướng đối tượng do mối quan hệ giống hệt nhau giữa “lớp, phương thức, đối tượng” và “mô-đun, thủ tục và tài nguyên”.

khả năng kiểm chứng

Các công cụ xác minh ngoài chuỗi cũng được cho phép trên MOVE, mặc dù nó đã có một hệ thống cho phép xác minh trên chuỗi. Điều này là do xác minh trên chuỗi không phù hợp với chuỗi khối cấp cao. Việc giới thiệu xác minh ngoài chuỗi sẽ cắt giảm quá trình xác minh phức tạp trên chuỗi. Để đạt được điều này, ngôn ngữ lập trình di chuyển sẽ tập trung vào ba thiết kế riêng biệt:

Không có công văn động

Điều này được sử dụng để tránh việc xây dựng biểu đồ cuộc gọi phức tạp và cho phép các vị trí cuộc gọi được xác định tĩnh.

tính mô đun

MOVE, với sự trợ giúp của tính mô-đun, có thể cô lập các mô-đun để xác minh chức năng. Di chuyển các mô-đun sẽ giúp trừu tượng hóa dữ liệu và bản địa hóa các hoạt động tài nguyên quan trọng.

Khả năng biến đổi hạn chế

Thiết kế này phù hợp với các trường hợp hướng tới việc sử dụng các kiểu tham chiếu tương tự như C++. Nó cho phép tối đa một tham chiếu có thể thay đổi tại một điểm.

Sự an toàn

Ba thuộc tính an toàn rất cần thiết trong ngôn ngữ lập trình Move; an toàn kiểu, an toàn tài nguyên và an toàn bộ nhớ. Có nhiều cách tiếp cận khả thi khác nhau mà Move có thể sử dụng để đảm bảo rằng các chương trình không tuân thủ các đặc tính an toàn này sẽ không được chấp nhận.

Cách tiếp cận đầu tiên là Move sử dụng ngôn ngữ lập trình cấp cao được trang bị trình biên dịch có nhiệm vụ duyệt qua các thuộc tính.

Cách tiếp cận thứ hai sẽ là sử dụng một tổ hợp chưa được định kiểu ở mức độ thấp cùng với các kiểm tra an toàn. Move loại bỏ cả hai cách tiếp cận và dựa vào việc thực thi của nó, đây là một mã byte được nhập nâng cao so với mã byte và không nâng cao như ngôn ngữ nguồn.

Di chuyển hoạt động như thế nào?

Ngôn ngữ đặc biệt của Move được phát triển bằng cách sử dụng logic tuyến tính, giới hạn việc sử dụng tài nguyên trong một lần và khiến tài sản kỹ thuật số không thể bị xóa hoặc sao chép. Điều này cho phép các nhà phát triển mã hóa các loại tài nguyên tùy chỉnh mà không thể xóa hoặc sao chép hoàn toàn do các loại tài nguyên được coi là hạng nhất.

Move sử dụng một hệ thống kiểu tĩnh xác định các biến trong ngôn ngữ lập trình là một kiểu nhất định (nghĩa là một số hoặc một từ.) Move vẫn duy trì sự an toàn của tài nguyên nhưng vẫn đủ chỗ để sử dụng chúng như bất kỳ tài nguyên không phải hạng nhất nào khác. Chúng có thể dễ dàng được lưu trữ trong cấu trúc dữ liệu hoặc được chuyển thành giá trị trong tính toán.

Điều này có nghĩa là các tài nguyên trong Move được bảo mật cao, đồng thời có thể thực hiện mà không bị hạn chế. Mã này cung cấp một mức độ bảo mật nhưng cũng có thể được sử dụng cho tất cả các hoạt động khác một cách dễ dàng. Đây là một sự kết hợp hoàn hảo cho các chương trình chuỗi khối vì nó giải quyết các vấn đề về bảo mật và khả năng mở rộng mà hầu hết các chuỗi khối gặp phải.

Điều gì làm cho Move trở nên độc đáo?

Hầu hết các dự án tiền điện tử đều có một tính năng hoặc thuộc tính nhất định ngoài cái tên khiến chúng khác biệt với tất cả các nền tảng và đối thủ cạnh tranh khác. Di chuyển không khác nhau trong khía cạnh đó. Nó được trang bị một số tính năng nhất định khiến nó trở thành lựa chọn tốt hơn cho các dự án hiện có. Dưới đây là một vài tính năng khiến Move khác biệt so với phần còn lại.

  • Di chuyển ngôn ngữ liên quan đến các chính sách kiểm soát truy cập nhúng trong ngữ nghĩa ngôn ngữ.
  • Move không thực thi hệ thống loại mặc định cho các tài sản kỹ thuật số như Ether hoặc Bitcoin .
  • Trong toàn bộ ngôn ngữ, bạn có thể định vị một đại diện định vị nội dung duy nhất. Bất kỳ loại nội dung tùy chỉnh nào, chẳng hạn như mã thông báo ERC20 , phải được kiểm tra các tính năng an toàn do lập trình viên đã tạo mã thông báo chỉ định.
  • Di chuyển không có vấn đề về giới hạn

Các thành phần của DI CHUYỂN

Các tính năng độc đáo của Move không phải là tất cả những gì làm cho ngôn ngữ lập trình chạy được. Nó cũng bao gồm một số thành phần phù hợp với quy trình của chương trình. Dưới đây là một vài thành phần mà người dùng có thể tìm thấy trong MOVE.

các loại

Trong MOVE, điều này đề cập đến các kiểu dữ liệu nguyên thủy được hỗ trợ. Boolean, số nguyên không dấu 64 bit, mảng byte có kích thước cố định và địa chỉ 256 bit đều là những ví dụ.

cấu trúc

Có hai loại cấu trúc. Cái đầu tiên được gọi là Loại, đề cập đến cấu trúc tài nguyên. Cái thứ hai, được gọi là không giới hạn, đề cập đến cấu trúc chung.

thủ tục

Trong thành phần này, chúng ta có hai phương thức chính là public và internal. Sự phụ thuộc mô-đun không theo chu kỳ giúp ngăn chặn các cuộc tấn công định kỳ.

Trình xác minh mã byte

Thành phần này được giao nhiệm vụ xác minh các đặc điểm an toàn trước khi các mô-đun được xuất bản. Các chương trình trên Move đều phải qua kiểm định trước khi xuất xưởng. Việc xác minh được chia thành các giai đoạn khác nhau.

  • Xác minh rằng kích thước của ngăn xếp vẫn chưa được sửa đổi sau khi hoàn thành tất cả các thao tác.
  • kiểm tra loại
  • Phát triển đồ thị kiểm soát
  • xác minh tài liệu tham khảo
  • Liên kết các tham chiếu đến trạng thái chung để xác minh việc tuân thủ khai báo và sử dụng
  • Kiểm tra tài nguyên

Trình thông dịch mã byte

Khi quá trình xác minh hoàn tất, tất cả các chương trình phải thông qua trình thông dịch. Việc thực thi các chương trình có thể được ví như Ethereum vì cả hai nền tảng đều sử dụng các tham số gas, đảm bảo thực thi vòng lặp vô hạn.

Di chuyển máy ảo

Máy ảo của Move không hoạt động khác với chuỗi khối trung bình của bạn. Nó bao gồm một số khối chứa nhiều giao dịch và mỗi giao dịch, sau khi được thực hiện, sẽ tạo ra hiệu ứng giao dịch. Các hiệu ứng tạo ra trạng thái toàn cầu được cập nhật của chuỗi khối, tách các hiệu ứng khỏi các chuyển đổi trạng thái.

Bí mật đằng sau sự nổi tiếng gần đây của Move

Người ta có thể kỳ vọng Move đã trở thành một ngôn ngữ lập trình phổ biến hiện nay, nhưng do các vấn đề mà Diem (trước đây là Libra) gặp phải, sự phát triển của nó đã bị cắt ngắn. Nó gần đây đã nhận được sự chú ý của ánh đèn sân khấu nhờ Aptos.

Aptos là một blockchain lớp một được tạo bằng ngôn ngữ lập trình Move. Nó được phát triển bởi các nhà phát triển Meta, những người đã quyết định phát triển chuỗi khối của họ sau khi Meta bỏ dự án chuỗi khối Diem (trước đây là Libra). Nó kết hợp các giao dịch song song và ngôn ngữ lập trình Move để tạo ra tốc độ giao dịch lý thuyết là 100,00 giao dịch mỗi giây.

Quyết định của Aptos sử dụng ngôn ngữ lập trình Move đã tạo ra một nền tảng mà về mặt lý thuyết có thể đạt được tốc độ giao dịch cao và khả năng mở rộng mà không từ bỏ sự an toàn của chuỗi khối. Aptos đã tự thiết lập các thành phần giúp chuỗi khối nổi bật so với phần còn lại.

Di chuyển và các ngôn ngữ lập trình khác

[Move không phải là ngôn ngữ lập trình khả dụng duy nhất; nó thường được so sánh với Solidity và Clarity. Ba ngôn ngữ lập trình này được sử dụng nhiều nhất trên các nền tảng khác nhau trong không gian chuỗi khối. Dưới đây là bài phân tích so sánh của Move so với 2 hãng còn lại.

Di chuyển so với Solidity

Solidity là ngôn ngữ lập trình được xây dựng chỉ để tạo hợp đồng thông minh trên mạng Ethereum. Do đó, các thành viên đằng sau chuỗi khối Ethereum đã biến Solidity trở thành lựa chọn hàng đầu để triển khai các hợp đồng thông minh cho Máy ảo Ethereum cũng như các nền tảng phát triển chuỗi khối tương thích với EVM. Ngôn ngữ cấp cao, có dấu ngoặc nhọn lấy cảm hứng từ các ngôn ngữ lập trình khác như Javascript, C++ và Python.

Thiết kế của solidity cho phép các nhà phát triển viết các ứng dụng kịch bản sử dụng logic tự thực thi. Ngoài ra, việc Solidity sử dụng cú pháp javascript làm nguồn cảm hứng đã khiến Javascript trở nên dễ hiểu và được triển khai bởi các nhà phát triển.

Giống như Solidity, Move được tạo ra với các mạng khác nhau. Mạng lưới hàng đầu để thực hiện ngôn ngữ Di chuyển là Diệm, cuối cùng đã bị giải thể. Mặt khác, Solidity được phát triển cho chuỗi khối Ethereum phổ biến, vẫn đang hoạt động cho đến ngày nay.

Mức độ bảo mật khi đối mặt với các cuộc tấn công vào lại là một sự khác biệt lớn giữa Move và Solidity. Solidity thường được biết là dễ bị tấn công vào lại nếu mã được xây dựng bằng ngôn ngữ yếu. Mặt khác, Move không bị tấn công vào lại do các tính năng bảo mật tài sản của nó (định nghĩa tài nguyên và phân tách quyền kiểm soát, nhập tĩnh, tổng quát, hệ thống mô-đun và xác minh chính thức.)

Cuối cùng, một yếu tố quan trọng đối với các nhà phát triển trong việc lựa chọn ngôn ngữ lập trình là tính dễ sử dụng. Solidity được biết đến như một trong những ngôn ngữ linh hoạt nhất hiện có và đó là lý do tại sao nó vẫn được sử dụng phổ biến cho đến ngày nay. Thật không may, Move không linh hoạt bằng, nhưng nó vẫn dễ sử dụng.

Di chuyển so với rõ ràng

Blockstack là một nền tảng được thiết lập để phát triển internet của riêng mình và cung cấp các dịch vụ và cơ sở hợp đồng thông minh. Để tạo điều kiện thuận lợi cho điều đó, Blockstack đã giới thiệu Clarity làm ngôn ngữ lập trình hợp đồng thông minh cho Stacks Blockchain của riêng họ. Clarity là ngôn ngữ lập trình cho phép người dùng phát triển các điều khoản đặc biệt của riêng họ cho hợp đồng thay vì các điều khoản được lập trình sẵn.

Tính rõ ràng cũng giúp loại bỏ khả năng xảy ra các giao dịch không mong muốn, mang lại cho nó mức độ bảo mật cao hơn. Một đặc điểm chính của sự rõ ràng là một khía cạnh của sự chắc chắn cung cấp một ngôn ngữ lập trình “có thể quyết định” cho biết máy tính sẽ làm gì với mã.

Move dựa trên Diem, một chuỗi khối linh hoạt, an toàn và có khả năng mở rộng cao, trong khi Clarity dựa trên Stack 2.0, một mạng nguồn mở dành cho các ứng dụng dApp khác nhau sử dụng mạng Ethereum để tạo các ứng dụng mới.

Phần tổng hợp của Move cũng khiến nó khác biệt với Clarity. Move sử dụng trình biên dịch để thực thi mã của nó. Không giống như Move, Clarity không sử dụng trình biên dịch trong khi thực thi mã.

Phần kết luận

Move đã cho thấy mình là một loại ngôn ngữ lập trình đặc biệt sẽ cách mạng hóa toàn bộ ngành công nghiệp blockchain. Cho đến nay, nó đã thu hút sự chú ý của blockchain Aptos mới và chỉ có thời gian mới cho biết sự kết hợp này sẽ thành công như thế nào.

作者: Tamilore
譯者: piper
審校: Hugo、Edward、Ashely、Joyce
* 投資有風險,入市須謹慎。本文不作為Gate.io提供的投資理財建議或其他任何類型的建議。
* 在未提及Gate.io的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io有權追究其法律責任。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!