Suiはオブジェクトに対して4つの異なる所有権タイプを導入している:単一所有者、共有状態、不変共有状態、オブジェクト所有者(object-owner)。それぞれのモデルは独自の特性を持ち、異なるユースケースに適しており、オブジェクト管理における柔軟性と制御を強化している。

アカウント所有者(または単一所有者)

アカウント所有者、これは単一所有者モデルとしても知られるのだが、Suiにおける基本的な所有権タイプである。ここでは、オブジェクトは単一のアカウントによって所有され、そのアカウントはオブジェクトのタイプに関連する操作内でオブジェクトに対して排他的なコントロールが許可されている。このモデルは真の所有権の概念を体現しており、アカウントはオブジェクトに対して完全な権限を持ち、他者がオブジェクトを変更したりトランスファーしたりすることはできないようになっている。この所有権の明確さは、所有権の定義がより曖昧で、所有者の同意なしにスマートコントラクトが資産を改変またはトランスファーできる可能性がある他のブロックチェーンシステムに比べて大きな利点である。

共有状態

単一所有者モデルには限界がある。例えば、共有状態なしではデジタル資産のマーケットプレイスを実装するのが非常に難しい。一般的なマーケットプレイスのシナリオとして、アリスが資産Xを所有し、それを共有マーケットプレイスに出品して売りたいとする。この時、ボブが来て、その資産をマーケットプレイスから直接購入することができる。このシナリオが難しい理由は、アリスのアカウントに資産を「ロック」し、ボブが購入した際にそれを取り出す、というスマートコントラクトを書くことが不可能だからである。まず、これは単一所有者モデルの違反となり、次いで資産への共有アクセスが必要となる。

共有データアクセスの問題を容易なものするため、Suiは共有所有権モデルを導入した。このモデルでは、ネットワークでオブジェクトを共有することができる。共有オブジェクトはネットワーク上の任意のアカウントによって読み取りおよび変更が可能で、相互作用のルールはオブジェクトの実装によって定義される。共有オブジェクトの典型的な使用例としては、マーケットプレイス、共有リソース、エスクロー、および複数のアカウントが同じ状態にアクセスする必要があるその他のシナリオがある。

不変(凍結)状態

Suiは凍結オブジェクトモデルも提供しており、このモデルではオブジェクトが永久に読み取り専用となる。これらの不変オブジェクトは読み取り可能だが、変更や移動はできず、すべてのネットワーク参加者がアクセスできる安定かつ一定の状態を提供する。凍結オブジェクトは、公的データ、参照資料、および状態の永続性が望ましいその他のユースケースに最適である。

オブジェクト所有者

Suiの最後の所有権モデルはオブジェクト所有者である。このモデルでは、オブジェクトが別のオブジェクトによって所有される。この機能により、オブジェクト間の複雑な関係を作成したり、大規模な異種コレクションを格納したり、拡張可能でモジュール化されたシステムを実装することができる。実際には、トランザクションはアカウントによって開始されるため、トランザクションは親オブジェクトにアクセスするが、その後、親オブジェクトを介して子オブジェクトにアクセスすることができる。

私たちがよく挙げるユースケースはゲームキャラクターである。アリスはゲームのヒーローオブジェクトを所有し、そのヒーローはアイテム(これらも「地図」や「コンパス」のようなオブジェクトとして表現される)を所有することができる。アリスは「ヒーロー」オブジェクトから「地図」を取り出し、それをボブに送ったり、マーケットプレイスで売ったりすることができる。オブジェクト所有者の概念によって、どのようにして資産が相互に構造化され、管理されるかをとても自然に想像できるのである。

要約