검수요청.png검수요청.png

리카르디안 계약

해시넷
이동: 둘러보기, 검색
이안 그리그(Ian Grigg)
리카르디안 계약 작동방식

리카르디안 계약(ricardian contract)은 둘 이상의 당사자들이 서로 행동하기 위한 조건과 내용을 정의한 디지털 문서이고, 사람이 읽을 수 있는 형태로 쓰이며, 그다음에 암호로 서명하고 승인한 것을 말한다. 인간과 프로그램 모두가 쉽게 읽을 수 있어야 하고, 여러 가지 발생할 수 있는 상황에 대해서 당사자들이 명확하게 받아들일 수 있도록 도움이 되어야 한다.[1] 리카르디안 컨트랙트라고도 불린다. 리카르디안 계약이라는 개념은 금융 암호 전문가인 이안 그리그(Ian Grigg)가 대학교에서 경영학 석사 학위를 위해 공부하던 중, 둘 이상의 당사자들이 서로 행동하기 위한 조건과 내용을 정의하면서 개발했다.

개요[편집]

계약서를 기계어 계약을 등록하는 방법으로 이를 통해 개인이 읽을 수 있는 법적 계약서를 컴퓨터로 검증할 수 있게 할 수 있고, 간단한 개인 간 계약서부터 복잡한 법적 문서까지 모든 형태의 계약서에 사용될 수 있으며, 스마트 계약과 달리 리카르디안 계약은 단순히 실제 세계의 계약서를 암호화를 통해 기계어로 바꾼 계약일뿐이다. 스마트 계약과 달리 리카르디안 계약은 실제 법적인 공방에 사용될 수 있는 이안 그리그라는 프로그래머가 제시한 개념이다. 법정 공방에 있어 객관적인 자료로 사용 가능하며, 현실 세계와 크립토 세계를 잇는 다리 역할을 할 수 있는 장점이 있다.[2]

리카르디안 계약은 상호 작용의 조건을 정의하는 디지털 계약이며, 둘 이상의 피어간에 암호화되어 서명하고 검증하고, 중요한 것은 사람과 기계가 모두 이해할 수 있고 디지털로 서명되는 것이다. 전통적인 블록체인과 달리 코다(corda)는 리카르디안 계약 개념을 도입하여 스마트 계약의 법적 유효성을 보장하였다.[3]

역사[편집]

작업 증명(PoW)과 스마트 계약과 같은 오늘날 가장 유명하고 잘 알려진 블록체인 개념 중 일부는 1990년대 초반 디지털 기술로 공상을 하던 사람들이 제안했는데, 리카르디 안 계약도 그런 경우로, 금융 암호화 분야의 선구자 중 한 명인 이언 그리그(Ian Grigg)가 1995년 리카르도(Ricardo) 지불 시스템의 일부분으로 만든 것이다. 직업이 프로그래머였던 그리그는 대학에서 MBA 학위를 위해 공부하던 중 리카르디 안 계약을 개발했다. 그리그는 먼저 디지캐시(DigiCash)라는 회사에서 일하는 친구 중 한 명에게서 자산의 디지털화에 대해 배웠고, 디지캐시는 전자 지불 시스템을 개발하고 있었지만 1998년 디지털 현금이라는 개념이 부흥하지 못하면서 파산 신청을 했다. 그리그에 따르면 디지캐시의 비전은 현금에만 집중하고 다른 금융 상품에는 집중하지 않았기 때문에 너무 범위가 좁았으며, 그리그는 금융 분야가 전체적으로 봤을 때 그런 종류의 기술로부터 얻을 것이 많다는 사실을 깨닫고 그의 친구 게리 하우랜드(Gary Howland)와 일하기 시작했다. 그는 1998년 7 레이어 구조의 금융 암호화(Financial Cryptography in 7 Layers)라는 제목의 논문을 처음 발표하면서 리카르디 안 계약을 얘기했다. 자산 발행을 디지털 기술로 하는 것에 대한 해답을 찾기 위해 그리그는 인터넷에서 채권을 발행하려고, 채권이라는 것이 어떻게 정의되는지 면밀하게 조사하여, 그 결과 다른 모든 금융 상품처럼 채권 또한 일종의 계약이라는 사실을 알게 되었다. 계약서를 디지털화할 방법을 찾으면 금융 자산이나 금융 상품도 완전히 디지털화할 수 있게 될 것이며, 그리그의 아이디어는 선구적이었고 매우 앞서 있었지만, 이 프로젝트를 실현하기 위해 필요한 기술적인 해결책을 가지고 있지 않았지만, 현재 기술의 역량과 풍부한 자원 덕분에 이 개념은 더 이론적인 것이 아니며 이오스(EOS)와 같은 블록체인을 사용하여 구현할 수 있다.[1]

특징[편집]

리카르디안 계약은 디지털화된 거래 정보를 저장한 뒤 해당 기록이 법적인 효력을 발휘해 안전하게 거래할 수 있게 한다. 이 기술은 보험, 선물계약, 대출, 전 세계 자산의 디지털화, 자산의 디지털 파생상품 출시에 적용할 수 있다.

스마트 계약과 비교

우선 스마트 계약과 리카르디안 계약을 구분해 보자면, 스마트 계약은 어떤 이벤트를 받고 그에 따라 작업을 시작하도록 해주는 명령어들이며, 그 명령어들은 기계가 읽을 수 있고, 리카르디안 계약은 그것을 위한 의도와 구체적인 행동들을 요약한 문서이다. 리카르디안 계약은 해당 계약을 기록하기 위해 최선의 노력을 기울이고, 스마트 계약은 그 계약을 실행한다. 스마트 계약은 작업을 자동화하는 데 사용되지만, 앞으로 나타날 모든 경우의 수와 미래를 예측할 수 없기 때문에 한계가 있을 수밖에 없고, 발생할 거라고 아직 인지하지 못하는 것에 대해 자동화할 수 없다. 현재 스마트 계약을 사용하는 방식을 고려했을 때 리카르디안 계약을 융합하는 것은 계약들의 근본적인 의도에 필요한 많은 세부 정보를 얻게 하기 때문에 아주 중요하며, 스마트 계약은 당사자 간의 합의 과정에서 나타나는 가장 중요한 다음과 같은 질문들에 답해주지 못한다.

문서화와 연구가 부족하기 때문에 암호화폐 세계에서 많은 사기와 계약의 악용이 일어나며, 문제가 일어났을 때 필요한 경우 현지 법정에서 해결하기를 원할 것이고, 이때 당사자 간 합의 사항을 이미 서로 인정한 규칙에 구속하고 그 계약에 대한 신뢰를 주는 문서가 필요하다. 리카르디안 계약은 정확히 구매/교환하고 있는 것이 무엇인지에 대한 가이드라인을 제시해 인터넷을 상에서 발행한 자산에 가치를 부여한다. 리카르디안 계약과 스마트 계약이 융합되면서, 따로 신뢰를 구축할 필요 없이 인터넷상의 거래를 안전하게 수행할 수 있게 될 것이다.[1]

동작방법

리카르디안 계약은 법원에서 요구하는 표준 법적 산문으로 작성된 문서이지만 소프트웨어로 사용이 가능하도록 해싱(컴퓨터로 분석)될 수 있다. 리카르디안 계약의 주요 목표는 사람이 읽을 수 있게 만드는 점으로 계약이 유효하려면 모든 당사자가 계약에서 의도한 내용을 이해해야 한다. 계약에 참여한 사람은 그 합의에 대한 의중을 파악하고, 자기가 무엇에 서명하고 있는지를 이해해야 한다. 인간이 이해할 수 있게 되면 컴퓨터 소프트웨어로도 읽을 수 있도록 컴퓨터가 이해하는 상징인 필요한 마크업을 삽입하면 된다. 발행자가 일종의 양식문서 프레임워크 텍스트를 먼저 쓴 후, 그 발행자 또는 당사자가 내용을 채워 넣고, 그 내용을 알 수 있도록 필요한 때 프롬프트를 추가하게 되는 것이다.[1]

안정성

리카르디안 계약은 암호화 서명 덕분에 아주 안전하다. 각 문서는 해시에 의해 고유하게 식별되고, 이는 모든 당사자가 합의한 후에 누군가가 임의로 문서를 변경할 수 없다. 그 계약의 발급자가 마음을 바꾸지 못하도록 해서 문서의 소유자를 보호한다. 발급자들은 끓는 물 속의 개구리(frog boiling) 전략을 사용하기도 하는데, 이는 계약 체결 과정에서 조건을 점점 유리하게 바꾸기 위해 그들이 우위에 있다는 점을 이용하는 것을 뜻한다. 이때 계약상에서 모든 관련자 및 독립적인 검토자, 중재자들이 계약당시 동의했던 내용을 공유하도록 보장해 준다. 리카르디안 계약의 서명은 개인키(private key)로 이루어진다. 계약 공급자의 서명을 문서에 추가함으로써 문서에 설명된 정보와 관련하여 구속력 있고 읽기도 쉬운 제안을 만든다. 개인 키의 도움으로 관련된 당사자를 추적하고 책임을 지울 수 있다.[1]

헬로우 월드

모든 스마트 계약에는 일치하는 리카르디안 계약이 있어야 하며, 리카르디안 계약은 스마트 계약의 각 행동과 관련된 법적 구속력이 있는 행동을 명시한다. 헬로우 월드 계약에 대한 리카르디안 계약의 명명 규칙은 다음과 같다.[4]

명명규칙
// Ricardian contract of the overall contract (전체 계약의 리카르디안 계약)
<contract_name>_rc.md 
// Ricardian contract of each action (각 행동의 리카르디안 계약)
<contract_name>.<action_name>_rc.md
헬로월드 계약 매개변수
## CONTRACT FOR HELLO WORLD

### Parameters
입력 매개 변수: NONE
묵시적 매개 변수:
* _**account_name**_ (계약을 체결하고 서명한 당사자의 이름)
### Intent
의지, 이 계약의 저자와 호출자의 의도는 출력을 인쇄하는 것으로 다른 영향은 없다.
### Term
기간, 이 계약은 코드 실행이 끝나면 만료된다.
### Default
기본, 다음 중 하나의 발생은 본 계약에 따른 중대한 불이행을 구성한다.
### Remedies
구제책, 당사자가 기본적으로 조항, 조항 또는 조항을 실질적으로 수행하지 않아 불이행하는 경우, 당사자는 법률에 따라 이용 가능한 모든 권리와 더불어 본 계약의 조건에 따라 상대방은 불이행 당사자에게 서면 통지를 제공하여 계약을 종료 할 수 있으며, 이 고지는 충분히 상세하게 기술되어야 하고, 디폴트의 ​​본질. 그러한 통지를 받는 당사자는 즉시 블록 프로듀서에서 제거되며 본 계약은 자동으로 종료된다.
### Force Majeure
포스 메이저 본 계약의 이행 또는 본 계약에 따른 의무가 당사자의 합당한 범위를 벗어난 원인으로 인해 금지, 제한 또는 방해되는 경우 통제("Force Majeure")하고, 의무를 이행할 수없는 당사자가 상대방에게 그러한 사건에 대해 서면으로 통지하는 경우 당사자의 의무 이 규정의 이행은 그러한 사건에 의해 필요한 범위에서 중단된다. 불가항력이라는 용어에는 자연의 행위, 화재, 폭발, 기물 파손, 폭풍 또는 기타 유사한 사건, 군대 또는 민사 당국의 명령 또는 행위, 또는 국가 비상사태, 반란, 폭동 또는 전쟁 또는 파업, 폐쇄, 작업 중단 또는 공급 업체 장애. 변명 된 당사자는 그러한 불이행의 원인을 피하거나 제거하기 위해 상황에서 합리적인 노력을 기울여야 하며, 그러한 원인이 제거되거나 중단될 때마다 합리적인 파견으로 진행한다. 다음과 같은 경우 당사자의 합리적인 통제 범위 내에서 행위 또는 누락이 간주하며, 해당 당사자 또는 직원, 임원, 대리인 또는 계열사에 의해 커밋, 생략 또는 유발된 경우이다.
### Dispute Resolution
분쟁 해결, 본 계약으로 인해 또는 이 계약과 관련하여 발생하는 모든 논쟁 또는 분쟁은 본 계약에 명시된 기본 규칙에 따라 구속력 있는 중재를 통해 해결된다. EOSIO 블록체인, 중재인의 판정은 최종적이며 판결은 적절한 관할권을 가진 법원에 의해 결정될 수 있다. 
### Entire Agreement
전체 계약, 이 계약에는 당사자의 전체 계약이 포함되어 있으며 구두 또는 서면과 관계없이 다른 계약에는 다른 약속이나 조건이 없으며, 본 계약의 주제와 관련하여 이 계약은 당사자 간의 사전 쓰면 또는 구두 계약을 대체한다.
### Severability
분리 가능성, 어떠한 이유로 든 본 계약의 조항이 유효하지 않거나 시행할 수없는 경우 나머지 조항은 계속 유효하여 시행할 수 있고, 법원이 본 계약의 어떤 조항이 유효하지 않거나 시행할 수 없다고 판단한 경우, 그러한 조항을 제한함으로써 유효하고 시행할 수 있게 된다. 이러한 규정은 제한적으로 작성, 해석 및 집행되는 것으로 간주한다.
### Amendment
개정, 이 계약은 수정에 따라 의무가 있는 당사자가 서면으로 서명한 경우 당사자 간의 상호 합의에 따라 서면으로 수정 또는 개정될 수 있다.
### Governing Law
준거법, 이 계약은 주식의 최댓값에 따라 해석된다.
### Notice
주의, 본 계약에 따라 요구되거나 허용된 모든 통지 또는 의사소통은 확인 가능한 이메일 주소 또는 다른 이메일로 전달되는 경우 충분히 제공된다. 이 유형의 통지를 제공하기 위해 한 당사자가 공개적으로 가구로 제공했거나 이 블록체인이 제공하는 방송 계약에 개시 된 주소이다.
### Waiver of Contractual Right
계약상의 권리 포기, 한쪽 당사자가 본 계약의 조항을 시행하지 않는 것이 해당 당사자의 권리를 포기하거나 제한하는 것으로 해석되지 않으며, 이 계약의 모든 조항을 엄격하게 준수하고 강제 준수해야 한다.
### Arbitrator's Fees to Prevailing Party
중재인은 당사자를 퇴역시키며, 이 계약에서 발생하는 모든 조치 또는 본 계약의 유효성과 관련된 별도의 조치에서 양 당사자는 최초 중재 비용 및 승소한 당사자에게는 합리적인 중재인의 수수료 및 비용이 수여 된다.
### Construction and Interpretation
건축과 해석, 제도 자에 대한 구성 또는 해석이 필요한 규칙은 면제되고, 문서는 마치 상호 노력에 당사자 두 사람에 의해 작성된 것처럼 간주한다.
### In Witness Whereof
이상의 증거로, 당사자들은 본 계약을 체결하게 되었다.

활용[편집]

이오스[편집]

이오스(EOS)

이오스(EOS) 생태계에서 중재는 하나의 신뢰 장치가 될 것이다. 중재 메커니즘을 이오스 생태계에 완전히 적용할 방법이나 사용자가 클레임을 제기 할 수 있는 방법이 아직 명확하지 않기 때문에 현재로서는 확고한 답이 없고, 한 가지 분명한 것은 리카르디안 계약을 받아들이면 사용자는 중재자에게 제공하는 사전 합의나 사전 정의된 계약을 체결하게 된다는 것이다. 이것은 공정한 중재인이 계약의 원래 의도와 의무를 쉽게 판단할 수 있게 하며, 그들은 리카르디안 계약과 스마트 계약을 정리해 분쟁이 어디에 나타날 가능성이 있는지 파악할 능력을 갖출 수 있다. 오픈바자(OpenBazaar)는 일반 상품에서 투기 계약까지 무엇이든 교환할 수 있는 피투피 전자 상거래 플랫폼으로, 리카르디안 계약은 상품을 서로 교환할 때 당사자의 책임을 추적하는 도구로 사용되고, 오픈바자에서 거래가 있을 때마다 양 당사자가 서명한 계약의 적법성을 추적하기 위해 리카르디안 계약을 만들며, 이는 어느 당사자도 사기를 치지 않아, 사기 케이스의 경우에 피해자가 법정에서 그의 사건을 판결할 법적 기록을 보유하게 된다는 보증이 된다. 앞으로 리카르디안 계약은 이오스 블록체인으로 만든 계약의 중요한 부분을 담당할 것이다. 이오스가 리카르디안 계약을 지원하면 그 위에 만들어진 거래들에 대해 필요한 법적인 정의를 하도록 도울 수 있고, 리카르디안 계약에 대한 코드가 소스 코드에 점점 추가됨에 따라 우리가 이 기능을 어떻게 구현하고 최선의 방법으로 사용할지 잘 이해하게 될 것이다.[1]

이오스 토큰을 가진 홀더라면 누구나 헌법에 대해 알아야 한다. 투표를 하러 보팅포탈에 들어가면 헌법을 읽어보라는 메시지가 있는데, 이 헌법은 현재 체인의 코드에 리카르디안 계약으로 묶여 있다. 체인 위에서 일어나는 일들은 헌법의 영향을 받게 되는 것이며, 헌법 원문의 내용은 다음과 같다.

제7조 오픈소스

이 헌법에서 개발자라 함은 해당 블록체인에 스마트 계약을 사용할 수 있게 하는 구성원을 일컫는다. 각 개발자는 그들의 스마트 계약을 무료의 오픈소스 라이선스로 제공하고, 모든 스마트 계약은 모든 당사자의 의도를 명시하여 해당 계약에서부터 발생하는 분쟁을 해결할 중재 단체를 명시하는 리카르디안 계약으로 문서화된다.

제13조 사전동의

특정 구성원을 대리하여 거래 생성 및 서명을 용이하게 하는 도구를 생산하는 모든 서비스 제공자는 자신이 대리한 구성원에게 이 헌법의 전체 리카르디안 계약 조건과 다른 참조 계약들을 제출해야 한다. 서비스 제공자는 전체 리카르디안 계약 조건을 사용자에게 공개하지 않아 발생하는 손실에 대한 책임을 진다.[5]

오픈바자(OpenBazaar)

리카르디안 계약을 이용해서 거래를 다루는 예시로, 리카르디안 계약은 인간과 기계가 둘 다 읽을 수 있는 XML/JSON 방식의 변조 방지 계약은 다음과 같다.

  1. 신원 확인을 위한 암호키
  2. 거래 등등의 상호 작용의 조건을 설정하는데 필요한 의미론적인 데이터(예를 들어, 상품, 서비스와 교환된 통화)
  3. 키를 가진 당사자가 이 문구와 조건에 동의했다는 것을 증명하기 위한 디지털 서명
  4. 계약의 변조 방지를 위한 기록을 작성하기 위한 암호화 해시(hash)

오픈바자는 이언그리그가 설계한 리카르디안 계약의 사용성을 더 확장시켜서 계약 당사자 간의 거래와 거래 흐름의 원장(ledger) 역할을 한다. 해당 리카르디안 계약이 완전히 실행되었고, 디지털 서명이 끝났다면 이를 거래 영수증이라고 부르며, 계약 내에 있는 데이터는 당사자들의 GUID키로 서명이 된다. 리카르디안 계약의 데이터 구조는 다음과 같다.

  • 거래소, 판매자의 판매 대상 게시: 공급 업체의 판매 대상 품목 (실제 품목, 디지털 콘텐츠, 서비스 등등)
  • 구매자의 주문 : 구매자가 주문을 공급 업체에 보내고, 공급 업체는 주문을 승인하고 인증 역할을 할 수 있는 디지털 서명을 보내어 공격자가 공급 업체의 가짜 평판 등급을 작성하지 못하도록 하여, 구매자가 지불을 위한 다중 서명거래 주소를 만든다. 주문 프로세스가 시작되면, 발송까지 1~3일 소요된다.
  • 판매자의 주문 확인 : 공급 업체는 주문이 처리되고 해당 품목이 발송되었음을 구매자에게 확인시켜주어 물리적인 상품의 경우 구매자에게 모든 운송 관련 데이터를 제공하고, 디지털 상품의 경우 구매자에게 다운로드 주소 및 비밀번호를 제공하며, 서비스의 경우 구매자에게 관련 데이터를 제공한다. 부분 서명된 트랜잭션을 이용해 다중 서명거래 주소에서 공급 업체로 대금을 보내면, 구매자가 항목을 받은 후에도 서명해야 한다.
  • 구매자의 영수증 : 구매자가 상품, 콘텐츠, 서비스가 배달, 수행되었다는 것을 인정하면 다중 서명거래로부터 대금이 나갈 수 있도록 서명하여 공급자에 대한 평가와 리뷰를 만들고 트랜잭션 요약을 공급자와 중재자에게 보내 저장할 수 있도록 한다.

리카르디안이 재판장에서 읽을 수 있는 법적 산문 역할을 하기를 바란다면 제이슨(JSON)을 사용하는 것에 의문이 생기지만 제이슨으로 구성된 데이터는 인터넷 환경의 UI로 보여주기에 적합하기 때문에 장점이 있다. 스마트 계약이 컴퓨터만 이해할 수 있는 형태로 되어 있고, 리카르디안 계약은 일반적인 사람들에게 읽히는 형태를 지향한다는 것이다.[1] 가기.png 이오스에 대해 자세히 보기

매직리프[편집]

글로벌 증강현실(AR) 시장에서 주목받는 스타트업인 매직리프(Magic Leap)가 블록체인 엔지니어 채용에 나섰다. 채용 웹사이트 그린하우스에 올린 채용 공고에 따르면 매직리프는 수석 블록체인 아키텍트와 블록체인 엔지니어들을 뽑을 계획이고, 수석 블록체인 아키텍트는 사용자의 경험과 사용자 주변에 있는 데이터에 초점을 맞춘 라이프 스트림(Life stream) 기능을 지원하는 블록체인, 스마트 계약, 리카르디안 계약 기술에 대한 기획 및 실행을 담당한다. 그중 하나로 언급된 기술인 리카르디안 계약은 이오스 파트너인 이안 그리그가 만든 개념으로 사람이 읽을 수 있도록 작성해 법률상 구속력을 가질 수 있으면서 디지털화해 컴퓨터가 읽을 수 있도록 한 해싱 계약을 포함하고 있다. 리카르디안 계약이 스마트 계약과 연결되면 블록체인상에서 발생하는 트랜잭션들도 일종의 법률적 구속력과 보장성을 가질 수 있어, 미국 플로리다에서 2010년 창업한 매직리프의 기업 가치는 약 64억 달러(약 7조2000억 원)이다. 구글, 알리바바, AT&T 등 글로벌 ICT 기업으로부터 누적 24억5000달러(약 2조8000억 원)를 투자받기도 했으며, 매직리프가 출시한 AR글래스 매직리프 원은 현재까지 출시된 AR글래스 중 가장 뛰어난 성능을 가진 스마트폰을 대체할 차세대 디바이스로서의 잠재력을 갖췄다.[6]

가기.png 매직리프에 대해 자세히 보기

각주[편집]

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 SUM PARK, 〈리카르디안 컨트랙트 (Ricardian Contract) 를 소개합니다.〉, 《미디엄》, 2018-05-27
  2. 꼼마, 〈리카르디안 컨트랙트〉, 《브런치》, 2018-07-01
  3. 쉽게 이해하는 블록체인 'What is Corda?'〉, 《LG CNS》, 2017-12-18
  4. 이오스개발자 공식 사이트 - https://developers.eos.io/eosio-cpp/docs/hello-world#section-hello-world-ricardian-contract
  5. eosys, 〈EOS Constitution — 이오스 헌법 원문〉, 《스팀잇》, 2018-06-21
  6. 황치규 기자, 〈AR 기대주 매직리프, 수석 블록체인 아키텍트 뽑는다〉, 《더비체인》, 2019-04-15

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 리카르디안 계약 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.