보안 및 프라이버시
Z-Text는 처음부터 제로 트러스트 보안 모델로 구축되었습니다. 분석 없음, 추적 없음, 서버 측 데이터 저장 없음.
PIN 보호
지갑과 메시지는 초기 설정 시 설정한 6자리 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는 사용자 데이터를 절대 수집하지 않습니다:
- 어떤 종류의 분석이나 추적도 없습니다
- 외부로 데이터를 전송하는 충돌 보고가 없습니다
- Z-Text 서버에 대한 phone-home 연결이 없습니다
- 유일한 네트워크 연결은 BitcoinZ 블록체인 노드뿐입니다
- IP 주소 로깅이 없습니다(앱은 분산화된 노드에 연결됩니다)
오픈 소스
Z-Text는 오픈 소스입니다. 숨겨진 텔레메트리나 데이터 수집이 없는지 직접 코드를 감사할 수 있습니다.
위협 모델
Z-Text는 다음으로부터 보호하도록 설계되었습니다:
| 위협 | 보호 방법 |
|---|---|
| 서버 침해 | 서버 없음 -- 메시지는 블록체인에 저장됩니다 |
| 네트워크 감시 | zk-SNARK 차폐 트랜잭션이 모든 메타데이터를 숨깁니다 |
| 기기 도난 | PIN/생체 보호, 암호화된 로컬 저장소 |
| 조회 키 유출 | 레이어 2 암호화가 메시지 읽기를 방지합니다 |
| 검열 | 분산화된 블록체인은 차단할 수 없습니다 |