1. 개요

StableNet Wallet은 StableNet Testnet 기반의 스테이블 코인 지갑 입니다. 쉽고 빠른 송금, 자동이체 등 은행 앱과 유사한 사용성으로 누구나 편하게 사용할 수 있습니다.

프라이빗 송금을 지원하는 스테이블 코인 지갑입니다. 이더리움 스텔스 주소 표준(ERC-5564)을 활용해 만들었습니다.
외부 관찰자에게는 거래를 가리고 사업자(거래소·VASP)에게는 거래 당사자 정보를 알려줄 수 있습니다.

아래 세 요소로 구현합니다.

  • 프라이빗 송금 (Stealth Address, ERC-5564) — 받을 때마다 새 일회성 주소를 발급
  • 전송 서버 (STS, Secret Transfer Server) — 체인 스캔·릴레이·컴플라이언스 게이트웨이
  • 프라이빗 보관함 (PBC, PrivateBank Contract) — 일회성 주소 잔액을 온체인 한 곳에서 관리

핵심 원칙 — 프라이버시 ≠ 규제 회피. 거래는 권한 없는 제3자에게만 가려집니다. 사업자는 여전히 확인·기록·감사할 수 있습니다 (Compliance by Design).

2. 목표

공개 블록체인은 거래·상대·금액이 모두 노출됩니다. 그렇다고 가리면 규제 대응이 막힙니다. StableNet은 아래 세 가지 축을 동시에 충족하며 블록체인 기술 위에서 규제 대응까지 가능합니다.

대상
내용
프라이버시
권한 없는 제3자
익스플로러·온체인 분석으로도 거래 당사자·금액 연결 불가
컴플라이언스
사업자(거래소·VASP)
트래블룰·제재·STR에 맞춘 식별·기록·감사
사용성
일반 사용자
블록체인에 익숙하지 않아도 은행 앱처럼 쉽게 사용 가능

3. 아키텍처

클라이언트·오프체인·온체인 세 가지 컴포넌트가 역할을 나눕니다.

보관함
잔액 조회
월렛 앱 / Core SDK
Spending Key 보관
등록·요청
전송 서버 (STS)
메타키 매핑·스캔·릴레이
컴플라이언스 게이트웨이
스캔 대행·배치
스텔스 주소
일회성
집계 반영
PrivateBank (PBC)
사용자별 가상 잔고
클라이언트오프체인
(Off-chain)
온체인
(On-chain)
컴포넌트
위치
책임
월렛 (Wallet SDK / App)
클라이언트
STS 서버와 연동해 보관함 생성·채우기·송금·꺼내기 요청. Private Key를 Spending Key로 활용 (키는 앱 로컬 보관).
전송 서버 (STS)
오프체인
  • 월렛 요청으로 뷰잉키 생성·맵핑·보관
  • 스텔스키 생성 및 금액 분할 전송 알고리즘 연산
  • 컴플라이언스 요청 시 데이터 제공
  • 월렛 서명없이 중앙에서 금액 제어 불가능한 비수탁형 구조
PrivateBank (PBC)
온체인
스텔스 주소를 키로 자산을 맵핑해 보관. 출금 관리(스펜딩 키 서명 검증).

4. 프라이빗 송금 원리

ERC-5564 스텔스 주소(ECDH) 기반

  • 매 송금마다 새 일회성 주소를 만들고 단서 값만 체인에 남김
  • 받는 사람은 Viewing Key로 자기 것을 확인하며 중간자는 없음

표준의 한계

  • 지갑이 체인을 계속 스캔해야 하는 부담
  • 주소는 가려도 금액은 그대로 공개
  • 5564 표준에서는 보내는 지갑의 주소가 체인에 드러남
  • 스텔스 주소 간의 송금에서만 보내는 지갑이 가려짐 (한 번이라도 EOA로 입금하면 수신자도 드러나는 불완전한 구조)
  • AML·트래블룰에 부적합

StableNet은 아래와 같이 보완합니다.

보완
방법
효과
금액 숨기기
여러 일회성 주소로 나눠 담음. 쓴 주소는 폐기 (UTXO 방식).
금액 추적까지 차단
무작위성
주소 개수를 매번 다르게 결정
거래 패턴 은닉
스캔 부담 제거
전송 서버(STS)가 체인 확인을 대행
스텔스 주소를 키로 자산을 맵핑해 보관. 출금 관리(스펜딩 키 서명 검증).

