Skip to main content
Intention은 외부 오라클 위원회를 쓰지 않습니다. 검증자 집합이 곧 오라클입니다. 각 검증자는 모든 종목의 가격에 대해 자기 나름의 견해를 만들어 서명하고, 네트워크는 그 가격으로 결제되는 트랜잭션을 커밋하는 바로 그 합의 사건 안에서 결과를 인증합니다. 두 단계가 뚜렷이 구분되며, 각각 다른 질문에 답합니다. 집계는 이 종목의 가치는 얼마인가를 묻고 검증자마다 합의 경로 밖에서 이루어집니다. 인증은 이 라운드에 네트워크가 그 값을 얼마로 합의하는가를 묻고 합의 안에서 이루어집니다.
검증자별 — 합의 경로 밖
합의 안
거래소
오라클 sidecar검증자별 하나
검증자가 검증하고 서명
검증자 간 gossip 전파
에포크 · 라운드별 인증
블록에 실림
커널 — 마크 가격 · 증거금 · 청산 · 펀딩같은 합의 사건에서 커밋된 가격으로 결제

인덱스 가격 만들기

검증자는 각자 자신의 오라클 sidecar를 운영하며, 이 sidecar는 여러 거래소에서 데이터를 모아 종목당 하나의 인덱스 가격으로 줄입니다. 이 축약은 의도적으로 단순 평균이 아닙니다. 평균은 나쁜 소스 하나로도 쉽게 흔들립니다.
필터유한하지 않거나 형식이 잘못된 값
중앙값소스 전체
제한각 소스를 중앙값 ± 밴드로
가중스프레드 · 안정성 기준
상한거래소 등급별
인덱스 가격
순서가 곧 설계필터가 먼저 도는 이유는 무한대 값 하나가 중앙값이나 가중합까지 살아남으면 그 뒤 전부를 오염시키기 때문입니다. 버리지 않고 제한하면 모든 소스를 계속 세면서도 그중 하나가 결과를 끌어당길 수 있는 폭에 상한을 둡니다.
단순 평균이 아님 — 평균은 나쁜 소스 하나로도 쉽게 흔들림
필터. 유한하지 않거나 형식이 잘못된 값은 이후 단계에 닿기 전에 버립니다. 이 순서가 중요합니다. 무한대 값 하나가 중앙값이나 가중합까지 살아남으면 결과 전체를 오염시킵니다. 중앙값으로 제한. 소스 전체에 걸쳐 중앙값을 구한 뒤, 모든 소스를 그 주위의 밴드 안으로 끌어당깁니다. 밴드는 종목별로 다르고, 호가가 가장 두터운 곳에서 가장 좁습니다. 밴드 밖을 호가하는 소스는 버려지지 않고 밴드의 가장자리로 당겨집니다. 이 차이가 중요합니다. 버리면 공격자가 표본을 줄일 수 있지만, 제한하면 모든 소스를 계속 세면서도 그중 하나가 결과를 얼마나 끌어당길 수 있는지에 상한을 둘 수 있습니다. 품질로 가중한 뒤 상한 적용. 제한을 거친 소스는 동등한 비중이 아니라 가중 평균으로 합쳐집니다. 가중치는 호가 품질이 좋을수록(스프레드가 좁을수록) 그리고 안정성이 높을수록 올라갑니다. 안정성은 최근 거래량을 더 긴 기간의 일평균과 비교해 측정하므로, 거래량이 비정상적으로 치솟은 거래소가 그 덕에 영향력을 얻지 못합니다. 이어서 가중치에 소스 등급별 상한을 적용해, 호가가 아무리 좋아 보여도 한 거래소가 결과를 지배할 수 없게 합니다. 교차 호가되는 종목은 이 모든 과정에 앞서 공통 호가 통화로 환산됩니다. 그래서 단위가 뒤섞인 값이 아니라 비교 가능한 수치 위에서 중앙값을 구합니다.
여기 나오는 모든 상수는 자연 상수가 아니라 정책적 결정입니다. 편차 밴드, 등급 배정, 가중치 상한은 설정값이며, 어떤 거래소의 행태가 달라지거나 새 소스가 추가될 때 조정되는 손잡이입니다.

인증하기

sidecar가 내놓은 인덱스 가격은 검증자 한 명의 의견입니다. 이를 네트워크가 결제 기준으로 삼을 수 있는 값으로 바꾸는 일은 합의 안에서 일어납니다. 검증자는 자신의 sidecar에서 가격을 가져와 서명하기 전에 검증합니다. 여기에는 설정된 임계값 대비 신선도 검사가 포함되므로, 멈춰 버린 sidecar는 오래된 값을 내놓는 대신 아무 제출도 하지 않습니다. 그런 다음 가격 데이터에 서명하고, 서명된 제출을 합의 네트워크 메시지로 다른 검증자에게 gossip으로 전파합니다. 인증 가격은 에포크와 라운드별로 취합되어 블록 제안에 실립니다. 따라서 블록의 트랜잭션을 커밋하는 서명이 그 트랜잭션이 결제된 가격까지 함께 커밋합니다. 별도의 오라클 트랜잭션도 없고, 가격이 게시된 시점과 사용되는 시점 사이의 틈도 없습니다. 검증자는 해당 라운드에 대한 유효한 가격 관측 없이는 블록을 제안할 수 없습니다. 가격 가용성은 실행이 있기를 바라며 찾는 입력이 아니라 블록 생성의 전제 조건입니다.

인덱스 가격과 마크 가격

인증되는 가격은 인덱스 가격입니다. 외부 시장에 대한 네트워크의 견해이지, 거래가 체결되는 가격이 아닙니다. 커널은 여기에서 마크 가격을 도출하며, 인덱스의 짧은 괴리가 청산으로 번지지 않도록 평활화하고 상하한을 둡니다. 증거금, 청산, 펀딩이 실제로 사용하는 값은 마크 가격입니다. 거래 관점의 설명은 마크 가격과 인덱스 가격에 있습니다.

보장하는 것과 보장하지 않는 것

트랜잭션이 결제된 가격을 그 트랜잭션을 커밋한 라운드에 검증자 정족수가 인증했다는 것, 그리고 어떤 실행 경로도 다른 가격을 읽을 수 없었다는 것은 보장합니다. 그 가격이 옳았다는 것은 보장하지 않습니다. 인덱스가 기반으로 삼는 거래소 자체가 틀렸다면, 여러 거래소에 걸친 담합된 움직임이든 시장 전체의 괴리든, 제한과 가중이 한 소스가 결과를 얼마나 밀어낼 수 있는지에 상한을 두기는 해도 시장에 없던 정보를 만들어 낼 수는 없습니다.
가격은 거래 시스템에서 결과가 가장 큰 외부 입력입니다. 여기서 조작 저항성은 있고 없고의 문제가 아니라 정도의 문제입니다. 무엇이 여전히 노출되어 있는지는 리스크 고지를 참고하십시오.

다음으로 읽을 문서

IntentionBFT

인증이 블록을 커밋하는 바로 그 서명에 묶이는 방식입니다.

클리어링 하우스

증거금, 청산, 펀딩이 그 가격으로 무엇을 하는지 설명합니다.

마크 가격

인덱스가 포지션을 움직이는 수치가 되는 과정입니다.

리스크 고지

가격 리스크가 어디에 남아 있고, 그 비용이 얼마나 될 수 있는지 설명합니다.