코다 편집하기

이동: 둘러보기, 검색

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

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
189번째 줄: 189번째 줄:
 
표준 초기 마진 모델 프로젝트의 특정 사용 사례는 담보약정(CSA)에 대한 초기 담보 계산 규칙을 따른다. 여기서 오라클 노드는 거래의 당사자들이 공통된 기준 정보를 활용할 수 있도록 디자인 되었으며 [[오픈 감마]](Open Gamma : 회사이름)의 결정적 Java 라이브러리를 사용했다. 결과적으로 오라클 노드를 통해서 여러 가지 상태값을 받아 필요한 담보 금액을 계산하고, 아무런 대사과정 없이 거래 당사자들에게 전이된 값을 보낼 수 있었다. 이 오라클 디자인 패턴은 결정적 계산에 종종 사용되었지만 시장 데이터를 확인하는 데도 사용할 수 있다.<ref name="코다 디자인"></ref><ref name="Clemens Wan"></ref>
 
표준 초기 마진 모델 프로젝트의 특정 사용 사례는 담보약정(CSA)에 대한 초기 담보 계산 규칙을 따른다. 여기서 오라클 노드는 거래의 당사자들이 공통된 기준 정보를 활용할 수 있도록 디자인 되었으며 [[오픈 감마]](Open Gamma : 회사이름)의 결정적 Java 라이브러리를 사용했다. 결과적으로 오라클 노드를 통해서 여러 가지 상태값을 받아 필요한 담보 금액을 계산하고, 아무런 대사과정 없이 거래 당사자들에게 전이된 값을 보낼 수 있었다. 이 오라클 디자인 패턴은 결정적 계산에 종종 사용되었지만 시장 데이터를 확인하는 데도 사용할 수 있다.<ref name="코다 디자인"></ref><ref name="Clemens Wan"></ref>
  
==비교==
+
==블록체인과의 비교==
===블록체인===
+
===정보전파===
====정보전파====
 
 
기본적으로 블록체인은 정보의 위변조 및 삭제가 불가능하기 때문에 최대한 많은 참여자의 합의를 받기 위해 모든 정보를 거래에 참여하고 있는 모든 참여자에게 공유한다. 간단한 예를 들어, A가 B에게 돈을 지급했을 경우 그 거래의 정보를 전체 네트워크에 공개함으로써 거래를 검증하는 것이다. 비트코인 및 이더리움과 같은 퍼블릭 블록체인은 거래를 검증하는 주체는 전 세계에 분포된 익명의 컴퓨터인 반면에 프라이빗 블록체인은 거래 검증의 주체를 특정한 네트워크의 참여자로 제한한다. 블록체인 기술과 같이 정보를 연관성이 없는 참여자에게까지 전달하고 그들에게 검증까지 받게 되면 확장성이 떨어지는 것은 너무나도 당연한 결과이다. 다수의 합의를 도출해야 하는 구조이기 때문에 블록체인 네트워크의 속도는 항상 하향평준화, 즉 가장 느린 컴퓨터의 속도에 맞춰지게 된다. 따라서 초당 수천, 수만 건이 일어나는 금융 산업에서 블록체인은 적합하지 않다. 그 외에도 거래당사자와 관련이 없는 불필요한 정보를 기록하고 검증하며 관리해야 하기 때문에 업무가 많고 보안이 중요한 금융사 간 이해관계에도 블록체인 기술은 적합하지 않다. 블록체인과 다르게 코다는 해당 정보와 관련이 있는 당사자들에게만 정보를 전달한다. A와 B의 거래를 관련 없는 C와 D에게 공유하지 않으며 해당 거래가 유효한지에 대한 검증을 요청하지도 않는다. 모든 거래를 모든 개체가 공유하는 블록체인 방식과 다르게 코다는 관련이 있는 거래만 참여자에 한해서 공유한다.<ref name="백종찬2"></ref>
 
