-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
프록시 계약이란 무엇이며 어떻게 업그레이드 가능성을 가능하게합니까?
Proxy contracts enable smart contract upgrades by separating logic from storage, using `delegatecall` to maintain state while updating functionality.
2025/07/10 19:42
스마트 계약 개발에서 프록시 계약 이해
블록 체인 및 스마트 계약 개발의 세계에서 프록시 계약은 중요한 설계 패턴으로 등장했습니다. 배포되면 불변이 불가능한 기존의 스마트 계약과 달리 프록시 계약은 전체 계약을 재배치하지 않고 변경 및 업그레이드를 구현하기위한 구조화 된 메커니즘을 제공합니다. 이 유연성은 특히 배포 된 코드를 직접 변경할 수없는 이더 리움과 같은 환경에서 특히 중요합니다. 프록시 계약은 사용자와 응용 프로그램의 실제 논리 사이의 중개자 역할을하므로 개발자는 시간이 지남에 따라 기능을 업데이트 할 수 있습니다.
프록시 계약의 작동 방식 : 기술 개요
핵심적으로 프록시 계약은 구현 계약으로 알려진 다른 계약을 중심으로 정면 또는 포장지 역할을합니다. 사용자가 프록시와 상호 작용하면 delegatecall Opcode를 사용하여 기능 호출을 구현 계약으로 전달합니다. 이 Opcode는 논리가 다른 곳에 상주하더라도 실행 컨텍스트 (예 : 스토리지 및 발신자 주소)가 프록시 상태와 일치하는 상태를 유지합니다.
- 프록시는 계약의 상태를 유지합니다.
- 구현 계약에는 비즈니스 논리가 포함되어 있습니다.
- 사용자의 기능 호출은 프록시를 통해 현재 구현으로 라우팅됩니다.
이 분리를 통해 구현에 대한 업데이트가 가능하면서 프록시 주소와 관련된 모든 기존 데이터 및 상호 작용을 보존 할 수 있습니다.
업그레이드 가능성을 가능하게하는 DelegateCall의 역할
프록시 계약의 업그레이드 가능성을 가능하게하는 주요 기술 기능은 delegatecall 메커니즘입니다. Solidity에서 delegatecall 한 계약을 통해 발신자의 스토리지, 값 및 컨텍스트를 유지하면서 다른 계약에서 코드를 실행할 수 있습니다. 이는 프록시 계약이 delegatecall 사용하여 구현 계약에서 기능을 호출 할 때 실행 중에 변경된 변경이 구현이 아닌 대리의 스토리지에 영향을 미친다는 것을 의미합니다.
이 동작은 다음과 같이 필수적입니다.
- 업그레이드 후에도 데이터가 지속되도록합니다.
- 스토리지에서 논리를 분리시켜 향후 수정에 필요합니다.
delegatecall 없으면 업그레이드는 계약과 관련 데이터를 모두 재배치해야하므로 잠재적 인 불일치와 정보 손실로 이어집니다.
실제로 사용되는 프록시 패턴의 유형
이더 리움 생태계 내에 몇 가지 프록시 패턴이 존재하며, 각각의 복잡성과 제어를 제공합니다.
투명 프록시 패턴 :이 접근법은 발신자가 관리자가 아닌 한 모든 외부 호출을 구현 계약으로 라우팅합니다. 이를 통해 거버넌스 운영이 정기적 인 사용자 상호 작용을 방해하지 않도록합니다.
UUPS (범용 업그레이드 가능 프록시 표준) :이 모델에서 업그레이드 로직은 구현 계약 자체의 일부입니다. 이는 구현 수준에서 업그레이드를 제어 할 수 있도록하여 중앙 집중화 위험을 줄입니다.
Beacon Proxy Pattern : 구현 주소를 하드 코딩하는 대신 Beacon Proxy는 별도의 비콘 계약에서 최신 구현 주소를 검색합니다. 이를 통해 여러 프록시에서 대량 업그레이드가 동시에 가능합니다.
이러한 각 모델은 보안, 탈 중앙화 및 유지 보수 용이성 측면에서 트레이드 오프가있어 프로젝트 요구 사항에 따라 다양한 사용 사례에 적합합니다.
기본 프록시 계약 구현 : 단계별 안내서
기본 프록시 계약을 작성하려면 몇 가지 정확한 단계가 필요합니다. 견고성을 사용하여 수동으로 수행하는 방법은 다음과 같습니다.
구현 계약 작성 : 표준 견고 계약에서 응용 프로그램의 핵심 논리를 정의하십시오. 예를 들어, 균형 추적 및 전송 기능으로 간단한 토큰 계약을 만듭니다.
구현 계약 배포 : Hardhat 또는 Truffle과 같은 배포 스크립트 또는 도구를 사용하여 구현 계약을 원하는 네트워크에 배포하십시오. 계약 주소를 기록하십시오.
프록시 계약 만들기 : 구현 주소를 저장하고
delegatecall사용하여 들어오는 거래를 전달하는 프록시 계약을 작성하십시오. 폴백 함수가 알 수없는 기능 호출을 올바르게 처리하는지 확인하십시오.
pragma solidity ^0.8.0;계약 프록시 {address public implementation; constructor(address _implementation) { implementation = _implementation; } fallback() external payable { address impl = implementation; assembly { let ptr := mload(0x40) calldatacopy(ptr, 0, calldatasize()) let result := delegatecall(gas(), impl, ptr, calldatasize(), 0, 0) let size := returndatasize() returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } }}
프록시 계약 배포 : 프록시를 배치하고 구현 주소를 생성자에게 전달하십시오.
프록시와 상호 작용하십시오 : 모든 사용자 상호 작용은 프록시 계약을 거쳐야하여 지속적인 상태를 유지하면서 올바른 논리가 실행되도록해야합니다.
보안 고려 사항 및 모범 사례
업그레이드 가능성은 새로운 공격 벡터를 도입하고 신중한 취급이 필요합니다. 몇 가지 중요한 고려 사항은 다음과 같습니다.
관리자 액세스 제어 : 신뢰할 수있는 엔티티 만 업그레이드를 시작할 수 있어야합니다. 무단 변경 사항을 방지하기 위해 다중 서명 지갑 또는 타임 락을 구현하십시오.
스토리지 충돌 : 프록시 및 구현 계약에 스토리지 변수가 겹치는 경우 데이터 손상이 발생할 수 있습니다. 충돌을 피하기 위해 OpenZeppelin의
Initializable와 같은 라이브러리를 사용하십시오.테스트 및 감사 : 스테이징 환경에서 프록시 기반 시스템을 철저히 테스트합니다. 악용 가능한 취약점이 없는지 확인하기 위해 Mainnet에 배포하기 전에 공식 감사를 수행하십시오.
문서 및 투명성 : 업그레이드 절차를 명확하게 문서화하고 잠재적 변경에 대해 사용자와의 투명성을 유지합니다.
모범 사례를 준수함으로써 개발자는 위험을 완화하면서 업그레이드 가능한 스마트 계약의 이점을 활용할 수 있습니다.
자주 묻는 질문
Q1 : 누구든지 프록시 계약을 업그레이드 할 수 있습니까? 아니요, 일반적으로 액세스 제어 메커니즘에 의해 관리되는 관리 권한을 가진 주소 만 업그레이드를 수행 할 수 있습니다. 무단 액세스를 방지하려면 적절한 역할 관리가 필수적입니다.
Q2 : 과거 버전의 구현 계약을 추적 할 수 있습니까? 그렇습니다. 과거 구현 주소를 쇄 또는 오프 체인을 저장함으로써 개발자는 특정 기간 동안 사용 된 이전 버전을 감사하고 확인할 수 있습니다.
Q3 : 통화 중에 구현 계약이 되돌아 오면 어떻게됩니까? 구현 계약이 되돌아 가면 거래가 실패하고 통화 중에 주정부 변경이 롤백됩니다. 프록시 계약은 실패한 논리 변경을 유지하지 않습니다.
Q4 : 프록시 계약은 모든 이더 리움 가상 머신 (EVM)과 호환됩니까? 예, delegatecall 과 같은 기본 EVM 기능에 의존하기 때문에 프록시 계약은 Binance Smart Chain, Polygon 및 Avalanche와 같은 모든 EVM 호환 네트워크에서 작동합니다.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- DeepSnitch AI 사전 판매는 다음 100X 보석을 위한 스마트 머니 사냥으로 암호화폐 침체를 극복합니다.
- 2026-02-06 00:55:01
- 비트코인의 빅 딥: 가격 급락, 변동성 및 암호화폐 롤러코스터 지속
- 2026-02-06 00:55:01
- Vitalik Buterin은 Ethereum의 L2 체인을 재고합니다: 확장성과 개인 정보 보호를 위한 새로운 시대?
- 2026-02-05 22:20:01
- Espresso의 토큰경제학 공개, 코인베이스 로드맵이 관심을 불러일으키고 현대 토큰경제학 살펴보기
- 2026-02-05 22:15:01
- UBS는 암호화폐와 비트코인을 수용합니다: 토큰화를 향한 전략적 중심점
- 2026-02-05 22:25:01
- 비트코인 충돌로 인한 알트코인 순환: 암호화폐 변동성 속에서 투자 탐색
- 2026-02-05 22:20:01
관련 지식
선물에서 감정과 "복수 거래"를 관리하는 방법은 무엇입니까?
2026-02-05 00:19:32
선물시장의 감정적 요인 이해 1. 시장 변동성은 심리적 상태에 직접적인 영향을 미치며, 종종 급격한 가격 변동에 따른 두려움이나 도취감을 증폭시킵니다. 2. 손실은 뇌의 위협 대응 시스템을 활성화시켜 체계적인 분석보다는 충동적인 결정으로 이어집니다. 3. 소셜 미디어 ...
선물 진입을 위해 캔들 청산 확인을 사용하는 방법은 무엇입니까?
2026-02-05 16:20:22
캔들 마감 확인 이해 1. 캔들 종가 확인은 캔들스틱의 최종 가격이 사전 정의된 수준을 넘어서 안정될 때 발생하며 이는 잠재적인 추세 지속 또는 반전을 나타냅니다. 2. 거래자는 장중 시세나 시가보다는 종가에 의존합니다. 종가는 해당 시간 간격의 집단적 시장 합의를 반...
전체 계정 소멸을 방지하기 위해 "포지션 크기 조정"을 마스터하는 방법은 무엇입니까?
2026-02-06 00:00:24
시장 변동성 패턴 1. Bitcoin 가격 변동은 ETF 승인 발표 또는 거시 경제 데이터 공개와 같은 유동성이 높은 이벤트 중에 24시간 이내에 10%를 초과하는 경우가 많습니다. 2. BTC와 알트코인의 상관관계는 약세 국면에서 크게 강화되며, 때로는 30일 기준으...
공포탐욕 지수를 사용하여 시장 심리를 분석하는 방법은 무엇입니까?
2026-02-05 07:40:21
공포와 탐욕 지수 이해하기 1. 공포와 탐욕 지수는 암호화폐 투자자들 사이에 만연한 감정 상태를 정량화하기 위해 고안된 복합 지표입니다. 변동성, 시장 모멘텀, 소셜 미디어 활동, 설문조사 결과, Bitcoin 지배력, 검색 동향 등 다양한 소스의 데이터를 집계합니다....
피싱 방지 코드로 선물 계정을 보호하는 방법은 무엇입니까?
2026-02-05 20:40:18
암호화폐 선물 거래의 피싱 방지 코드 이해 1. 피싱 방지 코드는 사용자 로그인 세션 및 거래 요청을 인증하기 위해 선물 거래소에서 생성된 고유한 영숫자 문자열입니다. 2. 이러한 코드는 표준 2단계 인증 이상의 추가 확인 계층 역할을 하며, 피싱 웹사이트나 악성 브라...
거래량 프로필을 사용하여 주요 선물 진입 수준을 찾는 방법은 무엇입니까?
2026-02-04 23:39:35
볼륨 프로필 구조 이해 1. 거래량 프로필은 정의된 기간 동안 특정 가격 수준의 거래량 분포를 차트에 수평 히스토그램으로 표시합니다. 2. 통제점(POC)은 거래량 집중도가 가장 높은 가격 수준을 나타내며 종종 가격 반전을 위한 자석 역할을 합니다. 3. VAH(Val...
선물에서 감정과 "복수 거래"를 관리하는 방법은 무엇입니까?
2026-02-05 00:19:32
선물시장의 감정적 요인 이해 1. 시장 변동성은 심리적 상태에 직접적인 영향을 미치며, 종종 급격한 가격 변동에 따른 두려움이나 도취감을 증폭시킵니다. 2. 손실은 뇌의 위협 대응 시스템을 활성화시켜 체계적인 분석보다는 충동적인 결정으로 이어집니다. 3. 소셜 미디어 ...
선물 진입을 위해 캔들 청산 확인을 사용하는 방법은 무엇입니까?
2026-02-05 16:20:22
캔들 마감 확인 이해 1. 캔들 종가 확인은 캔들스틱의 최종 가격이 사전 정의된 수준을 넘어서 안정될 때 발생하며 이는 잠재적인 추세 지속 또는 반전을 나타냅니다. 2. 거래자는 장중 시세나 시가보다는 종가에 의존합니다. 종가는 해당 시간 간격의 집단적 시장 합의를 반...
전체 계정 소멸을 방지하기 위해 "포지션 크기 조정"을 마스터하는 방법은 무엇입니까?
2026-02-06 00:00:24
시장 변동성 패턴 1. Bitcoin 가격 변동은 ETF 승인 발표 또는 거시 경제 데이터 공개와 같은 유동성이 높은 이벤트 중에 24시간 이내에 10%를 초과하는 경우가 많습니다. 2. BTC와 알트코인의 상관관계는 약세 국면에서 크게 강화되며, 때로는 30일 기준으...
공포탐욕 지수를 사용하여 시장 심리를 분석하는 방법은 무엇입니까?
2026-02-05 07:40:21
공포와 탐욕 지수 이해하기 1. 공포와 탐욕 지수는 암호화폐 투자자들 사이에 만연한 감정 상태를 정량화하기 위해 고안된 복합 지표입니다. 변동성, 시장 모멘텀, 소셜 미디어 활동, 설문조사 결과, Bitcoin 지배력, 검색 동향 등 다양한 소스의 데이터를 집계합니다....
피싱 방지 코드로 선물 계정을 보호하는 방법은 무엇입니까?
2026-02-05 20:40:18
암호화폐 선물 거래의 피싱 방지 코드 이해 1. 피싱 방지 코드는 사용자 로그인 세션 및 거래 요청을 인증하기 위해 선물 거래소에서 생성된 고유한 영숫자 문자열입니다. 2. 이러한 코드는 표준 2단계 인증 이상의 추가 확인 계층 역할을 하며, 피싱 웹사이트나 악성 브라...
거래량 프로필을 사용하여 주요 선물 진입 수준을 찾는 방법은 무엇입니까?
2026-02-04 23:39:35
볼륨 프로필 구조 이해 1. 거래량 프로필은 정의된 기간 동안 특정 가격 수준의 거래량 분포를 차트에 수평 히스토그램으로 표시합니다. 2. 통제점(POC)은 거래량 집중도가 가장 높은 가격 수준을 나타내며 종종 가격 반전을 위한 자석 역할을 합니다. 3. VAH(Val...
모든 기사 보기














