> For the complete documentation index, see [llms.txt](https://triple-plus-global.gitbook.io/tpt-whitepaper/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://triple-plus-global.gitbook.io/tpt-whitepaper/tpt-whitepaper-kr/protocol-mechanics/smart-contracts.md).

# Smart Contracts

모든 자본 흐름은 중앙화된 수탁 없이 감사된 스마트 컨트랙트를 통해 이루어집니다:

{% @mermaid/diagram content="sequenceDiagram
participant S as 셀러
participant E as 에스크로 컨트랙트
participant I as 투자자
participant D as 채무자
participant O as 오라클

```
S->>E: 검증된 자산 제출
I->>E: 투자금 예치
E->>S: 자금 릴리즈 (즉시)
Note over E: 자산 에스크로에 보관
D->>E: 만기 시 인보이스 결제
O->>E: 결제 수신 확인
E->>I: 원금 + 수익 릴리즈
```

" %}

## 에스크로 메커니즘

에스크로 컨트랙트가 보관하는 것:

| 항목          | 설명               |
| ----------- | ---------------- |
| **자산 소유권**  | 매출채권의 토큰화된 표현    |
| **투자자 자본**  | 셀러에게 릴리즈될 때까지 보관 |
| **채무자 결제금** | 투자자에게 분배될 때까지 보관 |

**프로토콜 팀을 포함한 어떤 당사자도 에스크로된 자금에 일방적으로 접근할 수 없습니다.**

### 정산 트리거

자동 정산이 발생하는 경우:

* 채무자 결제 확인 (오라클 또는 직접 입금)
* 만기일 도달
* 스마트 컨트랙트의 모든 조건 충족

수동 개입은 예외적 상황(예: 분쟁 해결)에 대해 거버넌스를 통해서만 가능합니다.

***

## 컨트랙트 아키텍처

{% @mermaid/diagram content="flowchart TB
subgraph Core\["코어 컨트랙트"]
ESC\["에스크로"]
SET\["정산"]
REG\["레지스트리"]
end

```
subgraph Access["접근 제어"]
    STAKE["스테이킹"]
    KYC["KYC/KYB"]
end

subgraph Assets["자산 컨트랙트"]
    INV["인보이스 NFT"]
    PO["PO NFT"]
end

Access --> Core
Assets --> Core" %}
```

## 업그레이드 메커니즘

컨트랙트는 투명한 프록시 패턴을 사용합니다:

| 기능          | 설명                 |
| ----------- | ------------------ |
| **멀티시그 승인** | 업그레이드에 복수 서명 필요    |
| **타임락 지연**  | 모든 업그레이드에 대기 기간 적용 |
| **긴급 중지**   | 심각한 이슈 시 기능 즉시 중단  |

***

### 감사 현황

모든 스마트 컨트랙트는 다음을 거칩니다:

* 배포 전 제3자 감사
* 지속적인 버그 바운티 프로그램
* 핵심 기능에 대한 정형 검증 (Formal Verification)

{% hint style="warning" %}
감사 보고서는 완료 시 여기에 링크됩니다.
{% endhint %}
