ムーブとは何ですか?

上級11/30/2022, 9:36:44 AM
Moveは、ブロックチェーンに影響を与える問題を解決するためにLibra(現在のDiem)によって開発された機能的なバイトコード言語です。 Moveはスマートコントラクトを実装し、トランザクションのカスタマイズを可能にします。

紹介

ブロックチェーンと暗号業界は、金融セクターと世界に革命をもたらしました。 業界の成長を支援し、暗号通貨の広範な使用を生み出すために、いくつかの新興企業が生まれました。 多くのプロジェクトが、より多くの視聴者を引き付けるために主流のユーザーにアピールする新しいプラットフォームを生み出しました。

これらのプロジェクトは、運用の円滑な実行を保証し、安全、確実、効率的なプラットフォームを保証するいくつかのメカニズムを利用しています。 コンピュータプログラムであるスマートコントラクトは、コントラクトのアクティビティとイベントを制御するため、重要な要素です。それを確実にするために、Moveスマートコントラクトは、開発者がプログラムの開発を容易にする適応可能なソフトウェアを作成するのを支援するために作成されました。

この記事では、Moveの機能、用途、コンポーネント、および最近の人気の背後にある秘密について説明します。

移動とは何ですか?

Move は、スマートコントラクトとカスタマイズ可能なトランザクションを実装する実行可能なバイトコード言語です。 これは、ブロックチェーンプログラミング言語に影響を与える一般的な問題に取り組むために開発されました。 セキュリティと保護の利点が追加されたMoveは、開発者がデジタル資産を簡単に管理および転送する柔軟なプログラムを構築するための手段を作成します。

他の用途もありますが、Move開発チームの主な目標は、特定のデジタル資産を1回だけ使用でき、一度に1人だけが保持できることを保証する言語を確立することでした。

プログラミング言語Moveの背景

Moveは、Facebookが開発した Diem ブロックチェーン用の安全でシンプルなプログラミング言語として開発されました。 Libraは、簡単で安価で、世界中で広く使用されているブロックチェーンとして開発されました。 低コストで柔軟なブロックチェーンベースのデジタル資産として開発されました。 したがって、Moveはブロックチェーントランザクションを実行し、開発者がLibra互換アプリを構築できるように設計されています。

2020年末までに、Libraはさまざまな国の経済メンバーからのいくつかの問題と反発、およびその名前とロゴの問題に直面し、名前をDiemに変更しました。 ブロックチェーンの立ち上げは、Libraの立ち上げが生み出すセキュリティとマネーロンダリングの問題に対する世界の大国の懸念により、2022年1月に失敗しました。

Moveは RUST言語を使用して書かれました。2018年に世界中のプログラマーから非常に求められている人気のあるマルチパラダイムプログラミング言語。 Rustのプログラミング言語は、メモリの安全性と同時データ競合の防止を優先しました。 これは、Graydon HoareがMozilla Researchで働いていた2006年にGraydon Hoareによって開発されました。

設計目標の移動

MoveのDiemブロックチェーンの設計は、主に安全で簡単にプログラム可能なプラットフォームを利用できるようにすることに重点を置いていました。 それを示すために、MoveはDiemブロックチェーン法とその通貨をシンプル、正確、かつ検証可能な方法で紹介する必要がありました。

これを念頭に置いて、Move開発者は、プログラムの成長をサポートし、将来も関連性を維持するために特定の設計目標を選択しました。 設計目標には、次のようなものがあります。

ファーストクラスのリソース

移動を使用すると、ユーザーはカスタム資産をリソースタイプとして宣言できます。 これらの資産はファーストクラスのリソースと呼ばれ、特別な特権と追加のセキュリティが付与されます。 ファーストクラスのリソースも自動的にアクセス制御されるため、正しいセキュリティコードを持つユーザーのみがアクセスポイントを介して拡張できます。 Moveには、人気のある イーサリアム スマートコントラクト(Solidity)などのモジュールもあります。 これらのモジュールは、リソースとさまざまなタイプとプロシージャを保持するコードブロックです。

Moveの特別なビルドにより、モジュールへの外部呼び出しに対して不透明でありながら、モジュール内でリソースを完全に透過的にすることができます。 移動言語のもう 1 つの重要な機能は、リソースをコピーしたり、完全に削除したりできないことです。 ある保管場所から別の保管場所にのみ移動できます。