실제 처리는 STS가 맡고 여러 요청을 한 트랜잭션으로 묶습니다. 일회성 주소로 분할·집계해 PBC에 반영합니다. 완료는 알림으로 전달합니다.

① ERC-5564 스텔스 주소 기본 원리

수신자 메타 주소
Spending·Viewing 공개키
메타 주소 공개
송신자 키 도출
ECDH·임시키(Ephemeral)
주소 생성
일회성 스텔스 주소
지금 전송·온체인 단서
스캔 탐지
수신자 탐지·사용
Viewing → Spending Key

한계 : 스텔스 주소는 '누가'는 가려도 '얼마(금액)'는 공개됨
StableNet이 아래 3가지 기법으로 보완합니다.

② StableNet 보완

금액 숨기기
여러 일회성 주소로 분할·폐기 (UTXO)
무작위성
주소 개수를 매번 다르게 → 패턴 은닉
스캔 부담 제거
STS가 체인 스캔을 대행

5. 유저 관점 4대 동작

동작
설명
등록 (Register)
프라이빗 보관함 생성. 메타키·Viewing Key를 STS에 등록.
채우기 (Deposit)
일반 EOA 지갑 → 프라이빗 보관함으로 이동 (IN).
프라이빗 송금 (Transfer)
프라이빗 보관함을 통한 비밀 송금. 최소 50 WKRC부터 송금 가능. (여러 일회성 주소로 나눠 담기 위한 최소 금액이자 STS 제약)
꺼내기 (Withdraw)
프라이빗 보관함 → 일반 EOA 잔액으로 이동 (OUT). 일반 송금 시 사용.
사용자 Wallet
(유저 A, B, C ...)
전송 서버
STS
Private Bank
PBC
프라이빗 송금 요청
여러 유저의 요청을 한 건으로 배치
('누구 것'인지만 파악, 금액 제어 X)
스텔스 일회성 주소 생성 및 분할 반영
(UXTO식)
스텔스 주소 선택 및 송금 서명 요청
스텔스 주소 송금 서명
흩어진 스텔스 잔액을 가상 잔고로 집계
(한 트랜잭션)
보관함 잔액 반영 + 완료 알림

여러 유저의 요청을 전송 서버(STS)가 한 트랜잭션으로 묶어, 흩어진 스텔스 주소 잔액을 프라이빗 보관함(PBC)에 반영합니다.

6. 가시성 & 컴플라이언스

주체마다 볼 수 있는 범위가 다릅니다. 이 차이가 설계의 핵심입니다.

주체
당사자 식별
금액
근거
외부 관찰자
X
X
일회성 주소·UTXO 분할·무작위
전송 서버 (STS)
'누구 것'만
X (제어하지 않음)
컴플라이언스 게이트웨이
사업자 (VASP)
O 확인·기록·감사
Viewing Key 범위
Viewing Key 권한 + STS
사용자 본인
O
O
Spending/Viewing Key 보유

규제 대응(한국 특정금융거래정보의 보고 및 이용 등에 관한 법률 기준)

  • KYC/AML: 고객 신원 확인 및 자금세탁방지 의무의 기반
  • Travel Rule: VASP 간 송·수신인 정보를 교환
  • STR (의심거래보고): 식별·기록·감사 가능한 거래 이력을 FIU에 보고
  • FDS (이상금융거래탐지): 비정상 거래 패턴을 실시간 탐지·차단

용어

용어
설명
WKRC
StableNet 네이티브 스테이블 코인. 사용자가 보는 유일한 잔액 단위. 가스 지불에도 사용.
스텔스 주소 (ERC-5564)
매 송금마다 만드는 일회성 수신 주소. Spending Key와 Viewing Key를 분리한다.
Spending Key
자산 이동 권한 키. 항상 클라이언트에 보관.
Viewing Key
조회·검색 권한 키. 사업자 감사·식별의 핵심.
PBC / STS
PBC = 온체인 자금 통합·가상 잔고 컨트랙트('프라이빗 보관함'). STS = 스캔·릴레이·컴플라이언스 게이트웨이 서버(금액 제어 하지 않음).