궁금한 주제를 찾아보세요

비트코인, 스테이블코인, 온체인 데이터처럼 주제로 검색하세요.

다시 읽을 이야기

저장한 글은 이 브라우저에만 보관됩니다.

기초지식코인 기초

프록시 계약과 구현 계약 주소를 지갑에서 어떻게 구분할까

탐색기에서 proxy, implementation, admin을 구분하고 실제 사용자 상태가 저장되는 주소와 업그레이드 위험을 확인합니다.

난이도 입문기초 카테고리와 설명 방식 기준검토 정보AI 보조 초안 · 출처 목록 제공 · 주장별 대조 진행 중
사용자의 호출이 프록시 문을 지나 구현 기어로 전달되고 위쪽 관리자가 열쇠를 가진 계약 구조
주제의 이해를 돕기 위해 imagegen으로 제작한 AI 생성 개념 일러스트
먼저 읽는 핵심

공식 사용자 주소가 proxy인지 탐색기에서 확인합니다.
현재 implementation과 upgrade 이벤트·관리자를 봅니다.
ABI 검증은 proxy 맥락과 현재 logic을 함께 고려합니다.

업그레이드 가능한 계약에서 proxy는 사용자가 호출하고 상태를 보관하는 고정 주소이며, implementation은 delegatecall로 실행할 logic code를 제공합니다. 따라서 token을 지갑에 추가하거나 dapp과 상호작용할 때 보통 공식 문서의 proxy address를 사용하고, 탐색기에서 현재 implementation과 admin·upgrade 권한을 별도로 확인합니다. implementation 주소로 직접 호출하면 초기화·storage 맥락이 달라 의도한 서비스와 다른 결과가 날 수 있습니다.

상태와 코드를 나눈 구조입니다

OpenZeppelin은 업그레이드형 인스턴스가 implementation, 사용자가 상호작용하는 proxy, 관리용 ProxyAdmin으로 구성될 수 있다고 설명합니다. proxy가 delegatecall하면 implementation의 코드는 proxy 주소와 storage 맥락에서 실행됩니다. token balance와 allowance가 proxy 쪽 상태로 보이는 이유입니다.

사용자는 explorer의 Contract 탭에서 ‘Proxy’ 표시, ‘Read/Write as Proxy’, implementation link를 확인할 수 있습니다. 표시가 없다고 proxy가 아니라고 단정하지 말고 bytecode와 표준 storage slot, 배포 문서를 대조합니다. minimal clone이나 beacon proxy는 구조가 다를 수 있습니다.

프록시는 사용자가 드나드는 주소와 상태를 유지하고, 구현 계약은 그 안에서 실행될 현재 코드 역할을 합니다.

JOBCOIN 해설

VISUAL GUIDE키 보관과 거래 서명
보호된 개인키로 거래에 서명하고 노드가 서명을 검증하는 개념도
그림과 함께 짚어볼 본문 내용

그림은 이 주제의 공통 개념을 단순화한 설명입니다. 아래 항목에서 이 글의 구체적인 조건과 예외를 함께 읽어보세요.

  1. 상태와 코드를 나눈 구조입니다

    OpenZeppelin은 업그레이드형 인스턴스가 implementation, 사용자가 상호작용하는 proxy, 관리용 ProxyAdmin으로 구성될 수 있다고 설명합니다.

  2. ERC-1967 슬롯과 이벤트가 단서입니다

    OpenZeppelin ERC1967Proxy는 implementation address를 충돌을 피하는 지정 storage slot에 저장합니다.

  3. 지갑에는 공식 사용자 주소를 사용합니다

    토큰 공식 문서가 proxy address를 배포 주소로 제시한다면 custom token 추가, allowance 조회, dapp 호출은 그 주소를 기준으로 합니다.

AI로 제작한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.

ERC-1967 슬롯과 이벤트가 단서입니다

OpenZeppelin ERC1967Proxy는 implementation address를 충돌을 피하는 지정 storage slot에 저장합니다. 공식 문서는 eth_getStorageAt으로 해당 값을 읽을 수 있다고 안내합니다. explorer가 자동 해석하면 구현 주소와 Upgraded event를 편하게 볼 수 있지만 중요한 거래는 원시 slot과 문서도 확인합니다.

Transparent proxy는 ProxyAdmin을 통해 upgrade하고 UUPS는 implementation 안의 upgrade 함수를 사용합니다. Beacon proxy는 beacon이 가리키는 implementation을 여러 proxy가 공유할 수 있습니다. ‘proxy’라는 한 단어만으로 관리자 위치와 변경 절차를 가정하지 않습니다.

주소 역할 비교
주소 주요 역할 확인 항목
Proxy 사용자 호출·상태 맥락 공식 주소·storage
Implementation 현재 logic code verified source·버전
ProxyAdmin 업그레이드 관리 owner·multisig
Beacon 공유 구현 지정 owner·implementation
Minimal clone 고정 구현 위임 target bytecode

