스마트 계약이란 무엇입니까? 초보자를위한 스마트 계약 가이드



이 블로그는 스마트 계약, 스마트 계약 작성을위한 다양한 플랫폼에 대한 명확한 그림을 제공하고 이더 리움 스마트 계약 응용 프로그램의 실제 사용 사례에 대해서도 논의합니다.

'스마트 계약'의 문구와 개념 했다 에 의해 제안 닉 자보 POS (Point of Sale)와 같은 전자 거래 방법의 기능을 디지털 영역으로 확장하려는 비전을 가지고 있습니다. 스마트 계약은 중개인의 서비스를 피하면서 투명하고 충돌없는 방식으로 재산, 주식 또는 가치있는 모든 것을 교환하는 데 도움이됩니다.
이더 리움 코드-스마트 계약 -edureka

다음은이 스마트 계약 블로그에서 다룰 주제입니다.





    1. 스마트 계약이란 무엇입니까?
    2. Nick Szabo의 스마트 계약
    3. 스마트 계약이 필요한 이유
    4. 스마트 계약 : 사용 사례에 따른 복잡성
    5. 스마트 계약 사용 사례 : 의료 산업
    6. 스마트 계약의 장점
    7. 스마트 계약 작성을위한 블록 체인 플랫폼
    8. 스마트 계약 작성 및 배포를위한 도구
    9. 이더 리움 작성을위한 프로그래밍 언어
    10. 부동산 양도 스마트 계약

    스마트 계약이란 무엇입니까?

    스마트 계약은 특정 조건이 충족되면 자동으로 실행되는 자체 운영 컴퓨터 프로그램입니다.

    스마트 계약 = 신뢰할 수없는 계약



    스마트 컨트랙트를 사용하면 충돌없는 투명한 방식으로 낯선 사람과 가치있는 모든 것을 공유 할 수 있습니다.

    스마트 계약을 블록 체인으로 생각할 수도 있습니다.기반 자동 판매기. 자동 판매기가 선택한 항목을 지불하기 위해 달러를 사용하도록 구성된 것처럼 스마트 계약은 에테르 미리 구성된 규칙에 따라 코드를 실행하는 연료.

