보안 토큰의 이해
보안 토큰은 전통적인 증권(주식, 채권, 부동산)의 소유권을 나타내는 블록체인 기반 디지털 자산입니다. 유틸리티 토큰과 달리 보안 토큰은 증권법의 적용을 받으며 발행자 규정 준수, 투자자 보호 및 2차 시장 거래 제한을 요구합니다.
🎯 정의: 보안 토큰
보안 토큰은 하우이 테스트(Howey Test)를 통과하는 디지털 증권입니다: (1) 돈의 투자, (2) 공동 기업에, (3) 이익 기대를 가지고, (4) 다른 사람의 노력으로부터. 미국에서 보안 토큰은 SEC에 등록하거나 면제(Reg D, Reg A+, Reg S) 자격을 갖추어야 합니다.
ERC-1400: 보안 토큰 표준
ERC-1400은 규제를 준수하는 보안 토큰을 위한 이더리움 표준으로, 전송 제한, 문서 관리 및 파티션 토큰 잔액과 같은 기능을 제공합니다.
ERC-1400의 주요 기능
- 전송 제한: KYC/AML 요구사항, 관할권 제한 및 락업 기간 시행
- 문서 관리: 온체인 법적 문서, 공시 및 규제 보고서
- 파티션: 다른 권리를 가진 토큰 클래스(보통주, 우선주, 전환주)
- 강제 전송: 법적 명령 또는 규제 요구사항에 따른 토큰 압류
- 운영자 역할: 발행자, 규제 기관 및 이전 에이전트에 대한 역할 기반 권한
// ERC-1400 핵심 인터페이스
pragma solidity ^0.8.0;
interface IERC1400 {
// 전송 제한 확인
function canTransfer(
address to,
uint256 value,
bytes calldata data
) external view returns (bool, bytes32, bytes32);
// 제한과 함께 전송
function transferWithData(
address to,
uint256 value,
bytes calldata data
) external;
// 파티션 전송 (예: 보통주 vs. 우선주)
function transferByPartition(
bytes32 partition,
address to,
uint256 value,
bytes calldata data
) external returns (bytes32);
// 발행자/규제 기관에 의한 강제 전송
function operatorTransferByPartition(
bytes32 partition,
address from,
address to,
uint256 value,
bytes calldata data,
bytes calldata operatorData
) external returns (bytes32);
// 문서 관리
function getDocument(bytes32 name) external view returns (
string memory uri,
bytes32 documentHash
);
function setDocument(
bytes32 name,
string calldata uri,
bytes32 documentHash
) external;
}SEC 규정: 준수 경로
미국 증권거래위원회(SEC)는 보안 토큰 공모를 위한 여러 규제 경로를 제공합니다. 각각 다른 투자자 자격, 공모 규모 제한 및 공시 요구사항이 있습니다.
Regulation D (Rule 506b/506c)
Reg D는 사모를 위한 가장 일반적인 SEC 면제로, 발행자가 공개 등록 없이 무제한 자본을 조달할 수 있게 합니다.
| 특징 | Rule 506(b) | Rule 506(c) |
|---|---|---|
| 투자자 유형 | 최대 35명의 비인증 + 무제한 인증 | 인증 투자자만 |
| 일반 권유 | 금지 | 허용 |
| 인증 확인 | 합리적 믿음 | 제3자 확인 필요 |
| 공모 규모 | 무제한 | 무제한 |
| Form D 제출 | 필요 (첫 판매 후 15일 이내) | 필요 (첫 판매 후 15일 이내) |
📋 예시: Reg D 부동산 STO
시나리오: 1,000만 달러 상업용 부동산을 Rule 506(c)로 토큰화
- 법인 설립: 부동산 소유를 위한 델라웨어 LLC 생성
- 토큰 생성: LLC 지분을 나타내는 10M ERC-1400 토큰 발행
- 투자자 인증: 모든 투자자는 순자산 $1M 또는 소득 $200K 증명 필요
- KYC/AML: 타사 제공자(Onfido, Jumio)를 통한 신원 확인
- 판매: 인증 투자자에게만 공개 마케팅 및 판매
- Form D: 첫 판매 후 15일 이내에 SEC 제출
- 12개월 락업: 토큰은 1년간 양도 불가 (스마트 계약 시행)
Regulation A+ (Tier 1 & Tier 2)
Reg A+는 "미니 IPO"로 알려진 면제로, 비인증 투자자를 포함한 일반 대중에게 판매할 수 있습니다.
| 특징 | Tier 1 | Tier 2 |
|---|---|---|
| 최대 공모 규모 | 12개월 내 $20M | 12개월 내 $75M |
| 투자자 제한 | 없음 | 비인증 투자자: 소득/순자산의 10% |
| SEC 검토 | 공모 회람 자격 필요 | 공모 회람 자격 필요 |
| 주 규제 | 주 블루스카이 법 적용 | 주 등록 면제 |
| 재무 보고 | 연간 보고서 | 반기 및 연간 보고서 (감사 필요) |
⚠️ Reg A+ 고려 사항
Reg A+는 일반 대중 접근을 제공하지만 상당한 법적 비용($100K-$500K), SEC 검토 시간(3-6개월) 및 지속적인 보고 의무가 필요합니다. 소규모 공모($5M 미만)의 경우 Reg D 또는 Reg CF가 더 비용 효율적일 수 있습니다.
Regulation S (해외 공모)
Reg S는 미국 외부에서 발생하는 증권 공모를 SEC 등록에서 면제합니다. 비미국 투자자를 대상으로 하는 토큰화 프로젝트에 이상적입니다.
- 자격: 공모 및 판매는 미국 외부에서 발생해야 함
- 방향 판매: 미국 투자자를 대상으로 한 일반 권유 금지
- 유통 준수 기간: 토큰은 미국으로 40일간 재판매 불가
- SEC 보고: 미국 등록 없음, 현지 규정 준수만 필요
Regulation Crowdfunding (Reg CF)
Reg CF는 크라우드펀딩 플랫폼을 통해 일반 대중으로부터 최대 $5M을 조달할 수 있게 합니다.
- 최대 공모 규모: 12개월 내 $5M
- 투자자 제한: 비인증 투자자는 소득/순자산의 5-10%로 제한
- 중개인 요구: SEC 등록 펀딩 포털 또는 브로커-딜러를 통해 판매해야 함
- 공시: Form C, 재무제표 (>$500K의 경우 검토, >$1M의 경우 감사)
- 연간 보고: 연간 보고서 및 재무제표 필요
KYC/AML 준수
모든 보안 토큰 공모는 자금 세탁 및 테러 자금 조달을 방지하기 위해 엄격한 고객 알기(KYC) 및 자금 세탁 방지(AML) 요구사항을 준수해야 합니다.
KYC 요구사항
- 신원 확인: 정부 발행 신분증(여권, 운전면허증, 국가 ID)
- 주소 증명: 공과금 청구서, 은행 명세서 또는 임대 계약서
- 생체 인식 확인: 라이브 셀카 또는 비디오 확인으로 신분증과 대조
- 정치적 영향력자(PEP) 확인: 고위 정치인 및 가족 스크리닝
- 제재 목록 스크리닝: OFAC, UN, EU 제재 목록과 대조
AML 요구사항
- 위험 평가: 투자자를 저위험, 중위험, 고위험으로 분류
- 자금 출처(SOF): 고액 투자자의 경우 부의 출처 문서화
- 거래 모니터링: 의심스러운 패턴(구조화, 스머핑) 탐지
- 의심 활동 보고(SAR): 의심스러운 거래를 FinCEN에 보고
- 기록 보관: KYC/AML 문서를 5년간 보관
// KYC 시행이 있는 스마트 계약 예시
pragma solidity ^0.8.0;
contract KYCCompliantToken is ERC1400 {
mapping(address => KYCStatus) public kycStatus;
struct KYCStatus {
bool verified;
uint256 verifiedAt;
uint8 riskLevel; // 1=Low, 2=Medium, 3=High
bytes32 jurisdiction; // 예: "US", "EU", "CN"
}
modifier onlyKYCVerified(address user) {
require(kycStatus[user].verified, "KYC 미인증");
require(block.timestamp - kycStatus[user].verifiedAt < 365 days, "KYC 만료");
_;
}
function transfer(address to, uint256 amount)
public
onlyKYCVerified(msg.sender)
onlyKYCVerified(to)
override
returns (bool)
{
require(!isSanctioned(to), "제재 대상 관할권");
require(kycStatus[to].jurisdiction != bytes32("CN"), "중국 금지");
return super.transfer(to, amount);
}
function setKYCStatus(
address user,
bool verified,
uint8 riskLevel,
bytes32 jurisdiction
) external onlyOwner {
kycStatus[user] = KYCStatus({
verified: verified,
verifiedAt: block.timestamp,
riskLevel: riskLevel,
jurisdiction: jurisdiction
});
}
function isSanctioned(address user) internal view returns (bool) {
bytes32 jurisdiction = kycStatus[user].jurisdiction;
return jurisdiction == bytes32("KP") || // 북한
jurisdiction == bytes32("IR") || // 이란
jurisdiction == bytes32("SY"); // 시리아
}
}투자자 인증
Reg D Rule 506(c) 공모의 경우 발행자는 모든 투자자가 "인증 투자자"인지 합리적 조치를 취하여 확인해야 합니다.
인증 투자자 기준
- 소득 테스트: 지난 2년간 연간 소득 $200K (또는 배우자와 함께 $300K), 올해도 동일한 소득 예상
- 순자산 테스트: 주거용 주택 제외 $1M 이상의 순자산
- 전문 자격: Series 7, 65, 82 라이선스 보유자
- 기업/신탁: $5M 이상 자산의 기업, 파트너십 또는 신탁
- 지식 있는 직원: 발행 회사의 임원, 이사 또는 일반 파트너
인증 확인 방법
| 방법 | 설명 | 신뢰도 |
|---|---|---|
| 소득 확인 | IRS Form W-2, 1099, 세금 신고서 (지난 2년) | 높음 |
| 순자산 확인 | 은행 명세서, 중개 명세서, 신용 보고서, 감정서 | 중간 |
| 제3자 서비스 | VerifyInvestor, North Capital와 같은 인증 확인 서비스 | 매우 높음 |
| 서면 확인 | 변호사, CPA 또는 브로커-딜러의 서면 확인 | 높음 |
| 자체 인증 | Rule 506(b)에만 허용 (506(c)에는 불충분) | 낮음 |
준수 자동화 도구
여러 플랫폼이 보안 토큰 발행자를 위한 턴키 준수 솔루션을 제공합니다:
주요 플랫폼
- Securitize: 엔드투엔드 STO 플랫폼 (KYC, 발행, 전송 제한, 투자자 관리)
- Polymath: ERC-1400 기반 오픈소스 토큰화 플랫폼
- Harbor: R-Token 표준 및 준수 프로토콜
- Tokeny: ERC-3643 (T-REX) 표준 기반 유럽 중심 플랫폼
🚀 핵심 요점
보안 토큰 준수는 복잡하지만 관리 가능합니다. ERC-1400과 같은 표준을 따르고, 적절한 규제 경로(Reg D, Reg A+, Reg S)를 선택하며, 엄격한 KYC/AML 프로토콜을 구현하면 발행자는 법적으로 준수하는 토큰화된 증권을 생성할 수 있습니다. WIA-FIN-008은 모범 사례를 통합하여 이 프로세스를 단순화하여 누구나 접근 가능하게 만듭니다.
다음 단계
챕터 3에서는 WIA-FIN-008 표준 아키텍처를 탐구하고, 기본 토큰 구조부터 프로덕션급 통합까지의 4단계 프레임워크(데이터 형식, API, 프로토콜, 통합)를 소개합니다.