Skip to main content
파생상품 거래는 합의된 순간보다 오래 사는 약속입니다. 두 당사자가 가격을 정하고 나면, 그때부터 포지션이 닫힐 때까지 서로가 상대의 지급 능력에 노출됩니다. 시장을 운영할 때 어려운 부분은 가격이 아니라 이 익스포저입니다. 전통 시장은 여기에 기관으로 답했습니다. 중앙거래상대방, 곧 CCP입니다. 클리어링 하우스는 그 기능을 남기고 기관을 덜어냅니다. 모든 매수자와 모든 매도자 사이에 서는 구성 요소이면서, 가입을 승인받아야 하는 회사가 아니라 블록 안에서 실행되는 프로토콜 코드입니다.

중앙거래상대방은 무엇을 위한 것인가

그것이 없으면 익스포저는 양자 간에 걸립니다. 거래하는 상대 하나하나가 계속해서 내려야 하는 신용 판단이고, 그 판단은 불어납니다. 참여자가 n명이면 최대 n(n-1)/2개의 관계가 생기고, 각 관계마다 고유한 조건, 고유한 담보, 그리고 당신의 가치에 대한 고유한 견해가 붙습니다. 채무불이행은 시작된 자리에 머물지 않습니다. 당신에게 지급하지 못하는 상대는 동시에 다른 네 곳에도 지급하지 못하고 있기 때문입니다. CCP는 노베이션이라는 법적 절차로 이 그물을 허브로 바꿉니다. 매수자와 매도자 사이의 계약은 소멸하고 두 개의 계약으로 대체됩니다. 매수자는 클리어링 하우스를 마주하고, 클리어링 하우스는 매도자를 마주합니다. 이렇게 모든 매도자에게 매수자가 되고 모든 매수자에게 매도자가 됩니다.
양자 간 — 익스포저 n(n-1)/2개
노베이션 — 익스포저 n개
참여자 A
참여자 C
참여자 B
참여자 D
참여자 A
참여자 C
참여자 B
참여자 D
클리어링 하우스
상대마다 별개의 신용 판단이 필요하고, 채무불이행은 시작된 자리에 머물지 않습니다.
허브는 모든 매도자에게 매수자이고 모든 매수자에게 매도자입니다. 평가할 상대는 하나, 증거금 규칙도 하나, 손실을 흡수하는 순서도 하나입니다.
여기서 네 가지가 따라 나오고, 그 넷을 합친 것이 이 기관이 존재하는 이유 전부입니다. 상대는 하나뿐. 다른 모두의 재무제표가 아니라 하나만 평가하며, 그것도 한 번만 평가합니다. 네팅. 방향이 반대인 포지션은 상쇄되어 하나의 숫자가 됩니다. 시장이 조용할 때 맡길 담보가 줄고, 조용하지 않을 때 풀어야 할 물량도 줄어듭니다. 공개된 규칙에 따른 증거금. 허브는 거두지 않으면서 모두의 리스크를 떠안을 수 없습니다. 그래서 개시증거금을 미리 받고, 가격이 움직이면 변동증거금을 받습니다. 참여자가 미리 읽고 스스로 규모를 맞출 수 있는 방법론에 따라서입니다. 디폴트 워터폴. 실제로 누군가 무너지면 손실은 미리 합의된 순서로 흡수됩니다. 먼저 불이행 당사자 자신의 증거금, 다음으로 공동기금에 낸 출연금, 다음으로 클리어링 하우스 자신의 자본, 마지막으로 나머지 모두의 출연금입니다. 그 순서가 곧 약속입니다. 회원이 허브 자체에 대한 자신의 익스포저를 값매길 수 있는 이유가 바로 그 순서를 미리 안다는 데 있습니다. 이것은 다른 길을 한 세기 동안 시도해 본 뒤 시장이 수렴한 형태이고, 실제로 작동합니다. 동시에 CCP가 인프라 한 조각이 아니라 시스템적으로 중요한 기관인 이유이기도 합니다.

기관이라는 데서 오는 비용

위의 네 가지 이점은 모두 제약을 달고 옵니다. 그 제약은 전부 CCP가 메커니즘이 아니라 회사라는 데서 나옵니다. 암호자산이 지금까지 내놓은 두 답은 둘 다 더 나아지지 않고 더 나빠졌습니다. 중앙화 거래소는 시장 자체를 운영하고 담보까지 보관하는 CCP인데, 감독은 없고 자신이 보유한다고 말하는 증거금을 검증할 방법도 없습니다. 초기 온체인 거래 공간은 반대편으로 가서 클리어링 하우스를 아예 두지 않았습니다. 양자 간 풀, 외부 keeper, 그리고 누군가 트랜잭션을 보내는 편이 남는다고 판단할 때만 일어나는 청산입니다.

같은 기능을, 기관 없이