柔軟性

トランザクションスクリプトは、すべてのDiem(Libra)トランザクションに含まれます。 これらのトランザクションスクリプトは、呼出および呼出手順を行うためにモジュールで使用されます。 単一のメインプロシージャは、カスタマイズ可能な任意のコードで構成できます。 1 つのトランザクションスクリプトでさまざまなプロシージャを呼び出すことができます。

移動モジュールは、プログラマーに安全なコードを構築する機会を与える柔軟性を与えます。 Moveは、「クラス、メソッド、オブジェクト」と「モジュール、プロシージャ、およびリソース」の間の同一の関係により、オブジェクト指向プログラミング言語に例えることができます。

検証可能性

オフチェーン検証ツールは、オンチェーン検証を可能にするシステムをすでに保持しているにもかかわらず、MOVEでも許可されています。 これは、オンチェーン検証が高レベルのブロックチェーンには不適切であるためです。 オフチェーン検証の導入により、オンチェーン検証の複雑なプロセスが削減されます。 これを実現するために、移動プログラミング言語は3つの異なる設計に焦点を当てます。

動的ディスパッチなし

これは、複雑なコールグラフの構築を回避し、コールサイトを静的に決定できるようにするために使用されます。

モジュール

MOVEは、モジュール性の助けを借りて、機能検証のためにモジュールを分離することができます。 移動モジュールは、データの抽象化と重要なリソース操作のローカライズに役立ちます。

限られた可変性

この設計は、C++ に似た参照型の利用を目的とした場合に適しています。 1 つのポイントで最大 1 つの変更可能な参照が許可されます。

安全

Moveプログラミング言語では、3つの安全特性が不可欠です。タイプ セーフ、リソース セーフ、およびメモリ セーフ。 これらの安全特性に準拠していないプログラムが受け入れられないようにするために、Moveが使用できるさまざまなアプローチがあります。

最初のアプローチは、Moveがプロパティを通過するタスクを負うコンパイラを備えた高水準プログラミング言語を使用することです。

2番目のアプローチは、安全性チェックとともに低レベルの型指定されていないアセンブリを使用することです。 Moveは両方のアプローチを取り、バイトコードと比較して高度であり、ソース言語ほど高度ではない型付きバイトコードであるその実行に依存しています。

移動はどのように機能しますか?

Moveの独特な言語は、リソースの使用を一度に制限し、デジタル資産を削除または複製できないようにする線形ロジックを使用して開発されました。 これにより、開発者は、リソースの種類がファースト クラスとして扱われる原因で暗黙的に消去またはコピーできないカスタマイズされたリソースの種類をエンコードできます。

Moveは、プログラミング言語の変数を特定の型(つまり、数値または単語)として定義する静的型システムを採用しています。 Moveは引き続きリソースの安全性を維持しますが、他の非ファーストクラスリソースと同様にそれらを使用するのに十分なスペースを残します。 これらは、データ構造内に簡単に格納したり、計算で値として渡したりできます。

つまり、Moveのリソースは高度に保護されていると同時に、制限なしで実行できます。 このコードはセキュリティレベルを提供しますが、他のすべての操作に簡単に使用することもできます。 これは、ほとんどのブロックチェーンが直面するセキュリティとスケーラビリティの問題を解決するため、ブロックチェーンプログラムに最適な組み合わせです。

ムーブのユニークな点は何ですか?

ほとんどの暗号通貨プロジェクトには、他のすべてのプラットフォームや競合他社とは一線を画す名前とは別に、特定の機能または属性があります。 移動はその点で違いはありません。 既存のプロジェクトに適した特定の機能を備えています。 Moveを他の機能と一線を画すいくつかの機能を次に示します。

  • 言語の移動には、言語セマンティクスに埋め込まれたアクセス制御ポリシーが含まれます。
  • Moveは、 Ether ビットコインなどのデジタル資産にデフォルトタイプのシステムを強制しません。
  • 言語全体で、1 つのアセット位置特定表現を見つけることができます。 ERC20トークンのようなあらゆる種類のカスタマイズされた資産は、トークンを作成したプログラマーによって指定された安全機能について調べる必要があります。
  • 移動には制限の問題がありません

MOVEのコンポーネント

