ソラナ スマートコントラクト プログラミング モデルの調査

6/11/2024, 5:47:31 AM
ソラナは、dAppsをサポートするために設計された高性能ブロックチェーンプラットフォームです。そのスピードとスケーラビリティは、独自のコンセンサスメカニズムとアーキテクチャ設計によって実現されています。この記事では、イーサリアムを比較対象として使用し、ソラナスマートコントラクトプログラミングモデルの特徴を簡単に紹介します。

原題「小学生也能看懂!ソラナ的编程模型,究竟和 ETH 有啥区别?」

ソラナは、dAppsをサポートするために設計された高性能ブロックチェーンプラットフォームです。そのスピードとスケーラビリティは、独自のコンセンサスメカニズムとアーキテクチャ設計によって実現されています。この記事では、イーサリアムを比較対象として使用し、ソラナスマートコントラクトプログラミングモデルの特徴を簡単に紹介します。

スマートコントラクトとオンチェーンプログラム:

イーサリアム上で動作するプログラムはスマートコントラクトと呼ばれ、イーサリアムとデータ(状態)の特定のアドレスにある一連のコード(関数)です。(ああ、コードとデータが結合されています)スマートコントラクトは、コントラクトアカウントと呼ばれるイーサリアムアカウントでもあります。それらは残高を持ち、トランザクションオブジェクトになることができますが、人間が制御することはできず、ネットワーク上に展開されてプログラムとして実行されます。

ソラナ上で動作する実行可能コードはオンチェーンプログラムと呼ばれ、各トランザクションで送信された命令を解釈することができます。これらのプログラムは、ネイティブ・プログラムとしてネットワーク・コアに直接デプロイすることも、SPL プログラムとして誰でも公開することもできます。

  1. 手順:手順は、ソラナチェーン上のプログラムに固有の用語です。オンチェーンプログラムは、命令で構成されています。これらは特定の操作を実行する最小単位であり、各ソラナトランザクションに1つ以上の命令が含まれています。命令は、特定のオンチェーンプログラムの呼び出し、アカウントの受け渡し、入力の上場、バイト配列の提供など、実行するアクションを指定します。命令には計算上の制約があるため、オンチェーンプログラムは、少数の計算ユニットを使用するか、高価な操作を複数の命令に分割するように最適化する必要があります。

  1. ネイティブプログラム:ノードの検証に必要な機能を提供するプログラムです。最も注目すべきものは、新しいアカウントの作成を管理し、2つのアカウント間でSOLを転送するシステムプログラムです。
  2. SPLプログラム:これらは、トークンの作成、取引所、貸付、ステーキングプールの作成、オンチェーンドメイン名解決サービスのメンテナンスなど、一連のオンチェーンアクティビティを定義します。これらのうち、SPLトークンプログラムはトークン操作に使用され、関連するトークンアカウントプログラムは他のカスタムプログラムの作成に一般的に使用されます。

あなたはそれらをスマートコントラクトと呼び、私はそれらをオンチェーンプログラムと呼んでいます。用語は異なりますが、どちらもブロックチェーン上で動作するコードを指します。アリスと同じように、ボブとジョンはすべて名前であり、彼らの実際の資質は他の側面によって評価される必要があります。

アカウントモデル、データデカップリング:

イーサリアムと同様に、ソラナもアカウントモデルに基づくブロックチェーンですが、ソラナイーサリアムとは異なるアカウントモデルを提供し、さまざまな方法でデータを保存します。

ソラナでは、アカウントはウォレット情報やその他のデータを保存できます。アカウント定義フィールドには、Lamports (口座残高)、所有者 (アカウント所有者)、実行可能ファイル (実行可能アカウントかどうか)、およびデータ (アカウントに格納されているデータ) が含まれます。各アカウントは、プログラムを所有者として指定し、アカウントが状態ストアとして使用されるプログラムを区別します。これらのオンチェーンプログラムは読み取り専用またはステートレスです:プログラムアカウント(実行可能アカウント)はBPFバイトコードのみを格納し、状態は保存しません。プログラムは、他の独立したアカウント (実行不可能なアカウント) に状態を格納します。つまり、ソラナのプログラミングモデルはコードとデータを分離します。

イーサリアム アカウントは、主にEVM状態への参照です。そのスマートコントラクトにはコードロジックがあるだけでなく、ユーザーデータを保存する必要があります。これは、EVM の歴史から残された設計上の欠陥と見なされることがよくあります。

この違いを過小評価しないでください。ソラナ スマートコントラクトは、イーサリアムのような結合プログラミングモデルを持つブロックチェーンと比較して、根本的に攻撃が困難です。

