
背景
しばらく前に、Tonの特性とユーザー資産のセキュリティの問題について、最初の議論で説明しました:アカウント、トークン、トランザクション、資産のセキュリティについて説明しました。今日は、開発者と研究者の注目を集めている多くの革新的な技術とユニークな機能を備えた、もう1つの新興の高性能ブロックチェーンプラットフォームであるSUIを学びましょう。SUIは、さまざまなアプリケーションシナリオに適した高速で安全な取引体験を提供することに焦点を当てています。この記事では、SUIアカウントモデル、トークン管理、取引メカニズム、資産セキュリティを説明することにより、読者がSUIを理解するのに役立ちます。
>
アカウントモデル
住所
SUIは、BIP-32(およびそのバリアントSLIP-0010)、BIP-44、BIP-39など、暗号通貨業界で受け入れられている広範なウォレット仕様に従い、ユーザーに主要な管理を提供します。
>
32バイトSUIアドレスを割り当てるために、SUIはblake2b(256ビット出力)ハッシュ関数を使用して、署名スキーム(1バイト)を公開キーバイトに接続します。SUIアドレスは現在、純粋なED25519、SECP256K1、SECP256R1、およびMULTISIGをサポートしています。
バランス
SUIでは、すべてがオブジェクトであり、ユーザーのバランスもオブジェクトです。転送プロセス中、オブジェクトに含まれるバランスが必要な値に等しくない場合、オブジェクトを分割またはマージする必要があります。たとえば、100個のSUIを含むオブジェクトがありますが、30 SUIのみを転送する必要があるため、システムはこのオブジェクトを2つのオブジェクトに分割します。1つは30 SUI、もう1つには70 SUIが含まれます。30のSUIを含むオブジェクトを転送し、残りのオブジェクトを保持できます。逆に、より多くの量が必要な場合は、複数のバランスオブジェクトをマージして大量に形成することもできます。
>
トークン管理
SUIは、標準的なコインを正式に実装しています。開発者は「sui :: coinを使用する必要があります」
移動言語は、他のブロックチェーンで一般的に使用されるプログラミング言語とは異なります。
>
これは、SUIの完全なコイン発行契約です。この関数を使用してコイン(Coin :: Create_Regulated_Currency)を作成する場合、契約の作成者は、新しいコインをキャストしたり、既存のコインを破壊するために必要なTreasuryCapオブジェクトを受け取ります。このオブジェクトのアドレスにアクセスすることによってのみ、コイン分布を維持できます。
コインを受け取ったユーザーのために、彼のアカウントは、これらのトークンを使用してスマートコントラクトを呼び出すとき、これらのオブジェクトを渡して署名する必要がありました。
トランザクションメカニズム
取引は基本的なブロックチェーンの世界の概念であり、ブロックチェーンと対話する方法です。トランザクションは、ブロックチェーンの状態を変更するために使用され、唯一の方法です。SUIが使用する移動プログラミング言語では、トランザクションを使用して、パッケージ内の機能を呼び出し、新しいパッケージを展開し、既存のパッケージをアップグレードします。
トランザクションを構築するときは、注意を払う必要があり、各トランザクションはその操作のオブジェクトを明確に指定する必要があります!これは、ソラナの取引のそれに似ています。
トランザクションに含まれるコンテンツ:
-
Sendor-トランザクションのアカウントに署名します
-
命令リスト(または命令チェーン) – 実行される操作
-
コマンド入力-Commandパラメーター:純粋なテキスト – 数字や文字列などのシンプルな値、またはオブジェクトトランザクションはオブジェクトにアクセスします
-
GASオブジェクト – 支払いトランザクションのコインオブジェクト
-
ガス価格と予算移動コスト
契約セキュリティ
SUIは、再侵入攻撃、整数のオーバーフロー、二重花、DOS攻撃、コンパイラーなど、Solidityの高い発生率の脆弱性の問題を解決することができますまだ必要です。開発者が開発プロセス中に注意を払う必要があるいくつかの問題は次のとおりです。
1。許可チェック:感受性操作を含む特権関数について、外部関数によって受信されたオブジェクトのタイプの分析は、送信されたオブジェクトが特権を持つオブジェクトであることを確認する必要があります。関数が特権オブジェクトを受信および使用する場合、関数発信者はオブジェクトの法的所有者である必要があります。
2。外部関数チェック:一部の関数は、外部で直接呼び出されるべきではありません。
3。オブジェクト分析チェック:SUIのオブジェクトはパブリックオブジェクトに変換できるため、開発者は静的かパブリックかを確認するために使用されるすべてのオブジェクトのタイプとエラーがあるかどうかを整理する必要があります。民営化のオブジェクトをパブリックオブジェクトに変換する必要がある場合、誰でもこのオブジェクトを使用できます。これはセキュリティリスクです。
4。コイン消費チェック:SUIのトークンは、他のチェーンとは異なります。これは、トークンを他のオブジェクトに含めることができます。また、いくつかのトークン消費モデルを導き出すこともできます。
-
トークンオブジェクトに直接別のオブジェクトに転送します。
-
トークンオブジェクトを調整した後、新しいオブジェクトが生成され、ターゲットオブジェクトに転送されます。
-
トークンオブジェクトに解体し、部分的に分割された部分を新しいオブジェクトに転送します。
したがって、トークン消費の場合、開発者は次の点を確認する必要があります。
-
消費量が正しいかどうか。
-
オブジェクトが転送されたかどうか。
-
分割がある場合、分割の量は正しいです。
5。予言機械の価格操作攻撃:SUIの契約が預言機械を使用して価格を取得する場合、操作された価格の可能性に注意を払う必要があります。開発者は、単一のデータソースによって操作されるリスクを防ぐために、複数のデータソースとコンセンサスメカニズムを導入できます。さらに、平均時間の価格を使用して、予言マシンを操作するリスクを防ぐことができます。
6。ガバナンス攻撃:SUIの契約では、トークンの投票権設計が不合理である場合、この点でガバナンス攻撃に遭遇するリスクもあります。
7。アービトラージ攻撃:論理設計が不合理である場合、SUIに関する契約には、裁定攻撃のリスクもあります。開発者は、攻撃者の使用を避けるために開発中に契約のロジックを慎重に確認する必要があります。
8。偽のリチャージ攻撃:SUIトークンの充電を扱う場合、取引所または開発者は、トークンのパッケージIDが偽の充電攻撃を防ぐために正しいかどうかを確認するために注意を払う必要があります。
要約します
この記事では、アカウントモデル、トークン管理、取引メカニズム、契約セキュリティなど、SUIの設計特性について簡単に説明しました。Moveプログラミング言語を使用して、SUIは革新的なデータモデルとオブジェクトストレージ方法も導入し、高性能と低レイテンシを確保し、セキュリティと柔軟性を大幅に向上させます。他のブロックチェーンプラットフォームと比較して、MOVE言語は、一般的なスマートコントラクトの脆弱性(あふれる、重い攻撃など)を防ぐ上でうまく機能し、SUIが技術レベルでより安定して信頼性を高めます。ただし、開発者は、特に当局の管理、オブジェクトタイプの使用、およびトークン消費の観点から、ビジネスロジックレベルのセキュリティに注意を払う必要があります。これは、コード内のエラーまたは不適切な設計による資産の損失に注意してください。
参照リンク:
https://docs.sui.io/
https://docs.sui.io/standards/coin
https://move-book.com/