본문으로 건너뛰기

신뢰와 프라이버시

직접 검증할 수 있는 것

아래 어느 것도 운영자를 신뢰할 필요가 없습니다:

  • 모든 상태 변경에는 서명이 있습니다. 회로는 해당 연산이 요구하는 키로 만든 Ed25519 서명을 확인하므로, 소유자의 키 없이는 이름이 옮겨갈 수 없습니다.
  • 모든 배치에는 ZK 증명이 있습니다. 앵커 컨트랙트는 그것 없이는 루트를 받아들이지 않으며, 증명은 programVkey에 대해 검증됩니다 — 이는 정확히 컴파일된 회로에 대한 약속이며, 당신이 직접 다시 빌드해 볼 수 있습니다.
  • 모든 해석에는 머클 증명이 따라옵니다. 레코드를 루트와 대조하고, 루트를 컨트랙트와 대조할 수 있습니다. 증명 검증을 참조하세요.
  • 모든 루트는 결정론적입니다. 같은 명령을 재생하는 어떤 인덱서든 반드시 같은 루트를 내놓으므로, 불일치는 즉시 드러납니다.
  • 루트들은 사슬을 이루며, 각각은 자신이 포괄하는 PIVX 블록 높이에 앵커링됩니다.

신뢰해야만 하는 것

짧고 솔직한 목록입니다 — 이 페이지의 나머지는 전부 직접 확인할 수 있습니다:

  1. PIVX와 BNB Smart Chain이 설계대로 동작한다 — 트랜잭션은 최종적이고, 체인은 각자의 확인 임계값을 넘어 재구성되지 않습니다.
  2. 표준 암호학이 견고하다 — SHA-256, Ed25519, 그리고 SP1 증명 시스템.
  3. 출금이 당신이 지정한 주소에 도달한다. 금액, 수수료, 의무는 모두 공개적으로 감사 가능하지만, 대상 주소만큼은 외부 관찰자가 아니라 당신 본인이 확인하는 유일한 항목입니다. 잔액과 출금에서 설명합니다.

복제가 레지스트라에 책임을 지우는 이유

레지스트라는 자신의 프로토콜 주소 그리고 그 주소의 열람 키를 공개합니다. 이는 의도된 것이며 핵심적인 역할을 합니다. 둘 다 있으면 누구나

  1. PIVX를 스캔해 제네시스 이후의 모든 명령과 결제를 정규 순서대로 복호화하고,
  2. 오픈소스 인덱서로 재생하고,
  3. 상태 루트를 독립적으로 계산한 뒤,
  4. BNB Smart Chain에 앵커링된 루트와 대조할 수 있습니다.

결제된 명령을 검열하거나, 이전을 지어내거나, 잔액을 잘못 적립하거나, 연산 순서를 바꾼 레지스트라는 모든 독립 인덱서가 반박하는 루트를 얻습니다. 이 확인에는 허가도 특별한 접근 권한도 필요하지 않습니다.

여기서 얻어지는 성질은 부정이 예방되는 것이 아니라 드러난다는 것입니다. 잘못된 배치가 체인에 올라간 뒤 사후에 반박될 수 있습니다. 복구는 자동이 아니라 사회적입니다.

잔액과 출금

돈은 구매자에게서 판매자에게로 곧장 흐르지 않습니다. 판매 대금은 서비스 수수료를 제한 뒤 판매자의 내부 잔액에 적립되고, 경합하는 이름에서 밀린 입찰은 잔액으로 환불되며, 사용자는 원할 때 출금합니다. 자금을 잔액에 두는 것이야말로 환불을 가능하게 만드는 요소입니다. 차폐 트랜잭션에는 발신자 주소가 없어서, 잘못 보낸 결제를 자동으로 되돌려 보낼 곳이 아예 없기 때문입니다.

지급은 온체인에 있고 귀속 정보를 담습니다

레지스트라는 수신 전용이 아니라 완전 열람 키를 공개하므로, 나가는 결제도 들어오는 결제만큼 잘 보입니다. 각 지급에는 정산 대상 계정을 밝히는 메모가 담겨 있습니다:

Payout #{id}: {gross} PIVX for pubkey '{pubkey}' (including the {fee}% service fee)

덕분에 누구나 원장 전체를 재구성할 수 있습니다. 공개된 열람 키로 프로토콜 주소를 스캔하면, 각 공개 키에 대해 다음을 볼 수 있습니다:

  • 그 키가 벌어들인 모든 적립 — 공개 명령 흐름에서 도출되는 판매 대금과 환불
  • 그 키가 받은 모든 지급, 메모로 귀속되며 금액은 노트의 값에서 취함
  • 각각에 적용된 서비스 수수료

이로부터 누구나 독립적으로 계산할 수 있는 현재 잔액이 나옵니다:

balance(pubkey) = Σ(sale proceeds net of fee) + Σ(refunds) − Σ(payouts sent) stays ≥ 0