イーサリアムでは、スマートコントラクトの「所有者」は、スマートコントラクトと1対1で対応するグローバル変数です。したがって、関数を呼び出すと、コントラクトの "所有者" が直接変更される可能性があります。

ただし、ソラナでは、スマートコントラクトの「所有者」は、グローバル変数ではなく、アカウントに関連付けられたデータです。アカウントは、1 対 1 の関連付けではなく、複数の所有者を持つことができます。攻撃者がスマートコントラクトのセキュリティ脆弱性を悪用するには、問題のある関数を見つけるだけでなく、その関数を呼び出すための「正しい」アカウントを準備する必要があります。通常ソラナ スマートコントラクト複数の入力アカウントが含まれ、制約 (account1.owner == account2.key など) を使用してそれらの関係を管理するため、この手順は簡単ではありません。「正しいアカウントの準備」から「攻撃の開始」までのプロセスにより、セキュリティ監視担当者は、攻撃が発生する前に、スマートコントラクトに関連付けられた「偽の」アカウントの作成に関連する疑わしいトランザクションを事前に検出するのに十分な時間を得ることができます。

イーサリアム スマートコントラクトは、一意のパスワードを使用する保管庫のようなもので、このパスワードを取得すると、完全な所有権が得られます。対照的に、ソラナのスマートコントラクトは、多くのパスワードを持つ金庫のようなものです。アクセスするには、パスワードを取得するだけでなく、どのパスワードがどのロックに対応しているかを把握する必要があります。

プログラミング言語

Rust は、ソラナ でスマートコントラクトを開発するための主要なプログラミング言語です。そのパフォーマンスとセキュリティ機能により、ブロックチェーンとスマートコントラクトのリスクの高い環境に適しています。ソラナは、C、C ++、および(非常に珍しい)他の言語もサポートしています。オンチェーンプログラムの開発をサポートするために、RustおよびC用の公式SDKが提供されています。開発者はツールを使用して、プログラムをバークレーパケットフィルター(BPF)バイトコード(ファイルの拡張子は.so)にコンパイルし、ソラナチェーンにデプロイし、Sealevel並列スマートコントラクトランタイムを介してスマートコントラクトのロジックを実行できます。

Rust言語自体は使い始めるのが難しく、ブロックチェーン開発用にカスタマイズされていないため、多くの要件で車輪の再発明と冗長なコードが必要です。(本番環境の多くのプロジェクトでは、開発を簡素化するために Backpack の共同開発者である Armani が作成した Anchor フレームワークを使用しています)ブロックチェーン開発に特化した多くの新しく作成されたプログラミング言語は、Cairo(Starknet)、Move(Sui、Aptos)など、Rustに基づいています。

本番環境の多くのプロジェクトでは、Anchor フレームワークが使用されています

イーサリアム スマートコントラクト主にSolidity言語で開発されています(構文はjavascriptに似ており、コードファイルの拡張子は.solです)。比較的単純な構文とより成熟した開発ツール(Hardhatフレームワーク、Remix IDEなど)により、イーサリアムの開発体験はよりシンプルで新鮮であるのに対し、ソラナの開発はより開始が難しいと一般的に考えています。したがって、ソラナは現在非常に人気がありますが、実際にはイーサリアムの開発者の数はまだソラナをはるかに上回っています。

特定の道路状況下では、トップレーシングカーは改造車ほど速くありません。Rustはトップレベルのレーシングカーのようなもので、ソラナのパフォーマンスと安全性を効果的に保証します。ただし、このトラックをオンチェーンプログラム用に開発するようには設計されておらず、代わりに運転(開発)の難易度が高くなります。Rustベースのパブリックチェーンを使用し、チェーンのカスタム言語を開発することは、レーシングカーを道路状況により適したものに変更することと同じです。ソラナはここで不利です。

概要

ソラナのスマートコントラクトプログラミングモデルは革新的です。スマートコントラクト開発へのステートレスなアプローチを提供し、Rustを主要なプログラミング言語として使用し、ロジックを状態から分離するアーキテクチャを提供します。これにより、開発者はスマートコントラクトを構築およびデプロイするための堅牢な環境を提供し、セキュリティとパフォーマンスを確保しますが、開発の難易度は高くなります。ソラナは、高スループット、低コスト、スケーラビリティに重点を置いており、現在高性能なdAppsを作成しようとしている開発者にとって理想的な選択肢となっています。