Moveのユニークな機能は、プログラミング言語を実行するすべてではありません。 また、プログラムのプロセスに合わせて調整されたいくつかのコンポーネントで構成されています。 ユーザーがMOVEで見つけることができるいくつかのコンポーネントを次に示します。

種類

MOVE では、これはサポートされているプリミティブデータ型を指します。 ブール値、64 ビット符号なし整数、固定サイズのバイト配列、および 256 ビット アドレスはすべて例です。

構造 体

構造体には 2 つのタイプがあります。 1つ目はKindと呼ばれ、リソース構造を指します。 2つ目は無制限と呼ばれ、一般的な構造を指します。

手続き

このコンポーネントの下には、パブリックと内部の2つの主要な方法があります。 非周期的なモジュールの依存関係は、繰り返し攻撃を防ぐのに役立ちます。

バイトコード検証ツール

このコンポーネントは、モジュールが公開される前に安全特性を検証する任務を負っています。 Moveのプログラムは、リリースされる前に検証ツールを通過する必要があります。 検証はさまざまな段階に分けられます。

  • すべての操作の完了時にスタックのサイズがまだ変更されていないことを確認します。
  • 型チェック
  • コントロールグラフ開発
  • 参照検証
  • 宣言と使用の適合性を検証するためのグローバル状態への参照のリンク
  • リソースチェック

バイトコードインタプリタ

検証プロセスが完了したら、すべてのプログラムがインタープリターを通過する必要があります。 プログラムの実行は、どちらのプラットフォームもガスパラメータを使用し、無限ループの実行を保証するため、イーサリアムに例えることができます。

仮想マシンの移動

Moveの仮想マシンは、平均的なブロックチェーンと何ら変わらない動作をします。 これは、複数のトランザクションを含む複数のブロックで構成され、各トランザクションが実行されると、トランザクション効果が作成されます。 効果はブロックチェーンの更新されたグローバル状態を作成し、効果を状態遷移から分離します。

ムーブの最近の人気の秘密

Moveは今では人気のあるプログラミング言語になっていると予想されていましたが、Diem(以前のLibra)が直面した問題のために、その成長は短くなりました。 最近、Aptosのおかげで脚光を浴びています。

Aptosは、プログラミング言語Moveを使用して作成されたレイヤー1ブロックチェーンです。 これは、メタがDiem(旧Libra)ブロックチェーンプロジェクトをドロップした後、ブロックチェーンを開発することを決定したメタ開発者によって開発されました。 並列トランザクションとプログラミング言語Moveを組み合わせて、毎秒100,00トランザクションの理論上のトランザクション速度を生成します。

プログラミング言語Moveを使用するというAptosの決定により、ブロックチェーンの安全性を損なうことなく、理論的には高いトランザクション速度とスケーラビリティを実現できるプラットフォームが作成されました。 Aptosは、ブロックチェーンを他のブロックチェーンから際立たせるのに役立つコンポーネントをセットアップしました。

移動およびその他のプログラミング言語

