중앙거래상대방은 무엇을 위한 것인가
그것이 없으면 익스포저는 양자 간에 걸립니다. 거래하는 상대 하나하나가 계속해서 내려야 하는 신용 판단이고, 그 판단은 불어납니다. 참여자가n명이면 최대 n(n-1)/2개의 관계가 생기고, 각 관계마다 고유한 조건, 고유한 담보, 그리고 당신의 가치에 대한 고유한 견해가 붙습니다. 채무불이행은 시작된 자리에 머물지 않습니다. 당신에게 지급하지 못하는 상대는 동시에 다른 네 곳에도 지급하지 못하고 있기 때문입니다.
CCP는 노베이션이라는 법적 절차로 이 그물을 허브로 바꿉니다. 매수자와 매도자 사이의 계약은 소멸하고 두 개의 계약으로 대체됩니다. 매수자는 클리어링 하우스를 마주하고, 클리어링 하우스는 매도자를 마주합니다. 이렇게 모든 매도자에게 매수자가 되고 모든 매수자에게 매도자가 됩니다.
양자 간 — 익스포저 n(n-1)/2개
노베이션 — 익스포저 n개
참여자 A
참여자 C
참여자 B
참여자 D
참여자 A
참여자 C
참여자 B
참여자 D
클리어링 하우스
상대마다 별개의 신용 판단이 필요하고, 채무불이행은 시작된 자리에 머물지 않습니다.
허브는 모든 매도자에게 매수자이고 모든 매수자에게 매도자입니다. 평가할 상대는 하나, 증거금 규칙도 하나, 손실을 흡수하는 순서도 하나입니다.
기관이라는 데서 오는 비용
위의 네 가지 이점은 모두 제약을 달고 옵니다. 그 제약은 전부 CCP가 메커니즘이 아니라 회사라는 데서 나옵니다.
암호자산이 지금까지 내놓은 두 답은 둘 다 더 나아지지 않고 더 나빠졌습니다. 중앙화 거래소는 시장 자체를 운영하고 담보까지 보관하는 CCP인데, 감독은 없고 자신이 보유한다고 말하는 증거금을 검증할 방법도 없습니다. 초기 온체인 거래 공간은 반대편으로 가서 클리어링 하우스를 아예 두지 않았습니다. 양자 간 풀, 외부 keeper, 그리고 누군가 트랜잭션을 보내는 편이 남는다고 판단할 때만 일어나는 청산입니다.
같은 기능을, 기관 없이
Intention은 CCP의 업무 목록을 그대로 가져와 커널 실행의 구성 요소로 구현합니다.
그 표의 한 행은 다른 행들보다 무거운 것을 지고 있습니다. 전통 시장에서 중앙거래상대방과, 누가 무엇을 보유하는지의 기록을 지키는 기관 — 예탁기관 — 은 의도적으로 별개의 법인입니다. 거래상대방 위험을 지는 쪽이 동시에 누가 무엇을 소유하는지를 적은 장부의 관리자이기를 원하지는 않습니다. 사적인 장부에 단일 기관이 더해지면, 그것을 대조할 것이 아무것도 남지 않기 때문입니다. 분리 자체가 그 대조 장치입니다.
클리어링 하우스는 둘 다입니다. 모든 포지션의 상대방이면서, 그 기록의 유일한 기록자입니다. 이 결합이 여기서 안전한 이유는 정확히 분리가 존재했던 이유입니다. 장부가 사적이지 않기 때문입니다. 모든 잔액과 포지션, 보험 기금의 이동은 공개된 상태이며 그것을 일으킨 트랜잭션에 귀속됩니다. 워터폴은 임계값에서 돌아가고 누구에게도 재량이 없습니다. 그리고 연쇄 전체가 블록의 한 단위로 커밋되거나 중단됩니다. 기관의 분리가 사들이던 것을, 여기서는 장부를 읽을 수 있다는 사실이 사들입니다.
이 중 어느 것도 프로토콜이 모든 면에서 CCP보다 안전하다는 주장은 아닙니다. CCP에는 자본이 있고 감독기관이 있으며 한 세기 분량의 불이행 처리 실무가 뒤에 있습니다. CCP에 없는 것은 불이행이 진행되는 동안 누구나 읽을 수 있는 원장, 그리고 사람이 발동을 결정하지 않아도 굴러가는 워터폴입니다. 이 설계가 사는 것은 그 둘이고, 사는 방법은 클리어링 하우스를 거래의 당사자가 아니라 블록의 함수로 만드는 것입니다.
쓰는 곳은 한 곳뿐
프로토콜 안에서 클리어링 하우스는 누군가의 잔액, 포지션, 증거금, 미결제약정이 바뀌는 유일한 경로입니다. 체결을 결제하는 일도 여기를 거칩니다. 청산, 자동 디레버리징, 펀딩 정산, 증거금 예약도 마찬가지입니다. 그 배타성이 곧 설계입니다. 계정, 포지션, 오더북처럼 상태를 보관하는 모듈은 데이터를 저장하고 그 데이터를 변경하는 연산을 노출하지만, 스스로 무언가를 시작하지는 않습니다. 원장이 움직이는 자리가 한 곳이라는 것은, 감사할 자리가 한 곳이고, 계측할 자리가 한 곳이며, 모든 호출자가 잊지 않았기를 바라지 않고도 불변 조건을 강제할 자리가 한 곳이라는 뜻입니다.공식과 효과의 분리
얼마인지를 정하는 규칙은 순수하고 상태가 없는 함수로 구현되어 있습니다. 증거금 요건, 청산 가격, 디레버리징 대상 선정, 수수료 계산, 미결제약정 한도, 레버리지 등급이 그렇습니다. 값을 받아 값을 돌려줍니다. 원장 상태를 읽지 않고 아무것도 변경하지 않습니다. 클리어링 하우스가 이 함수를 호출하고 그 결과를 적용합니다.리스크 공식 — 순수 함수, 기록 없음
클리어링 하우스 — 유일한 변경 주체
증거금
체결 결제
청산
증거금 예약
디레버리징 선정
청산 실행
수수료
디레버리징
미결제약정 한도
펀딩 정산
계정 · 포지션 · 미결제약정 상태변경 주체가 하나이므로 재실행이 갈라지지 않음
값
기록
증거금과 예약
계정의 여력은 잔액만이 아닙니다. 대기 주문은 자신이 열게 될 포지션에 대해 여력을 미리 예약하며, 그래서 계정이 같은 담보를 두 주문에 약속해 놓고 둘 다 체결된 뒤에야 충돌을 발견하는 일이 없습니다. 예약은 주문이 제출되고, 정정되고, 취소되고, 체결되는 동안 클리어링 하우스가 유지하며, 대기 주문 아래에서 포지션이 바뀌면 다시 도출됩니다. 그 사이에 규모가 줄어든 포지션에 걸린 리듀스 온리 주문이 낡은 상태로 남지 않고 재평가되는 이유가 이것입니다. 증거금은 등급제입니다. 요건은 거버넌스가 정한 범위 안에서 포지션 규모에 따라 커지며, 그래서 청산하기 어려울 만큼 큰 포지션은 그에 비례해 큰 요건을 집니다. 거래 관점의 설명은 증거금 모드와 레버리지에 있습니다.디폴트 워터폴
이것은 위에서 설명한 CCP의 장치 그대로이고, 위원회만 빠졌습니다. 커널은 매칭에 앞서 리스크 단계를 정해진 순서로 실행하므로, 강제된 흐름이 재량에 따른 흐름보다 먼저 해소됩니다. 계정이 자신의 손실을 감당하지 못하면, 부족분은 정해진 흡수 순서를 따라 내려갑니다.매칭 전, 정해진 순서로 실행되는 리스크 단계
1 · 볼트 디레버리징
2 · 청산
3 · 자동 디레버리징
자기 손실을 감당하지 못하는 계정
오더북 상대로 종료파산 가격을 한계로
보험 기금청산 페널티로 적립되는 프로토콜 상태 — 멀티시그가 아님
반대 포지션 자동 디레버리징누구나 다시 계산할 수 있는 결정론적 점수로 선정
해소
부족분 잔존
부족분 잔존
펀딩
펀딩은 연속적으로 표본을 수집하고, 정해진 일정에 따라 그 시점의 포지션을 대상으로 정산됩니다. 값은 인덱스 가격 대비 마크 가격의 프리미엄에서 도출되며 프로토콜이 정한 상하한 사이로 제한됩니다. 블록 실행 안에서 클리어링 하우스의 한 단계로 처리되기 때문에, 펀딩 지급은 다른 어떤 상태 변경과도 같은 귀속을 갖는 프로토콜 연산입니다. 외부 프로세스가 주기적으로 훑고 지나가는 작업이 아닙니다. 비율, 주기, 프리미엄 산출 방식은 펀딩에서 다룹니다.이것이 프로토콜에 속하는 이유
매칭 엔진에 반응하는 컨트랙트로 클리어링을 구현하는 대안은 틈을 만듭니다. 체결과 증거금 검사 사이에는 계정이 증거금 부족 상태이고, 그 사실을 누군가 관측할 수 있는 구간이 존재합니다. 트리거와 keeper 트랜잭션 사이에는 포지션이 청산되었어야 하는데 아직 되지 않은 상태가 존재합니다. 여기서는 연쇄 전체가 블록의 한 단위로 커밋되거나 중단됩니다. 체결이 증거금 검사를 부르고, 증거금 검사가 청산을 촉발하고, 청산이 보험을 끌어쓰고, 보험이 디레버리징을 부르고, 디레버리징이 다시 증거금 검사를 낳는 흐름 전체가 그렇습니다. 위반이 관측 가능한데 그에 대한 대응은 아직 시작되지 않은 중간 상태란 존재하지 않습니다. 이것이 CCP가 약속하면서도 이행하지 못하는 성질입니다. CCP의 보증은 룰북 안에 있고, 그 원장은 하루가 끝날 때 닫히기 때문입니다. 여기서 보증은 곧 실행입니다.다음으로 읽을 문서
매칭
클리어링 하우스가 결제하는 체결이 어디에서 나오는지 설명합니다.
IntentionKernel
강제된 흐름을 재량 흐름보다 앞세우는 단계 순서입니다.
청산
임계값, 청산 워터폴, 그리고 트레이더에게 보이는 것입니다.
펀딩
비율, 주기, 프리미엄 계산입니다.