공부 내용 정리

블록체인에서 프록시란?

blockchoin 2025. 7. 15. 17:43

1. 프록시 패턴이란?

블록체인에서는 스마트 컨트랙트를 한 번 배포하면 주소도, 코드도 고칠 수 없습니다. 
하지만, 개발 하다보면 많은 변수가 생기고, 기능추가가 꼭 필요한 상황이 생깁니다. (버그, 오류, 오타, 해킹, 신기술 등등)

그래서 등장한 방법이 Proxy(프록시) 패턴 입니다.


2. Proxy의 핵심 아이디어

1️⃣ 프록시 컨트랙트는 진짜 로직 컨트랙트를 대신 호출해주는 역할을 합니다.
2️⃣ 사용자는 항상 프록시와만 동일한 주소로 쉽게 소통 가능합니다.
3️⃣ 로직 컨트랙트 주소만 바꿔치기 하면, 기능을 업그레이드할 수 있습니다.

 


3. 프록시의 장점

  • 서비스 중에도 기능 추가 / 수정 가능
  • 유저 입장에서 주소 고정 / 인터페이스 동일
  • DeFi, Game 등에서 장기 운영 필수 전략

4. Proxy는 저장소 역할도 한다

프록시는 단순히 로직만 넘겨주는 게 아니라, 상태값(변수)을 Proxy 안에 저장합니다.

  변수 저장 함수
Proxy 있음 없음 (대신 위임)
Logic 없음 있음 (코드만 존재)
 

프록시의 변수는 그대로 유지됩니다. 즉 한번 만든  변수는 Logic V1을 V2든 바꿔도 값이 유지됩니다.


5. UUPS 특징 

  • upgradeTo() 로직이 컨트랙트 안에 내장 되어 있습니다.
  • Proxy는 간소화됩니다.
  • 더 가볍고, 요즘 더 선호 됩니다.
  • onlyOwner로 업그레이드 권한 제한 필요합니다.

7. Proxy 개발 시 주의사항

1️⃣ Proxy는 저장소 고정 (변수 순서 바꾸지 말기)
2️⃣ ABI 관리 확실하게
3️⃣ 잘못된 주소로 업그레이드 금지 (버그로 연결 꼬임 발생)


8. 마무리

프록시 패턴은 사용자와 개발자 둘에게 모두 편의를 주는 개발 방법으로서 현재 개발 되는 많은 토큰에 사용되고 있습니다. 그러니 꼭 프록시 패턴에 대해 알아 두는게 좋다고 생각합니다.

'공부 내용 정리' 카테고리의 다른 글

스테이킹 이란?  (0) 2025.07.17
블록체인에서 오라클이란?  (1) 2025.07.16
ERC-2612란?  (0) 2025.07.14
ERC-1155 란?  (0) 2025.07.11
벨먼-포드 알고리즘  (2) 2025.07.11