# 아키텍처

위핀은 다음과 같은 엔티티로 구성됩니다.

<figure><img src="https://834152021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGcQ5iayny62s5KuY3VoA%2Fuploads%2FU1rikAsdZaVKDwFvzWXn%2Farchitecture.png?alt=media&#x26;token=08d2452d-1f20-4411-9917-74a3f2f3cb4b" alt=""><figcaption></figcaption></figure>

* Cloud : 위핀은 SaaS(Software as a Service) 형태로 제공되는 클라우드 기반의 지갑 서비스입니다. 사용자가 개인키를 안전하게 암호화할 수 있도록 사용되는 KMS(Key Management System)와 저장된 키 데이터에 대한 자격을 확인하는 수단인 CIAM(Customer Identity Access Manager)을 활용합니다.
* 인증 제공자 : 인증 제공자는 사용자가 회원가입 및 로그인을 기존 시스템에서 가지고 있던 정보를 활용하여 지갑을 생성 및 제어하는데 활용할 수 있도록 지원합니다.
* 위젯 : 위젯은 위핀 지갑 기능을 손쉽게 활용할 수 있도록 앱에 빌트인 되는 애플리케이션입니다. 위핀 SDK를 설치하여 사용자가 앱 내에서 지갑 기능을 쉽게 활용할 수 있으며 , 앱이 필요한 사용자의 주소를 쉽게 불러올 수 있도록 상호작용합니다.
* 위핀 서버 : 위핀 서버는 지갑 및 블록체인과 상호 작용하기 위한 모든 처리를 담당하는 서비스의 핵심 기능을 가진 백엔드 시스템입니다. 블록체인 노드와 연결되어 거래를 전송하고 자산을 불러오며, 사용자의 요청에 의해 키를 생성 및 서명을 담당합니다. 키 생성과 서명과 같이 개인키 정보와 관련된 연산은 신뢰 실행 환경(Trusted Execution Environment) 하에서 실행되기 때문에 위핀 서버는 사용자의 개인키에 접근할 수 없습니다.

위핀에서 개인키를 활용한 작업에 대한 플로우를 아래 링크를 통해 확인하세요.&#x20;

<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><strong>키 생성</strong></td><td><a href="https://834152021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGcQ5iayny62s5KuY3VoA%2Fuploads%2Fguet6ogrHoDLt8XyLBUF%2F01.key.png?alt=media&#x26;token=0e725e09-43f3-4b11-ad39-08339ef5f04f">01.key.png</a></td><td><a href="architecture/keygen">keygen</a></td></tr><tr><td align="center"><strong>서명</strong></td><td><a href="https://834152021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGcQ5iayny62s5KuY3VoA%2Fuploads%2FFcSBE78ThgCkOjWHNIWe%2F02.sign.png?alt=media&#x26;token=4a547fab-41da-4610-a651-1341bb040dc6">02.sign.png</a></td><td><a href="architecture/sign">sign</a></td></tr><tr><td align="center"><strong>키 백업</strong></td><td><a href="https://834152021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGcQ5iayny62s5KuY3VoA%2Fuploads%2FEotjRm4ZY6ZPub6Hxaim%2F03.backup-2.png?alt=media&#x26;token=6246019c-f4a1-48cd-b0c6-a8baadf1b082">03.backup-2.png</a></td><td><a href="architecture/backup">backup</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wepin.io/wepin/architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