기본적으로 블록체인은 정보의 위변조 및 삭제가 불가능하기 때문에 최대한 많은 참여자의 합의를 받기 위해 모든 정보를 거래에 참여하고 있는 모든 참여자에게 공유한다. 간단한 예를 들어, A가 B에게 돈을 지급했을 경우 그 거래의 정보를 전체 네트워크에 공개함으로써 거래를 검증하는 것이다. 비트코인 및 이더리움과 같은 퍼블릭 블록체인은 거래를 검증하는 주체는 전 세계에 분포된 익명의 컴퓨터인 반면에 프라이빗 블록체인은 거래 검증의 주체를 특정한 네트워크의 참여자로 제한한다. 블록체인 기술과 같이 정보를 연관성이 없는 참여자에게까지 전달하고 그들에게 검증까지 받게 되면 확장성이 떨어지는 것은 너무나도 당연한 결과이다. 다수의 합의를 도출해야 하는 구조이기 때문에 블록체인 네트워크의 속도는 항상 하향평준화, 즉 가장 느린 컴퓨터의 속도에 맞춰지게 된다. 따라서 초당 수천, 수만 건이 일어나는 금융 산업에서 블록체인은 적합하지 않다. 그 외에도 거래당사자와 관련이 없는 불필요한 정보를 기록하고 검증하며 관리해야 하기 때문에 업무가 많고 보안이 중요한 금융사 간 이해관계에도 블록체인 기술은 적합하지 않다. 블록체인과 다르게 코다는 해당 정보와 관련이 있는 당사자들에게만 정보를 전달한다. A와 B의 거래를 관련 없는 C와 D에게 공유하지 않으며 해당 거래가 유효한지에 대한 검증을 요청하지도 않는다. 모든 거래를 모든 개체가 공유하는 블록체인 방식과 다르게 코다는 관련이 있는 거래만 참여자에 한해서 공유한다.<ref name="백종찬2"></ref>
  
====합의====
+
===합의===
 
코다는 거래의 합의를 거래당사자 간의 딜(deal) 단위에서 일으킨다.<ref name="수키"></ref> 앞서 언급한 것과 같이 블록체인 네트워크에서는 모든 참여자가 거래를 검증하는 반면에 코다는 합의를 유효성과 유일성으로 나눈다. 여기서 유효성이란 거래당사자 간의 거래내용을 만족하고 각각 서명하여 거래가 유효함을 확인하는 것이고, 유일성이란 그 거래가 두 번 쓰이지 않았는지에 대한 검증을 의미한다. 기존 블록체인은 합의의 유효성과 유일성을 구분하지 않아 거래의 유일성이 곧 유효성이다.<ref name="백종찬모비"></ref> 현실에서 금융거래의 유효성은 비즈니스적인 측면에서 이루어진다. 즉 금융거래에서는 거래당사자 A와 B가 모두 동의한 거래여야만 체결될 수 있다.<ref name="백종찬모비"></ref> 하지만 기존의 블록체인에서는 과반수이상의 합의를 도출하면 거래의 유효성이 인정되어 거래가 체결된다. 이를 금융시장에 대입해보면, 다섯 개의 은행이 참여한 동일한 거래에서 두 은행이 동의하지 않더라도 과반수에 의한 합의를 무조건 따라야 하는 강제성을 지닌다는 뜻이다. 이는 금융 비즈니스의 성격과는 매우 거리가 멀다. 코다는 거래의 유효성과 유일성을 분리한다. 거래의 유효성은 거래당사자 간의 합의이고 거래의 유일성은 [[노터리]](Notary)라는 개념을 도입하여 보장한다.<ref name="백종찬모비"></ref> 거래당사자 간 거래가 두 번 사용되지 않았다는 사실은 보장할 수 있지 않기 때문에 노터리가 대신 검증하는 것이다. 노터리는 국가마다 다르지만 결제원이나 중앙은행과 같은 산업기구나 규제감독기구가 단독적으로 될 수도 있고, 금융기관들이 그룹(pool)을 구성하여 탈중앙화 된 형태로 직접 유일성을 검증할 수도 있다. 만약 금융기관들이 그룹을 구성하는 후자의 경우, 과반수의 선택에 따르는 [[프랙티컬 비잔틴 장애 허용]](PBFT)이나 [[래프트]](RAFT) 기반의 [[합의 알고리즘]]을 선택할 수 있으며, 코다는 이 밖에도 다양한 합의 알고리즘을 지원할 예정이다.<ref name="백종찬2"></ref>
 
