Execution Machineの解説 [Community Labs]

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1926720/bbd8f448-185e-4249-a3db-e316f8b0b473.png)


:::note info
本記事は下記の翻訳となります。
[『Execution Machine Explained』](https://www.communitylabs.com/blog/execution-machine-explained)（by Community Labs）
:::

## Execution Machine (EXM)とは？

**Execution Machine (EXM)** は、**ブロックチェーンベースの（永久的な）Serverless Functions**を作成し活用する能力を提供する開発者向けプラットフォームであり、ウォレットやトークンといったブロックチェーン技術についての知識やアクセスを必要としません。

これにより、**組み合わせ可能**、**不変**、**信頼不要**なアプリケーションを、摩擦なく作成できるようになります。

少し難しく聞こえるかもしれませんが、これが意味することを理解していきましょう。

## Serverless Functions

**Serverless Functions**は、クラウドサービスのようなインフラストラクチャでホストされ、維持される関数です。しかし、私たちの場合、これらはブロックチェーン（Arweave）上にストレージされ、仲介者（EXM）によってキャッシュとしてコピーが保存され、アプリケーションをいつでも迅速に提供できるようになります。さらに、EXM はデータの Arweave へのアップロードコストをカバーし、開発者にとっての暗号通貨依存を排除します。

このインフラストラクチャはストレージと実行を担当し、専用サーバーを維持する必要がなく、コストを削減し、モジュール性の層を追加します。

モジュール性は、関数を選択し、さまざまな組み合わせでカスタムアプリケーションを作成するための**組み合わせ可能性**をもたらします。これらの関数やその操作は、**永久的にオンチェーンに保存され**、改ざんできず、誰でも確認できるため、**不変**で**信頼不要**です。

_専用サーバー上の関数とブロックチェーン上の Serverless Functions_

Execution Machine が提供するものが理解できたところで、次はそれがどのように実現されているかを見ていきましょう。

これを可能にするサポート技術は何でしょうか？

## スマートコントラクト

スマートコントラクトは、指定された条件に従って自動的に実行されるプログラムです。指定された条件に対する結果が常に同じで、すべての情報が不変で公開されているため、関与するすべての当事者は、このシステムに信頼を置き、機能が公平に実行されると確信できます。

しかし、従来の方法では、すべてのノードがブロックチェーンの状態の完全なコピーを保存する必要があり、性能が低下し、コストが高くなります。各ノードは各取引をローカルで実行し、コンセンサスを得る必要があり、これが時間を要し、パフォーマンスが低下します。

**Lazy Evaluation**は、これらの障害を解決するための方法です。

## Lazy Evaluation

Lazy Evaluation は、スマートコントラクトとその現在の状態をブロックチェーン上で遅延評価する方法です。スマートコントラクト自体やそれとの相互作用（書き込み操作）はオンチェーンに保存され、誰でもアクセス可能です。

Lazy Evaluation は、処理の負担をノードからユーザーに移し、ユーザーはローカルでスマートコントラクトコードとその相互作用を評価して、契約の現在の状態を確認できます。

これにより、ノードがブロックチェーンの完全な状態を保存してコンセンサスを得る必要がなくなり、コストを削減し、パフォーマンスが向上します。

すべてのユーザーが同じデータにアクセスするため、すべてのユーザーが同じ方法でデータを解釈し、情報の現在の状態を確認できます。

## Verifiable Computing

**Verifiable Computing**は、中央集権的なシステムの利点を活かしつつ、分散型の結果を保証する計算方法です。

すべての Serverless Functions は、情報の状態を読み取ったり更新したりする能力を持っています。Verifiable Computing を使用することで、この状態は中央集権的なサーバーにキャッシュされ、処理時にコンセンサスが必要ないため、パフォーマンスが向上しますが、情報は常にユーザーによって検証可能です。これにより、ユーザーはキャッシュ層に保存される前に「遅延評価」することができます。

## すべてを統合する…

Execution Machine が依存する技術を理解した今、すべてがどのように連携しているのかが見えてきます。

EXM は、**Lazy Evaluation**と**Verifiable Computing**を実現するために、スーパーチャージされた実行エンジン（3EM）を基盤に構築された抽象化です。

ユーザーは、専用 EXM サーバーに取引リクエストを送信します。Verifiable Computing を活用することで、Execution Machine はユーザーリクエストを迅速かつパフォーマンスよく処理し、トークンやウォレットのようなブロックチェーン技術を必要とせず、分散型の結果を維持します。EXM はその後、更新された状態でキャッシュ層を更新し、データを Arweave にアップロードします。キャッシュ層は、アプリケーションをいつでも迅速に提供するための支援として使用されます。

さらに、EXM は、ユーザーが**Lazy Evaluation**を使用して取引と契約/関数の現在の状態を検証できるため、**トラスト最小化**された環境を維持できます。

通常のサーバー上の Serverless Functions と比較して、EXM の Serverless Functions は永続性、アカウンタビリティ、透明性を提供します。それらは、権限が誰であれ信頼が必要なアプリケーションで使用できます。例えば、法的登録、医療記録、サプライチェーン、分散型ソーシャルメディア、または Arweave にデータを橋渡しする方法などです。ここで EXM が活躍します。

## 以上です！

Execution Machine についてもっと学びたい場合は、[https://exm.dev](https://exm.dev/)をご覧ください。

---

---

:::note info
【Arweave Japan とは】
Arweave Japan は Arweave / AO の日本語ビルダーエコシステム構築を目的とした分散型組織です。

【​Arweave / AO とは？】
​Arweave は無制限にスケール可能な分散型ストレージであり、AO は Arweave 上に構築された無制限にスケール可能な分散型スーパーコンピュータです。Arweave と AO を使って既存のブロックチェーンでは実現不可能であった実用的なプロダクトが開発できます。

イーサリアム L1 のリステーキングによってセキュリティが担保され、TVL はローンチ数ヶ月で 1000 億円近くまで上がり、今後数兆円規模の市場が期待されます。完全フェアローンチされた AO のトークン設計によって、この流動性は AO 上のプロジェクトが活用することができ、ビットコインと同じ半減スケジュールでミントされる AO トークンは開発者やプロジェクトが受け取れる仕組みとなっています。

​Web2 を置き換えるレベルで実用的なプロジェクトが構築できる唯一無二の分散型プロトコル AO で開発することはグローバルの第一線で活躍する非常に大きなチャンスとなっています。

【Social Links】

- [Website](https://arweave.jp)
- [X(Twitter)](https://twitter.com/arweavejp)
- [Discord Community](https://discord.com/invite/bB4N7fAMmp)
- [Github](https://github.com/arweavejp)

【Blog】

- [Zenn Publication](https://dev.to/arweavejp)
- [Note Magazine](https://note.com/kyohei_nft/m/m35c7443e98d0/)
- [dev[.]to](https://dev.to/arweavejp)

![1080x360.jpeg](https://images.lumacdn.com/cdn-cgi/image/format=auto,fit=cover,dpr=2,quality=75,width=1500/editor-images/wj/43c64e53-3361-44d5-a05c-155e4fbf3188)

:::