Intention은 CCP의 업무 목록을 그대로 가져와 커널 실행의 구성 요소로 구현합니다. 그 표의 한 행은 다른 행들보다 무거운 것을 지고 있습니다. 전통 시장에서 중앙거래상대방과, 누가 무엇을 보유하는지의 기록을 지키는 기관 — 예탁기관 — 은 의도적으로 별개의 법인입니다. 거래상대방 위험을 지는 쪽이 동시에 누가 무엇을 소유하는지를 적은 장부의 관리자이기를 원하지는 않습니다. 사적인 장부에 단일 기관이 더해지면, 그것을 대조할 것이 아무것도 남지 않기 때문입니다. 분리 자체가 그 대조 장치입니다. 클리어링 하우스는 둘 다입니다. 모든 포지션의 상대방이면서, 그 기록의 유일한 기록자입니다. 이 결합이 여기서 안전한 이유는 정확히 분리가 존재했던 이유입니다. 장부가 사적이지 않기 때문입니다. 모든 잔액과 포지션, 보험 기금의 이동은 공개된 상태이며 그것을 일으킨 트랜잭션에 귀속됩니다. 워터폴은 임계값에서 돌아가고 누구에게도 재량이 없습니다. 그리고 연쇄 전체가 블록의 한 단위로 커밋되거나 중단됩니다. 기관의 분리가 사들이던 것을, 여기서는 장부를 읽을 수 있다는 사실이 사들입니다. 이 중 어느 것도 프로토콜이 모든 면에서 CCP보다 안전하다는 주장은 아닙니다. CCP에는 자본이 있고 감독기관이 있으며 한 세기 분량의 불이행 처리 실무가 뒤에 있습니다. CCP에 없는 것은 불이행이 진행되는 동안 누구나 읽을 수 있는 원장, 그리고 사람이 발동을 결정하지 않아도 굴러가는 워터폴입니다. 이 설계가 사는 것은 그 둘이고, 사는 방법은 클리어링 하우스를 거래의 당사자가 아니라 블록의 함수로 만드는 것입니다.

쓰는 곳은 한 곳뿐

프로토콜 안에서 클리어링 하우스는 누군가의 잔액, 포지션, 증거금, 미결제약정이 바뀌는 유일한 경로입니다. 체결을 결제하는 일도 여기를 거칩니다. 청산, 자동 디레버리징, 펀딩 정산, 증거금 예약도 마찬가지입니다. 그 배타성이 곧 설계입니다. 계정, 포지션, 오더북처럼 상태를 보관하는 모듈은 데이터를 저장하고 그 데이터를 변경하는 연산을 노출하지만, 스스로 무언가를 시작하지는 않습니다. 원장이 움직이는 자리가 한 곳이라는 것은, 감사할 자리가 한 곳이고, 계측할 자리가 한 곳이며, 모든 호출자가 잊지 않았기를 바라지 않고도 불변 조건을 강제할 자리가 한 곳이라는 뜻입니다.

공식과 효과의 분리

얼마인지를 정하는 규칙은 순수하고 상태가 없는 함수로 구현되어 있습니다. 증거금 요건, 청산 가격, 디레버리징 대상 선정, 수수료 계산, 미결제약정 한도, 레버리지 등급이 그렇습니다. 값을 받아 값을 돌려줍니다. 원장 상태를 읽지 않고 아무것도 변경하지 않습니다. 클리어링 하우스가 이 함수를 호출하고 그 결과를 적용합니다.
리스크 공식 — 순수 함수, 기록 없음
클리어링 하우스 — 유일한 변경 주체
증거금
체결 결제
청산
증거금 예약
디레버리징 선정
청산 실행
수수료
디레버리징
미결제약정 한도
펀딩 정산
계정 · 포지션 · 미결제약정 상태변경 주체가 하나이므로 재실행이 갈라지지 않음
값
기록
여기서 두 가지가 따라 나옵니다. 증거금 계산은 체인도 상태 준비도 없이, 입력과 기대 출력의 표만으로 독립적으로 검증할 수 있습니다. 또한 공식이 비트 단위로 정확한 고정소수점이고 반올림도 호출 지점마다가 아니라 산술 계층에서 고정되어 있으므로, 같은 요건을 계산하는 두 검증자는 오차 범위 안에서 같은 수가 아니라 똑같은 정수를 얻습니다.
반올림은 구현 세부사항이 아니라 명세의 일부입니다. 증거금은 시스템을 보호하는 방향으로 올림하고, 수수료는 어느 쪽에 유리한지에 따라 내림하거나 올림합니다. 다르게 반올림하는 노드는 조금 틀린 정도가 아니라, 아예 다른 원장을 내놓고 포크됩니다.

증거금과 예약

계정의 여력은 잔액만이 아닙니다. 대기 주문은 자신이 열게 될 포지션에 대해 여력을 미리 예약하며, 그래서 계정이 같은 담보를 두 주문에 약속해 놓고 둘 다 체결된 뒤에야 충돌을 발견하는 일이 없습니다. 예약은 주문이 제출되고, 정정되고, 취소되고, 체결되는 동안 클리어링 하우스가 유지하며, 대기 주문 아래에서 포지션이 바뀌면 다시 도출됩니다. 그 사이에 규모가 줄어든 포지션에 걸린 리듀스 온리 주문이 낡은 상태로 남지 않고 재평가되는 이유가 이것입니다. 증거금은 등급제입니다. 요건은 거버넌스가 정한 범위 안에서 포지션 규모에 따라 커지며, 그래서 청산하기 어려울 만큼 큰 포지션은 그에 비례해 큰 요건을 집니다. 거래 관점의 설명은 증거금 모드와 레버리지에 있습니다.

