Polymarket의 기술 구현에 대한 매우 자세한 공개

avatar
golem
2일 전
이 글은 약 5062자,전문을 읽는 데 약 7분이 걸린다
Polymarket은 다양한 프로젝트의 기술을 성공적으로 결합했으며, 이는 특히 후발 기업이 참고할 가치가 있습니다.

Pavel Naydanov 의 원본 텍스트

편집 | 오데일리 플래닛 데일리 골렘( @web3_golem )

Polymarket의 기술 구현에 대한 매우 자세한 공개

편집자 주: 폴리마켓은 이번 미국 선거에서 더욱 주목을 받았는데, 이는 예측 주제의 누적 거래량이 36억 달러를 넘어섰을 뿐만 아니라, 여론조사와 전통 언론에 비해 트럼프의 미래를 미리 예측하는 데 성공했기 때문이다. 사람들이 Polymarket이 단순한 도박 웹사이트가 아니라 더욱 확실하고 신뢰할 수 있는 뉴스 웹사이트가 될 것임을 더 잘 인식하게 하십시오(권장 읽기: Vitalik의 새 기사: 예측 시장에서 정보 금융까지 ). 폴리마켓은 이번 블록체인 혁신에서 가장 아름다운 “풍경”일 수 있습니다.

그렇다면 블록체인 혁명이라는 의미를 지닌 폴리마켓은 기술적으로 어떻게 구현될 수 있을까? 스마트 계약 개발자 Pavel Naydanov는 Polymarket에서 사용하는 기술을 자세히 설명하고 개발자(특히 예측 시장을 구축하는 떠오르는 스타)에게 계몽을 제공합니다. Odaily Planet Daily는 다음과 같이 기술적 구현과 관련된 부분을 정리합니다. 다음으로 프로토콜의 다양한 측면에 대한 기술적 세부 사항을 살펴보겠습니다.

CTF: 토큰화 결과

Polymarket의 모든 이벤트 결과는 토큰화됩니다.

  • 이러한 토큰을 공유 토큰이라고 부를 수 있습니다.

  • 주식은 기본 자산으로 구매되므로 완전히 담보됩니다.

  • 주식을 매각하여 기초 자산을 얻을 수 있습니다.

공유 토큰은 그 효과가 입증되었으며 CTF가 이벤트당 최대 256개의 결과를 지원할 수 있는 Gnosis 조건부 토큰 프레임워크(CTF)를 기반으로 한 ERC-1155 구현입니다.

각 예측은 CTF에서 식별되며, 세 가지 매개변수의 해시로 구성된 고유한 조건 ID가 할당됩니다.

  • Oracle : 이벤트 결과를 결정하는 오라클의 주소로, 지정된 오라클만이 예측을 확정할 수 있습니다.

  • 질문 ID : 예측 질문 작성자가 설정한 예측 식별자입니다. 이는 각각의 새로운 예측이 이전 예측을 증가시키는 간단한 카운터이거나 텍스트 및 기타 데이터의 해시를 사용하는 보다 복잡한 체계일 수 있습니다.

  • resultsSlotCount : 가능한 예측 결과의 수입니다.

아래 다이어그램은 CTF(조건부 토큰 프레임워크)의 작동 방식을 시각적으로 보여줍니다.

Polymarket의 기술 구현에 대한 매우 자세한 공개

사용자는 베팅할 때 기본 자산을 제공하고 CTF에서 조건부 토큰이라고 하는 공유 토큰을 받습니다. 오라클이 예측을 결정한 후, 사용자는 예측 결과에 따라 CTF로부터 보상을 받을 수 있습니다.

사용자가 조건부 토큰을 받으면 특정 입장을 취한 것으로 간주됩니다. CTF에서 위치는 각 예측에 대해 가능한 결과 조합 세트를 나타냅니다. CTF는 각 예측에 대해 이러한 위치를 생성하며, 각 위치는 사용자가 선택할 수 있는 가능한 결과 조합 중 하나에 해당합니다.

예를 들어:

2024년 최고 수익을 올린 영화는 무엇인가요?

  • 인사이드 아웃 2

  • 데드풀 3

  • 조커 2

  • 비열한 나 4

  • 모래 언덕 2

  • 매드 맥스 4

  • 다른

