Suiのオブジェクトモデル 特徴とその利点

はじめに

前回は、Move言語の特性とその利点について説明しました。今回は、Suiブロックチェーンのオブジェクトモデルについて詳しく解説します。

従来型のブロックチェーンではUTXO(Bitcoin等)、アカウントモデル(Ethereum等)といった資産管理モデルが採用されてきましたが、オブジェクトモデルはSui独自の資産管理モデルです。

これにより、UTXOやアカウントモデルよりも柔軟かつ安全にデジタル資産を管理することができるようになりました。

1. Suiのオブジェクトモデルとは


Suiではデータの基本単位が「オブジェクト」として扱われます。これは従来のブロックチェーンとは全く異なる概念で、これによりユーザーは、デジタル資産を直感的で安全に所有・管理することが可能になります。

オブジェクトはスマートコントラクトによって作成され、一意の識別子によって固有性を持ちます。これにより、Suiブロックチェーン上で単なる数値ではなく物体のようにユーザーが直接"重要なデータ(=リソース)"を所有することができるようになります。

この説明を読んで「まるでNFTみたいだな」と思った人もいるかもしれませんがその通りです。SuiではFT(代替可能なトークン)もオブジェクトとして一意の識別子が付いています。

これによりオブジェクトの所有権を明確にアドレスに紐付けすることが可能です。万が一、外部の非所有者が、オブジェクトの不正な操作をしようとしても非所有者はオブジェクトの状態を変えることはできない仕様になっています。

2. Suiのオブジェクトの種類

2-1. 所有オブジェクト

所有オブジェクトは、特定のユーザーが所有するオブジェクトです。例えば、FTやNFTは所有オブジェクトとして扱われます。所有者だけがそのオブジェクトを操作できます。所有オブジェクトは公開鍵暗号を使用して管理され、所有権の証明が可能です。

2-2.共有オブジェクト

共有オブジェクトは、特定の所有者を持たず、誰でも操作できるオブジェクトです。例えば、DeFiの流動性プールのトークンなどが共有オブジェクトとして扱われます。複数のユーザーで資産を共有するべき場面では共有オブジェクトが使われます。共有オブジェクトはトランザクションの並行処理を可能にして、スループットを高められるという利点もあります。

2-3.不変オブジェクト

不変オブジェクトは、一度作成されると変更できないオブジェクトです。設定情報や重要なデータが改ざんされるリスクが防止されます。例えば、プロトコルのスマートコントラクトを制御する重要なデータなどが不変オブジェクトとして保存されることがあります。Suiでは、設定情報を不変オブジェクトとして保存することで、これが誤って変更されることを防ぎ、システムの安定性を保証します。

3.オブジェクトモデルの利点

3-1.デジタル資産の安全性

Suiのオブジェクトモデルでは、公開鍵暗号を使用して所有権を管理します。これにより、資産の安全性が確保され、所有者だけが資産を操作できるようになります。例えば、FTやNFTの所有権は所有オブジェクトとして管理され、所有者以外はアクセスできません。

3-2.トランザクションの効率性

Suiのオブジェクトモデルは、トランザクションの並行処理を可能にします。つまり、オブジェクトを並行して同時に処理することができるため、ブロックチェーン全体の処理速度を向上させることに貢献しているのです。例えば、支払いトランザクションと資産移転トランザクションが同時に処理されることが可能です。これにより支払いと同時にリアルタイムで資産を移動させるといった処理が可能になります。

3-3.コンポーザビリティと拡張性

Suiのオブジェクトモデルは、オブジェクトの再利用と拡張を容易にします。開発者は既存のオブジェクトを組み合わせて新しい機能を作成することができます。これにより、システムの拡張性と柔軟性が高まります。例えば、開発者が新しい金融アプリケーションを構築する際に、既存の流動性プールオブジェクトを再利用して新しいプールを作成することができます。これにより、新しいアプリケーションの開発が短縮されたり、既存のアプリケーションを最小限の労力でアップデートしやすくなります。

4.アカウントモデルとの比較

4-1.アカウントモデルの概要

従来のブロックチェーンのほとんどはアカウントベースのモデルを採用しています。(EthereumやSolanaなどスマートコントラクトが使えるチェーンはアカウントモデルです。)アカウントモデルでは、すべてのデジタル資産はユーザーアカウントに関連付けられて保存されます。各アカウントには資産の残高やその他の状態情報が含まれており、スマートコントラクトはこれらのアカウント情報を操作します。

4-2.アカウントモデルの利点

アカウントモデルの構造は、銀行の通帳台帳のようなものなので、シンプルで理解しやすい点にあります。順番にトランザクションを処理することで、取引の整合性を保ちやすいという特徴があります。

4-3.アカウントモデルの欠点

しかし、アカウントモデルにはいくつかの欠点があります。例えば、順番にトランザクションを処理するという特性があるため並行処理は苦手です。これによりネットワーク全体のスケーラビリティが低下しやすい特性があります。さらに、スマートコントラクトが資産だけでなく、アカウント全体の状態に影響を与えるため、制御が複雑になり、セキュリティリスクが高まるという指摘があります。

4-4.比較して改めて見えてくるオブジェクトモデルの良さ

アカウントモデルと比較しつつ、改めてSuiのオブジェクトモデルの良さを見てみましょう。

Suiのオブジェクトモデルは、従来のアカウントモデルの欠点を克服するために設計されています。

オブジェクトモデルは、前述の通り、デジタル資産をリソースとして扱い、各オブジェクトは一意の識別子を持ちます。これにより、トランザクションの並行処理が可能になり、システム全体のスケーラビリティが向上します。また、資産は、直接スマートコントラクトにより操作されるため影響範囲が限定的なのです。これによりセキュリティが向上すると言われています。

5.まとめ


さて、Suiのオブジェクトモデルに解説してみました。

オブジェクトモデルは、デジタル資産の管理とトランザクション処理を強化する革新的な仕組みです。僕はSuiがこのオブジェクトモデルを採用してることは他のブロックチェーンに比べて大きな優位性があると思っています。それは単に処理性能が高いだけでなく、それによって新たなアプリケーションやユースケースの開発を促進し、より豊かなエコシステムを形成する可能性があるからです。

例えば、ゲーム開発者はゲーム内アイテムを所有オブジェクトとして扱うことで、ユーザーが真に自分のアイテムを所有し、取引できるようにすることができます。これは、従来のゲームプラットフォームでは難しかったことです。また、DeFi領域では複雑な金融商品の構築が容易になります。

というわけで、僕はWeb3のマスアダプションを実現するブロックチェーンがあるならSuiになるだろうと思い、これに期待してるわけです。

最後までお読みいただきありがとうございました。

今回の記事はおにぎりさんが書いた下記の記事をだいぶ参考にさせていただきました。もしこの記事が面白いと思っていただいたら下記のおにぎりさんの記事もチェックしていただければと思います。

この記事が気に入ったらサポートをしてみませんか?