この本は、デジタル資産を使った安全なプログラミングの本質を捉えたスマートコントラクト言語である Move に特化しています。Move は次の価値に基づいて設計されています:
- デフォルトで安全: 不安全な言語は、スマートコントラクト開発のアクセス性とデジタル資産の主流採用の両方に対する重大な障壁です。スマートコントラクト言語の第一の義務は、再入可能性、アクセス制御チェックの欠如、算術オーバーフローなどの潜在的な安全性の問題を可能な限り防ぐことです。Moveの変更は、既存の安全性保証を維持または強化するものでなければなりません。
- 本質的に表現力豊か: Moveは、プログラマーが想像できるあらゆるスマートコントラクトを書くことを可能にしなければなりません。しかし、Moveが何を可能にするかと同じくらい、Moveを書くことの「感覚」にもこだわります。言語は、必要な機能が利用可能であり、選択が明確であるほど豊かでなければなりません。Moveのツールチェーンは、生産性を向上させ、思考のパートナーとなるべきです。
- すべての人に直感的: スマートコントラクトは有用なアプリケーションの一部に過ぎません。Moveはその使用の広い文脈を理解し、スマートコントラクト開発者とアプリケーション開発者の両方を念頭に置いて設計されるべきです。開発者がMoveで管理される状態を読み、Moveで動作するトランザクションを構築し、新しいMoveコードを書く方法を簡単に学べるようにする必要があります。
Move のコアとなる技術要素は次のとおりです:
- プログラム可能なオブジェクトを介したデジタル資産の安全で親しみやすく柔軟な抽象化。
- 値の作成、破棄、保存、コピー、および転送の方法に対して極端な制御を提供するリッチな能力システム(線形型に触発されたもの)。
- この制御を維持しながらコードの再利用を可能にする強力なカプセル化機能を備えたモジュールシステム。
- オブジェクト間の階層的な関係を作成するための動的フィールド。
- Moveで動作するAPIのクライアント側の合成を可能にするプログラム可能なトランザクションブロック(PTB)。
Moveは2018年にFacebookのLibraプロジェクトの一環として誕生しました。2019年に公開され、2020年に最初のMoveで動作するネットワークが立ち上げられました。2024年4月現在、Moveで動作するチェーンは多数存在し、さらに多くのチェーンが開発中です。Moveはプラットフォームに依存しないコアを備えた埋め込み言語であり、使用するチェーンごとに若干異なる個性を持ちます。
新しいプログラミング言語を作成し、その周りにコミュニティを構築することは野心的で長期的なプロジェクトです。言語が成功するには、関連する方法で他の言語よりも桁違いに優れている必要がありますが、それでもコミュニティの質は技術的な基礎よりも重要です。Moveは若い言語ですが、差別化とコミュニティの両方において良いスタートを切っています。Moveの価値観に共感するスマートコントラクトプログラマーとコアな貢献者の小規模ながら熱心なグループは、スマートコントラクトでできること、スマートコントラクトで実現できるアプリケーション、そして (安全に) スマートコントラクトを作成できる人の限界を押し広げています。それにインスパイアされたなら、読み進めてください!
— Sam Blackshear, Moveの創設者
The Move Book へ戻る