피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Stateless Program과 Data Account 분리를 통한 고효율 상태 관리 모델
Week 4: #100DaysOfSolana; Account Model
AI 요약
Context
기존 스마트 컨트랙트의 상태 저장 방식이 유발하는 확장성 한계를 극복하기 위한 설계 필요성 대두. 데이터와 로직이 결합된 전통적 모델에서 탈피하여 저장소 최적화 및 예측 가능한 보안 모델 구축을 목표로 함.
Technical Solution
- 모든 구성 요소를 32-byte address 기반의 Key-Value Entry로 통합한 Unified Account System 설계
- Program의 상태를 외부 Data Account로 완전히 분리하여 Stateless Logic 구조 구현
- Owner Program만이 해당 계정의 데이터 수정 및 Lamports 차감을 제어하는 Strict Ownership Rule 적용
- 데이터 크기에 비례한 최소 Lamports 보유 시 계정 삭제를 방지하는 Rent Exemption 메커니즘 도입
- Lamports, Data, Owner, Executable, Rent Epoch의 5가지 표준 필드로 Account 구조 표준화
실천 포인트
- 서비스 확장 시 비즈니스 로직(Stateless)과 상태 저장소(Stateful)를 분리하여 설계했는가 - 리소스 관리를 위해 데이터 크기에 따른 최소 유지 비용(Rent) 개념을 도입할 필요가 있는가 - 권한 제어를 사용자 Identity가 아닌 소유권(Ownership) 기반의 명시적 규칙으로 정의했는가