免責事項:

  1. この記事は[Foresight News]からの転載です。すべての著作権は原作者[Alex Liu]に帰属します。この転載に異議がある場合は、Gate Learnチームまでご連絡いただければ、迅速に対応いたします。
  2. 免責事項:この記事で表明された見解や意見は、著者のものであり、投資アドバイスを構成するものではありません。
  3. 記事の他言語への翻訳は、Gate Learnチームによって行われます。特に明記されていない限り、翻訳された記事のコピー、配布、盗用は禁止されています。

株式

暗号資産カレンダー

プロジェクトの最新情報
Etherex は 8 月 6 日にトークン REX を発表します。
REX
22.27%
2025-08-06
NFT AI製品発表会
Nulsは第3四半期にNFT AIプロダクトを発売します。
NULS
2.77%
2025-08-06
dValueChain v.1.0 リリースのお知らせ
Bio Protocolは第1四半期にdValueChain v.1.0を展開する予定です。これは、DeSciエコシステム内で安全で透明性があり、改ざんのない医療記録を保証する分散型健康データネットワークを確立することを目指しています。
BIO
-2.47%
2025-08-06
AI生成の動画字幕
Verasityは、第4四半期にAI生成の動画字幕機能を追加する予定です。
VRA
-1.44%
2025-08-06
VeraPlayer多言語サポート
Verasityは、第4四半期にVeraPlayerに多言語サポートを追加する予定です。
VRA
-1.44%
2025-08-06

関連記事

Polygon 2.0 (POL)とは何ですか?MATICからPOLへの移行(2025)
中級

Polygon 2.0 (POL)とは何ですか?MATICからPOLへの移行(2025)

Polygon 2.0 (POL)は、スケーラブルなブロックチェーンソリューションにおける次の進化を表しています。その機能と、2025年のMATICからPOLへの移行が85%の転換率で成功したことを含む、分散型エコシステムの進展について学びましょう。トークンユーティリティの強化、AggLayerの実装、そしてPolygonエコシステム全体でのガバナンス能力の拡大についても触れています。
11/30/2023, 4:33:01 PM
Neiroとは何ですか?2025年にNEIROETHについて知っておくべきすべて
中級

Neiroとは何ですか?2025年にNEIROETHについて知っておくべきすべて

Neiroは、異なるブロックチェーン上でNeiroトークンの発売をインスパイアしたShiba Inu Dogです。2025年現在、Neiro Ethereum(NEIROETH)は、2億1500万ドルの時価総額、87,000以上のホルダー、および12の主要取引所に上場するトップのミームコインに進化しています。エコシステムには、コミュニティガバナンスのためのDAO、公式の商品ストア、モバイルアプリが含まれています。NEIROETHは、スケーラビリティを向上させるためにレイヤー2のソリューションを導入し、活気あるコミュニティとトップの暗号通貨インフルエンサーに支えられ、時価総額でトップ10の犬をテーマにしたミームコインの地位を確立しています。
9/5/2024, 3:37:06 PM
ガスレス取引とは?
初級編

ガスレス取引とは?

ガスレスブロックチェーントランザクションを探る:TokenumとMoralisのケーススタディを使用して、それらがどのように機能するか、その利点、および実際のアプリケーションを理解します。
12/12/2023, 2:47:08 AM
ラップイーサリアム(WETH)とは何ですか?
初級編

ラップイーサリアム(WETH)とは何ですか?

ラップイーサリアム(WETH)は、イーサリアムブロックチェーンのネイティブ通貨であるイーサリアム(ETH)のERC-20バージョンです。 WEHトークンは元のコインに固定されています。 流通しているすべてのWEHには、予備のETHがあります。 WETHを作成する目的は、ネットワーク全体の互換性です。 ETHはERC-20規格に準拠しておらず、ネットワーク上に構築されたほとんどのDAppはこの規格に準拠しています。 そのため、ETHのDeFiアプリケーションへの統合を容易にするためにWEHが使用されます。
11/24/2022, 8:49:09 AM
トップ10のETH LSTトークン
初級編

トップ10のETH LSTトークン

ETHステーキング部門の競争が激化しており、さまざまな革新的なゲームプレイや報酬エコシステムが台頭し、市場の注目を集めています。この記事では、市場キャピタルランキングに基づいて価値のあるトップ10のETH LSTトークンを選別します。
10/28/2024, 1:45:41 PM
マージとは何ですか?
初級編

マージとは何ですか?

イーサリアムがメインネットとの最終テストネットマージを経て、PoWからPoSへの移行を正式に行います。この前例のない革命が、暗号通貨界にどのような影響をもたらすのでしょうか?
7/10/2024, 9:12:24 AM
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!