ブロックチェーンエコシステムにおけるスマートコントラクトのライフサイクル

スマート コントラクトの形成、スマート コントラクトの凍結、スマート コントラクトの実行、スマート コントラクトの完了は、スマート コントラクトのライフ サイクルの XNUMX つの重要なステップです。 これは、ブロックチェーン製品で解決したい問題を定義することから始まり、最小限の実行可能な製品で終わるブロックチェーン開発ライフサイクルとは異なります。

スマートコントラクトのライフサイクルの各段階

創造する

反復的な契約交渉と実装フェーズが作成フェーズを構成します。 まず、両当事者は契約の全体的な内容と目標について合意する必要があります。 これは従来の契約交渉に似ており、オンラインまたはオフラインで行うことができます。 基盤となる台帳プラットフォームでは、すべての参加者がウォレットを持っている必要があります。 その識別子はほとんどの状況で匿名であり、当事者の識別と支払いの転送に使用されます。

契約は、目的と内容が合意された後、コードに変換する必要があります。 基礎となるスマート コントラクトのコーディング言語の表現力により、コントラクトの成文化が制限されます。 ほとんどのスマート コントラクト システムは、スマート コントラクトを構築、維持、テストして実行動作と内容を検証するためのインフラストラクチャを提供します。

従来のプログラミング言語で見られるように、要件をコードに移行するには、関係者とプログラマーの間で複数回の反復が必要になります。 スマート コントラクトも例外ではなく、交渉フェーズと実装フェーズの間に数回の繰り返しが発生する可能性があります。

公開段階では、契約の成文化された形式について当事者が合意した後、契約は分散台帳にアップロードされます。 このフェーズでは、分散台帳内のノードがトランザクション ブロックの一部として契約を受け取ります。 ほとんどのノードがブロックを確認すると、コントラクトを実行できるようになります。 分散型スマート コントラクトは、ブロックチェーンが受け入れた後は修正できないため、スマート コントラクトに変更を加える場合は、新しいスマート コントラクトを開発する必要があります。

スマートコントラクトはブロックチェーン上に置かれますが、誰でもスマートコントラクトをブロックチェーンに送信でき、任意のウォレット所有者に対する義務を意味するため、この事実だけを当事者が契約を締結することに同意したと解釈すべきではありません。 同様に、分散型スマートコントラクトは、事前に利益を受け取ることを選択したかどうかに関係なく、ブロックチェーン参加者に利益をもたらすことができます。

フリーズ

ブロックチェーンに送信された後、スマート コントラクトは参加ノードの過半数によって確認されます。 エコシステムにスマートコントラクトが氾濫しないようにするには、このサービスと引き換えにマイナーに対価を支払う必要があります。

契約とその関係者は現在一般に公開されており、公開台帳を通じて入手できます。 凍結フェーズ中、スマート コントラクトのウォレット アドレスへの転送はブロックされ、ノードはガバナンス ボードとして動作し、コントラクトの実行の前提条件が満たされていることを確認します。

実行する

参加ノードは、分散台帳に保存されている契約を読み取ります。 では、スマートコントラクトはどのように実行されるのでしょうか? コントラクトの整合性が検証され、スマート コントラクト環境の推論エンジン (コンパイラー、インタープリター) によってコードが実行されます。 スマートコントラクトの機能は、スマートオラクルおよび関係者から実行のための入力を受信したときに実行されます(コインを介した商品のコミットメント)。

スマート コントラクトの実行により、新しいトランザクションのセットとスマート コントラクトの新しい状態が生成されます。 一連の検出結果と新しい状態情報は分散台帳に入力され、コンセンサス メカニズムを使用して検証されます。

ファイナライズ

結果として得られるトランザクションと更新された状態情報は分散台帳に保存され、スマート コントラクトの実行後にコンセンサス プロセスを使用して確認されます。 以前にコミットされたデジタル資産が転送され(資産の凍結が解除され)、すべてのトランザクションを確認するために契約が完了します。

ソース:https://cointelegraph.com/explained/the-life-cycle-of-smart-contracts-in-the-blockchain-ecosystem