마켓플레이스
이름은 내장된 에스크로 마켓플레이스를 통해 사고팔 수 있습니다. 모든 결제는 완전히 차폐됩니다.
여기서의 에스크로는 수탁형이며, 그것이 무엇을 뜻하는지 분명히 해둘 필요가 있습니다. 구매자는 레지스트라의 프로토콜 주소로 결제하고, 레지스트라는 자금을 보관하며 이름을 이전한 뒤 서비스 수수료를 제한 금액을 판매자의 내부 잔액에 적립합니다. 판매자는 원할 때 인출합니다. 따라서 레지스트라는 실제로 에스크로 대리인입니다 — 한쪽의 의무가 이행될 때까지 다른 쪽의 돈을 보관하니까요.
그것이 아닌 것은: 신뢰가 필요 없는 온체인 에스크로입니다. 자금을 자동으로 방출하는 스마트 컨트랙트는 없으며, 레지스트라의 보관은 말 그대로 실제 보관입니다. 이를 제약하는 것은 의무가 공개적으로 계산 가능하다는 점입니다 — 누구나 감사할 수 있는 잔액 불변식과, 보관이 외부에서 검증되지 않는 단 한 곳에 대해서는 신뢰와 프라이버시를 참조하세요.
판매에 대한 판매자의 동의는 그가 이전에 서명한 LST 명령이며, 그 가격은 상태 트리에 고정되어 있습니다.
BUY는 정확히 그 가격일 때만 유효하고, 구매 시점에 판매자의 서명은 필요하지 않습니다.
판매
판매자는 온체인 트랜잭션으로 LIST 요청에 서명하고 LIST 명령이 담긴 트랜잭션 메모를 구성합니다:
PiNS:1:LST:{name}:{ed25519_pubkey}:{price}:{nonce}:{signature}
이렇게 하면 이름이 마켓플레이스에 등록됩니다.
- 가격은 정수 satoshi이며 0보다 커야 합니다(1 PIVX = 100,000,000 satoshi)
- 이미 등록된 이름에 LIST를 다시 보내 가격을 바꿀 수 있으며, 가장 최근 등록이 적용됩니다
마음이 바뀌었다면
판매자는 UNLIST 명령이 담긴 메모와 함께 온체인 트랜잭션을 보내 언제든지 도메인을 마켓플레이스에서 내릴 수 있습니다:
PiNS:1:ULT:{name}:{ed25519_pubkey}:{nonce}:{signature}
이렇게 하면 이름이 마켓플레이스에서 제거됩니다.
명령은 PIVX 블록체인 순서로 정렬된 큐에서 하나씩 처리됩니다. 즉 당신의 UNLIST 명령이 다른 사람의 BUY 명령보다 먼저 수신되어야 합니다.
PIVX Names는 트랜잭션 순서를 통제하지 않으며, 이는 전적으로 PIVX의 블록 생성 방식과 각 블록 내 트랜잭션 인덱스 순서에 달려 있습니다.
구매
구매자는 메모에 BUY 명령을 담아 레지스트라 주소로 트랜잭션을 보냅니다:
PiNS:1:BUY:{name}:{buyer_pivx_address}:{ed25519_pubkey}:{nonce}:{signature}
스캐너는 다음을 검증합니다:
- 이름이 판매 등록 상태여야 합니다
- 결제 금액이 등록 가격과 정확히 일치해야 합니다
- 유효하면: 이름이 구매자에게 이전되고, 서비스 수수료를 제한 대금이 판매자의 내부 잔액에 적립됩니다
- 유효하지 않으면: 금액이 구매자의 내부 잔액으로 환불됩니다
여러 사람이 같은 이름을 동시에 구매하려 하면 첫 번째 트랜잭션만 처리되고, 나머지 금액은 사용자의 내부 잔액으로 환불됩니다. 사용자는 웹사이트에서 출금 주소를 입력해 언제든지 자금을 인출할 수 있습니다.