
폴카닷 평행선을 입찰하는 방법은 무엇인가요?
폴카닷의 평행체인 슬롯은 퍼미션리스(무허가) 양초 경매 방식에 따라 판매되며, 우리는 이러한 양초 경매를 기반으로 블록체인의 보안을 확보하기 위해 일부 개선을 가했다.
양초 경매 메커니즘
양초 경매는 공개 경매의 일종으로서, 입찰자들이 점점 더 높은 가격을 제시하며, 경매 종료 시 가장 높은 입찰자가 승자로 간주된다.
양초 경매는 16세기에 배를 판매할 때 처음 사용되었으며, "한 자루의 촛불"이 타오르는 동안 경매가 열렸기 때문에 그 이름이 유래되었다. 촛불의 불꽃이 꺼질 때 경매가 갑작스럽게 종료되며, 그 순간의 입찰자가 승리하게 된다.
온라인에서 양초 경매를 사용할 경우, 종료 시점을 결정하기 위한 난수(random number)가 필요하다.
평행체인 슬롯 경매는 일반적인 양초 경매와 약간 다르다. 개시 기간의 지속 시간을 결정하는 데 난수를 사용하지 않기 때문이다. 대신, 알려진 개방 단계가 있으며, 정상적으로 종료될 때 과거의 어느 시점에서 소급적으로 종료된 것으로 간주된다. 따라서 개방 단계 중에는 입찰이 계속 접수되지만, 소급적으로 결정된 종료 시점이 입찰 제출 시점보다 앞설 수 있으므로, 늦게 제출된 입찰일수록 실패 확률이 높아진다.
Acala &Laminar 라이량 해설: ”정상 종료 시, 과거의 어떤 시점에서 종료된 것으로 소급적으로 판단한다“는 의미는 최종 종료 시점에 임의의 과거 블록을 계산하여, 그 과거 블록이 실제 경매 마감 시간이라는 것이다. 하지만 이 계산은 전체 프로세스가 완료된 후에야 이루어지므로, 누구도 미리 경매 종료 시점을 알 수 없다.
왜 양초 경매를 사용하는가?
블록체인 시스템의 개방성과 투명성은 전통적 경매 방식에서는 존재하지 않던 경매 공격을 가능하게 한다. 인터넷이나 블록체인 상에서 실시되는 일반적인 공개 경매는 특히 경매 공격에 취약하다.
경매 공격은 경매 종료 직전에 입찰자가 조기에 입찰하려 하지 않고, 실제 가치보다 낮은 가격에 낙찰받으려는 시도에서 발생한다.
예를 들어, 앨리스는 경매에서 어떤 물건을 30달러의 가치로 평가한다고 하자. 그녀는 초기 입찰로 10달러를 제시하고, 더 낮은 가격에 구매하려고 한다. 앨리스의 전략은 입찰 금액을 점차 올려가며, 실제 가치인 30달러를 초과할 때까지 입찰을 유지하는 것이다. 다른 입찰자 이브는 같은 물건을 11달러로 평가한다. 이브의 전략은 경매를 지켜보다가 마지막 순간에 11달러를 입찰하는 것이다. 경매 종료 전에 앨리스는 이 입찰에 응답할 시간이 없어 물건을 잃게 된다. 이런 경매 메커니즘은 물건의 진정한 가격을 발견하지 못하며, 물건도 그것을 가장 원하는 사람에게 가지 않기 때문에 비효율적이다.
블록체인에서는 이 문제가 더 심각해질 수 있다. 블록 생산자가 마지막 종료 블록에서 자신만의 입찰을 추가하거나 다른 입찰을 무시함으로써 경매를 공격할 기회를 가질 수 있기 때문이다. 또한 악의적인 입찰자나 블록 생산자가 경매를 공격하여 성실한 입찰자를 해칠 수도 있다.
이러한 이유로, Vickrey 경매—입찰가를 숨기고 나중에 공개하는 2차 가격 경매의 변형—이 주목받는 메커니즘이 되었다. 예를 들어 ENS(https://ens.domains/)에서 인간이 읽을 수 있는 이름을 경매할 때 이 방식이 사용된다. 양초 경매는 Vickrey 경매의 핵심 구성 요소인 두 단계의 제출 및 공개 방식 없이도 작동하는 또 다른 해결책이며, 따라서 스마트 계약의 참여를 가능하게 한다.
양초 경매는 모든 사람이 입찰 상태를 알 수 있지만 경매 종료 시점은 알 수 없도록 하여, 입찰자들이 조기에 입찰하도록 유도한다. 그렇지 않으면, 입찰하기도 전에 이미 경매가 종료된 것으로 판명되는 상황에 처할 수 있다.
폴카닷에서의 활용
폴카닷은 VRF 기반의 난수 비컨을 사용할 것이며, 이는 프로토콜의 다른 부분에서도 사용된다. VRF는 난수 생성의 기반이 되며, 경매의 “종료 시점”을 소급적으로 결정하는 데 사용된다.
계정이 입찰할 때, 해당 슬롯 내에서 사용 가능한 기간 또는 범위에 대해 자유롭게 입찰할 수 있다. 그러나 동일한 STF를 가진 평행체인이 입찰하는 경우, 해당 평행체인은 연속된 기간 또는 범위에 대해서만 입찰해야 하며, 이미 차지한 구간이 끝날 때까지 입찰해야 한다. 동시에 여러 평행체인이 같은 시간대를 겹쳐 입찰할 수 없으며(동일 시간대에 하나의 평행체인만 허용), 중간에 공백이 있을 경우 미래의 슬롯에 대한 입찰도 할 수 없다. 평행체인이 자신의 슬롯 사용 기간 종료 후 재시작할 경우, 새로운 제네시스(기존 상태의 스냅샷일 수 있음)에서 다시 시작해야 하며, 외부 계정을 통해 입찰해야 한다.
슬롯 사용 기간의 상한은 2년이며, 각 기간은 6개월 단위로 나뉜다. 평행체인은 슬롯 기간 내 연속된 범위에서 슬롯을 임대할 수 있다. 시간이 지남에 따라 평행체인은 여러 슬롯을 임대할 수 있으며, 이를 통해 연속적인 슬롯을 임대함으로써 2년 이상의 임대 기간을 연장할 수 있다.
어떻게 입찰하는가?
각 평행체인 슬롯의 최대 사용 기간은 2년이다. 6개월 단위로 나뉘며, 각각을 '임대 기간(period)'이라 한다. 여러 연속된 기간(period)은 하나의 범위(range)를 이룬다.
일련의 평행체인 슬롯 임대 시작 6개월 전에 여러 차례의 경매가 진행된다.
입찰자는 자신이 잠글 DOT 수량과 범위를 명시한 입찰 설정을 제출한다. 슬롯 범위는 1-4기 중 연속된 범위면 무엇이든 가능하다.
단일 입찰자의 입찰 설정 예시:

승자 선정 알고리즘은 서로 겹치지 않는 입찰들을 선택하여, 전체 2년 임대 기간 동안 평행체인 슬롯에 묶인 DOT 수를 극대화한다. 즉, 특정 슬롯 임대 기간에서 가장 높은 입찰자가 항상 승리하는 것은 아닐 수 있다(아래 예시 참조).
각 블록마다 Polkadot가 사용하는 VRF 기반의 난수가 결정된다. 또한 각 경매는 0에서 시작하여 1까지 증가하는 임계값(threshold)을 갖는다. VRF가 생성한 난수는 이 임계값과 비교되어 해당 블록이 경매 종료 블록인지 여부를 판단한다. 또한 VRF는 악의적인 검증인의 공격을 완화하기 위해 이전 epoch에서 임의의 블록을 선택해 입찰 상태를 가져온다.
사례
경쟁이 없는 경우
사용 가능한 평행체인 슬롯이 하나 있다.
앨리스는 20 DOT를 입찰하며 범위 1-2를 선택한다.
밥은 30 DOT를 입찰하며 범위 3-4를 선택한다.
경매 종료.
앨리스는 20 DOT를 묶었으며, 첫 번째 해에 평행체인 슬롯을 사용한다.
밥은 30 DOT를 묶었으며, 두 번째 해에 평행체인 슬롯을 사용한다.
경쟁 상황
사용 가능한 평행체인 슬롯이 하나 있다.
찰리는 75 DOT를 입찰하며 범위 1-4를 선택한다.
데이브는 100 DOT를 입찰하며 범위 3-4를 선택한다.
엠마는 40 DOT를 입찰하며 범위 1-2를 선택한다.
알고리즘에 따라 각 입찰자의 평가액을 계산해보자. 입찰 금액에 범위 내 기간 수를 곱하면 된다.
찰리: 75 × 4 = 300, 범위 1-4.
데이브: 100 × 2 = 200, 범위 3-4.
엠마: 40 × 2 = 80, 범위 1-2.
DOT 금액만 보면 데이브의 입찰이 가장 높지만, 기간 수를 고려하면 데이브는 2기간만 입찰했기 때문에 입찰액이 낮은 엠마와 슬롯을 나눠야 한다. 데이브와 엠마의 입찰 합계 평가액은 280에 불과하다.
찰리는 전체 범위에 대해 300의 평가액을 제시했으므로, 찰리가 평행체인 슬롯의 전체 범위를 획득한다.
자주 묻는 질문
왜 모두 최대 기간을 입찰하지 않을까?
경매에서 입찰된 DOT는 슬롯 기간 동안 잠겨 있게 된다. 즉, 이 DOT를 다른 용도로 사용할 수 있는 기회비용이 존재한다는 의미다. 폴카닷 생태계에 유리한 평행체인의 경우, 평행체인과 폴카닷 리레이 체인 간의 이해관계를 일치시키는 것이 중요하다.
이 메커니즘은 평행체인의 다양성을 어떻게 보장하는가?
평행체인 슬롯을 6개월 단위로 나누는 방식은 평행체인의 다양성을 높이고, 특히 대규모 및 자금력이 풍부한 평행체인이 슬롯을 독점하는 것을 방지하려는 의도에서 비롯되었다. 각 기간을 6개월로, 전체 슬롯 기간은 2년으로 설정함으로써, 자금력이 풍부한 평행체인이 임대 만료 시 슬롯을 확보할 수 있도록 하면서도, 다른 평행체인이 아직 사용되지 않은 6개월 단위의 기간에 점차 진입할 수 있도록 유도한다. 예를 들어, 대형 자금력 평행체인이 범위 1-4의 슬롯을 이미 확보한 경우, 그들은 다음 범위 2-5 슬롯을 확보하려는 강한 동기를 가질 것이다. 그러나 본 메커니즘 하에서는 다른 평행체인이 기간 5만 필요로 하는 경우, 범위 2-4를 사용하면서도 평행체인 2가 기간 5를 사용할 수 있도록 허용할 수 있다.
왜 블록체인 상에서 난수 생성이 어려운가?
블록체인 시스템에서 난수는 문제적이다. 투명하고 개방된 네트워크에서, 다른 참여자들이 검증할 수 있어야 하는 신뢰할 수 없는 난수를 생성하는 것은, 참여자가 난수를 조작하거나 변경하려는 시도를 가능하게 한다. RANDAO와 같은 해시 양파(hash-onions)나 검증 가능한 난수 함수(VRFs) 등 다양한 해결책이 제안되었다. 폴카닷은 후자를 난수 생성의 기반으로 사용한다.
참고 자료
Parachain Allocation : W3F 리서치 페이지에서 제공하는 평행체인 할당 메커니즘에 대한 심층 설명 https://research.web3.foundation/en/latest/polkadot/Parachain-Allocation.html.
평행체인 슬롯 관련 코드
https://github.com/paritytech/polkadot/pull/239
원문 링크
https://wiki.polkadot.network/docs/en/learn-auction
번역: PolkaWorld
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News