코다는 거래의 합의를 거래당사자 간의 딜(deal) 단위에서 일으킨다.<ref name="수키"></ref> 앞서 언급한 것과 같이 블록체인 네트워크에서는 모든 참여자가 거래를 검증하는 반면에 코다는 합의를 유효성과 유일성으로 나눈다. 여기서 유효성이란 거래당사자 간의 거래내용을 만족하고 각각 서명하여 거래가 유효함을 확인하는 것이고, 유일성이란 그 거래가 두 번 쓰이지 않았는지에 대한 검증을 의미한다. 기존 블록체인은 합의의 유효성과 유일성을 구분하지 않아 거래의 유일성이 곧 유효성이다.<ref name="백종찬모비"></ref> 현실에서 금융거래의 유효성은 비즈니스적인 측면에서 이루어진다. 즉 금융거래에서는 거래당사자 A와 B가 모두 동의한 거래여야만 체결될 수 있다.<ref name="백종찬모비"></ref> 하지만 기존의 블록체인에서는 과반수이상의 합의를 도출하면 거래의 유효성이 인정되어 거래가 체결된다. 이를 금융시장에 대입해보면, 다섯 개의 은행이 참여한 동일한 거래에서 두 은행이 동의하지 않더라도 과반수에 의한 합의를 무조건 따라야 하는 강제성을 지닌다는 뜻이다. 이는 금융 비즈니스의 성격과는 매우 거리가 멀다. 코다는 거래의 유효성과 유일성을 분리한다. 거래의 유효성은 거래당사자 간의 합의이고 거래의 유일성은 [[노터리]](Notary)라는 개념을 도입하여 보장한다.<ref name="백종찬모비"></ref> 거래당사자 간 거래가 두 번 사용되지 않았다는 사실은 보장할 수 있지 않기 때문에 노터리가 대신 검증하는 것이다. 노터리는 국가마다 다르지만 결제원이나 중앙은행과 같은 산업기구나 규제감독기구가 단독적으로 될 수도 있고, 금융기관들이 그룹(pool)을 구성하여 탈중앙화 된 형태로 직접 유일성을 검증할 수도 있다. 만약 금융기관들이 그룹을 구성하는 후자의 경우, 과반수의 선택에 따르는 [[프랙티컬 비잔틴 장애 허용]](PBFT)이나 [[래프트]](RAFT) 기반의 [[합의 알고리즘]]을 선택할 수 있으며, 코다는 이 밖에도 다양한 합의 알고리즘을 지원할 예정이다.<ref name="백종찬2"></ref>
  
====프라이버시====
+
===프라이버시===
 
기존의 블록체인은 앞서 얘기한 것과 같이 거래를 거래당사자뿐만 아니라 모든 네트워크 참여자에게 공유한다. 제도권 블록체인을 개발하는 몇몇 기업들은 이러한 정보들을 암호화하여 공유하는 방식을 사용하지만 이러한 방식에도 여러 문제점들이 있다. 확장성, 금융정보의 기밀성, 키 분실과 같은 보안 문제가 발생할 수 있으며 암호화 된 정보들을 복호화 할 가능성도 배제할 수 없다. 또한 관련 없는 데이터를 저장 및 관리하는 문제 또한 발생할 수 있다. 한편 블록체인 및 분산원장에서 기밀성은 1) 계좌(고객정보) 프라이버시, 2) 거래기록(역사) 프라이버시, 3) 잔고(자산) 프라이버시의 세 가지 영역으로 나눌 수 있다. 코다는 이 세 가지 프라이버시를 모두 보호한다. 현재 시스템과 마찬가지로 기밀성이 보장되는 정보들은 거래당사자 간 need-to-know 기반으로 전달된다.<ref name="백종찬모비"></ref> 이러한 정보의 프라이버시를 보호할 수 있는 이유는 합의 과정에서 거래의 유효성과 유일성을 분리해놓았기 때문이다.<ref name="백종찬2"></ref>
 
기존의 블록체인은 앞서 얘기한 것과 같이 거래를 거래당사자뿐만 아니라 모든 네트워크 참여자에게 공유한다. 제도권 블록체인을 개발하는 몇몇 기업들은 이러한 정보들을 암호화하여 공유하는 방식을 사용하지만 이러한 방식에도 여러 문제점들이 있다. 확장성, 금융정보의 기밀성, 키 분실과 같은 보안 문제가 발생할 수 있으며 암호화 된 정보들을 복호화 할 가능성도 배제할 수 없다. 또한 관련 없는 데이터를 저장 및 관리하는 문제 또한 발생할 수 있다. 한편 블록체인 및 분산원장에서 기밀성은 1) 계좌(고객정보) 프라이버시, 2) 거래기록(역사) 프라이버시, 3) 잔고(자산) 프라이버시의 세 가지 영역으로 나눌 수 있다. 코다는 이 세 가지 프라이버시를 모두 보호한다. 현재 시스템과 마찬가지로 기밀성이 보장되는 정보들은 거래당사자 간 need-to-know 기반으로 전달된다.<ref name="백종찬모비"></ref> 이러한 정보의 프라이버시를 보호할 수 있는 이유는 합의 과정에서 거래의 유효성과 유일성을 분리해놓았기 때문이다.<ref name="백종찬2"></ref>
  