지갑에는 공식 사용자 주소를 사용합니다

토큰 공식 문서가 proxy address를 배포 주소로 제시한다면 custom token 추가, allowance 조회, dapp 호출은 그 주소를 기준으로 합니다. implementation 주소는 같은 ERC-20 함수를 노출해도 자체 storage가 비어 있거나 초기화 상태가 달라 balance가 0으로 보일 수 있습니다.

서명 화면의 to가 공식 proxy인지 확인하고 input data의 함수와 spender를 봅니다. dapp이 implementation으로 직접 보내라고 요구한다면 프로젝트 문서의 명시적 근거가 필요합니다. ‘가스 절약’이나 ‘동기화’를 이유로 낯선 주소를 제시하는 메시지를 따르지 않습니다.

  • 공식 문서에서 사용자-facing 주소를 확인합니다.
  • 탐색기의 proxy·implementation 표시를 봅니다.
  • Upgraded·AdminChanged 이벤트를 검토합니다.
  • admin owner가 multisig·timelock인지 확인합니다.
  • 서명 화면의 to 주소를 다시 대조합니다.

검증 소스도 현재 구현 기준으로 읽습니다

proxy bytecode만 verified라고 해도 비즈니스 logic은 implementation source에 있습니다. explorer의 ‘as Proxy’ ABI가 현재 구현과 맞는지 확인하고 upgrade 직후라면 source verification과 audit 범위가 새 버전을 포함하는지 봅니다. 과거 audit 보고서의 implementation hash가 현재 주소와 다를 수 있습니다.

storage layout이 잘못된 upgrade는 기존 balance나 권한을 손상할 수 있습니다. 일반 사용자가 코드를 전부 감사할 수는 없지만 admin 변경 이력, timelock, multisig, upgrade announcement, pause 권한을 확인하면 통제 위험을 파악할 수 있습니다. verified 표시만으로 관리자 신뢰를 대체하지 않습니다.

업그레이드는 주소가 같아도 행동을 바꿉니다

proxy address가 그대로이므로 주소록과 allowance가 유지되는 동안 implementation logic은 바뀔 수 있습니다. 어제 안전했던 함수의 조건과 fee, blacklist, transfer hook이 오늘 달라질 수 있다는 뜻입니다. 중요한 사용 전 최근 Upgraded event와 공식 release notice를 확인합니다.

의심 upgrade가 보이면 새 서명을 중단하고 allowance를 검토하며 공식 팀의 incident notice를 확인합니다. implementation 주소를 임의로 직접 호출해 우회하지 않습니다. 기록에는 proxy, implementation, 확인 block, admin, 공식 문서 URL을 함께 남겨 재현 가능하게 합니다.

자주 묻는 질문

토큰 잔액은 proxy와 implementation 중 어디에 있나요?

일반적인 delegatecall proxy에서는 사용자 상태가 proxy storage 맥락에 있습니다. 프로젝트 구조를 공식 문서로 확인하세요.

탐색기가 proxy라고 표시하지 않으면 일반 계약인가요?

반드시 그렇지는 않습니다. 표준 slot, bytecode, 배포 문서와 이벤트를 추가로 확인해야 합니다.

proxy 주소가 같으면 계약 행동도 계속 같은가요?

아닙니다. implementation upgrade로 logic이 바뀔 수 있으므로 최근 업그레이드와 관리자 권한을 확인하세요.

더 깊이 읽기

본문에서 다룬 개념과 확인 절차를 다음 글에서 이어서 살펴보세요.

참고한 원문 자료

자료 확인 기준일 2026.09.27
  1. Proxy APIdocs.openzeppelin.com
  2. Upgrading smart contractsdocs.openzeppelin.com
자료 대조 기록과 확인 범위
출처 수집
원문 링크 2개 제공
핵심 주장 대조
완료 근거가 아직 기록되지 않았습니다.
분야 전문가 검수
별도 완료 기록이 없습니다.

원문 링크와 자료 확인일은 글 전체의 주장 대조나 전문가 검수 완료를 뜻하지 않습니다. 별도 확인이 필요한 절차는 원문의 적용 대상과 최신 안내를 함께 확인해 주세요.

AI 활용 안내

이 글은 초안 구성과 자료 정리에 AI를 활용했습니다. 글에 표시된 출처와 기준일을 함께 확인해 주세요. 별도 검토 정보가 없다면 전문가 검수를 뜻하지 않습니다.

이해를 위한 정보 콘텐츠

이 글은 특정 자산의 매수·매도 또는 수익을 권유하지 않습니다. 자료의 발표 시점과 이후 변경 사항을 함께 확인해 주세요.

편집 원칙 보기 →이 기사 정정 제보 →