스마트 계약은 If-Then 조건부 컴퓨터 코드를 사용하여 작성된 디지털 계약으로, 블록 체인에 기록 된 특정 규칙과 벌칙으로 둘 이상의 당사자 간의 계약을 정의합니다. 계약 당사자는 익명이지만 계약 자체는 공개 원장에 방송됩니다. 행사 가격에 도달하거나 만료 날짜에 도달하는 것과 같은 트리거 이벤트는 스마트 계약 내에 코딩 된 계약 조건에 따라 계약 실행을 촉발합니다..
스마트 계약은 중개인의 중개 필요성을 생략하면서 투명하고 안전하며 충돌없는 방식으로 돈, 주식, 자산 또는 모든 형태의 자산을 교환하는 수단입니다..
이 기사를 통해 다양한 비즈니스 애플리케이션에서 효율적이고 신뢰할 수있는 것으로 입증 된 가장 널리 사용되는 스마트 계약 플랫폼을 검토 할 것입니다. 당신이 원한다면 현명한 계약에 대해 배우십시오 작동 방식에 대해 자세히 설명하는 Cointelligence Academy 수업이 있습니다..
가장 인기있는 스마트 계약 플랫폼
이더 리움 (ETH)
이더 리움은 스마트 계약을 실행하는 분산 형 블록 체인 기반 플랫폼으로, 분산 형 애플리케이션 (DApp)의 문을 열었습니다. Ethereum 가상 머신 (EVM)은 모든 스마트 계약을 실행하는 가상 머신입니다. EVM은 Turing Complete 256 비트 가상 머신입니다. 이더 리움 기반 스마트 계약은 루핑 및 분기 코드 명령문의 코딩을 허용하는 Turing Complete 프로그래밍 언어 인 Solidity를 사용하여 코딩됩니다. 솔리 디티 "튜링 완전성" 정교한 논리로 스마트 계약을 코딩하는 데 이상적인 이더 리움을 렌더링합니다..
"가스" 이더 리움 스마트 계약의 연료입니다. EVM을 통해 스마트 계약을 실행하는 데 필요한 계산 능력의 양을 정량화합니다. 스마트 계약을 제출할 때 가스 가치를 결정해야합니다. 스마트 계약의 코드를 따라가는 모든 단계는 미리 정해진 양의 가스를 실행해야합니다..
이더 리움의 스마트 계약은 다음을 수행 할 수 있습니다.
– 역할 "다중 서명" 이더 리움 계정으로 미리 정해진 수의 사용자가 동의하는 경우에만 코인이 사용됩니다.
– 이더 리움 블록 체인의 다른 스마트 계약에 유틸리티 제공
– 자산 소유권, 도메인 등록, 멤버십 권한, 애플리케이션 권한 등에 대한 정보를 기록합니다.
– 임대, 비즈니스 협업 및 보험과 같은 여러 당사자 간의 계약을 관리합니다.
– 크라우드 펀딩에 사용되는 ICO 토큰과 같은 토큰을 발행하도록 코딩되어야합니다. ERC-20, ERC223 및 ERC77 표준을 포함하여 Ethereum 플랫폼에서 토큰을 발행하는 데 사용되는 여러 토큰 표준이 있습니다. ERC-20은 암호화 산업에서 이미 수백만 달러의 손실을 초래 한 심각한 버그에도 불구하고 ICO 목적으로 토큰을 발행하는 데 가장 일반적으로 사용되는 표준입니다..
ERC-20은 두 가지 방법 중 하나를 통해 토큰 거래를 수행합니다.
1- transfer () :이 함수는 특정 사용자의 주소로 토큰을 전송합니다..
2- 승인 () + transferFrom () :이 함수는 사전 정의 된 스마트 계약에 토큰을 입금하는 데 불을 붙입니다..
그러나 transfer () 함수가 실수로 토큰을 스마트 계약으로 전송하는 데 사용 된 경우 트랜잭션이 성공적으로 실행되지만이 트랜잭션은 수신자의 스마트 계약 주소로 인식되지 않습니다. 이 버그로 인해 개발자는 ERC223 및 ERC77 표준을 만들었습니다..
– ERC223 :이 표준은 transfer () 함수를 수정하여 ERC-20 중요한 버그를 완화하여 잘못된 이체에 대한 응답으로 오류를 발생시키고 자금 손실이 없도록 거래를 취소합니다..
– ERC777 :이 표준은 ERC20의 트랜잭션 처리 작업 부족 문제를 해결합니다..
Ethereum은 스마트 계약을 생성하는 데 널리 사용되는 선택이지만 플랫폼의 확장 성 문제로 인해 많은 실제 응용 프로그램에 적합하지 않습니다. Solidity는 최신 프로그래밍 언어에서 제공하는 코딩 유연성이 부족합니다. Solidity는 입력 매개 변수와 출력 매개 변수에서 다차원 배열을 지원하지 않습니다. 또한 Solidity는 스마트 계약 기능 내에서 16 개의 매개 변수 만 지원합니다..
그럼에도 불구하고 이더 리움을 기반으로 한 스마트 계약은 다양한 애플리케이션에서 사용됩니다. 예를 들면, PCHAIN 이더 리움 스마트 계약을위한 런타임 환경 인 이더 리움 가상 머신 (EVM)을 완벽하게 지원하는 네이티브 멀티 체인 시스템을 만든 최초의 블록 체인 프로젝트였습니다..
EOS
EOS는 점점 더 인기있는 스마트 계약 플랫폼 중 하나가되고 있습니다. 이 플랫폼은 수많은 이유, 즉 플랫폼에서의 거래에 거의 제로 수수료가 필요하고 초당 수백만 건의 거래를 처리 할 수있는 플랫폼의 기능으로 인해 암호 화폐 커뮤니티의 관심을 끌었습니다..
스마트 계약은 C ++를 사용하여 프로그래밍되므로 프로그래밍 유연성이 향상됩니다. EOS 스마트 계약은 사전 컴파일 된 웹 어셈블리 (WASM)의 형태로 블록 체인에 구현되어 이더 리움 기반 스마트 계약과 비교할 때 계약 실행 속도를 높입니다. WASM은 clang 및 LLVM을 통해 C / C ++로 컴파일됩니다. 개발자는 EOS의 블록 체인에서 스마트 계약을 코딩 할 수 있으려면 C / C ++에 대한 지식이 있어야합니다. C를 사용하여 계약을 작성할 수 있지만 계약의 안전성을 강화하고 코드를 쉽게 읽을 수 있도록하는 EOS.IO C ++ API를 사용하는 것이 좋습니다. EOS는 부분 평가 및 병렬 실행으로 작동하는 위임 지분 증명 (dPoS) 합의 메커니즘을 활용하여 높은 수준의 확장 성과 거의 제로에 가까운 거래 수수료를 제공하는 스마트 계약 플랫폼을 제공합니다..
EOS는 Ethereum보다 훨씬 덜 인기가 있지만 "에어 드롭" Ethereum의 ICO 크라우드 펀딩 모델의 경쟁자로 모델.
Aion (AION) :
Aion은 혁신적인 기술을 통해 서로 다른 블록 체인 간의 트랜잭션 및 메시지 라우팅을 가능하게하는 스마트 계약 플랫폼입니다. "브리징" 프로토콜. Aion은 다음 구성 요소로 구성된 다중 계층 네트워크입니다.
– 교량
– 네트워크 연결
– 인터 체인 거래
– 참여 네트워크
Aion의 브리지는 AION 블록 체인 생태계를 통해 여러 블록 체인 (체 인간 거래)에서 거래 할 수있게합니다. 인터 체인 트랜잭션은 브리지와 연결 네트워크를 통해 실행됩니다. 연결 네트워크는 모든 퍼블릭 및 프라이빗 블록 체인이 AION의 블록 체인 생태계와 상호 통신 할 수있는 프로토콜을 나타냅니다. 참여 네트워크는 AION의 블록 체인 생태계의 일부가되기 위해 특별한 요구 사항을 충족 한 네트워크입니다. 참여 네트워크는 원자 적 트랜잭션의 브로드 캐스팅을 지원해야하며 상태가되는 트랜잭션을 동결 할 수있는 잠금 시간을 구현해야합니다. "오 홀드".
Aion Virtual Machine (AVM)을 사용하면 스마트 계약을 실행할 수 있습니다. AVM은 체인 로직을 실행하도록 설계된 JVM 구현입니다. Aion 언어는 AVM에서 스마트 계약을 프로그래밍하는 데 사용되는 스크립팅 언어입니다. 현재 Aion의 커널은 Java에서 실행되므로 개발자는 Python 또는 Groovy와 같은 언어를 사용하여 Aion의 블록 체인에서 스마트 계약을 코딩해야합니다. 그러나 플랫폼은 결국 스마트 계약 스크립팅을 위해 Aion 언어에 의존하게됩니다..
Aion-1은 다른 블록 체인에서 생성 된 스마트 계약의 실행을 허용하는 Aion의 독립형 플랫폼입니다. 현재 Aion은 Ethereum의 EVM에 의존하지만 결국 Aion-1이 활성화되어 개발자가 EVM보다 훨씬 저렴하고 빠르게 Ethereum 기반 스마트 계약 및 DApp을 실행할 수 있습니다..
NEM
NEM은 이더 리움보다 확장 성이 뛰어난 스마트 계약 플랫폼입니다. Ethereum이 초당 15 개의 트랜잭션을 처리 할 수있는 경우 NEM은 초당 수백 개의 트랜잭션을 처리 할 수 있습니다. NEM은 더 빠르고 안전하며 간단한 스마트 계약 기술을 제공합니다. NEM은 스마트 계약을 프로그래밍하기 위해 오프 블록 체인 코드를 사용하여 NEM의 블록 체인을 이더 리움보다 덜 분산화시키면서 더 높은 보안 수준, 더 빠른 트랜잭션 확인 및 더 가벼운 프로그래밍 코드를 촉진합니다. 다중 서명 및 스마트 자산과 같은 NEM의 온 체인 보안 기능은이 문제를 해결합니다..
스마트 자산은 간단한 프로그래밍 코드를 사용하여 데이터 기록, 토큰, 투표 시스템 및 새 코인을 만드는 데 사용할 수있는 고유 한 데이터 관리 앱입니다. NEM 블록 체인의 극단적 인 기능은 강력한 API를 통해 제공되며,이를 통해 모든 프로그래밍 언어 (예 : JS, Python 등)를 사용하여 스마트 계약을 코딩 할 수 있습니다. NEM의 API는 "오프 체인 계약", NEM의 블록 체인과 통신하지 않고 언제든지 업데이트 할 수 있습니다..
주요한
Stellar는 이더 리움 블록 체인의 거래보다 거래가 더 안전하고 빠르며 저렴한 스마트 계약 플랫폼입니다. 스텔라 스마트 계약 (SSC)은 튜링이 완전하지 않으며 거래에 의해 시행되는 여러 당사자 간의 프로그래밍 된 계약 형태로 배포됩니다. Ethereum의 블록 체인에서 거래가 확인되는 데 약 3.5 분이 걸리지 만 Stellar의 블록 체인에서 거래를 확인하는 데는 약 5 초 밖에 걸리지 않습니다. 거래 수수료는 무시해도 될 정도이며 평균 (0.0001 XLM ~ = $ 0.0000002)입니다. SSC는 Stellar의 API를 통해 Python, JS, PHP, Golang 등과 같은 프로그래밍 언어를 사용하여 코딩 할 수 있습니다. SSC는 다중 서명, 일괄 처리 / 원 자성, 시퀀스 및 시간 경계를 포함한 여러 제약 조건을 통해 상호 연결되고 실행되는 트랜잭션으로 구성됩니다. 일괄 처리를 사용하면 단일 트랜잭션 내에 여러 작업을 포함 할 수 있습니다. 원자 성은 일련의 작업을 Stellar 네트워크에 제출할 때 단일 작업이 실행되지 않으면 트랜잭션의 모든 작업이 실패하도록합니다. Sequence는 Stellar의 블록 체인에서 "순번". 시퀀스 번호를 사용하면 대체 트랜잭션이 성공적으로 실행되면 특정 트랜잭션이 실패합니다. 시간 제한은 거래의 유효 기간에 대한 제한을 나타냅니다. 시간 경계를 활용하면 SSC에서 기간을 표시 할 수 있습니다..
HLF (Hyperledger Fabric)
HLF (Hyperledger Fabric)는 고급 유연성으로 설계된 허가 된 블록 체인입니다. HLF의 스마트 계약은 다음과 같이 알려져 있습니다. "체인 코드". HLF는 Google의 오픈 소스 프로그래밍 언어 인 Go 언어로 작성되었으므로 체인 코드도이 언어를 매우 잘 지원합니다..
Corda
Corda는 금융 계약 작성에 이상적인 스마트 계약 플랫폼입니다. Corda의 스마트 계약은 각 입력 및 출력 상태의 스마트 계약에서 수락해야하는 유효한 거래입니다. 스마트 계약은 Java 또는 Kotlin과 같은 JVM 프로그래밍 언어를 사용하여 코딩됩니다. 스마트 계약의 실행은 결정적이며 거래 수락은 전적으로 거래 내용에 의존합니다. 때때로 거래의 유효성은 토큰 가격과 같은 외부 정보에 의존합니다. 이 경우 오라클이 필요합니다. 사실은 트랜잭션 명령의 일부로 코딩 될 수 있습니다. 오라클은 명령의 사실이 참인 경우에만 트랜잭션을 확인하는 서비스를 나타냅니다..
Corda의 DApp 또는 CorDapp은 블록 체인 네트워크 자체가 아닌 네트워크 노드 수준에 설치됩니다. CorDapp은 Java 또는 Kotlin을 사용하여 코딩됩니다. CorDapp은 Corda의 플랫폼에서 실행되도록 코딩되었습니다. 이는 Corda 노드 운영자가 RPC 호출을 통해 호출 할 수있는 플로우 정의를 통해 수행됩니다..
네오
NEO는 효율적이고 저렴한 스마트 계약을 특징으로하는 스마트 계약 플랫폼입니다. 스마트 계약은 C #, F #, Java, Python, VB.Net 및 Kotlin을 포함한 수많은 프로그래밍 언어를 사용하여 코딩 할 수 있습니다. NEO는 이러한 모든 언어에 대한 플러그인과 컴파일러를 제공합니다. 앞으로 JS, Go 언어, C 및 C ++에 대한 지원이 구현 될 예정입니다..
NEO의 스마트 계약은 경량 NEO Virtual Machine (NeoVM)을 통해 실행됩니다. NeoVM을 통한 스마트 계약 실행은 최소한의 리소스를 소비합니다. 스마트 계약의 정적 컴파일 및 핫스팟 스마트 계약의 캐싱은 실시간 컴파일러 JIT를 통해 상당히 향상 될 수 있습니다. 현재 NEO의 블록 체인은 복잡한 데이터 구조 및 배열에 대한 지원을 자랑하는 Smart Contract 2.0을 특징으로합니다. 또한 Smart Contract 2.0은 낮은 결합 설계와 함께 동적 파티셔닝 및 높은 동시성을 통해 확장 가능한 접근 방식을 제공합니다. 스마트 계약의 낮은 결합 절차는 NeoVM에서 실행되며 대화 형 서비스 계층을 통해 오프 체인 시스템과 상호 작용합니다. 따라서 대부분의 스마트 계약 기능 업그레이드는 대화 형 서비스 계층의 특수 API를 통해 수행 할 수 있습니다..
파도
Waves의 스마트 계약은 RIDEON 프로그래밍 언어를 통해 코딩됩니다. Waves의 스마트 계약 출시는 두 단계로 나뉩니다. 첫 번째 단계는 이미 지난 4 월에 출시되어 테스트 넷에서 비 튜링 완전 스마트 계약을 개발할 수있게되었습니다. 1 단계 비 튜링 완전 스마트 계약은 다양한 블록 체인에서 토큰을 교환하는 것부터 공유 예산 제어를 가능하게하는 것까지 다양한 사용 사례를 포괄하는 무수한 계정 제어 기능을 가능하게합니다. Waves의 비 튜링 완전 스마트 계약의 가장 일반적인 사용 사례 중 하나는 다중 서명 계정입니다. 또한 토큰 고정을 구현하는 데 사용할 수 있습니다. 이는 토큰을 주소로 전송하고 미리 정의 된 기간 동안 사용할 수없는 상태 (예 : 양도 할 수없는 상태)를 유지하는 것을 포함합니다. 이것은 크라우드 세일이 끝난 후 ICO 제작자를위한 토큰 베스 팅을 구현하는 데 매우 유용 할 것입니다..
1 단계 non-Turing 완전 스마트 계약이 Waves의 메인 넷에서 광범위하게 테스트되고 활성화 된 후, 2 단계 Turing 완전 스마트 계약이 시작됩니다..
Stratis
Stratis는 널리 사용되는 .NET 프레임 워크를 사용합니다. 스마트 계약은 C # 프로그래밍 언어를 통해 코딩됩니다. 스마트 계약은 결정적으로 실행되어야하므로 C #의 모든 기능 또는 .NET의 모든 핵심 라이브러리를 활용할 수 없습니다. Stratis는 또한 "가스" Ethereum의 가스 개념과 동일한 개념.
카르 다노
Cardano는 스마트 계약이 숨겨진 취약점없이 코딩 된대로 정확하게 작동하도록 보장하는 데 초점을 맞춘 스마트 계약 플랫폼입니다. 스마트 계약은 Solidity 또는 Plutus를 사용하여 코딩 할 수 있습니다. Cardano는 언어 프레임 워크와 공식적으로 지정된 가상 머신의 두 계층으로 구성된 Cardano Computation Layer (CCL)를 특징으로합니다. 언어 프레임 워크에는 사람이 읽을 수있는 스마트 계약 코드의 자동화 된 인증을 용이하게하는 공식적으로 지정된 프로그래밍 언어 세트가 있습니다..
테 조스
Tezos는 온 체인 스마트 계약 코드의 공식 검증을 지원하는 스마트 계약 플랫폼입니다. 스마트 계약은 보안을 강화하는 Michelson이라는 새로운 프로그래밍 언어를 사용하여 코딩됩니다. Solidity와 달리 Michelson의 코드는 어떤 것으로도 컴파일되지 않습니다. 대신 Tezos 가상 머신에 의해 직접 해석되는 낮은 수준의 재고 기반 Turing 완전한 프로그래밍 언어를 나타냅니다. Michelson 프로그래밍 된 스마트 계약을 통해 세트, 맵, 암호화 프리미티브, 람다 및 계약 특정 작업을 포함한 높은 수준의 구성을 코딩하여 코드를보다 사람이 읽을 수있게 렌더링 할 수 있습니다..
다음 (NXT)
다음은 암호 화폐와 스마트 계약 플랫폼입니다. Next의 스마트 계약이 튜링이 완료되지 않더라도 플랫폼은 사용자가 템플릿 스마트 계약을 쉽게 생성 할 수 있도록하는 고유 한 튜링 완료 스크립팅 레이어를 활용합니다. 사용자는 자신의 필요에 가장 적합한 템플릿을 선택하고 매개 변수를 수정하여 자신 만의 스마트 계약을 만들 수 있습니다. Next 플랫폼 개발자는 이러한 스마트 계약 템플릿이 코드 작성 및 구현이 간단 할뿐만 아니라 거의 모든 비즈니스 애플리케이션을 포함한다고 믿습니다..
마지막 생각들
Quorum, Wanchain, Aeternity, Zen, Counterparty, Rootstock, RChain, Qtum, Ark, Neblio, DFINITY, BOSCoin, Agoras Tauchain, Burst, iOlite, ByteBall, XTRABYTES, PolkaDot, Radix, Exonum, Universa, Urbit, Soil, Expanse, Monax 및 기타. 그러나이 기사에 소개 된 플랫폼은 가장 널리 사용되며 다양한 애플리케이션에서 신뢰할 수있는 것으로 입증 된 플랫폼입니다..