사용자는 인사이드 아웃 2가 최고 수익을 올리는 영화가 될지, 아니면 듄 2가 확실히 2024년 최고 수익을 올리는 영화가 아닐지 투표할 수 있습니다. 이러한 예측 조합은 해당 위치로 간주됩니다.

CTF는 위치 처리를 위한 두 가지 흥미로운 메커니즘, 즉 분할과 병합을 제공합니다. 분할 메커니즘을 사용하면 단일 위치를 여러 개별 결과로 분할할 수 있는 반면, 병합은 서로 다른 결과를 단일 위치로 결합합니다. 이러한 메커니즘을 통해 사용자는 자신의 위치를 유연하게 관리할 수 있습니다.

CTF는 Polymarket에 다음과 같은 네 가지 중요한 이점을 제공합니다.

  • 공유 토큰은 특정 예측 결과에 대한 사용자의 투표를 확인하는 데 사용될 수 있습니다.

  • 사용자의 투표를 다양한 위치에 통합하는 유연한 시스템을 구현했습니다.

  • 오라클의 신호에 따라 결과 계산에 대한 책임은 CTF에 위임됩니다.

  • 보상은 승리 결과에 대한 공유 토큰 수를 기준으로 계산됩니다.

CTF가 사용자 위치를 병합할 수 있는 관련 활동의 구성을 허용한다는 점도 언급할 가치가 있습니다. 그러나 현재 Polymarket에는 그러한 사례가 없습니다. CTF에 대해 더 자세히 알고 싶다면 공식 문서 에서 확인할 수 있습니다 .

주문 메커니즘

Polymarket의 기술 구현에 대한 매우 자세한 공개

구매를 위해 Polymarket 인터페이스는 세 가지 유형의 주문을 제공합니다.

  • 시장 - 현재 시장 가격으로 즉시 구매합니다.

  • 한도 – 해당 가격에 도달하면 구매할 가격을 지정할 수 있는 지연 주문입니다.

  • AMM – 풀의 보유량을 기준으로 분산형 거래소와 유사하게 자동으로 결정되는 가격으로 구매합니다.

현재 AMM 주문 기능은 비활성화된 것으로 보이며 AMM을 통한 구매를 허용하는 예측은 발견되지 않았습니다. Polymarket의 Discord에 있는 한 사용자의 댓글은 상황을 설명하는 데 도움이 됩니다.

Polymarket의 기술 구현에 대한 매우 자세한 공개

AMM은 구식입니다

Polymarket 의 문서 에 따르면 AMM은 스마트 계약을 위한 조건부 토큰 프레임워크 의 일부로 개발되었습니다. 따라서 AMM은 공유 토큰의 구매 가격을 결정하는 데 사용됩니다. 이 기본 메커니즘에는 안정적인 가격을 보장하고 변동성을 줄이기 위해 유동성이 필요합니다. 유동성 공급자는 시스템을 계속 운영하기 위해 각 구매에서 보상을 받는 재정적 인센티브가 필요합니다.

아마도 처음에는 Polymarket이 AMM을 사용하여 가격을 결정하는 전적으로 CTF 기반이었을 것입니다. 그러나 시간이 지남에 따라 프로토콜은 주문서를 갖춘 하이브리드 솔루션을 개발했으며 다른 두 가지 유형의 주문(한도 및 시장)이 이 맞춤형 솔루션에서 작동하기 시작했습니다. 이 솔루션을 CLOB(Central Limit Order Book) 또는 BLOB(Binary Limit Order Book)이라고 합니다.

CLOB 및 BLOB

CLOB(Central Limit Order Book) 또는 BLOB(Binary Limit Order Book)은 하이브리드 분산형 주문서를 나타내는 시스템입니다. 이 시스템에서는 전담 운영자가 주문 매칭을 처리하고 스마트 계약 실행을 시작합니다.

더 이상 소개하지 않고 시스템을 아래 그림에 표시합니다.

Polymarket의 기술 구현에 대한 매우 자세한 공개