====법적 구속력====
+
===법적 구속력===
 
법적 구속력이란 체결된 거래가 법적으로 용인될 수 있고 이 거래 과정에서 문제가 발생했을 경우 법적으로 해소할 수 있음을 뜻한다.<ref name="수키"></ref> 블록체인에서의 법적 구속력은 법률 계약 기반의 금융거래에 대한 이해와 체결, 실행을 스마트 계약으로 대신할 경우를 법적으로 인정하느냐의 문제이다. 자연어로 작성되는 계약서를 컴퓨터 언어로 바꾸는 것이 현재 기술로 완벽하게 구현하지 못했을 뿐더러 설령 이를 완벽하게 구현했다고 하더라도 법정이서 인정하기가 어렵다는 문제가 있다. 법은 계약의 참여자와 판단하는 사람이 공통의 언어를 사용해야 하기 때문이다. 따라서 R3는 블록체인의 개발자들이 주장하는 “[[코드]]가 곧 법이다(Code is law)”라는 개념에 동의하지 않는다. 코다는 ‘코드=법’보다 ‘코드+법’이라는 개념 하에 개발된다. 코다에서 금융계약은 법률언어를 컴퓨터 코드와 유기적으로 연결하여 계약의 상태에 두 개의 레퍼런스(컴퓨터 코드와 법률문서)를 담는다. 법률문서는 계약으로서의 법적 구속력을 담당하며 컴퓨터 코드는 계약의 실행을 담당한다. 여기에서 더욱 흥미로운 점은 거래당사자 간 금융계약을 상호적으로 단 한 번만 기록 및 보관하고, 계약의 상태가 변화는 과정에서 계약의 체결과 실행이 자동으로 이루어진다는 것이다. 기존처럼 계약을 맺고 대사를 하거나 계약의 상태가 변한 후에 또 다시 같은 과정을 거칠 필요가 없어진다.<ref name="백종찬2"></ref>
 
법적 구속력이란 체결된 거래가 법적으로 용인될 수 있고 이 거래 과정에서 문제가 발생했을 경우 법적으로 해소할 수 있음을 뜻한다.<ref name="수키"></ref> 블록체인에서의 법적 구속력은 법률 계약 기반의 금융거래에 대한 이해와 체결, 실행을 스마트 계약으로 대신할 경우를 법적으로 인정하느냐의 문제이다. 자연어로 작성되는 계약서를 컴퓨터 언어로 바꾸는 것이 현재 기술로 완벽하게 구현하지 못했을 뿐더러 설령 이를 완벽하게 구현했다고 하더라도 법정이서 인정하기가 어렵다는 문제가 있다. 법은 계약의 참여자와 판단하는 사람이 공통의 언어를 사용해야 하기 때문이다. 따라서 R3는 블록체인의 개발자들이 주장하는 “[[코드]]가 곧 법이다(Code is law)”라는 개념에 동의하지 않는다. 코다는 ‘코드=법’보다 ‘코드+법’이라는 개념 하에 개발된다. 코다에서 금융계약은 법률언어를 컴퓨터 코드와 유기적으로 연결하여 계약의 상태에 두 개의 레퍼런스(컴퓨터 코드와 법률문서)를 담는다. 법률문서는 계약으로서의 법적 구속력을 담당하며 컴퓨터 코드는 계약의 실행을 담당한다. 여기에서 더욱 흥미로운 점은 거래당사자 간 금융계약을 상호적으로 단 한 번만 기록 및 보관하고, 계약의 상태가 변화는 과정에서 계약의 체결과 실행이 자동으로 이루어진다는 것이다. 기존처럼 계약을 맺고 대사를 하거나 계약의 상태가 변한 후에 또 다시 같은 과정을 거칠 필요가 없어진다.<ref name="백종찬2"></ref>
  
 +
==비교==
 
===하이퍼레저 패브릭===
 
===하이퍼레저 패브릭===
 
[[파일:하이퍼레저 패브릭 글자.png|썸네일|250픽셀|'''[[하이퍼레저 패브릭]]'''(Hyperledger Fabric)]]
 
[[파일:하이퍼레저 패브릭 글자.png|썸네일|250픽셀|'''[[하이퍼레저 패브릭]]'''(Hyperledger Fabric)]]

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

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