[Move は利用可能な唯一のプログラミング言語ではなく、Solidity や Clarity とよく比較される。 これらの3つのプログラミング言語は、ブロックチェーン空間のさまざまなプラットフォームで最もよく使用されています。 以下は、他の2つと比較したMoveの比較です。

移動とソリッド

Solidityは、イーサリアムネットワーク上でスマートコントラクトを作成するためだけに構築されたプログラミング言語です。 そのため、イーサリアムブロックチェーンの背後にいるメンバーは、Solidityをイーサリアム仮想マシンのスマートコントラクトとEVM互換のブロックチェーン開発プラットフォームを実装するための主要な選択肢にしました。 高レベルの中括弧言語は、Javascript、C++、Python などの他のプログラミング言語からインスピレーションを得ています。

Solidity の設計により、開発者は自己強制ロジックを利用するアプリケーションをスクリプト化できます。 また、JavaScript構文をインスピレーションとして利用するSolidityにより、Javascriptは開発者が簡単に理解して実装できるようになりました。

Solidityと同様に、Moveはさまざまなネットワークを念頭に置いて作成されました。 Move言語を実装するための主要なネットワークはDiemでしたが、最終的には解散しました。 一方、Solidityは、今日まで稼働している人気のイーサリアムブロックチェーン用に開発されました。

再突入攻撃に直面したときのセキュリティのレベルは、MoveとSolidityの大きな違いです。 Solidityは、その言語で構築されたコードが弱い場合、再突入攻撃に対して脆弱であることが一般的に知られています。 一方、Moveは、資産セキュリティ機能(リソース定義と制御権限の分離、静的型付け、ジェネリック、モジュールシステム、および形式検証)により、再突入攻撃の影響を受けません。

最後に、開発者がプログラミング言語を選択する際の重要な要素は、使いやすさです。 Solidityは、世の中で最も柔軟な言語の1つとして知られており、それが今日でも広く使用されている理由です。 残念ながら、Moveはそれほど柔軟ではありませんが、それでも使いやすいです。

移動と明瞭さ

Blockstackは、独自のインターネットを開発し、スマートコントラクトサービスと設備を提供することに設定されたプラットフォームです。 それを容易にするために、Blockstackは独自のStacksブロックチェーンのスマートコントラクトプログラミング言語としてClarityを導入しました。 Clarityは、ユーザーが事前にプログラムされた条件ではなく、契約に関する独自の特別な条件を開発できるようにするプログラミング言語です。

Clarityはまた、予期しないトランザクションが発生する可能性を排除し、セキュリティのレベルを高めます。 明快さの大きな特徴の1つは、コンピュータがコードで何をするかを示す「決定可能な」プログラミング言語を提供する確実性の側面です。

Moveは、拡張性が高く、安全で柔軟なブロックチェーンであるDiemに基づいていますが、Clarityは、イーサリアムネットワークを使用して新しいdAppを作成するさまざまなdApp用のオープンソースネットワークであるStack 2.0に基づいています。

Moveのコンピレーションは、クラリティとは一線を画しています。 Move は、コードの実行にコンパイラを使用します。 Moveとは異なり、Clarityはコードの実行中にコンパイラを使用しません。

結論

Moveは、ブロックチェーン業界全体に革命を起こす特別なタイプのプログラミング言語であることが示されています。 これまでのところ、それは新しいブロックチェーンAptosの注目を集めており、組み合わせがどれほど成功するかは時が経てばわかります。

Author: Tamilore
Translator: piper
Reviewer(s): Hugo、Edward、Ashely、Joyce
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.

ムーブとは何ですか?

上級11/30/2022, 9:36:44 AM
Moveは、ブロックチェーンに影響を与える問題を解決するためにLibra(現在のDiem)によって開発された機能的なバイトコード言語です。 Moveはスマートコントラクトを実装し、トランザクションのカスタマイズを可能にします。

紹介

ブロックチェーンと暗号業界は、金融セクターと世界に革命をもたらしました。 業界の成長を支援し、暗号通貨の広範な使用を生み出すために、いくつかの新興企業が生まれました。 多くのプロジェクトが、より多くの視聴者を引き付けるために主流のユーザーにアピールする新しいプラットフォームを生み出しました。

これらのプロジェクトは、運用の円滑な実行を保証し、安全、確実、効率的なプラットフォームを保証するいくつかのメカニズムを利用しています。 コンピュータプログラムであるスマートコントラクトは、コントラクトのアクティビティとイベントを制御するため、重要な要素です。それを確実にするために、Moveスマートコントラクトは、開発者がプログラムの開発を容易にする適応可能なソフトウェアを作成するのを支援するために作成されました。

この記事では、Moveの機能、用途、コンポーネント、および最近の人気の背後にある秘密について説明します。

移動とは何ですか?

Move は、スマートコントラクトとカスタマイズ可能なトランザクションを実装する実行可能なバイトコード言語です。 これは、ブロックチェーンプログラミング言語に影響を与える一般的な問題に取り組むために開発されました。 セキュリティと保護の利点が追加されたMoveは、開発者がデジタル資産を簡単に管理および転送する柔軟なプログラムを構築するための手段を作成します。

他の用途もありますが、Move開発チームの主な目標は、特定のデジタル資産を1回だけ使用でき、一度に1人だけが保持できることを保証する言語を確立することでした。

プログラミング言語Moveの背景

Moveは、Facebookが開発した Diem ブロックチェーン用の安全でシンプルなプログラミング言語として開発されました。 Libraは、簡単で安価で、世界中で広く使用されているブロックチェーンとして開発されました。 低コストで柔軟なブロックチェーンベースのデジタル資産として開発されました。 したがって、Moveはブロックチェーントランザクションを実行し、開発者がLibra互換アプリを構築できるように設計されています。

2020年末までに、Libraはさまざまな国の経済メンバーからのいくつかの問題と反発、およびその名前とロゴの問題に直面し、名前をDiemに変更しました。 ブロックチェーンの立ち上げは、Libraの立ち上げが生み出すセキュリティとマネーロンダリングの問題に対する世界の大国の懸念により、2022年1月に失敗しました。

Moveは RUST言語を使用して書かれました。2018年に世界中のプログラマーから非常に求められている人気のあるマルチパラダイムプログラミング言語。 Rustのプログラミング言語は、メモリの安全性と同時データ競合の防止を優先しました。 これは、Graydon HoareがMozilla Researchで働いていた2006年にGraydon Hoareによって開発されました。

設計目標の移動

MoveのDiemブロックチェーンの設計は、主に安全で簡単にプログラム可能なプラットフォームを利用できるようにすることに重点を置いていました。 それを示すために、MoveはDiemブロックチェーン法とその通貨をシンプル、正確、かつ検証可能な方法で紹介する必要がありました。

これを念頭に置いて、Move開発者は、プログラムの成長をサポートし、将来も関連性を維持するために特定の設計目標を選択しました。 設計目標には、次のようなものがあります。

ファーストクラスのリソース

移動を使用すると、ユーザーはカスタム資産をリソースタイプとして宣言できます。 これらの資産はファーストクラスのリソースと呼ばれ、特別な特権と追加のセキュリティが付与されます。 ファーストクラスのリソースも自動的にアクセス制御されるため、正しいセキュリティコードを持つユーザーのみがアクセスポイントを介して拡張できます。 Moveには、人気のある イーサリアム スマートコントラクト(Solidity)などのモジュールもあります。 これらのモジュールは、リソースとさまざまなタイプとプロシージャを保持するコードブロックです。

Moveの特別なビルドにより、モジュールへの外部呼び出しに対して不透明でありながら、モジュール内でリソースを完全に透過的にすることができます。 移動言語のもう 1 つの重要な機能は、リソースをコピーしたり、完全に削除したりできないことです。 ある保管場所から別の保管場所にのみ移動できます。

柔軟性

トランザクションスクリプトは、すべてのDiem(Libra)トランザクションに含まれます。 これらのトランザクションスクリプトは、呼出および呼出手順を行うためにモジュールで使用されます。 単一のメインプロシージャは、カスタマイズ可能な任意のコードで構成できます。 1 つのトランザクションスクリプトでさまざまなプロシージャを呼び出すことができます。

移動モジュールは、プログラマーに安全なコードを構築する機会を与える柔軟性を与えます。 Moveは、「クラス、メソッド、オブジェクト」と「モジュール、プロシージャ、およびリソース」の間の同一の関係により、オブジェクト指向プログラミング言語に例えることができます。

検証可能性

オフチェーン検証ツールは、オンチェーン検証を可能にするシステムをすでに保持しているにもかかわらず、MOVEでも許可されています。 これは、オンチェーン検証が高レベルのブロックチェーンには不適切であるためです。 オフチェーン検証の導入により、オンチェーン検証の複雑なプロセスが削減されます。 これを実現するために、移動プログラミング言語は3つの異なる設計に焦点を当てます。

動的ディスパッチなし

これは、複雑なコールグラフの構築を回避し、コールサイトを静的に決定できるようにするために使用されます。

モジュール

MOVEは、モジュール性の助けを借りて、機能検証のためにモジュールを分離することができます。 移動モジュールは、データの抽象化と重要なリソース操作のローカライズに役立ちます。

限られた可変性

この設計は、C++ に似た参照型の利用を目的とした場合に適しています。 1 つのポイントで最大 1 つの変更可能な参照が許可されます。

安全

Moveプログラミング言語では、3つの安全特性が不可欠です。タイプ セーフ、リソース セーフ、およびメモリ セーフ。 これらの安全特性に準拠していないプログラムが受け入れられないようにするために、Moveが使用できるさまざまなアプローチがあります。

最初のアプローチは、Moveがプロパティを通過するタスクを負うコンパイラを備えた高水準プログラミング言語を使用することです。

2番目のアプローチは、安全性チェックとともに低レベルの型指定されていないアセンブリを使用することです。 Moveは両方のアプローチを取り、バイトコードと比較して高度であり、ソース言語ほど高度ではない型付きバイトコードであるその実行に依存しています。

移動はどのように機能しますか?

Moveの独特な言語は、リソースの使用を一度に制限し、デジタル資産を削除または複製できないようにする線形ロジックを使用して開発されました。 これにより、開発者は、リソースの種類がファースト クラスとして扱われる原因で暗黙的に消去またはコピーできないカスタマイズされたリソースの種類をエンコードできます。

Moveは、プログラミング言語の変数を特定の型(つまり、数値または単語)として定義する静的型システムを採用しています。 Moveは引き続きリソースの安全性を維持しますが、他の非ファーストクラスリソースと同様にそれらを使用するのに十分なスペースを残します。 これらは、データ構造内に簡単に格納したり、計算で値として渡したりできます。

つまり、Moveのリソースは高度に保護されていると同時に、制限なしで実行できます。 このコードはセキュリティレベルを提供しますが、他のすべての操作に簡単に使用することもできます。 これは、ほとんどのブロックチェーンが直面するセキュリティとスケーラビリティの問題を解決するため、ブロックチェーンプログラムに最適な組み合わせです。

ムーブのユニークな点は何ですか?

ほとんどの暗号通貨プロジェクトには、他のすべてのプラットフォームや競合他社とは一線を画す名前とは別に、特定の機能または属性があります。 移動はその点で違いはありません。 既存のプロジェクトに適した特定の機能を備えています。 Moveを他の機能と一線を画すいくつかの機能を次に示します。

  • 言語の移動には、言語セマンティクスに埋め込まれたアクセス制御ポリシーが含まれます。
  • Moveは、 Ether ビットコインなどのデジタル資産にデフォルトタイプのシステムを強制しません。
  • 言語全体で、1 つのアセット位置特定表現を見つけることができます。 ERC20トークンのようなあらゆる種類のカスタマイズされた資産は、トークンを作成したプログラマーによって指定された安全機能について調べる必要があります。
  • 移動には制限の問題がありません

MOVEのコンポーネント

Moveのユニークな機能は、プログラミング言語を実行するすべてではありません。 また、プログラムのプロセスに合わせて調整されたいくつかのコンポーネントで構成されています。 ユーザーがMOVEで見つけることができるいくつかのコンポーネントを次に示します。

種類

MOVE では、これはサポートされているプリミティブデータ型を指します。 ブール値、64 ビット符号なし整数、固定サイズのバイト配列、および 256 ビット アドレスはすべて例です。

構造 体

構造体には 2 つのタイプがあります。 1つ目はKindと呼ばれ、リソース構造を指します。 2つ目は無制限と呼ばれ、一般的な構造を指します。

手続き

このコンポーネントの下には、パブリックと内部の2つの主要な方法があります。 非周期的なモジュールの依存関係は、繰り返し攻撃を防ぐのに役立ちます。

バイトコード検証ツール

このコンポーネントは、モジュールが公開される前に安全特性を検証する任務を負っています。 Moveのプログラムは、リリースされる前に検証ツールを通過する必要があります。 検証はさまざまな段階に分けられます。

  • すべての操作の完了時にスタックのサイズがまだ変更されていないことを確認します。
  • 型チェック
  • コントロールグラフ開発
  • 参照検証
  • 宣言と使用の適合性を検証するためのグローバル状態への参照のリンク
  • リソースチェック

バイトコードインタプリタ

検証プロセスが完了したら、すべてのプログラムがインタープリターを通過する必要があります。 プログラムの実行は、どちらのプラットフォームもガスパラメータを使用し、無限ループの実行を保証するため、イーサリアムに例えることができます。

仮想マシンの移動

Moveの仮想マシンは、平均的なブロックチェーンと何ら変わらない動作をします。 これは、複数のトランザクションを含む複数のブロックで構成され、各トランザクションが実行されると、トランザクション効果が作成されます。 効果はブロックチェーンの更新されたグローバル状態を作成し、効果を状態遷移から分離します。

ムーブの最近の人気の秘密

Moveは今では人気のあるプログラミング言語になっていると予想されていましたが、Diem(以前のLibra)が直面した問題のために、その成長は短くなりました。 最近、Aptosのおかげで脚光を浴びています。

Aptosは、プログラミング言語Moveを使用して作成されたレイヤー1ブロックチェーンです。 これは、メタがDiem(旧Libra)ブロックチェーンプロジェクトをドロップした後、ブロックチェーンを開発することを決定したメタ開発者によって開発されました。 並列トランザクションとプログラミング言語Moveを組み合わせて、毎秒100,00トランザクションの理論上のトランザクション速度を生成します。

プログラミング言語Moveを使用するというAptosの決定により、ブロックチェーンの安全性を損なうことなく、理論的には高いトランザクション速度とスケーラビリティを実現できるプラットフォームが作成されました。 Aptosは、ブロックチェーンを他のブロックチェーンから際立たせるのに役立つコンポーネントをセットアップしました。

移動およびその他のプログラミング言語

[Move は利用可能な唯一のプログラミング言語ではなく、Solidity や Clarity とよく比較される。 これらの3つのプログラミング言語は、ブロックチェーン空間のさまざまなプラットフォームで最もよく使用されています。 以下は、他の2つと比較したMoveの比較です。

移動とソリッド

Solidityは、イーサリアムネットワーク上でスマートコントラクトを作成するためだけに構築されたプログラミング言語です。 そのため、イーサリアムブロックチェーンの背後にいるメンバーは、Solidityをイーサリアム仮想マシンのスマートコントラクトとEVM互換のブロックチェーン開発プラットフォームを実装するための主要な選択肢にしました。 高レベルの中括弧言語は、Javascript、C++、Python などの他のプログラミング言語からインスピレーションを得ています。

Solidity の設計により、開発者は自己強制ロジックを利用するアプリケーションをスクリプト化できます。 また、JavaScript構文をインスピレーションとして利用するSolidityにより、Javascriptは開発者が簡単に理解して実装できるようになりました。

Solidityと同様に、Moveはさまざまなネットワークを念頭に置いて作成されました。 Move言語を実装するための主要なネットワークはDiemでしたが、最終的には解散しました。 一方、Solidityは、今日まで稼働している人気のイーサリアムブロックチェーン用に開発されました。

再突入攻撃に直面したときのセキュリティのレベルは、MoveとSolidityの大きな違いです。 Solidityは、その言語で構築されたコードが弱い場合、再突入攻撃に対して脆弱であることが一般的に知られています。 一方、Moveは、資産セキュリティ機能(リソース定義と制御権限の分離、静的型付け、ジェネリック、モジュールシステム、および形式検証)により、再突入攻撃の影響を受けません。

最後に、開発者がプログラミング言語を選択する際の重要な要素は、使いやすさです。 Solidityは、世の中で最も柔軟な言語の1つとして知られており、それが今日でも広く使用されている理由です。 残念ながら、Moveはそれほど柔軟ではありませんが、それでも使いやすいです。

移動と明瞭さ

Blockstackは、独自のインターネットを開発し、スマートコントラクトサービスと設備を提供することに設定されたプラットフォームです。 それを容易にするために、Blockstackは独自のStacksブロックチェーンのスマートコントラクトプログラミング言語としてClarityを導入しました。 Clarityは、ユーザーが事前にプログラムされた条件ではなく、契約に関する独自の特別な条件を開発できるようにするプログラミング言語です。

Clarityはまた、予期しないトランザクションが発生する可能性を排除し、セキュリティのレベルを高めます。 明快さの大きな特徴の1つは、コンピュータがコードで何をするかを示す「決定可能な」プログラミング言語を提供する確実性の側面です。

Moveは、拡張性が高く、安全で柔軟なブロックチェーンであるDiemに基づいていますが、Clarityは、イーサリアムネットワークを使用して新しいdAppを作成するさまざまなdApp用のオープンソースネットワークであるStack 2.0に基づいています。

Moveのコンピレーションは、クラリティとは一線を画しています。 Move は、コードの実行にコンパイラを使用します。 Moveとは異なり、Clarityはコードの実行中にコンパイラを使用しません。

結論

Moveは、ブロックチェーン業界全体に革命を起こす特別なタイプのプログラミング言語であることが示されています。 これまでのところ、それは新しいブロックチェーンAptosの注目を集めており、組み合わせがどれほど成功するかは時が経てばわかります。

Author: Tamilore
Translator: piper
Reviewer(s): Hugo、Edward、Ashely、Joyce
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.
Start Now
Sign up and get a
$100
Voucher!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.