사용자는 지정가 주문 또는 시장 주문일 수 있는 실행 주문을 생성합니다. 운영자는 사용자 주문과 일치하고 스마트 계약에 대한 실행을 시작합니다. 주문 생성은 다음에 따라 사용자의 개인 키로 서명된 데이터 구조를 생성하는 것을 의미합니다. EIP-712 표준. 주문은 실행 전에 오프체인에 저장되기 때문에 주문 조건을 무료로 신속하게 조정하거나 완전히 취소할 수도 있습니다.

그러나 주문서 및 주문 매칭과 관련된 모든 것은 API를 통해서만 액세스할 수 있습니다. 편의상 Polymarket은 JavaScript를 사용하는 클라이언트와 Python을 사용하는 클라이언트 두 가지를 제공합니다.

그러나 Exchange.sol 스마트 계약은 공개되어 있으며 CTF에서 사용자 위치 생성을 담당합니다. 또한 사용자 위치를 관리하고 사용자 간 자산을 전송할 수 있어 프로토콜 내 보안과 투명성이 보장됩니다.

Polymarket의 기술 구현에 대한 매우 자세한 공개

스마트 계약이 감사를 통과했으며 감사 보고서가 저장소에 첨부됩니다.

스마트 계약

Exchange 스마트 계약에는 실제로 CTFExchange.sol이라는 보다 구체적인 이름이 있습니다. 그다지 크지는 않고 약 100줄의 코드에 불과하지만 많은 종속성을 가지고 있습니다.

Polymarket의 기술 구현에 대한 매우 자세한 공개

대부분은 제한된 기능을 구현하는 소규모 스마트 계약입니다.

  • BaseExchange.sol : ERC-1155 토큰을 수신하는 기능을 구현하고 재진입 공격을 방지하는 추상 스마트 계약입니다.

  • Auth.sol : 역할 관리자, CTFExchange.sol의 역할, 관리자 및 운영자를 설정하기 위한 확인 기능 및 수정자를 정의합니다.

  • Assets.sol : 기본 자산(담보)과 CTF 주소라는 두 가지 자산을 정의합니다.

  • Fees.sol : 프로토콜 수수료를 정의합니다.

  • Pausable.sol : 예상치 못한 상황이 발생할 때 프로토콜이 채택하기로 동의하는 중앙 집중식 양식인 스마트 계약 작업을 일시 중지하는 기능을 정의합니다. 관리자 역할에만 적용됩니다.

  • AssetOperation.sol : 기본 자산 및 CTF에 대한 작업을 정의합니다. 직위의 이전, 분할 및 합병을 포함합니다.

  • Signature.sol : 주문 확인 시 사용되는 사용자 서명을 정의하는 코드입니다.

  • Hashing.sol : 서명 확인에 사용되는 주문 매개변수의 해시 값을 정의합니다.

  • Registry.sol : 시스템에 예측을 등록하고 예측을 위한 토큰을 등록하는 프로세스를 정의합니다.

실제 주문 실행과 관련된 모든 것은 스마트 계약 Trading.sol 에서 구현됩니다 . 코드를 살펴보고 스마트 계약을 연구하는 것도 쉽습니다. 구조에는 함수를 통해 명확하게 정의된 진입점이 있습니다.

  • fillOrder() — 주문을 생성한 사용자와 사용자가 선택한 지정가 주문(다른 주문) 간의 주문을 실행합니다.

  • fillOrders() — fillOrder()와 동일하지만 주문 목록에 사용됩니다.

  • matchOrders() — 연산자는 두 개의 서로 다른 주문을 선택하고 실행합니다.

위의 모든 함수는 운영자만 호출할 수 있습니다.

Polymarket의 기술 구현에 대한 매우 자세한 공개

호출이 스마트 계약에 어떻게 들어가더라도 결과는 항상 동일합니다. 두 사용자는 주문에 따라 토큰을 교환합니다.

계약 수수료

수출된 자산에 따라 수수료가 부과됩니다. 이진 예측의 경우 수수료는 대칭적입니다. 즉, 사용자가 코인을 $0.99에 판매하면 해당 코인을 $0.01에 구매한 구매자와 동일한 수수료를 지불하게 됩니다.