스마트 계약이란 | 첫 번째 이더 리움 스마트 계약 배포 | Edureka

  1. Nick Szabo의 스마트 계약

    그의 논문에서 Szabo는 파생 상품 및 채권과 같은 합성 자산에 대한 계약 체결을 제안했습니다. “이러한 새로운 증권은 다양한 방식으로 증권 (예 : 채권)과 파생 상품 (옵션 및 선물)을 결합하여 형성됩니다. 지불에 대한 매우 복잡한 기간 구조는 이제 표준화 된 계약에 구축 될 수 있으며 컴퓨터 화로 인해 낮은 거래 비용으로 거래 될 수 있습니다.이러한 복잡한 용어 구조에 대한 분석”이라고 그는 썼습니다.



    변경 가능과 불변의 차이
  1. 스마트 계약이 필요한 이유

    간단하고 효율적으로 만들기 위해 블록 체인에 계약을 작성하여 많은 솔루션을 자동화 할 수 있습니다. 스마트 계약이 기존 계약보다 얼마나 나은지 비교하고 평가 해 보겠습니다.

    스마트 계약 : 사용 사례에 따른 복잡성

    계약의 복잡성은 블록 체인에서 코딩하려는 사용 사례에 따라 다릅니다. 아래 이미지는 스마트 계약의 복잡성을 더 명확하게 보여줍니다.

    상황에 맞는 스마트 계약을 통해 회사는 자동화 될뿐만 아니라 분산 된 자치 정부도 형성 될 수 있습니다.


    사용 사례를 통해 스마트 계약이 작동하는 방식을 이해하겠습니다.

    스마트 계약 사용 사례 : 의료 산업

    환자 데이터 관리 : 환자 데이터 관리와 관련하여 두 가지 주요 문제 의료 산업에서 :

    • 먼저 , 각 환자는 고유하므로 완전한 의료 기록에 대한 액세스는 치료를 조정하고 개인화 된 치료를 제공하는 데 필수적입니다.
    • 둘째 , 의료 커뮤니티간에 정보를 공유하는 것은 주요 과제입니다.

    이제 위에서 언급 한 문제는 블록 체인의 스마트 계약 기능을 사용하여 해결할 수 있습니다.

    스마트 계약의 장점

    스마트 계약이 제공하는 것은 다음과 같습니다.

    스마트 계약 작성을위한 블록 체인 플랫폼

    동안 이더 리움 계약서 작성을위한 가장 인기있는 플랫폼이며 유일한 플랫폼은 아닙니다. 다음은 스마트 계약 작성에 사용되는 다른 플랫폼 중 일부입니다.

    비트 코인 : 비트 코인은 문서를 처리 할 때 제한된 기능을 가진 스크립트를 사용합니다. 스크립트는 비트 코인 거래를 처리하도록 특별히 설계되었습니다.

    하이퍼 레저 패브릭 : Fabric에서 Chaincode는 네트워크에 배포 된 프로그래밍 코드로, 합의 프로세스 동안 체인 검증자가 함께 실행하고 검증합니다.

    NXT : 스마트 계약을위한 제한된 템플릿을 포함하는 공개 블록 체인 플랫폼입니다. 주어진 것을 사용해야하고 자신의 코드를 작성할 수 없습니다.

    사이드 체인 : 사이드 체인은 블록 체인 성능 및 개인 정보 보호를 향상시킵니다. 그들은 또한 기능을 추가합니다처럼스마트 계약, 보안 핸들, 실제 재산 등록.

    스마트 계약 작성 및 배포를위한 도구

    1. 미스트 브라우저 – dApp을 탐색하고 사용하는 도구입니다. dApp을 탐색하고 상호 작용하는 데 사용할 수있는 별도의 브라우저입니다.
    2. 트러플 프레임 워크 – Truffle은 이더 리움을위한 인기있는 개발 프레임 워크입니다. 스마트 계약 컴파일, 연결, 배포 및 바이너리 관리가 내장되어 있습니다.
    3. 메타 마스크 – MetaMask는 현재 브라우저에서 미래의 분산 된 웹을 방문 할 수있게 해주는 브릿지입니다. 이를 통해 사용자는 전체 이더 리움 노드를 실행하지 않고도 브라우저에서 바로 이더 리움 dApp을 실행할 수 있습니다.
    4. 리믹스 – Remix는 사용자가 Solidity 스마트 계약을 작성한 다음 스마트 계약을 배포하고 실행할 수있는 웹 브라우저 기반 IDE입니다.

    이더 리움 스마트 계약 작성을위한 프로그래밍 언어

    견고 & 뱀 이더 리움 스마트 계약 작성을위한 두 가지 기본 언어입니다.

    : JavaScript와 유사한 구문을 가진 계약 지향 고급 언어이며 Ethereum Virtual Machine (EVM)을 대상으로 설계되었습니다.

    뱀: Serpent는 Ethereum 계약 작성을 위해 설계된 고급 언어입니다. Python과 매우 유사하지만 2017 년 9 월 현재 Solidity는 이더 리움 개발자가 선호하는 개발 언어입니다.

    Solidity는 현재 스마트 계약에서 가장 널리 사용되는 언어이지만 앞으로 중요해질 수있는 몇 가지 스마트 계약 언어가 있습니다.

    예정된 프로그래밍 언어

    1. 독사 같은 사람: Viper는 Python과 유사한 들여 쓰기 체계를 가지고 있습니다. 보안, 언어 및 컴파일러 단순성에 중점을 둡니다.
    2. Lisk : Lisk는 개발자가 애플리케이션을 쉽게 코딩 할 수 있도록 해주는 스마트 계약 언어로 자바 스크립트를 사용합니다.
    3. 체인: Chain은 Ruby, Java 및 NodeJS와 같은 널리 사용되는 언어로 SDK를 사용하여 엔터프라이즈 급 블록 체인 인프라를 제공합니다.

    이제 Solidity는 이더 리움 스마트 계약을 작성하는 데 가장 널리 사용되는 프로그래밍 언어이므로 Solidity로 작성된 계약을 살펴 보겠습니다.

    부동산 양도 스마트 계약

    문제: 현재 우리는 중앙 기관을 사용하여 재산 소유권을 이전합니다. 이로 인해 시간이 많이 걸리고 문서 관리에 대한 추가 부담과 함께 많은 추가 비용이 발생합니다. 또한 시스템이 중앙 집중화되어 있기 때문에 항상 사기 가능성이 있습니다.

    해결책: 계획은이 기술을 사용하여 부동산 거래의 세부 사항을 은행, 중개인, 공무원, 구매자 및 판매자 등 모든 당사자에게 공개하는 것입니다.

    좋습니다. 스마트 계약을 작성하겠습니다.

    pragma solidity ^ 0.4.11 // 실제 재산 이전을 모방하기 위해이 사용 사례를 만들고 있습니다. //이 사용 사례의 전제 조건은 다음과 같습니다. // 디지털 신원이 제자리에 있습니다. // Govt는 퍼블릭 블록 체인의 토지 기록 // 각 개발 기관 (DA)은 해당 선거구 / 법률 기관에 존재하는 부동산의 사실상의 소유자가됩니다. // 위의 모든 조건이 충족되면 DA (소유자)가 해당 부동산을 쉽게 첨부 할 수 있습니다. 철저한 검증 후 정당한 소유자에게. //이 가정을 중심으로 함수를 공식화합니다. // 우리는 각 DA가 규칙 및 규정에 따라 자체 스마트 계약을 배포한다고 가정합니다. 이 모든 스마트 계약은 DA를 재산을 할당 할 수있는 소유자로 간주하여 작성되었습니다. // 정부는 이러한 DA 위에 레이어가 될 수 있습니다. 그리고 정부는 어느 DA (주소)가 어느 선거구의 소유자가 될 것인지 결정할 수 있습니다. // 쉽게 확장 할 수 있습니다. 그러나이 현명한 계약을 거친 후에는 일이 어떻게 작동하는지 알아낼 수 있습니다. contract PropertyTransfer {address public DA // DA가 소유자가되며, 배포 할 사용자의 주소로이 변수의 값을 초기화합니다. 예 : DA 자체를 가정 해 봅시다. uint256 public totalNoOfProperty // 특정 시점에 DA에 속한 총 속성 수. 확인 후 각 소유자에 대한 할당량에 따라 증가해야합니다. // 아래는 컨트랙트가 생성 될 때만 코드가 실행되는 생성자입니다. function PropertyTransfer () {DA = msg.sender // 계약 소유자를 DA로 설정합니다. } // tx가 DA (owner)에서 오는지 아닌지 확인하는 modifier onlyOwner () {require (msg.sender == DA) _} //이 구조는 단순한 것보다 훨씬 많은 정보를 저장하기 위해 이렇게 유지됩니다. name struct Property {string name // 각 주소에 대한 속성의 맵을 유지합니다. 속성에 이름을 제공 할 것입니다. bool isSold // 각 주소에 대한 개수도 유지합니다.} mapping (address => mapping (uint256 => Property)) public propertiesOwner // 다음과 같이 각 주소에 대해 속성을 매핑합니다. 그 이름과 개인 수입니다. mapping (address => uint256) individualCountOfPropertyPerOwner // 특정 사람이 이벤트를 보유하는 속성의 수 PropertyAlloted (address indexed _verifiedOwner, uint256 indexed _totalNoOfPropertyCurrently, string _nameOfProperty, string _msg) event PropertyTransferred (address indexed _from, address indexed _to, string _property _msg) // 이것은 임의의 시점에서 모든 주소가 소유하는 정확한 속성 수를 제공합니다. function getPropertyCountOfAnyAddress (address _ownerAddress) constant returns (uint256) {uint count = 0 for (uint i = 0 i 

    따라서 분산 네트워크에서 자산을 이전하는 방법을 방금 프로그래밍했습니다. 얼마나 멋지다 !!

    [스마트 계약]이 사회의 측면을 바꿀 가능성이 상당히 크다는 것을 알 수 있습니다.

    이것으로 스마트 계약 블로그. 이 블로그를 즐겁게 읽고 유익한 정보를 얻으 셨기를 바랍니다.

    질문이 있으십니까? 댓글 섹션에 언급 해 주시면 빠른 시일 내에 답변 드리겠습니다.성.

    나는f 스마트 계약을 배우고, 블록 체인 도메인에서 경력을 쌓고, 이더 리움 프로그래밍에 대한 전문 지식을 얻고, 라이브 온라인에 등록하기를 원합니다. 여기에는 학습 기간 내내 안내하는 연중 무휴 지원이 함께 제공됩니다.