Uncategorized

SUIのMOVE言語って何が凄いの?他の言語と比較し徹底解説。

ansin-kasotsuka100xx

次世代のイーサリアムキラーとして大きな期待を持つレイヤー1ブロックチェーンのSUI。そんなSUI最大の特徴がプログラミング言語である”MOVE”です。

プログラミング言語はブロックチェーン開発や取引処理に大きく関わっているため仮想通貨の土台ともなっています。

今回、SUIチェーンにおけるMOVE言語は一体どれ程優れているのか、他の言語と比較して解説していきます。

SUIを購入するならOKJがお勧め↓OKJならSUIを円建てで購入できます。

SUI MOVEとは

SUI MOVEとはSUI開発の基盤となり、SUIネットワークで働くスマートコントラクト開発用のプログラミング言語です。

同じ世代であるAptosもMOVE言語を使用しています。SUIはAptosで使われるMOVEをさらに改良したものを使用。

参考:Sui NetworkとSui Moveを理解する!! #solidity – Qiita Move, the revolutionary smart contract language powering Sui

では、Aptosで使われるMOVE言語とSUI MOVEは一体何が違うのでしょう。以下で説明します。

SUI MOVEとAptos MOVE言語の違い

SUI MOVEとMOVE言語は、基になるdiemプロジェクトから端を発していますが、大きく異なるところはトランザクションのアカウントモデルに「オブジェクト」を採用している点です。

SUIのオブジェクトについては以前記事にしましたね。「アカウントモデルについても詳しく書いてあります」→「レイヤー1」ブロックチェーンSUIのオブジェクトとは?分かり易く解説。 – あんしん仮想通貨

アカウントモデルとは取引全体(アカウント)を一つずつ順番に処理していくシステムです。例えば取引Aと取引Bは「アカウントn」となりn+1、n+2とアカウント全体を更新していく。このやり方ではすぐに速度が頭打ちとなっていまいます。

SUI MOVEではこれとは全く異なる手法を用いています。

Diemプロジェクトとは

Diemプロジェクトは2020年にFacebook(現Meta)が提唱したブロックチェーン技術を用いたネットワークと暗号通貨サービスの提供としたもので、このプロジェクト通貨を用い、決済やその他サービスの利用料支払いに計画されたものです。

しかし、諸事情により国から規制がかかり頓挫してしまいました。

大手のSNS企業が経済圏を支える通貨・ネットワークとして実用化されたら既存の決済サービス(paypal,VISA等)が立ち行かなくなる可能性があります。

国としてはこれは認められなかったのでしょう^^;

それ程脅威に感じられるプロジェクトでもあるという事です。

これが当時のニュース記事です。

引用:Bloombergメタ主導の「ディエム」が買い手求める、計画頓挫で-関係者 – Bloomberg

現在はDiemプロジェクトをそのまま引き継いだAptosと、さらに改良を加えたSUIに分かれ、それぞれで開発に取り組んでいます。

Aptos MOVE言語と比べたSUI MOVEの実力

SUI MOVEでは通常のアカウントモデルと異なり、取引をオブジェクト化(固有のIDを持たせる事)で、取引の所有権を明確化し、強固なセキュリティを得る事が出来ました。「取引」の全てをNFT化したといっても過言ではありません。

実際にこちらの専門記事ではSUIのNFT化した概要を語っています。

引用:Sui NetworkとSui Moveを理解する!! #solidity – Qiita

また、Aptosと比べ各アカウントは独立している事により並列的に取引処理する事が可能です。これにより高速なトランザクション処理能力も獲得ました。

「オブジェクト」を採用している点では、AptosMOVEに比べ、SUI MOVEはランクが上ですね。

SUI MOVEはネットワークアカウントをオブジェクト化する事により、信頼性のあるセキュリティを手に入れました。

イーサリアム Solidityとは

引用:Solidity公式X Solidity (@solidity_lang) / X

イーサリアムで使われているのがSolidityという言語です。

Solidityは2014年に開発されたイーサリアムのスマートコントラクト用に開発されたプログラミング言語で、WEB3ではもっともポピュラーなものです。