디폴트 워터폴

이것은 위에서 설명한 CCP의 장치 그대로이고, 위원회만 빠졌습니다. 커널은 매칭에 앞서 리스크 단계를 정해진 순서로 실행하므로, 강제된 흐름이 재량에 따른 흐름보다 먼저 해소됩니다. 계정이 자신의 손실을 감당하지 못하면, 부족분은 정해진 흡수 순서를 따라 내려갑니다.
매칭 전, 정해진 순서로 실행되는 리스크 단계
1 · 볼트 디레버리징
2 · 청산
3 · 자동 디레버리징
자기 손실을 감당하지 못하는 계정
오더북 상대로 종료파산 가격을 한계로
보험 기금청산 페널티로 적립되는 프로토콜 상태 — 멀티시그가 아님
반대 포지션 자동 디레버리징누구나 다시 계산할 수 있는 결정론적 점수로 선정
해소
부족분 잔존
부족분 잔존
청산은 프로토콜의 동작입니다. 계정의 담보가 유지증거금 요건 아래로 떨어지면 네트워크 자체가 파산 가격을 한계로 삼아 오더북을 상대로 포지션을 닫습니다. keeper 트랜잭션도, gas 경매도, 누가 먼저 방아쇠를 당길지를 두고 벌이는 경쟁도 없습니다. 이는 경쟁이 낳는 추출을 없애는 동시에, 청산이 필요해지는 바로 그 혼잡 국면에 아무도 나타나지 않는 실패 양상도 없앱니다. 보험 기금은 공동 디폴트 기금에 해당하는 프로토콜 쪽 층이며, 그 자체가 프로토콜 상태입니다. 청산 페널티로 적립되고 파산을 흡수하는 데 쓰입니다. 멀티시그가 아닙니다. 즉, 사람의 서명을 모으기가 가장 어려운 바로 그 몇 분 동안 기금을 채우거나 꺼내는 데 사람의 서명이 필요하지 않다는 뜻입니다. 자동 디레버리징은 최후의 손실 처리 수단으로, 오더북과 보험 기금이 함께도 파산을 흡수하지 못할 때 쓰입니다. CCP가 강제 정리와 존속 회원에 대한 현금 납입 요구로 메우는 자리를 대신하되, 차이가 있습니다. 반대 포지션이 파산 가격에 종료되고, 대상은 공개된 상태에서 계산되는 결정론적 점수로 선정됩니다. 누구나 그 선정을 다시 계산할 수 있고, 고르는 사람은 없습니다. 임계값과 예시 계산은 청산과 자동 디레버리징을 참고하십시오.

펀딩

펀딩은 연속적으로 표본을 수집하고, 정해진 일정에 따라 그 시점의 포지션을 대상으로 정산됩니다. 값은 인덱스 가격 대비 마크 가격의 프리미엄에서 도출되며 프로토콜이 정한 상하한 사이로 제한됩니다. 블록 실행 안에서 클리어링 하우스의 한 단계로 처리되기 때문에, 펀딩 지급은 다른 어떤 상태 변경과도 같은 귀속을 갖는 프로토콜 연산입니다. 외부 프로세스가 주기적으로 훑고 지나가는 작업이 아닙니다. 비율, 주기, 프리미엄 산출 방식은 펀딩에서 다룹니다.

이것이 프로토콜에 속하는 이유

매칭 엔진에 반응하는 컨트랙트로 클리어링을 구현하는 대안은 틈을 만듭니다. 체결과 증거금 검사 사이에는 계정이 증거금 부족 상태이고, 그 사실을 누군가 관측할 수 있는 구간이 존재합니다. 트리거와 keeper 트랜잭션 사이에는 포지션이 청산되었어야 하는데 아직 되지 않은 상태가 존재합니다. 여기서는 연쇄 전체가 블록의 한 단위로 커밋되거나 중단됩니다. 체결이 증거금 검사를 부르고, 증거금 검사가 청산을 촉발하고, 청산이 보험을 끌어쓰고, 보험이 디레버리징을 부르고, 디레버리징이 다시 증거금 검사를 낳는 흐름 전체가 그렇습니다. 위반이 관측 가능한데 그에 대한 대응은 아직 시작되지 않은 중간 상태란 존재하지 않습니다. 이것이 CCP가 약속하면서도 이행하지 못하는 성질입니다. CCP의 보증은 룰북 안에 있고, 그 원장은 하루가 끝날 때 닫히기 때문입니다. 여기서 보증은 곧 실행입니다.

다음으로 읽을 문서

매칭

클리어링 하우스가 결제하는 체결이 어디에서 나오는지 설명합니다.

IntentionKernel

강제된 흐름을 재량 흐름보다 앞세우는 단계 순서입니다.

청산

임계값, 청산 워터폴, 그리고 트레이더에게 보이는 것입니다.

펀딩

비율, 주기, 프리미엄 계산입니다.