The Move language (APTOS)
Move is a new smart contract programming language with an emphasis on safety and flexibility. The Aptos blockchain uses Move’s object model to represent its ledger state and uses Move code (modules) to encode rules of state transitions. Users submit transactions that can publish new modules, upgrade existing modules, execute entry functions defined within a module, or contain scripts that can directly interact with the public interfaces of modules.
The Move ecosystem contains a compiler, a virtual machine, and many other developer tools. Move is inspired by the Rust programming language, which makes the ownership of data explicit in the language via concepts like linear types. Move emphasizes resource scarcity, preservation, and access control. Move modules define the lifetime, storage, and access pattern of every resource. This ensures that resources like Coin are not produced without appropriate credentials, cannot be double spent, and do not disappear.
Move leverages a bytecode verifier to guarantee type and memory safety even in the presence of untrusted code. To help write more trusted code, Move includes a formal verifier, the Move Prover, capable of verifying the functional correctness of a Move program against a given specification, formulated in the specification language integrated into Move. Beyond the user accounts and corresponding account content, the ledger state also contains the on-chain configuration of the Aptos blockchain. This network configuration includes the set of active validators, staking properties, and the configuration of various services within the Aptos blockchain.
Move’s support for module upgradeability and comprehensive programmability enables seamless configuration changes and supports upgrades to the Aptos blockchain itself (both sets of upgrades have been executed multiple times with zero downtime on a private mainnet). The Aptos team has further enhanced Move with support for broader web3 use cases.The Aptos blockchain enables fine-grained resource control. Not only does this support parallelization of execution, but it also achieves a near-fixed cost associated with accessing and mutating data. Moreover, the Aptos blockchain provides table support built on top of fine-grained storage, which allows for large-scale datasets (e.g., massive collections of NFTs) in a single account. Furthermore, Aptos supports shared or autonomous accounts that are represented entirely on-chain. This allows complex decentralized autonomous organizations (DAOs) to collaboratively share accounts, as well as use these accounts as containers for a heterogeneous collection of resources.
Move is a safe and reliable language originally created by Diem
From the outset, the Diem project has been focused on leveraging the benefits of blockchain technology to design a better and more inclusive payment system. The members of the Diem Association and our outstanding team pursued this vision with determination and perseverance, motivated by the desire to deliver substantial benefits to consumers and businesses, along with a payments solution for those who are currently underserved or excluded altogether from the traditional financial system.
DIEM is proud of the work that the Association, their partners, and their team have done. This has included building and testing a blockchain-based payment system with industry-leading controls to protect consumers and combat financial crime, that is intended to be safe for people making ordinary day-to-day payments.
One of our highest priorities in designing the Diem Payment Network was building in controls to protect it against misuse by illicit actors. Diem addressed that concern in ways that are novel in the industry, implementing numerous controls that were recognized as innovative by regulators. Among these controls was a prohibition on anonymous transactions, which pose both a sanctions and money laundering risk.
As they undertook this effort, we actively sought feedback from governments and regulators around the world, and the project evolved substantially and improved as a result. In the United States, a senior regulator informed us that Diem was the best-designed stablecoin project the US Government had seen.
They are gratified that the subsequent Report on Stablecoins issued by the President’s Working Group on Financial Markets validated many of Diem’s core design features. Those features address not only the risks related to the issuance of a stablecoin, but also the risks associated with transferring stablecoins between parties.
Despite giving them positive substantive feedback on the design of the network, it nevertheless became clear from our dialogue with federal regulators that the project could not move ahead.
Diem presents Move, a safe and flexible programming language for the Libra Blockchain. Move is an executable bytecode language used to implement custom transactions and smart contracts. The key feature of Move is the ability to define custom resource types with semantics inspired by linear logic: a resource can never be copied or implicitly discarded, only moved between program storage locations. These safety guarantees are enforced statically by Move’s type system. Despite these special protections, resources are ordinary program values — they can be stored in data structures, passed as arguments to procedures, and so on. First-class resources are a very general concept that programmers can use not only to implement safe digital assets but also to write correct business logic for wrapping assets and enforcing access control policies. The safety and expressivity of Move have enabled to implement significant parts of the Libra protocol in Move, including Libra coin, transaction processing, and validator management.