元からある言語(C++やPython、JavaScriptなど)に似ており、開発者が慣れ親しんでいる為か、習得が用意で扱いやすい一方、プログラムの仕組み上バグが多発していると言われており、そのバグを悪用されて資産の流出も起こる可能性があります。

かつてのTHE DAO事件もSolidiyのコードバグを悪用されたのが原因だったそう。

スマートコントラクト開発の為イーサリアム仮想マシン(EVM)と互換性持つ事で急成長を遂げていますが、言語上の根本的問題と、取引処理システムにアカウントモデルを利用しているが故のスケーラビリティ問題やコードバグの声が後を絶ちません。

Solidityは昔から慣れ親まれた言語に似ており開発者が扱いやすいですが、コードバグとバグの悪用は無視出来ないですね。

スケーラブルな問題も多発。

とは言えイーサリム開発に多大な貢献を成した事は絶賛です。

ソラナのRustとは

引用:Rust公式X Rust Language (@rustlang) / X

次はソラナと比較してみます。

ソラナはRustという言語が使われています。

RustはSolidityのイーサリアム仮想マシン(EVM)互換性とは異なる路線を歩んでおり、独自の言語で開発が行われています。

2011年に発売、スマートコントラクトのプログラミングのみに限定されず、汎用性のある言語とされています。Rustはデータを並列処理し高スループットを実現、開発者が経験豊富な為コードバグが少ないという利点があります。

発売当時はほとんどの通貨がイーサリアムチェーンと互換性を持たせる中、Rustは独自路線を貫いた言語とも言えます。

参考:Solidity vs Move vs Rust:スマートコントラクトプログラミング言語の進化 |by イールドアプリラボ |中程度 (medium.com)

しかし、Rustは元々ブロックチェーン専用に作られた言語では無いため、実際にプログラムを書くと余分なコードも必要になり、コードが長くなってしまう問題があります。詳細は以下で説明します。

Rust vs SUi MOVE

さっき言った様にRustは並列処理システム導入とコードバグが少ない優れた言語ですが、SUI MOVEと比較するとどうでしょう。

MOVE言語は元来Rustをベースに作られており、Facebook(現Meta)がDiemブロックチェーン様に新たに開発された歴史があります。

では、SUI MOVEはRustと何が違うのか??「Medium」によると、1.MOVEはRustと同様に並列処理する事で高いスループットを可能にした。2.コードのバグが無い。3.Moveはセキュリティを念頭に置いて設計されており、再入性などの脆弱性を排除することを目的としてる。とあります。

プログラミングコードの長さについて

さっきRustではコードが長くなってしまうという問題を上げました。その詳細を説明します。

≈前略≈

次に、コードを見て、実装がどのように異なるかを見てみましょう。以下は、このスマートコントラクトの完全なSolanaとSuiの実装のコードスクリーンショットを並べたものです。

すぐに気付くのは、同じ機能で、Solanaの実装はSuiと比較して2倍以上のサイズ(230 LOC対104)であるということです。コードが少ないということは、一般的にバグが少なく、開発期間が短いことを意味するため、これはすでに大きな問題です。

引用:スマートコントラクト開発 — Move vs. Rust |by クレシミール・クラス|中程度 (medium.com)

コードの長さになんと2倍以上の差があるのが分かります。

これは処理速度やバグの発生に直結するもので、当然コードは短い方が優れている事を示していますよね。

つまりMOVE言語はRustを超え、そのMOVE言語にオブジェクトを加えさらに発展したのがSUI MOVEという事です。

まとめ

SUI MOVEはRust言語をベースに作られ、それにオブジェクトを加え発展させた。

SUI MOVEはオブジェクトモデルによってイーサリアムやソラナにおける言語の課題を解決しました。

SUIはソラナを超えるとも言われ、今最も注目されている仮想通貨とも言えます。

SUIを円建てで買える取引所はOKJだけ↓この機会に是非立ち寄ってみてください。

ABOUT ME
イチ
イチ
ブロガー/ライター (医療従事者)
仮想通貨投資実践中。
2024年からブログ活動。
医療機関に勤めながらこつこつとサイトを作成してます。
仮想通貨に関する有益な情報を発信しています。
記事URLをコピーしました