-
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%
자기 파괴의 기능은 무엇이며 보안에 미치는 영향은 무엇입니까?
The `selfdestruct` function in Solidity allows a contract to terminate and send its Ether balance to an address, but improper use can lead to fund loss or exploits.
2025/11/13 20:20
스마트 계약에서 자기 파괴의 역할 이해
1. selfdestruct 기능은 스마트 계약이 스스로 종료되고 남은 Ether 잔액을 지정된 주소로 보낼 수 있도록 하는 Solidity에 내장된 기능입니다. 이 작업은 블록체인에서 계약 코드를 영구적으로 제거하여 비활성화합니다. 일단 트리거되면 계약과 더 이상 상호 작용할 수 없으므로 되돌릴 수 없는 작업이 됩니다.
2. 개발자는 계약 수명주기 관리 중에, 특히 업그레이드 가능한 시스템을 배포할 때 종종 selfdestruct를 사용합니다. 프록시 기반 아키텍처에서는 로직을 새로운 구현으로 마이그레이션한 후 selfdestruct를 사용하여 기존 계약을 폐기할 수 있습니다. 이는 사용되지 않는 코드를 정리하고 네트워크 혼란을 줄이는 데 도움이 됩니다.
3. 또 다른 일반적인 적용 분야는 크라우드 펀딩 캠페인이나 임시 에스크로 서비스와 같은 시간 제한이 있는 계약입니다. 목적을 달성한 후 이러한 계약은 selfdestruct를 호출하여 자금을 방출하고 스스로 해체될 수 있으므로 블록체인에서 무기한 휴면 상태로 유지되지 않습니다.
4. 이 기능을 사용하려면 남은 Ether가 전송될 수취인 주소를 지정해야 합니다. 계약이 Ether 대신 토큰을 보유하는 경우, 파기 전에 명시적으로 처리하지 않으면 해당 자산에 액세스할 수 없게 되어 적절하게 관리하지 않으면 영구적인 손실이 발생할 수 있습니다.
Selfdestruct와 관련된 보안 위험
1. 가장 큰 문제는 selfdestruct 기능에 대한 무단 액세스입니다. 액세스 제어가 제대로 구현되지 않으면 악의적인 행위자가 기능을 조기에 실행하여 계약을 삭제하고 자금을 훔칠 수 있습니다. 계약은 이러한 악용을 방지하기 위해 엄격한 역할 기반 권한을 적용해야 합니다.
2. 적절한 인증이 있더라도 조건부 검사의 논리 결함으로 인해 공격자가 상태를 조작하고 selfdestruct를 호출할 자격을 얻을 수 있습니다. 예를 들어, 특정 블록 번호 이후 파기를 허용하는 계약은 해당 조건이 너무 쉽게 충족되거나 적절하게 보호되지 않는 경우 악용될 수 있습니다.
3. 업그레이드 가능한 시스템에서는 프록시 구현 계약에서 실수로 selfdestruct를 사용하면 치명적인 오류가 발생할 수 있습니다. 프록시는 구현에 대한 호출을 위임하므로 위임된 함수 내에서 selfdestruct를 호출하면 프록시 자체가 파괴되어 사용자 자금과 기능이 완전히 손실될 수 있습니다.
4. 일부 프로토콜은 회계 또는 확인 목적으로 계약 주소의 지속적인 존재에 의존합니다. 예상치 못한 자체 파괴로 인해 다른 분산형 애플리케이션과의 통합이 중단되어 생태계 전반에 불일치가 발생할 수 있습니다.
자폭 공격과 관련된 역사적 사건
1. 주목할만한 사례 중 하나는 업그레이드 후 이전 스테이킹 계약을 파기할 수 있는 마이그레이션 메커니즘을 갖춘 분산형 거래소와 관련이 있습니다. 자멸과 결합된 재진입 취약성으로 인해 공격자는 조기 종료를 강제하고 지불금을 공격자가 제어하는 지갑으로 리디렉션하여 유동성을 소모했습니다.
2. 또 다른 프로젝트에서는 개발자가 실수로 공개 호출 가능한 selfdestruct 기능이 포함된 테스트 계약을 프로덕션에 배포하여 부분적인 붕괴가 발생했습니다. 몇 분 안에 봇이 취약점을 감지하고 기능을 실행하여 잠긴 자산 수백만 개를 삭제했습니다.
3. 세간의 이목을 끄는 DAO 공격에서 비록 직접적으로 자멸이 발생하지는 않았지만 그 여파는 스마트 계약의 파괴적인 능력이 어떻게 무기화될 수 있는지를 강조했습니다. 이로 인해 전반적인 네트워크 안전을 향상시키기 위해 selfdestruct와 같은 기능을 제한하거나 더 이상 사용하지 않는 것에 대한 광범위한 논의가 이루어졌습니다.
자주 묻는 질문
selfdestruct가 호출된 후 컨트랙트의 저장소는 어떻게 되나요? selfdestruct가 실행된 후 계약의 코드와 저장소는 Ethereum 상태에서 지워집니다. 계약에 저장된 모든 데이터는 복구할 수 없게 되지만, 기록 기록은 블록체인 탐색기와 보관 노드를 통해 계속 액세스할 수 있습니다.
스스로 파괴된 계약을 되살릴 수 있나요? 아니요. 계약이 파기되면 복원할 수 없습니다. 누군가 코드를 배포하는 트랜잭션을 보내지 않는 한 동일한 주소는 새 계약을 호스팅할 수 없지만 이는 원본과 연결되지 않은 완전히 새로운 인스턴스가 됩니다.
자체 소멸이 계약에 의해 보유된 토큰 잔액에 영향을 줍니까? 이 기능은 Ether만 전송합니다. 계약이 ERC-20 또는 기타 토큰을 보유하고 있는 경우, 파기 전에 출금 기능이 실행되지 않는 한 해당 토큰은 그대로 유지됩니다. 토큰 추출을 처리하지 못하면 영구적인 손실이 발생합니다.
최신 Solidity 버전에서는 selfdestruct를 계속 사용할 수 있나요? 예, selfdestruct는 현재 버전부터 Solidity의 일부로 남아 있습니다. 그러나 보안 문제로 인해 더 이상 사용되지 않거나 제한하자는 제안이 있었습니다. 개발자는 꼭 필요한 경우가 아니면 이를 피하고 사용할 때 엄격한 보호 조치를 구현하는 것이 좋습니다.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- Bitcoin, eCash Fork 및 Airdrop Dynamics: 암호화폐의 최신 논란에 대한 심층 분석
- 2026-05-03 12:55:01
- 2026년 마이애미 컨센서스: Web3, 블록체인, 암호화폐, NFT, 메타버스, 컨퍼런스, 5월 5일 — 월스트리트가 디지털 프론티어를 만나는 곳
- 2026-05-02 12:45:01
- 연준은 금리를 안정적으로 유지하여 지정학적 긴장 속에서 비트코인 가격 하락을 촉발했습니다
- 2026-05-01 06:45:01
- 비트코인 채굴자들이 전력망을 전기화하다: 오하이오 가스 공장 인수로 디지털 금의 새로운 시대가 열리다
- 2026-05-01 00:45:01
- MegaETH의 MEGA 토큰이 빅 애플을 강타했습니다: 실시간 블록체인을 위한 새로운 성능 벤치마크 설정
- 2026-05-01 00:55:01
- 솔라나의 미끄러운 경사: 가격 예측은 저항 손실 및 추가 하락 가능성을 지적합니다.
- 2026-05-01 06:45:01
관련 지식
Bybit에서 BTC 거래를 위해 선형 및 역 무기한 계약 중에서 선택하는 방법은 무엇입니까?
2026-06-06 02:54:55
계약 정산 메커니즘 1. Bybit의 선형 무기한 계약은 USDT로 정산됩니다. 즉, 모든 손익 계산, 마진 요구 사항 및 청산 기준액이 스테이블코인 단위로 표시됩니다. 2. 역영구 계약은 BTC 자체에 정산되므로 모든 거래는 거래자의 BTC 잔액에 직접적으로 영향을 ...
헌팅 중지 및 스푸핑과 같은 선물 시장 조작을 식별하고 방지하는 방법은 무엇입니까?
2026-06-07 14:20:10
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 2020년 ...
일일 최대 손실 한도를 설정하기 위해 Bybit에서 위험 관리 규칙을 설정하는 방법은 무엇입니까?
2026-06-04 16:40:15
계정 수준 손실 한도 구성 1. 이중 인증을 사용하여 웹 또는 모바일 애플리케이션을 통해 Bybit 계정에 로그인하세요. 2. "자산" 섹션으로 이동한 후 왼쪽 메뉴에서 "위험 관리"를 선택합니다. 3. "일일 손실 한도&q...
마진 요구 사항을 줄이기 위해 Binance에서 포트폴리오 마진 모드를 활성화하는 방법은 무엇입니까?
2026-06-05 04:59:43
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...
열린 선물 포지션을 닫지 않고 Binance에서 Bybit로 이전하는 방법은 무엇입니까?
2026-06-04 03:59:47
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 2020년 ...
미국에서 암호화폐 선물 거래 수익에 따른 세금 영향을 어떻게 처리합니까?
2026-05-29 18:19:59
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 블록 보상을 통해 새로운 단위가 도입되는 2,100만 코인의 고정 공급 한도를 시행합니다. 2. 210,000블록마다(대략 4년마다) 블록 보상이 절반으로 줄어듭니다. 이 프로세스를 절반으로 줄입니다. 3....
Bybit에서 BTC 거래를 위해 선형 및 역 무기한 계약 중에서 선택하는 방법은 무엇입니까?
2026-06-06 02:54:55
계약 정산 메커니즘 1. Bybit의 선형 무기한 계약은 USDT로 정산됩니다. 즉, 모든 손익 계산, 마진 요구 사항 및 청산 기준액이 스테이블코인 단위로 표시됩니다. 2. 역영구 계약은 BTC 자체에 정산되므로 모든 거래는 거래자의 BTC 잔액에 직접적으로 영향을 ...
헌팅 중지 및 스푸핑과 같은 선물 시장 조작을 식별하고 방지하는 방법은 무엇입니까?
2026-06-07 14:20:10
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 2020년 ...
일일 최대 손실 한도를 설정하기 위해 Bybit에서 위험 관리 규칙을 설정하는 방법은 무엇입니까?
2026-06-04 16:40:15
계정 수준 손실 한도 구성 1. 이중 인증을 사용하여 웹 또는 모바일 애플리케이션을 통해 Bybit 계정에 로그인하세요. 2. "자산" 섹션으로 이동한 후 왼쪽 메뉴에서 "위험 관리"를 선택합니다. 3. "일일 손실 한도&q...
마진 요구 사항을 줄이기 위해 Binance에서 포트폴리오 마진 모드를 활성화하는 방법은 무엇입니까?
2026-06-05 04:59:43
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...
열린 선물 포지션을 닫지 않고 Binance에서 Bybit로 이전하는 방법은 무엇입니까?
2026-06-04 03:59:47
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 2020년 ...
미국에서 암호화폐 선물 거래 수익에 따른 세금 영향을 어떻게 처리합니까?
2026-05-29 18:19:59
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 블록 보상을 통해 새로운 단위가 도입되는 2,100만 코인의 고정 공급 한도를 시행합니다. 2. 210,000블록마다(대략 4년마다) 블록 보상이 절반으로 줄어듭니다. 이 프로세스를 절반으로 줄입니다. 3....
모든 기사 보기














