インテリジェント契約
3453 ワード
イーサネットブロックチェーンのキーテクノロジー:スマート契約(Smart Contract)!
スマート契約とは?
インテリジェント契約とは、コンピュータコードにより契約の内容と実行条件を予め設定し、これらの条件を満たした後、ブロックチェーンネットワークで自動的に契約を実行する機能である.
これは、オンライン取引に仲介者がいなくても、コンピューターコードを通じて法的効力のある契約を実行できることを意味する.
インテリジェントな会議は現在、イーサネットだけでなく、多くのブロックチェーンプラットフォームにも現れています.
スマート見積り動作の例
スマートオークション動作をシナリオ例と見なします.
AとBが自動車契約を結んだとする.(AはBから車を購入)
Bは、Aにデポジットを請求する情報をブロックに含む.
Aが同意すれば、Aは自己所有の1 BTCを送信し、品質保証を要求する契約内容を次のブロックに含める.
ビットコイン移動のみを含むビットコイン取引の意味とは異なり、イーサネット内の取引は、通貨の伝送とともに契約内容を含むことができる.上記の場合、手付金や手付金を要求された場合、他の人に車を売るなどの内容はできません.
BがA送信の契約内容に同意した場合、Bは品質保証書を送信する取引を次のブロックに含める.
また,Aがコンテンツに満足すれば,残りの4 BTCを送信する取引を作成し,データブロックに入れる.
ではBは4 BTC、Aは自動車を手に入れて契約終了です.
インテリジェント契約コード
ほとんどのインテリジェント会議はプログラミング言語に基づいて作成されています.イーサー坊では、インテリジェント契約はSolidity、Vvperなどのインテリジェント契約を作成する専用言語であり、論理契約の動作をバイトコードに変換し、ブロックチェーンに配布する.
スマート制御コードで動作を理解しましょう.
progma solidity ^0.4.18; //버전 프라그마
エンティティコンパイラの互換性を実現するために、pragmaコマンドを使用してコードをコンパイルするコンパイラバージョンを制限しています.上記のコードでは、solidity 0.4.8以降のコンパイラが必要であることを意味します.
(バージョン0.4.8では、0.5.0以降のコンパイラは互換性がありません.)
//계약 선언
contract HelloWorld { }
このセクションは、スマート契約定義セクションです.このスマートモールの名前はHelloWorldです.C++やJavaのようなクラス概念は,独立したオブジェクトであると考えられる.
//상태 변수 선언
string public greeting;
上で作成したHelloWorldのインテリジェント会議で文字列変数の挨拶を宣言します.solidityの1つの特別な点は、変数の可視性を表すpublicが変数タイプと変数名の間に位置することである.
publicと宣言されたため、誰もがこの変数にアクセスできます.
public変数が宣言されると、変数にアクセスするための個別の関数(デバッガ関数)が自動的に生成されます.
変数は共通として宣言されるため、誰もがアクセスできますが、変数の値を直接変更することはできません.逆に、個別の関数を使用する場合は、変数値を変更できます.
//생성자
function HelloWorld(string _greeting) public {
greeting = _greeting;
}
HelloWorld関数は、スマート見積ジェネレータ関数です.作成者は、スマート契約を最初に導入したときにのみ実行します.コンストラクション関数は自動的に生成されるdepart関数であり、別途書く必要はありません.上記の場合、コンストラクション関数にパラメータ(パラメータ)を入力する必要があります.これは、パラメータとして入力された文字列をスマートcontractの変数に代入する簡単なコードです.
function say() public constant returns (string) {
return greeting;
}
上記の関数を呼び出すと、スマート制御変数の値を返すだけです.関数宣言子が表示されると、指示文constantが表示されます.これは、関数内でステータス変数値を変更しないことを意味します.関数が定数として宣言されている場合、関数を呼び出すとトランザクションは発生しません.前のsetGreeting関数は定数として宣言されていないため、呼び出されるとトランザクションが発生します.
最後の指示語はreturns(string)として宣言される.これは、レンタカーの返却を明示した内容です.ここでは、ステータス変数greetingの文字列データを返します.
インテリジェント契約のメリットとデメリット
長所
自律性:インテリジェント契約は第三者の仲介者が行う必要がないため、基本的に契約に完全な制御権を与える.
信頼:ドキュメントは暗号化され、共有院長に安全に保存されるため、盗まれたり失われたりしません.
コスト削減:インテリジェントな会議を通じて、仲介(不動産仲介、コンサルタントなど)を必要とせず、手数料などの費用を削減することができます.
セキュリティ:正しく実現されたスマート契約はハッカーに攻撃されにくい.また、インテリジェント会議の環境は複雑な暗号化によって保護され、ユーザーのドキュメントのセキュリティを保護します.
短所
初期契約の設定が間違っている場合は、問題が発生する可能性があります.
プログラミングコードとして、システムの欠陥によって問題が発生する可能性があります.
条件が満たす基準や根拠が明確でない場合がある.
Reference
この問題について(インテリジェント契約), 我々は、より多くの情報をここで見つけました https://velog.io/@hoyun7443/스마트-컨트랙트テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol