코다 디자인 사례

블록체인 코다(Corda)
5 min readJul 1, 2018

[아래는 R3의 Solution Architect Clemens Wan의 블로그를 의역 및 재해석 한 것입니다. 원본의 일부 내용은 생략되었습니다]

본문 링크: https://medium.com/corda/what-use-cases-best-fit-on-corda-bca9082163f1

코다가 초기에 실험이었고 이 아이디어가 효과가 있을지도 알지 못했을 때를 기억합니다. R3 실험실과 연구소에서 우리는 IP를 공유하고 광범위한 DLT 플랫폼에 대한 공동 연구를 회원 은행들과 같이 진행했습니다. 이러한 연구의 대부분은 이더리움에서 시작되었지만, 회원 은행에게 필요한 새로운 언어와 방식이 필요함을 바로 인지하게 되었습니다.

아래는 코다로 가능한 초기 디자인 사례에 대한 저의 해석입니다.

프로젝트 엑스칼리버

2016년 5월에 개발된 스마트 컨트랙 템플릿(Smart Contract Template)

코다는 금융계약을 기록하고 관리하고 자동화하기 위해서 처음 제작되었습니다. 우리는 설계를 위한 지침을 세우기 위해서 현금, 회사채, 신용 디폴트 스왑 등을 활용했습니다. 하지만 최초 실제 구현은 이들과는 다른 자산이었는데 그게 바로 금리 스왑(Intererst Rate Swap, IRS)이었습니다. 이 유즈케이스에 대한 코다가 적합함을 검증하게 된 것은은 우리가 올바른 엔터프라이즈(프라이빗) 블록체인 디자인을 했다는 것을 확신시켜 주는 계기였습니다.

이 프로젝트는 “스마트 컨트랙 템플릿”으로도 알려져 있었고 Barclays의 Lee Braine 박사의 훌륭한 비디오 프레젠테이션에도 잘 설명되어 있습니다. 우리는 계약을 위한 거래를 추적하고 금리 스왑(IRS) 계약에 관련된 당사자 간의 거래 출처 확인할 수 있도록 구현하였습니다. 실시간 협상을 수행하고 플랫폼 간에 개인적으로 명령을 공유하는 기능은 당신 다양한 프로젝트에 많은 영향을 주었습니다.

위에서 볼 수 있듯이 이 거래들은 코다가 쌍방간의 계약 확정을 통해 원장에 기록하는 (즉 Commit) 과정을 통해 원자적 거래(Atomic Transaction)을 가능하게 함을 보여줍니다. Flow 프레임워크라고 하는 포인트-투-포인트(point-to-point) 합의(Consensus) 방식을 통해서 코다 노드는 동일한 정보(Shared Fact)를 각자의 원장에 저장하게 됩니다. CorDapp 개발자는 Flow 프레임워크를 이용해서 유동적인 방식으로 참가자들의 트랜잭션에 대한 서명을 가능하게 합니다.

기업에게 이점은 바로 부분 결제에서 전체 결제에 이르기까지의 모든 과정이 기록되는 거래체인에 있습니다. 이 사례의 스마트 컨트랙 템플릿(Smart Contract Template)은 ISDA 계약의 매개변수(Argument)를 작성하고 이를 DLT에 반영하는 기능을 보여주었습니다.

프로젝트 베가: 공유된 Standard Initial Margin Model (SIMM) 계산

이더리움과 달리 코다의 아키텍처는 전통적인 UTXO 모델 기반의 “스마트 컨트랙”이며, 인스트럭션(Instruction)의 실행에 의존하지는 않습니다. 스마트 컨트랙 코드는 입력 상태(Input State)를 출력 상태(Output State)로 정확하게 변환하기 위해 verify() 함수를 통한 거래의 유효성 검증과정을 거치게 됩니다.

“표준 초기 마진 모델(Standard Initial Margin Model, SIMM)” 프로젝트의 특정 사용 사례는 담보약정(CSA)에 대한 초기 담보 계산 규칙을 따릅니다. 여기서 오라클(Oracle) 노드는 거래의 당사자들이 공통된 기준 정보를 활용할 수 있도록 디자인되었습니다. 여기서 오픈 감마(Open Gamma: 회사이름)의 결정적(deterministic) Java 라이브러리를 사용했습니다. 결과적으로 오라클 드를 통해서 여러 가지 상태(State)값을 받아, 필요한 담보 금액을 계산하고, 아무런 대사과정 없이 거래 당사자들에게 전이(Update)된 값을 보낼 수 있었습니다.

이 오라클 디자인 패턴은 결정적(deterministic) 계산에 종종 사용되었지만, 시장 데이터 확인을 컨펌하는 데도 사용할 수 있습니다.

이것은 모든 오픈 소스입니다!

최초 스마트 컨트랙 템플릿SIMM 오라클 의 전체 코드는 2016년 11월에 오픈 소스가 된 샘플 저장소에 포함되었습니다. 이것은 아직 사용 가능하며 최신 V3.1 발표에 맞게 업데이트되었습니다.

코다는 2016년 이후 크게 발전했지만 디자인 패턴의 상당 부분은 여전히 자산과 현금의 원자적 거래와 관련됩니다. 자산은 금융 상품에만 국한되지 않고 B2B(Business-to-Business) 영역에서 보험과 글로벌 무역 (금융) 등 다양한 분야에도 적용이 가능합니다.

--

--