계산 공식은 매우 간단하며 공식 문서 에서 가져왔습니다.

Polymarket의 기술 구현에 대한 매우 자세한 공개

유동성 보상 프로그램

이 프로그램의 전반적인 목표는 시장 유동성을 장려하는 것입니다.

주문장 기반 교환이 작동하려면 누군가 지정가 주문을 생성해야 합니다. 지정가 주문은 시장 주문을 즉시 실행할 수 있는 유동성을 제공합니다. 지정가 주문과 시장 가격 사이의 밀접성이 높을수록 시장 주문이 더 빨리 실행되고 거래량이 많아지며 이는 의심할 여지 없이 최종 사용자에게 이익이 됩니다. 게다가 유동성이 높을수록 시장을 조작하기가 더 어려워집니다.

충분한 유동성을 보장하기 위해 Polymarket은 사용자가 지정가 주문을 생성하도록 장려하는 특별 보상 프로그램을 개발했습니다. 지정가 주문이 평균 시장 가격에 가까울수록 보상이 높아집니다. 보상은 매일 자정(UTC 시간)에 자동으로 지급됩니다.

이 시스템은 dYdX를 모델로 하고 있습니다. 자세한 내용은 dYdX의 유동성 인센티브 계획 과 Polymarket의 자세한유동성 보상 계산 공식을 확인하세요.

신탁

오라클은 이벤트 발생 여부에 관계없이 예측된 결과를 제공하는 데 사용됩니다. 오라클은 프로토콜의 가장 중요한 구성 요소 중 하나이지만 Polymarket 팀이 아닌 제3자가 서비스를 제공합니다. 이 오라클을 UMA 라고 합니다.

UMA는 검증할 수 없는 데이터를 제외하고 모든 유형의 데이터를 블록체인에 기록하도록 설계된 분산형 오라클입니다. 오라클은 낙관적이며 이의가 제기되지 않는 한 데이터는 기본적으로 정확합니다. UMA는 분쟁을 해결하기 위한 자체 중재 시스템을 갖추고 있으며 중재자는 실제 사람, 즉 UMA 생태계 참가자, 특히 UMA 토큰 보유자입니다. 이 시스템을 DVM(데이터 검증 메커니즘)이라고 합니다.

예측 결과를 결정하고 이를 블록체인에 기록하는 데는 다음 프로세스가 사용됩니다.

Polymarket의 기술 구현에 대한 매우 자세한 공개

  1. 설명 : 예측은 보상과 함께 오라클에 추가됩니다. 예측 결과에 대해 이의를 제기하는 데 성공한 사람은 누구나 보상을 받을 수 있습니다.

  2. 챌린지 기간 : 누구나 예측 결과에 도전할 수 있는 챌린지 기간입니다. 문제가 발생하지 않고 시간이 만료되면 예측은 최종 정산 준비가 된 것으로 간주되어 정확성을 나타냅니다.

  3. 분쟁 : 프로토콜 참가자라면 누구나 보상 청구 또는 공정성을 위해 결과에 대해 이의를 제기할 수 있습니다. 실제로는 게임 이론에서 대부분의 플레이어가 정직하게 행동한다고 제안하기 때문에 이런 일이 거의 발생하지 않습니다.

  4. 투표 : 투표, 분쟁이 시작되면 UMA 토큰 보유자는 분쟁 해결을 위해 투표합니다. UMA는 투표에 사용되는 프로토콜 토큰이며, 참여자는 투표에 참여함으로써 보상을 받습니다.

  5. 정산(Settlement ) : 마지막 단계는 블록체인에 데이터를 실제로 기록하는 정산 프로세스입니다. 이후 예측 결과는 신뢰할 수 있는 것으로 간주될 수 있습니다.

