Z-Text문서

보안 및 프라이버시

Z-Text는 처음부터 제로 트러스트 보안 모델로 구축되었습니다. 분석 없음, 추적 없음, 서버 측 데이터 저장 없음.

PIN 보호

Z-Text는 초기 설정 시 설정한 8자리 PIN으로 앱을 잠급니다. 앱은 다음 작업을 하기 전에 PIN을 요구합니다:

  • 앱 열기
  • 트랜잭션 전송(메시지 및 BTCZ 이체)
  • seed phrase 표시
  • 보안 설정 변경

PIN 자체는 읽을 수 있는 형태로 절대 저장되지 않습니다. 잠금 화면에서 잘못된 입력이 반복되면 대기 시간이 적용됩니다.

생체 인증

지원되는 기기에서는 앱 접근 시 PIN 입력 대신 지문 또는 얼굴 인식을 활성화할 수 있습니다. 생체 데이터는 기기의 보안 엔클레이브에서 전적으로 처리됩니다 -- Z-Text는 원시 생체 데이터에 절대 접근하지 않습니다.

이중 암호화

Z-Text는 심층 방어를 제공하는 이중 암호화 아키텍처를 사용합니다:

레이어 1: 블록체인 차폐 (zk-SNARKs)

BitcoinZ 블록체인의 차폐 트랜잭션은 zk-SNARKs를 사용하여 트랜잭션 메모 필드를 암호화합니다. 이는 다음을 의미합니다:

  • 메시지 내용이 온체인에서 암호화됩니다
  • 발신자와 수신자 z-address가 숨겨집니다
  • 거래 금액이 숨겨집니다
  • z-address 조회 키 소유자만 메모를 복호화할 수 있습니다

레이어 2: 연락처 키 암호화

트랜잭션 메모에 메시지를 넣기 전에 Z-Text는 핸드셰이크에서 파생된 공유 키로 암호화합니다. 이는 두 번째 보호 레이어를 추가합니다:

  • 누군가 z-address 조회 키를 탈취하더라도 메시지를 읽을 수 없습니다
  • 공유 키는 연락처 쌍별로 고유합니다
  • 키는 ECDH를 통해 도출되며 직접 전송되지 않습니다

왜 이중 레이어인가?

레이어 1은 블록체인 관찰자로부터 보호합니다. 레이어 2는 조회 키 유출로부터 보호합니다. 메시지를 읽으려면 두 레이어 모두를 뚫어야 합니다 -- 이는 극히 어려운 일입니다.

zk-SNARKs 설명

Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge (zk-SNARKs)는 한 당사자가 값 자체를 공개하지 않고 값을 알고 있음을 증명할 수 있는 암호화 증명입니다.

Z-Text의 맥락에서 zk-SNARKs는 누가 보냈는지, 누가 받았는지, 얼마가 전송되었는지 공개하지 않고 트랜잭션이 유효함(올바른 잔액, 인가된 발신자)을 증명합니다. 이것이 차폐 트랜잭션을 진정으로 프라이빗하게 만드는 요소입니다.

제로 텔레메트리

Z-Text는 사용자 데이터를 절대 수집하지 않습니다:

  • 어떤 종류의 분석이나 추적도 없습니다
  • 외부로 데이터를 전송하는 충돌 보고가 없습니다
  • 사용 데이터는 우리에게 전송되지 않습니다
  • 앱은 사용자가 선택한 lightd 서버(기본값은 우리 서버, 또는 사용자 자신의 노드)에 연결하고 공개된 BTCZ 가격을 조회하며, Tor를 켜면 둘 다 Tor를 거칩니다
  • 비밀번호 볼트의 웹사이트 아이콘은 사용자가 켠 경우에만 가져옵니다
  • 앱 자체는 IP 주소를 로깅하지 않습니다

소스 코드

Z-Text 앱은 클로즈드 소스입니다. 와이어 프로토콜은 공개 검토를 위해 명세서로 공개될 예정입니다.

위협 모델

Z-Text는 다음으로부터 보호하도록 설계되었습니다:

위협보호 방법
서버 침해서버 없음 -- 메시지는 블록체인에 저장됩니다
네트워크 감시zk-SNARK 차폐 트랜잭션이 발신자, 수신자, 금액, 메모를 숨깁니다
다른 사람이 사용자의 잠긴 기기를 가지고 있는 경우PIN/생체 잠금 화면, 암호화된 로컬 저장소
조회 키 유출레이어 2 암호화가 메시지 읽기를 방지합니다
검열분산화된 블록체인은 차단할 수 없습니다