대응하는 의무가 없는 지급, 잘못된 수수료, 마이너스로 내려간 잔액은 모두 어떤 관찰자에게든 보입니다. 레지스트라는 조용히 자기 자신에게 지급할 수도, 의무를 건너뛸 수도, 공개된 것과 다른 수수료를 적용할 수도 없습니다.

정보

금액은 메모가 아니라 노트에서 읽으세요

메모에는 서비스 수수료를 빼기 전의 채무 금액이 적히고, 노트에는 실제로 지급된 금액이 담깁니다. 노트의 값은 암호학적이지만 메모 문구는 레지스트라가 작성합니다. 감사할 때는 모든 금액을 노트의 값에서 취하고, 메모는 오직 귀속 정보로만 다루세요.

감사자가 아니라 수령인이 확인하는 부분

이 그림에서 벗어나는 세부가 하나 있는데, 은근히 넘어가기보다 분명히 말해두는 편이 낫습니다. 출금은 웹사이트에서 당신의 Ed25519 키로 승인되며, 그 요청은 체인이 아니라 HTTPS를 통해 오갑니다. 그래서 외부 관찰자는 당신의 계정에 대해 올바른 규모의 지급이 이루어졌다는 사실 보지만, 당신이 어떤 대상 주소를 지정했는지에 대한 공개 기록은 갖고 있지 않습니다.

실제로 그것을 확인하기에 가장 적합한 사람은 바로 당신 자신이며, 그것도 즉시입니다. 무엇을 요청했는지, 자금이 도착했는지 알고 있으니까요. 게다가 이 확인은 견해의 문제가 아닙니다. 당신이 서명한 요청을 보관하고 있으므로, 불일치는 말싸움이 아니라 암호학적으로 입증할 수 있습니다.

확인 주체
도메인 상태모든 관찰자, 자동으로 — 독립 인덱서가 누가 시키지 않아도 루트 불일치를 알아차립니다
지급 금액, 수수료, 의무모든 관찰자, 공개된 열람 키와 메모의 귀속 정보로
지급 대상 주소수령인, 자신이 서명한 요청과 대조해

출금을 메모 전송 경로로 보낸다면 마지막 행은 첫 번째 범주로 옮겨갈 것이고, 프라이버시 비용은 거의 없습니다. 열람 키와 공개 키를 밝히는 메모가 이미 그 연결을 드러내고 있으니까요. 이 방안은 검토되었으나 출금을 웹사이트에서의 간단한 동작으로 유지하기 위해 보류되었습니다. 이는 결함이 아니라 앞으로 도입할 만한 합리적인 변경으로 남아 있습니다.

서명한 출금 요청을 보관하세요

자금이 도착한 것을 확인할 때까지 서명한 요청을 보관하세요. 분쟁이 된 지급을 당신이 입증할 수 있는 무언가로 바꿔주는 것이 바로 그것입니다.

악의적인 인덱서가 할 수 없는 일

레코드를 위조할 수 없습니다. 해석 결과에는 머클 증명이 따라오며, 앵커 컨트랙트가 한 번도 받아들인 적 없는 루트는 증명 검증의 확인 절차에서 걸러집니다.

등록을 숨길 수 없습니다. 부재는 주장되는 것이 아니라 증명됩니다. Blocked 터미널은 차단 레코드 전체를 함께 담아 오므로, 주장을 받아들이는 대신 검증할 수 있습니다. 게다가 공개 열람 키만 있으면 전체 이력을 체인에서 다시 도출할 수 있습니다.

사라질 수 없습니다. 모든 명령은 PIVX 위에 살아 있고 코드는 오픈소스입니다. 누구나 제네시스 블록부터 대장 전체를 다시 세울 수 있습니다.

Tor를 통한 비공개 해석

일반 인터넷으로 해석하면 어떤 이름을 언제 조회했는지가 서버에 드러납니다. 그래서 인덱서 API는 Tor 숨은 서비스로도 공개되어 있습니다:

http://indexer.pivxns3wsp3g6rtekzjwhqtcic2yhgngqg3ovod67hp3obt2ckmtcjyd.onion

Tor 브라우저에서:

http://indexer.pivxns3wsp3g6rtekzjwhqtcic2yhgngqg3ovod67hp3obt2ckmtcjyd.onion/v1.0/resolve/richard.pivx

명령줄에서, Tor를 로컬로 실행한 상태로:

curl --socks5-hostname 127.0.0.1:9050 \
http://indexer.pivxns3wsp3g6rtekzjwhqtcic2yhgngqg3ovod67hp3obt2ckmtcjyd.onion/v1.0/info

같은 데이터를 반환하는 같은 API이며 머클 증명도 그대로 포함되므로 잃는 것은 없습니다. 서버는 당신의 IP를 결코 알지 못하고, 통신사는 당신이 Tor를 썼다는 사실만 볼 수 있습니다.

신뢰를 없애주는 것은 검증이지 전송 경로가 아닙니다

Tor는 인덱서로부터 당신의 프라이버시를 지켜줍니다. 그렇다고 인덱서가 정직해지지는 않습니다 — 그것은 머클 증명과 온체인 루트 확인이 하는 일이며, 어떤 방식으로 접속하든 그 둘은 실행해야 합니다.