전체 프로토콜은 게임 이론을 기반으로 하며, 모든 참가자가 악의적인 행동에 참여하는 것은 경제적으로 불리합니다.

  1. 투표를 위해 예측을 제출한 참가자는 스마트 계약에 담보를 제공합니다. 결과에 문제가 있으면 담보를 잃게 됩니다. 그렇지 않으면 담보를 돌려받고 보상을 받습니다. 이는 정확한 결과만 제출하려는 강력한 인센티브를 만듭니다.

  2. 예측에 이의를 제기하는 참가자도 담보를 제공합니다. 정확하다면 담보를 돌려받고 보상을 받습니다. 그렇지 않으면 담보를 잃게 됩니다. 이는 참가자들이 틀렸다고 확신하는 결과에만 이의를 제기하도록 장려합니다.

  3. 분쟁 해결 참가자. 그들은 UMA 토큰을 스테이킹해야 하며 분쟁 해결에 대한 보상을 받게 됩니다. 부정확하게 투표하거나 전혀 투표하지 않으면 스테이킹 잔고의 일부를 잃게 됩니다. 그렇지 않으면 보상을 받게 됩니다. 느슨해지는 법이 없습니다.

특히 주목할 점은 분쟁의 투표 프로세스가 커밋/공개 체계를 사용하여 두 단계로 나누어진다는 것입니다.

  1. 커밋(Commit ): 참가자는 투표 해시를 스마트 계약에 제출하여 비밀리에 투표합니다. 즉, 해시만 보면 참가자가 어떻게 투표했는지 아무도 알 수 없습니다.

  2. 공개 : 투표 단계가 끝나면 참가자는 자신의 투표를 공개하고 스마트 계약은 이전에 제출된 해시와 일치하는지 확인합니다.

이 2단계 투표 프로세스는 유권자가 공모하여 오라클을 불신하거나 예측된 결과에 의존하는 서비스를 공격하는 것을 방지합니다. 동시 예측 결과에 대해 여러 번 이의가 제기될 수 있으며, 이 경우 UMA는 이전 분쟁이 끝난 후 의사 결정 프로세스를 다시 시작할 수 있도록 허용합니다.

분쟁 개시 절차는 다음과 같습니다.

Polymarket의 기술 구현에 대한 매우 자세한 공개

결론적으로

겉으로는 단순해 보이는 베팅 및 예측 시스템인 Polymarket은 실제로 서로 다른 프로토콜과 팀에서 개발한 세 가지 주요 모듈로 구성됩니다.

  • CTF(조건부 토큰 프레임워크) : 예측의 포트폴리오, 입장 및 지분을 관리하는 Gnosis가 만든 이 유연한 프레임워크는 예측 시장에 이상적입니다.

  • CLOB(Central Limit Order Book) : 주문장 및 지정가 주문을 구현하기 위한 폴리마켓의 자체 솔루션입니다. CLOB은 사용자가 생태계에 효과적으로 참여할 수 있도록 하며 유동성을 모으는 데 도움을 줍니다.

  • UMA : 독특한 분쟁 해결 중재 시스템을 갖춘 분산형 오라클입니다. UMA는 블록체인을 통해 예측 결과를 전송하는 시스템의 핵심입니다.

Polymarket은 기술적으로 말하면 스테이킹 시스템이지만 이 프로토콜은 다양한 프로젝트의 기술을 성공적으로 결합하여 개발자에게 특히 매력적입니다.

관련 독서

미국 대선 후에도 폴리마켓과 예측시장 열풍은 언제까지 이어질까.

Polymarket이 기존 총선 여론조사보다 어떻게 더 나은 성과를 거두었나요?

이 글은 https://hackernoon.com/polymarket-explained-how-blockchain-prediction-markets-are-shaping-the-future-of-forecasting?_gl=1*2tjcjh*_up*MQ..*_ga*ODgwMTY0NDgzLjE3MzEyOTQ1MTg.*_ga_ECJJ2Q2SJQ*MTczMTI5NDUxNi4xLjEuMTczMTI5NDUxNy4wLjAuMA..원본 링크만약 전재한다면 출처를 밝혀 주십시오.

ODAILY는 많은 독자들이 정확한 화폐 관념과 투자 이념을 수립하고 블록체인을 이성적으로 바라보며 위험 의식을 확실하게 제고해 달라고 당부했다.발견된 위법 범죄 단서에 대해서는 관련 부서에 적극적으로 고발하여 반영할 수 있다.

추천 독서
편집자의 선택