스마트 계약 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
12번째 줄: 12번째 줄:
  
 
1996년 닉 재보는 스마트 계약 설계의 기본 원칙으로 관측 가능성, 검증 가능성, 사생활 보호, 강제 가능성 등 4가지를 제시했다.
 
1996년 닉 재보는 스마트 계약 설계의 기본 원칙으로 관측 가능성, 검증 가능성, 사생활 보호, 강제 가능성 등 4가지를 제시했다.
* '''관측 가능성'''(observability): 스마트 계약은 서로의 계약 이행 가능성을 관찰하거나 성과를 입증할 수 있어야 한다.
+
* '''관측 가능성'''(observability) : 스마트 계약은 서로의 계약 이행 가능성을 관찰하거나 성과를 입증할 수 있어야 한다.
* '''검증 가능성'''(verifiability): 계약을 이행 또는 위반했을 때 이를 알 수 있어야 한다.
+
* '''검증 가능성'''(verifiability) : 계약을 이행 또는 위반했을 때 이를 알 수 있어야 한다.
* '''사생활 보호'''(privacy): 계약 내용은 계약에 관련된 당사자들에게만 알려져야 한다.
+
* '''사생활 보호'''(privacy) : 계약 내용은 계약에 관련된 당사자들에게만 알려져야 한다.
* '''강제 가능성'''(enforceability): 계약을 강제로 이행할 수 있는 구속력이 있어야 한다. 단, 강제 가능성은 최소화해야 한다.
+
* '''강제 가능성'''(enforceability) : 계약을 강제로 이행할 수 있는 구속력이 있어야 한다. 단, 강제 가능성은 최소화해야 한다.
  
 
닉 재보는 스마트 계약을 위해 '''[[비트골드]]'''<!--비트 골드-->(bit gold)<!--bitgold-->라는 디지털 화폐를 고안했지만, 당시의 기술적 한계로 인해 실제로 개발되거나 사용되지는 못하였다.<ref>이정훈 기자, 〈[http://www.edaily.co.kr/news/news_detail.asp?newsId=01361206619076408&mediaCodeNo=257&OutLnkChk=Y (이정훈의 암호화폐 읽기)<2>`빅 브라더` 가라…혁신 넘어선 혁명]〉, 《이데일리》, 2018-01-10</ref> 하지만 닉 재보가 고안한 스마트 컨트랙트 개념은 이후 [[비트코인]] 스크립트로 이어졌고, 2015년 7월 30일 [[비탈릭 부테린]](Vitalik Buterin)에 의해 [[이더리움]](Ethereum)이 개발됨으로써 실제로 구현되었다.
 
닉 재보는 스마트 계약을 위해 '''[[비트골드]]'''<!--비트 골드-->(bit gold)<!--bitgold-->라는 디지털 화폐를 고안했지만, 당시의 기술적 한계로 인해 실제로 개발되거나 사용되지는 못하였다.<ref>이정훈 기자, 〈[http://www.edaily.co.kr/news/news_detail.asp?newsId=01361206619076408&mediaCodeNo=257&OutLnkChk=Y (이정훈의 암호화폐 읽기)<2>`빅 브라더` 가라…혁신 넘어선 혁명]〉, 《이데일리》, 2018-01-10</ref> 하지만 닉 재보가 고안한 스마트 컨트랙트 개념은 이후 [[비트코인]] 스크립트로 이어졌고, 2015년 7월 30일 [[비탈릭 부테린]](Vitalik Buterin)에 의해 [[이더리움]](Ethereum)이 개발됨으로써 실제로 구현되었다.
33번째 줄: 33번째 줄:
  
 
=== 스마트 컨트랙트 플랫폼 ===
 
=== 스마트 컨트랙트 플랫폼 ===
'''[[이더리움]]'''(Ethereum)은 비트코인 스크립트 시스템의 [[튜링 불완전성]]이라는 한계를 극복하고자 나온 스마트 컨트랙트 플랫폼(smart contract platform)이다. '''[[비탈릭 부테린]]'''(Vitalik Buterin)이 창시한 이더리움 블록체인의 경우, [[블록]]에 [[데이터]]뿐만 아니라  비트코인 스크립트 시스템의 한계인 [[조건문]](if), [[반복문]](loop) 등의 실행 코드를 포함시켜 로직의 실행을 자동화할 수 있다. 스마트 컨트랙트를 구현하기 위한 컨트랙트 코드(contract code)는 '''[[이더리움 가상머신]]'''(EVM; Ethereum Virtual Machine)이라는 독립된 실행 환경에서 실행된다. 여기에 스마트 컨트랙트를 실행할 때마다 [[수수료]]인 '''[[가스]]'''(gas)를 발생시키고 네트워크상에 수수료의 한계를 설정하여 무한루프를 막았다. 무한히 반복되는 조건을 만들어 스마트 컨트랙트를 실행시키면 중간에 수수료 한계점에 도달하게 되는데, 이때 중단된다. 이더리움에서 스마트 컨트랙트는 '''[[솔리디티]]'''(Solidity) 언어로 프로그래밍된다. 솔리디티 언어로 프로그래밍된 스마트 컨트랙트는 [[컴파일러]](solc)에 의해 [[바이트코드]](bytecode)로 [[컴파일]]되고, 컴파일된 바이트코드는 블록에 포함되어, 이더리움 가상머신(EVM)에 의해 실행된다. 이더리움 가상머신(EVM)은 이더리움 스마트 컨트랙트의 바이트코드를 실행하는 32 바이트 [[스택]] 기반의 실행환경이다.
+
'''[[이더리움]]'''(Ethereum)은 비트코인 스크립트 시스템의 [[튜링 불완전성]]이라는 한계를 극복하고자 나온 스마트 컨트랙트 플랫폼(smart contract platform)이다. '''[[비탈릭 부테린]]'''(Vitalik Buterin)이 창시한 이더리움 블록체인의 경우, [[블록]]에 [[데이터]]뿐만 아니라  비트코인 스크립트 시스템의 한계인 [[조건문]](if), [[반복구문]](loop) 등의 실행 코드를 포함시켜 로직의 실행을 자동화할 수 있다. 스마트 컨트랙트를 구현하기 위한 컨트랙트 코드(contract code)는 '''[[이더리움 가상머신]]'''(EVM; Ethereum Virtual Machine)이라는 독립된 실행 환경에서 실행된다. 여기에 스마트 컨트랙트를 실행할 때마다 [[수수료]]인 '''[[가스]]'''(gas)를 발생시키고 네트워크상에 수수료의 한계를 설정하여 무한루프를 막았다. 무한히 반복되는 조건을 만들어 스마트 컨트랙트를 실행시키면 중간에 수수료 한계점에 도달하게 되는데, 이때 중단된다. 이더리움에서 스마트 컨트랙트는 '''[[솔리디티]]'''(Solidity) 언어로 프로그래밍된다. 솔리디티 언어로 프로그래밍된 스마트 컨트랙트는 [[컴파일러]](solc)에 의해 [[바이트코드]](bytecode)로 [[컴파일]]되고, 컴파일된 바이트코드는 블록에 포함되어, 이더리움 가상머신(EVM)에 의해 실행된다. 이더리움 가상머신(EVM)은 이더리움 스마트 컨트랙트의 바이트코드를 실행하는 32 바이트 [[스택]] 기반의 실행환경이다.
  
 
이더리움이 제공하려는 것은 [[튜링 완전]](turing-complete) 프로그래밍 언어가 심어진 블록체인이다. 이 프로그래밍 언어는 코딩된 규칙에 따라 '어떤 상태'를 '다른 상태'로 변환시키는 기능(arbitrary state transition functions)이 포함된 [[계약]]을 사용자들이 직접 작성할 수 있게 함으로써, 인간이 상상할 수 있는 모든 종류의 계약을 스마트 컨트랙트로 만들 수 있다. 이를 통해 모든 계약이 자동으로 실행할 수 있고, 이를 위한 다양한 분산형 애플리케이션인 '''[[디앱]]'''(DApp)도 만들 수 있다.<ref name="이더리움 백서"></ref> 누구든지 솔리디티 언어를 사용해 스마트 컨트랙트와 디앱을 작성하고 소유권에 대한 임의의 규칙, 트랜잭션 형식(transaction format), 상태변환함수(state transition function) 등을 생성할 수 있다.
 
이더리움이 제공하려는 것은 [[튜링 완전]](turing-complete) 프로그래밍 언어가 심어진 블록체인이다. 이 프로그래밍 언어는 코딩된 규칙에 따라 '어떤 상태'를 '다른 상태'로 변환시키는 기능(arbitrary state transition functions)이 포함된 [[계약]]을 사용자들이 직접 작성할 수 있게 함으로써, 인간이 상상할 수 있는 모든 종류의 계약을 스마트 컨트랙트로 만들 수 있다. 이를 통해 모든 계약이 자동으로 실행할 수 있고, 이를 위한 다양한 분산형 애플리케이션인 '''[[디앱]]'''(DApp)도 만들 수 있다.<ref name="이더리움 백서"></ref> 누구든지 솔리디티 언어를 사용해 스마트 컨트랙트와 디앱을 작성하고 소유권에 대한 임의의 규칙, 트랜잭션 형식(transaction format), 상태변환함수(state transition function) 등을 생성할 수 있다.
44번째 줄: 44번째 줄:
 
예를 들어, '상품 거래'는 스마트 컨트랙트 시스템에서 다음과 같이 작동한다.
 
예를 들어, '상품 거래'는 스마트 컨트랙트 시스템에서 다음과 같이 작동한다.
  
* '''기록 저장''': 판매자가 상품을 올리겠다는 내용을 [[코딩]]하여 [[트랜잭션]]을 만든 후 [[블록체인]]에 전송한다. 상품 등록 트랜잭션 발생 시, 네트워크의 모든 [[노드]]는 상품 등록 트랜잭션을 공유하고 블록을 생성한 후 블록을 [[브로드캐스팅]]한다. 블록을 전달받은 각 노드는 해당 블록을 자신의 블록체인 맨 끝에 추가하고, 해당 블록에 저장되어 있는 트랜잭션을 적용시켜 자신의 스마트 컨트랙트 데이터베이스를 동기화한다. 이러한 과정을 통해 모든 블록체인의 노드들이 스마트 컨트랙트 상태 데이터베이스를 공유하게 된다.
+
* '''기록 저장''' : 판매자가 상품을 올리겠다는 내용을 [[코딩]]하여 [[트랜잭션]]을 만든 후 [[블록체인]]에 전송한다. 상품 등록 트랜잭션 발생 시, 네트워크의 모든 [[노드]]는 상품 등록 트랜잭션을 공유하고 블록을 생성한 후 블록을 [[브로드캐스팅]]한다. 블록을 전달받은 각 노드는 해당 블록을 자신의 블록체인 맨 끝에 추가하고, 해당 블록에 저장되어 있는 트랜잭션을 적용시켜 자신의 스마트 컨트랙트 데이터베이스를 동기화한다. 이러한 과정을 통해 모든 블록체인의 노드들이 스마트 컨트랙트 상태 데이터베이스를 공유하게 된다.
  
* '''상품 조회''': 구매자는 블록체인 네트워크에서 상품를 조회한다. 스마트 컨트랙트에 쓰는 것는 것은 트랜잭션을 발생시키지만, 이미 저장되어 있던 값을 읽어 오는 것은 트랙잭션을 발생시키지 않는다. 블록체인의 어떤 데이터도 변경시킬 필요 없이 스마트 컨트랙트 데이터베이스 내 저장된 상태 값만 조회하면 되기 때문에 쿼리 정보는 블록체인에 동기화할 필요 없고, 블록 동기화 타이밍에 상관없이 바로 응답할 수 있다.
+
* '''상품 조회''' : 구매자는 블록체인 네트워크에서 상품를 조회한다. 스마트 컨트랙트에 쓰는 것는 것은 트랜잭션을 발생시키지만, 이미 저장되어 있던 값을 읽어 오는 것은 트랙잭션을 발생시키지 않는다. 블록체인의 어떤 데이터도 변경시킬 필요 없이 스마트 컨트랙트 데이터베이스 내 저장된 상태 값만 조회하면 되기 때문에 쿼리 정보는 블록체인에 동기화할 필요 없고, 블록 동기화 타이밍에 상관없이 바로 응답할 수 있다.
  
* '''계약 이행''': 구매자가 상품 구매 트랜잭션을 보내면 트랜잭션을 공유하고 블록체인 네트워크에 동기화한다. 모든 노드의 스마트 컨트랙트 데이터베이스에 상품 구매자를 등록하고 돈을 판매자에게 전송한다. 그러면 등록된 콘텐츠의 소유권이 구매자에게로 이동한다.
+
* '''계약 이행''' : 구매자가 상품 구매 트랜잭션을 보내면 트랜잭션을 공유하고 블록체인 네트워크에 동기화한다. 모든 노드의 스마트 컨트랙트 데이터베이스에 상품 구매자를 등록하고 돈을 판매자에게 전송한다. 그러면 등록된 콘텐츠의 소유권이 구매자에게로 이동한다.
  
 
이렇듯 스마트 컨트랙트는 모든 데이터를 서로 공유하기 때문에 특정한 사용자가 스마트 컨트랙트의 실행 결과를 조작하려 해도 조작할 수 없다. 블록체인이 모든 트랜잭션의 무결성을 보장해 주는 방식으로 스마트 컨트랙트의 무결성도 보장할 수 있다. 또한, 조건이 충족된 경우 계약을 자동으로 이행함으로써 계약의 집행 비용 및 분쟁 가능성을 줄일 수 있다. 다만, 일상 언어를 프로그래밍하는 과정에서 계약 작성 단계의 비용이 발생할 수 있고, 이 과정에서 프로그래밍 오류 문제가 발생할 가능성이 존재한다.
 
이렇듯 스마트 컨트랙트는 모든 데이터를 서로 공유하기 때문에 특정한 사용자가 스마트 컨트랙트의 실행 결과를 조작하려 해도 조작할 수 없다. 블록체인이 모든 트랜잭션의 무결성을 보장해 주는 방식으로 스마트 컨트랙트의 무결성도 보장할 수 있다. 또한, 조건이 충족된 경우 계약을 자동으로 이행함으로써 계약의 집행 비용 및 분쟁 가능성을 줄일 수 있다. 다만, 일상 언어를 프로그래밍하는 과정에서 계약 작성 단계의 비용이 발생할 수 있고, 이 과정에서 프로그래밍 오류 문제가 발생할 가능성이 존재한다.
60번째 줄: 60번째 줄:
 
[[비트코인]]이 지불 수단을 중심으로, 중개기관 없이 순수 자금의 이동·전환·처리에 중점을 두었다면, [[이더리움]]은 거래 관련 이해관계자들 간 자금 이동을 포함하여 관련된 계약의 내용을 포괄하는 사전·사후 업무처리 범위로 관련 업무 영역이 확산되었다. 이더리움의 스마트 계약 플랫폼을 이용하면, 거래 당사자 간 스마트 컨트랙트에 따른 자동 실행이 가능하므로, [[피투피]](P2P) 중심 계약 시스템으로 확산될 수 있다. 특히, 일정한 형식의 반복적인 계약이 많은 분야, 예를 들어 보험업에서 특정 조건을 만족시키면 계약 보상금이 지급되도록 스마트 컨트랙트를 작성함으로써, 조건 충족 시 보험금이 자동으로 지불되도록 할 수 있다.
 
[[비트코인]]이 지불 수단을 중심으로, 중개기관 없이 순수 자금의 이동·전환·처리에 중점을 두었다면, [[이더리움]]은 거래 관련 이해관계자들 간 자금 이동을 포함하여 관련된 계약의 내용을 포괄하는 사전·사후 업무처리 범위로 관련 업무 영역이 확산되었다. 이더리움의 스마트 계약 플랫폼을 이용하면, 거래 당사자 간 스마트 컨트랙트에 따른 자동 실행이 가능하므로, [[피투피]](P2P) 중심 계약 시스템으로 확산될 수 있다. 특히, 일정한 형식의 반복적인 계약이 많은 분야, 예를 들어 보험업에서 특정 조건을 만족시키면 계약 보상금이 지급되도록 스마트 컨트랙트를 작성함으로써, 조건 충족 시 보험금이 자동으로 지불되도록 할 수 있다.
  
* '''[[보험]]''': 보험업의 특성상 손해보험 보상 업무 하나만을 놓고 보더라도, 가입자, 보험사, 손해사정, 정비업체, 병원, 사법기관 등 다양한 이해관계자들이 존재한다. 다양한 이해관계자들간 확인 및 검증 처리 절차를 위하여, 그동안 각기 상이한 대외 업무 처리를 통한 복잡한 인터페이스 프로세스에 의존할 수 밖에 없어, 전체 업무 처리에 소요되는 시간과 비용이 상대적으로 높을 수밖에 없었다. 하지만 스마트 계약을 도입하면, 보상 프로세스 진행을 위해, 관련자간 위∙변조가 불가능한 동일한 증빙문서에 의존하게 되고, 일정한 조건을 충족하는 경우 자동으로 해당 보상금이 지급되도록 함으로써, 보험 업무를 신속하고 정확하며 투명하게 처리할 수 있다. 이렇게 보험회사, 병원, 환자 간 블록체인 기반 처리가 가능해지면, 공동의 블록체인 시스템 생태계가 조성되어 네트워크 보완과 환자 의료 기록을 보호하면서, 의료비 산출 및 청구 과정에서 투명성과 효율성을 높일 수 있다. 최근 해외에서는 [[알리안츠]] 보험, [[존핸콕]]과 같은 대형 보험사를 중심으로 블록체인의 잠재성을 높이 평가하여 [[스타트업]]과 제휴를 통해 새로운 보험 사업 모델을 개발 중이다.
+
* '''[[보험]]''' : 보험업의 특성상 손해보험 보상 업무 하나만을 놓고 보더라도, 가입자, 보험사, 손해사정, 정비업체, 병원, 사법기관 등 다양한 이해관계자들이 존재한다. 다양한 이해관계자들간 확인 및 검증 처리 절차를 위하여, 에서도 간단한 인증만으로 거래 은행의 모바일 뱅킹 서비스를 편리하게 이용할 수 있다. 매년 공인인증서를 갱신하고 은행마다 각각 별도의 등록과 인증이 필요했던 과거의 번거로운 절차도 필요 없어졌다. 또한 인증서의 유효기간도 3년 이상으로 늘어난다. 증권업계도 증권 거래에 스마트 계약을 도입해 자동화를 이뤄나가고 있다. 미국 [[나스닥]]의 경우 전문 투자자용 장외시장 거래([[OTC]])에 이를 적용했다.
 
 
* '''[[은행]]''': [[삼성SDS㈜]]<!--삼성SDS-->는 2017년 기업형 블록체인 플랫폼인 [[넥스레저]](Nexledger)를 선보인 후, 은행 공동 블록체인이자 은행연합회의 블록체인 공동 인증 서비스인 [[뱅크사인]](BankSign)을 출시했다. 2018년 8월 27일에 개발 완료된 [[뱅크사인]]은 한국의 18개 은행이 모두 각자 서버를 두고 블록체인 네트워크를 운용하는 프로젝트이다. 이를 통해 만약 고객이 한 은행에서 공동 인증서를 발급 받으면 다른 은행에서도 간단한 인증만으로 거래 은행의 모바일 뱅킹 서비스를 편리하게 이용할 수 있다. 매년 공인인증서를 갱신하고 은행마다 각각 별도의 등록과 인증이 필요했던 과거의 번거로운 절차도 필요 없어졌다. 또한 인증서의 유효기간도 3년 이상으로 늘어난다. 증권업계도 증권 거래에 스마트 계약을 도입해 자동화를 이뤄나가고 있다. 미국 [[나스닥]]의 경우 전문 투자자용 장외시장 거래([[OTC]])에 이를 적용했다.
 
  
 
==== 저작권 ====
 
==== 저작권 ====
85번째 줄: 83번째 줄:
  
 
==== 정책적 문제점 ====
 
==== 정책적 문제점 ====
* '''비싼 [[가스]] 수수료 문제''': 스마트 컨트랙트를 이용하여 특정 기능, 특히 상태값을 변경하려면, 수수료인 [[가스]]<!--개스-->(gas)가 필요하다. 다시 말해, 가스 수수료 때문에 무료로 사용할 수 있는 서비스를 구현하기가 어렵다. 이 문제를 해결하기 위해, [[루니버스]] 같은 스마트 계약 플랫폼은 [[디앱]] 운영업체들의 수수료를 정책적으로 대납해 주기도 한다.
+
* '''비싼 [[가스]] 수수료 문제''' : 스마트 컨트랙트를 이용하여 특정 기능, 특히 상태값을 변경하려면, 수수료인 [[가스]]<!--개스-->(gas)가 필요하다. 다시 말해, 가스 수수료 때문에 무료로 사용할 수 있는 서비스를 구현하기가 어렵다. 이 문제를 해결하기 위해, [[루니버스]] 같은 스마트 계약 플랫폼은 [[디앱]] 운영업체들의 수수료를 정책적으로 대납해 주기도 한다.
* '''다자간 스마트 계약 문제''': 스마트 컨트랙트는 기본적으로 2명의 사용자 사이의 1:1 계약을 전제로 한다. 만약 1:1 계약이 아니라, N:M 다자간 계약인 경우, 기존의 스마트 컨트랙트 기능을 대폭 수정해야 한다. 만약 계약의 내용이 계약 당사자 모두에게 동일하다면, [[다중서명]]을 통해 다자간 계약을 구현할 수도 있을 것이다. 다중서명은 "M-of-N" 구조를 가지고 있는데, 전체 N명의 사용자 중에서 M명 이상이 서명하는 경우, 해당 스마트 계약이 자동 실행된다. 그러나, 만약 계약 내용이 계약 참여자마다 서로 다른 경우라면, 기존의 다중서명 기능을 이용하여 N:M 다자간 스마트 계약 기능을 구현할 수 없다. 예를 들어, A, B, C라는 3명의 계약 참여자가 존재하는 다자간 계약 상황에서 A:B의 계약 내용과 A:C의 계약 내용이 서로 다른 경우라면, 기존의 스마트 계약 방식으로는 다자간 계약을 구현하기 어렵다. 이 경우 [[상호인증 블록체인]] 방법을 사용하여 다자간 스마트 계약 문제를 해결할 수 있다.
+
* '''다자간 스마트 계약 문제''' : 스마트 컨트랙트는 기본적으로 2명의 사용자 사이의 1:1 계약을 전제로 한다. 만약 1:1 계약이 아니라, N:M 다자간 계약인 경우, 기존의 스마트 컨트랙트 기능을 대폭 수정해야 한다. 만약 계약의 내용이 계약 당사자 모두에게 동일하다면, [[다중서명]]을 통해 다자간 계약을 구현할 수도 있을 것이다. 다중서명은 "M-of-N" 구조를 가지고 있는데, 전체 N명의 사용자 중에서 M명 이상이 서명하는 경우, 해당 스마트 계약이 자동 실행된다. 그러나, 만약 계약 내용이 계약 참여자마다 서로 다른 경우라면, 기존의 다중서명 기능을 이용하여 N:M 다자간 스마트 계약 기능을 구현할 수 없다. 예를 들어, A, B, C라는 3명의 계약 참여자가 존재하는 다자간 계약 상황에서 A:B의 계약 내용과 A:C의 계약 내용이 서로 다른 경우라면, 기존의 스마트 계약 방식으로는 다자간 계약을 구현하기 어렵다. 이 경우 [[상호인증 블록체인]] 방법을 사용하여 다자간 스마트 계약 문제를 해결할 수 있다.
* '''[[오라클 문제]]'''(oracle problem): 스마트 컨트랙트 시스템은 [[오라클 문제]]라는 근본적 문제를 가지고 있다. 오라클 문제란 블록체인 밖에 있는 데이터를 블록체인 안으로 가져올 때 발생하는 문제를 말한다. [[블록체인]]은 [[데이터]]의 위변조가 거의 불가능한 분산 저장 기술이지만, 데이터가 블록체인 안으로 들어와야 블록체인으로 관리할 수 있다. 데이터가 블록체인 안으로 들어오지 않거나, 혹은 블록체인 안으로 들어오는 과정에서 위변조가 발생한다면, 설령 그 데이터가 블록체인으로 관리된다고 할지라도 신뢰하기 어렵다. 이러한 오라클 문제를 해결하기 위해, [[중간자]]를 두거나 [[상호인증 블록체인]] 방법을 사용할 수 있다.
+
* '''[[오라클 문제]]'''(oracle problem) : 스마트 컨트랙트 시스템은 [[오라클 문제]]라는 근본적 문제를 가지고 있다. 오라클 문제란 블록체인 밖에 있는 데이터를 블록체인 안으로 가져올 때 발생하는 문제를 말한다. [[블록체인]]은 [[데이터]]의 위변조가 거의 불가능한 분산 저장 기술이지만, 데이터가 블록체인 안으로 들어와야 블록체인으로 관리할 수 있다. 데이터가 블록체인 안으로 들어오지 않거나, 혹은 블록체인 안으로 들어오는 과정에서 위변조가 발생한다면, 설령 그 데이터가 블록체인으로 관리된다고 할지라도 신뢰하기 어렵다. 이러한 오라클 문제를 해결하기 위해, [[중간자]]를 두거나 [[상호인증 블록체인]] 방법을 사용할 수 있다.
  
 
== 비트코인캐시 스크립트 연산 부호 ==
 
== 비트코인캐시 스크립트 연산 부호 ==
95번째 줄: 93번째 줄:
 
2018년 한국에서 열린 후오비 카니발에서 비트메인 대표이자 [[비트코인캐시]](Bitcoin Cash)의 아버지라 불리는 [[우지한]]은 비트코인캐시(BCH)는 의사결정 방식인 합의 알고리즘 변화 없이 다양한 프로젝트를 시도할 수 있는 방안을 도출했다며 [[BCH]]에 내재된 ‘스크립트 연산 부호(OP_RETURN)’을 활용하면 스마트 계약 등 다양한 기능을 자유롭게 구현할 수 있다고 했다. BCH는 최근 업데이트를 통해 40바이트였던 스크립트 연산 부호 용량을 220바이트로 늘려 새로운 프로토콜을 개발하기에 훨씬 쉬운 환경이 됐다고 한다. 스크립트 연산 부호는 블록체인 거래(transaction) 과정에 아무런 영향을 주지 않고, 블록에서 제거할 수 있기 때문에 스마트 계약 등 다양한 기능을 자유롭게 개발 및 구현할 수 있다거 한다.  이어 비트코인의 스크립트 연산 부호 용량이 컸다면 이더리움 창시자인 비탈릭 부테린도 이더리움을 만드는 대신 이 부호를 활용하여 스마트 계약을 만들었을 것이란 언급도 덧붙였다.  
 
2018년 한국에서 열린 후오비 카니발에서 비트메인 대표이자 [[비트코인캐시]](Bitcoin Cash)의 아버지라 불리는 [[우지한]]은 비트코인캐시(BCH)는 의사결정 방식인 합의 알고리즘 변화 없이 다양한 프로젝트를 시도할 수 있는 방안을 도출했다며 [[BCH]]에 내재된 ‘스크립트 연산 부호(OP_RETURN)’을 활용하면 스마트 계약 등 다양한 기능을 자유롭게 구현할 수 있다고 했다. BCH는 최근 업데이트를 통해 40바이트였던 스크립트 연산 부호 용량을 220바이트로 늘려 새로운 프로토콜을 개발하기에 훨씬 쉬운 환경이 됐다고 한다. 스크립트 연산 부호는 블록체인 거래(transaction) 과정에 아무런 영향을 주지 않고, 블록에서 제거할 수 있기 때문에 스마트 계약 등 다양한 기능을 자유롭게 개발 및 구현할 수 있다거 한다.  이어 비트코인의 스크립트 연산 부호 용량이 컸다면 이더리움 창시자인 비탈릭 부테린도 이더리움을 만드는 대신 이 부호를 활용하여 스마트 계약을 만들었을 것이란 언급도 덧붙였다.  
  
==심버스의 심트랜스: 범용거래 처리기==
+
==심버스의 심트랜스 : 범용거래 처리기==
 
[[파일:최수혁.jpg|썸네일|200픽셀|'''[[최수혁]]''' [[심버스]] 대표이사]]
 
[[파일:최수혁.jpg|썸네일|200픽셀|'''[[최수혁]]''' [[심버스]] 대표이사]]
 
[[파일:심버스 글자.png|썸네일|300픽셀|'''[[심버스]]'''(SymVerse)]]
 
[[파일:심버스 글자.png|썸네일|300픽셀|'''[[심버스]]'''(SymVerse)]]
103번째 줄: 101번째 줄:
 
심트랜스 범용거래 처리기의 주요 기능은 다음과 같다.
 
심트랜스 범용거래 처리기의 주요 기능은 다음과 같다.
  
*즉시거래와 예약거래: 범용거래 처리기는 다중블록체인을 이용하여 일반거래와 스마트 계약을 구분하여 처리하고, 일반거래는 거래 처리 시점에 따라 즉시거래와 예약거래로 구분하며 서로 다른 블록체인을 사용한다. 일상생활에서 송금이나 단순지불 거래는 즉시 처리가 요구되지만, 일부 인터넷 쇼핑 등에서는 물건의 배달이 확인되는 시점까지 대금지불을 늦출 수 있다. 또한 매달 월정액을 지불하는 상품과 서비스 구매도 예약거래에 해당한다. 계약서에 따른 대금지불이나 조건이 붙은 거래도 예약 거래를 이용하여 손쉽게 처리할 수 있다.
+
*즉시거래와 예약거래 : 범용거래 처리기는 다중블록체인을 이용하여 일반거래와 스마트 계약을 구분하여 처리하고, 일반거래는 거래 처리 시점에 따라 즉시거래와 예약거래로 구분하며 서로 다른 블록체인을 사용한다. 일상생활에서 송금이나 단순지불 거래는 즉시 처리가 요구되지만, 일부 인터넷 쇼핑 등에서는 물건의 배달이 확인되는 시점까지 대금지불을 늦출 수 있다. 또한 매달 월정액을 지불하는 상품과 서비스 구매도 예약거래에 해당한다. 계약서에 따른 대금지불이나 조건이 붙은 거래도 예약 거래를 이용하여 손쉽게 처리할 수 있다.
*일대다 거래: 다수의 수신자에게 즉시 거래하거나 예약거래를 할 수 있다. 다수의 수신인에게 송금을 할 수 있기 때문에 다수의 중개인이 존재하는 거래나 동일한 유형의 다수 거래를 한 번에 처리할 수 있다. 이를 통하여 거래 처리시간 단축, 거래시점 동시화 등을 간단하게 처리한다.
+
*일대다 거래 : 다수의 수신자에게 즉시 거래하거나 예약거래를 할 수 있다. 다수의 수신인에게 송금을 할 수 있기 때문에 다수의 중개인이 존재하는 거래나 동일한 유형의 다수 거래를 한 번에 처리할 수 있다. 이를 통하여 거래 처리시간 단축, 거래시점 동시화 등을 간단하게 처리한다.
*일반거래와 스마트 계약의 병용: 하나의 함수로 모든 일반거래와 스마트 계약을 동시에 처리할 수 있다. 예를 들어 예약거래와 스마트 계약의 호출은 하나의 함수로 처리할 수 있기 때문에, 선물거래나 옵션거래를 간단하게 처리할 수 있다.
+
*일반거래와 스마트 계약의 병용 : 하나의 함수로 모든 일반거래와 스마트 계약을 동시에 처리할 수 있다. 예를 들어 예약거래와 스마트 계약의 호출은 하나의 함수로 처리할 수 있기 때문에, 선물거래나 옵션거래를 간단하게 처리할 수 있다.
  
 
==향후 전망==
 
==향후 전망==
 
블록체인을 이용한 [[스마트계약]]은 계약 이행 및 검증의 과정이 네트워크로 자동화되고, 중재해주는 사람이나 기관이 없다보니 돈이나 부동산, 주식, 그밖에 가치있는 그 무엇이라도 교환하면서도 투명하고, 계약 쌍방간에 충돌 없이 거래를 완료할 수 있다. 기존 계약서는 서면으로 돼 있어 계약 조건을 이행하려면 실제 사람이 계약서대로 수행을 해야 하지만 디지털 명령어로 계약서를 작성하게 되면 명확성과 함께 애초에 합의한 조건에 따라 계약 내용을 자동 수행이 가능하다. 그리고 추가 비용 없이 직접 처리하게 만든 것으로 복잡한 사업상의 계약을 적은 비용과 합의에 따른 신뢰를 바탕으로 안전하게 계약을 실행할 수 있다. 무엇보다 스마트 계약은 그 실행 내용의 무결성과 조작되지 않음을 보장한다. 그렇기 때문에 스마트 컨트랙트 비즈니스는 계속 성장할 것으로 예상된다. 시장조사업체 가트너는(Gartner)는 2022년에는 글로벌 기관 중 25% 이상이 스마트 컨트랙트를 사용할 것으로 예상하고 있다. 캡제미니(Capgemini)는 2020년 초 스마트 컨트랙트가 도입될 것이며 특히 금융업계가 비용 절감과 수요 창출의 효과를 얻을 것라고 예측하고 있다. 즉, 투자은행의 경우, 결제 주기가 20일에서 6~12일로 단축되어 5~6% 추가 수요를 발생시킴으로써 매년 20~70억 달러의 추가 수입 발생을 예상하고 있고, 소비자 금융의 경우, 주택 담보 대출의 처리 비용을 낮춰 매년 30~110억 달러 비용 절감되고, 보험의 경우, 개인용 자동차 보험에서만 연간 210억 달러 비용 절감이 예상되고 있다. 한국에서도 지난해부터 스마트 콘트랙트를 활용한 각종 정부사업이 추진되고 있다. 중앙선거관리위원회는 블록체인을 접목한 온라인 전자투표 시스템을, 농림축산식품부는 블록체인 기반의 축산물 이력관리시스템을 준비 중이다. 국토교통부는 공인중개사 등과 연계해 부동산 거래를 원스톱으로 제공하는 플랫폼을 시범적으로 구축하고 있다.
 
블록체인을 이용한 [[스마트계약]]은 계약 이행 및 검증의 과정이 네트워크로 자동화되고, 중재해주는 사람이나 기관이 없다보니 돈이나 부동산, 주식, 그밖에 가치있는 그 무엇이라도 교환하면서도 투명하고, 계약 쌍방간에 충돌 없이 거래를 완료할 수 있다. 기존 계약서는 서면으로 돼 있어 계약 조건을 이행하려면 실제 사람이 계약서대로 수행을 해야 하지만 디지털 명령어로 계약서를 작성하게 되면 명확성과 함께 애초에 합의한 조건에 따라 계약 내용을 자동 수행이 가능하다. 그리고 추가 비용 없이 직접 처리하게 만든 것으로 복잡한 사업상의 계약을 적은 비용과 합의에 따른 신뢰를 바탕으로 안전하게 계약을 실행할 수 있다. 무엇보다 스마트 계약은 그 실행 내용의 무결성과 조작되지 않음을 보장한다. 그렇기 때문에 스마트 컨트랙트 비즈니스는 계속 성장할 것으로 예상된다. 시장조사업체 가트너는(Gartner)는 2022년에는 글로벌 기관 중 25% 이상이 스마트 컨트랙트를 사용할 것으로 예상하고 있다. 캡제미니(Capgemini)는 2020년 초 스마트 컨트랙트가 도입될 것이며 특히 금융업계가 비용 절감과 수요 창출의 효과를 얻을 것라고 예측하고 있다. 즉, 투자은행의 경우, 결제 주기가 20일에서 6~12일로 단축되어 5~6% 추가 수요를 발생시킴으로써 매년 20~70억 달러의 추가 수입 발생을 예상하고 있고, 소비자 금융의 경우, 주택 담보 대출의 처리 비용을 낮춰 매년 30~110억 달러 비용 절감되고, 보험의 경우, 개인용 자동차 보험에서만 연간 210억 달러 비용 절감이 예상되고 있다. 한국에서도 지난해부터 스마트 콘트랙트를 활용한 각종 정부사업이 추진되고 있다. 중앙선거관리위원회는 블록체인을 접목한 온라인 전자투표 시스템을, 농림축산식품부는 블록체인 기반의 축산물 이력관리시스템을 준비 중이다. 국토교통부는 공인중개사 등과 연계해 부동산 거래를 원스톱으로 제공하는 플랫폼을 시범적으로 구축하고 있다.
 
== 동영상 ==
 
<youtube>rYAP9W1vIeQ</youtube>
 
  
 
{{각주}}
 
{{각주}}
133번째 줄: 128번째 줄:
 
* [[디앱]]
 
* [[디앱]]
 
* [[취약점]]
 
* [[취약점]]
* [[트러스트 컨트랙트]]
 
 
* [[오라클 문제]]
 
* [[오라클 문제]]
 
* [[상호인증 블록체인]]
 
* [[상호인증 블록체인]]

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)