# Solana 계정 권한 안내

**계정을 안전하게 보호하고 DApp을 안심하고 사용하기 위해 꼭 알아야 할 기본 개념**

1. **Solana 계정이란?**\
   Solana 블록체인에서 계정은 데이터를 저장하는 핵심 단위다. 단순히 자산(SOL·토큰 등)을 보관할 뿐 아니라 특정 프로그램을 실행하는 데 필요한 정보를 담는 “스마트 폴더”라고 볼 수 있다.

각 계정에는 다음과 같은 주요 속성이 있다.

* **공개키**: 계정의 “주소”로, 은행 계좌번호와 비슷하다.
* **잔액(Lamports)**: 계정에 저장된 SOL(네이티브 토큰)의 양.
* **데이터**: 게임 데이터나 토큰 소유 기록 등 계정에 저장된 부가 정보.
* **소유자(Owner)**: 계정 동작을 제어하는 “프로그램”. 예를 들어 토큰 계정의 소유자는 토큰 관리 프로그램일 수 있다.

2. **계정에 권한이 필요한 이유는?**\
   누구나 마음대로 계좌를 이체하거나 수정할 수 있다면 어떻게 될까? Solana는 이런 상황을 막기 위해 각 계정이 특정 작업만 허용하도록 권한 시스템을 설계했다. 권한은 계정을 보호하고, 허가된 동작만 실행되도록 하는 핵심 장치다.
3. **Solana 계정 권한은 어떻게 동작할까?**\
   Solana의 권한 체계는 비교적 단순하며 크게 다음과 같이 구분된다.

3.1 **누가 계정을 수정할 수 있는가?**\
각 계정에는 “소유자(owner)”가 있으며, 해당 계정의 소유자 프로그램만이 계정 데이터를 수정할 수 있다. 예를 들어 토큰 계정의 소유자가 토큰 관리 프로그램이라면, 그 프로그램만 계정 데이터 변경이 가능하다.

3.2 **누가 작업을 실행할 수 있는가?**\
자금 이체, 계정 생성, 토큰 소각 등의 작업에는 특정 권한이 필요하며, 대부분 계정의 “서명”을 요구한다. 이는 은행에서 송금할 때 비밀번호를 입력하는 것과 유사한 인증 절차다.

3.3 **추가 권한 설정**\
일부 Solana 프로그램은 보다 세밀한 권한 설정을 제공한다. 예시:

* **발행(Mint) 권한**: 누가 새로운 토큰을 발행할 수 있는지 결정.
* **동결(Freeze) 권한**: 특정 토큰의 전송을 동결할 수 있는지 결정.

4. **계정 권한을 어떻게 보호할까?**\
   권한 관리는 개발자뿐 아니라 일반 사용자에게도 중요하다. 다음 보안 수칙을 기억하자.

* **개인키 보관**: 개인키는 계정에 접근할 수 있는 유일한 자격 증명이다. 유출되거나 분실되면 자산이 탈취될 수 있다.
* **권한 부여 시 주의**: DApp 사용 시 요청 권한을 반드시 확인해 과도한 권한 부여를 피한다.
* **정기 점검**: 블록 탐색기를 활용해 계정 권한 상태를 주기적으로 확인하고 이상 징후가 없는지 살핀다.

Solana의 계정 권한 시스템은 유연하면서도 안전하여 사용자와 개발자 모두에게 다양한 가능성을 제공한다. 기술 구현이 복잡해 보일 수 있지만, 기본 개념만 이해해도 Solana의 여러 기능을 훨씬 수월하게 활용할 수 있다.\
개발자라면 권한 세부 구조를 더 깊이 탐구하고, 일반 사용자라면 개인키 보호와 권한 관리를 철저히 하는 것만으로도 대부분의 상황에 대응할 수 있다.
