-
Bitcoin
$118900
-0.01% -
Ethereum
$3850
-0.74% -
XRP
$3.160
-2.25% -
Tether USDt
$0.9999
-0.06% -
BNB
$824.4
-3.58% -
Solana
$184.0
-4.65% -
USDC
$0.9999
-0.03% -
Dogecoin
$0.2300
-4.92% -
TRON
$0.3417
4.76% -
Cardano
$0.8019
-3.55% -
Hyperliquid
$44.95
1.43% -
Sui
$3.898
-6.98% -
Stellar
$0.4293
-2.09% -
Chainlink
$18.26
-4.07% -
Hedera
$0.2745
-2.63% -
Bitcoin Cash
$567.9
-3.42% -
Avalanche
$24.95
-8.27% -
Litecoin
$110.1
-3.00% -
UNUS SED LEO
$8.971
0.06% -
Toncoin
$3.274
-3.26% -
Shiba Inu
$0.00001341
-5.06% -
Ethena USDe
$1.001
0.00% -
Uniswap
$10.47
-4.18% -
Polkadot
$4.030
-4.35% -
Monero
$320.0
-1.71% -
Dai
$0.0000
0.02% -
Bitget Token
$4.579
-2.57% -
Pepe
$0.00001189
-8.03% -
Cronos
$0.1448
-0.67% -
Aave
$289.2
-4.67%
스마트 계약 저장소는 어떻게 작동합니까?
이더 리움의 스마트 계약 저장소는 상태 데이터와 같은 변수가 유지되고 읽기 및 쓰기에 대한 가스 비용으로 슬롯 포장 및 효율적인 데이터 구조를 통해 최적화되는 지속적인 키 가치 저장소입니다.
2025/07/29 07:35

스마트 계약 저장 메커니즘 이해
스마트 계약 저장소는 특히 이더 리움과 같은 플랫폼에서 블록 체인 기술의 기본적인 측면입니다. 스토리지는 계약이 함수 호출간에 유지되는 지속적인 데이터를 나타냅니다. 각 트랜잭션 후 임시 및 재설정 인 메모리 또는 스택과 달리 스토리지는 지속적이며 블록 체인에 무기한 상태로 유지됩니다. 상태 변수와 같은 계약으로 선언 된 각 변수는 저장소에 저장 되며이 데이터에 액세스하거나 수정하면 가스 비용이 발생합니다.
이더 리움에서 스토리지는 각 키가 32 바이트 슬롯이고 각 값도 32 바이트 인 키 가치 저장소로 구현됩니다. 이 구조는 전체 이더 리움 상태 트리의 일부인 스토리지 트리 로 알려져 있습니다. 스토리지 슬롯에 변수를 매핑하는 것은 컴파일러 (예 : 견고성)에 의해 결정 되며이 매핑을 이해하는 것은 가스 사용을 최적화하는 데 중요합니다.
변수가 스마트 계약에 저장되는 방법
개발자가 변수를 견고성으로 선언하면 컴파일러는 스토리지 슬롯에 어떻게 포장되는지를 결정합니다. 예를 들어, 여러 변수가 단일 32 바이트 슬롯에 맞는 경우 공간을 절약하고 가스 비용을 줄이기 위해 함께 포장됩니다 . 그러나이 동작은 사용 된 변수의 유형에 따라 다릅니다. uint8
, bool
또는 address
와 같은 작은 데이터 유형은 연속 선언 된 경우 단일 슬롯에 함께 저장할 수 있습니다.
대조적으로, uint256
또는 string
같은 더 큰 유형은 자체 스토리지 슬롯을 차지합니다. 동적 배열 및 매핑은 데이터가 선언 된 슬롯에 직접 저장되지 않기 때문에 더 복잡합니다. 대신, 슬롯은 기본 참조 역할을하며 실제 데이터는 해싱 함수를 사용하여 파생 된 위치에 저장됩니다. 예를 들어, 동적 배열의 길이는베이스 슬롯에 저장되며 요소는 keccak256(baseSlot) + index
에 저장됩니다.
스토리지 액세스의 가스 비용 및 효율성
스토리지에 액세스하고 수정하는 것은 이더 리움에서 가장 비싼 작업입니다. Storage (Sload)의 독서 (sstore)는 100 가스 비용이 들며 (sstore)는 훨씬 비쌉니다. 작문 비용은 값이 0에서 0이 아닌 가스 (20,000 가스), 비 0에서 0이 아닌 (5,000 가스) 또는 0이 아닌 0 (가스를 환불)하는지 여부에 따라 다릅니다. 이 가스 모델은 개발자에게 스토리지 액세스를 최소화하고 데이터 구성 방식을 최적화하도록 장려합니다.
하나의 효과적인 최적화는 여러 변수를 단일 스토리지 슬롯에 포장하는 것 입니다. 예를 들어, bool
, uint8
및 uint16
하나의 슬롯으로 결합하면 sstore 작업의 수를 줄일 수 있습니다. 또 다른 최적화는 스토리지 로직이 더 복잡하고 비용이 많이 들기 때문에 필요한 경우에만 매핑 또는 배열을 사용하는 것입니다.
복잡한 데이터 구조의 스토리지 레이아웃
Mapping 및 Struct 와 같은 복잡한 데이터 구조는 스토리지가 할당되는 방법에 대한 깊은 이해가 필요합니다. 매핑에는 길이가 없으며 키는 직접 저장되지 않습니다. 대신, 매핑 m
에서 키 k
의 값은 keccak256(k ++ m_slot)
에 저장되며, 여기서 ++
연결을 나타냅니다. 이 해싱 메커니즘은 모든 키가 고유 한 스토리지 위치에 대한지도를 보장합니다.
스트러크는 첫 번째 선언 된 변수에서 시작하여 저장에 순차적으로 저장됩니다. 구조물에 단일 슬롯에 맞는 여러 변수가 포함되어 있으면 함께 포장됩니다. 그러나 컴파일러의 규칙에 따라 정렬을 위해 변수간에 패딩이 추가 될 수 있습니다. 구조물 멤버를 읽거나 쓸 때 스토리지를 최적화하고 가스 비용을 줄이기 위해서는 구조체 레이아웃을 이해하는 것이 필수적입니다.
스토리지 데이터 검색 및 수정
스마트 계약의 스토리지에서 데이터를 검색하려면 web3.js 또는 ethers.js 와 같은 외부 도구를 사용하여 블록 체인을 쿼리 할 수 있습니다. 이 라이브러리는 getStorageAt(address, position)
와 같은 방법을 제공하여 개발자가 특정 슬롯의 저장을 검사 할 수 있도록합니다. 그러나 반환 된 데이터를 해석하려면 계약에 사용되는 스토리지 레이아웃 및 인코딩 체계에 대한 지식이 필요합니다.
스토리지 수정은 상태 변수를 업데이트하는 기능 호출을 통해 수행됩니다. 각 수정은 가스가 비용이 들기 때문에 개발자는 종종 업데이트를 배치하거나 임시 메모리 변수를 사용하여 최종 값을 저장하기 전에 최종 값을 계산합니다. 또한 이벤트 (로그)를 사용하면 전체 스토리지 트리를 쿼리하지 않고 스토리지 변경을 추적하여 오프 체인 모니터링을보다 효율적으로 만듭니다.
스마트 계약 저장의 보안 고려 사항
스토리지의 부적절한 취급은 스토리지 충돌, 무단 액세스 또는 가스 소진 공격과 같은 취약성으로 이어질 수 있습니다. 초기화되지 않은 포인터 또는 잘못된 슬롯 계산을 사용하는 계약은 의도하지 않은 데이터를 덮어 쓸 수 있습니다. 또한, 매핑 또는 배열이 적절한 액세스 제어없이 공개적으로 노출되면 외부 계약은 잠재적으로 스토리지를 조작 할 수 있습니다.
공통 공격 벡터 중 하나는 구현 계약 및 프록시 계약이 동일한 스토리지 레이아웃을 공유하는 프록시 계약의 스토리지 충돌 입니다. 레이아웃이 일치하지 않으면 업그레이드는 기존 데이터를 손상시킬 수 있습니다. 이를 완화하기 위해 개발자는 투명한 프록시 또는 UUPS (범용 업그레이드 가능 프록시 표준) 와 같은 잘 확립 된 업그레이드 패턴을 사용해야합니다.
자주 묻는 질문
Q : 다른 계약의 스토리지에 직접 액세스 할 수 있습니까?
아니요, 스마트 계약 내에서 다른 계약의 스토리지를 직접 읽을 수는 없습니다. web3.js 또는 ethers.js와 같은 외부 도구를 사용하여 스토리지 슬롯을 체인 오프 체인으로 쿼리하는 데 사용할 수 있지만 체인 액세스는 계약의 스토리지로 제한됩니다.
Q : 견고성의 스토리지와 메모리의 차이점은 무엇입니까?
스토리지는 지속적이며 트랜잭션간에 데이터를 유지하는 반면, 각 기능 호출 후에 메모리가 일시적이며 지우 웁니다. 스토리지 작업은 메모리에 비해 가스 측면에서 더 비쌉니다.
Q : 스토리지 수정 중에 가스 환불은 어떻게 작동합니까?
스토리지 슬롯이 0으로 설정되면 (즉, 청소) 가스 환불이 적용됩니다. 이를 통해 개발자는 사용되지 않은 데이터를 정리할 수 있습니다. 그러나 환불은 제한되어 있으며 초기 가스 작성 비용을 저장에 부분적으로 상쇄합니다.
Q : 스토리지 변수는 블록 체인에 암호화됩니까?
아니요, 스마트 계약에 저장된 모든 데이터는 공개적이며 블록 체인에 액세스 할 수있는 사람에게는 보입니다. 프라이버시가 필요한 경우 개발자는 암호화 메커니즘을 체인 오프 체인을 구현하거나 제로 지식 증명과 같은 개인 정보 보호 기술을 사용해야합니다.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- AI 토큰, 이더 리움 및 시장 리더 : 새로운 시대?
- 2025-07-29 21:10:13
- Linea Airdrop : 이더 리움 정렬 및 L2 네트워크의 대담한 움직임
- 2025-07-29 21:10:13
- 비트 코인, 암호화 광업 및 핀란드 : 2025 년 북유럽 붐
- 2025-07-29 20:30:12
- Crypto Carnage : 오늘의 최고 암호화 패자 중 KNC 및 1000cat
- 2025-07-29 20:30:12
- 천재 법 : Stablecoin 규정이 미국에서 가열됩니다
- 2025-07-29 18:50:13
- Crypto Presale Mania : Punisher는 다음 비트 코인입니까?
- 2025-07-29 18:50:13
관련 지식

내 비트 스탬프 선물 포지션이 청산되는 이유는 무엇입니까?
2025-07-23 11:08:15
비트 스탬프의 선물 청산 이해 비트 스탬프 에서의 선물 거래에는 자금을 빌려서 레버리지 직책을 개방하는 것이 포함되며, 이는 잠재적 이익과 위험을 모두 증폭시킵니다. 마진 잔액이 필요한 유지 보수 임계 값 아래로 떨어지면 Bitstamp는 차용 금액을 포함하기 위해 청...

Bitstamp는 역 계약을 제공합니까?
2025-07-23 13:28:52
암호 화폐 거래에서 역 계약 이해 cryptocurrency 파생 상품의 영역에서, 역 계약은 스테이블 코인 또는 피아트 통화가 아니라 BTC 또는 ETH 와 같은 기본 암호 화폐로 정착 및 담보가 표시되는 특정 유형의 선물 또는 영구 계약입니다. 이는 상인이 역 계약...

비트 스탬프의 미래와 영구의 차이점은 무엇입니까?
2025-07-27 05:08:19
비트 스탬프의 선물 계약 이해 Bitstamp의 선물 계약은 거래자가 미리 결정된 가격과 날짜로 Bitcoin 또는 Ethereum과 같은 미래의 암호 화폐를 추측 할 수있는 금융 파생 상품입니다. 이 계약에는 고정 된 만료 날짜가 있어 향후 특정 날에 정착합니다. 선...

비트 스탬프 선물 무역 기록을 찾는 방법은 무엇입니까?
2025-07-23 08:07:56
비트 스탬프 및 선물 거래 가용성 이해 Bitstamp의 서비스 제공의 현재 상태에 따라 Bitstamp가 선물 거래를 지원하지 않음 을 명확히하는 것이 중요합니다. 이 플랫폼은 주로 Spot Cryptocurrency Exchange로 기능하며, 사용자는 현재 시장 ...

비트 스탬프 선물에서 후행 정지를 사용할 수 있습니까?
2025-07-23 13:42:32
암호 화폐 거래에서 후행 중지를 이해합니다 후행 정지는 자산 가격이 유리한 방향으로 이동함에 따라 자동으로 조정되는 동적 유형의 스톱 손실 순서입니다. 정해진 가격 수준으로 고정 된 표준 정지 손실과 달리, 후행 정지는 시장 가격을 지정된 백분율 또는 달러 금액으로 따...

비트 스탬프 선물에서 후행 정지를 사용할 수 있습니까?
2025-07-25 02:28:47
암호 화폐 선물 거래에서 후행 중지를 이해합니다 후행 정지는 시장 가격이 유리한 방향으로 이동함에 따라 자동으로 조정되는 역동적 인 유형의 스톱 손실 순서입니다. 정해진 가격으로 고정 된 표준 정지 손실과 달리, 후행 정지는 정의 된 백분율 또는 달러 거리의 자산 가격...

내 비트 스탬프 선물 포지션이 청산되는 이유는 무엇입니까?
2025-07-23 11:08:15
비트 스탬프의 선물 청산 이해 비트 스탬프 에서의 선물 거래에는 자금을 빌려서 레버리지 직책을 개방하는 것이 포함되며, 이는 잠재적 이익과 위험을 모두 증폭시킵니다. 마진 잔액이 필요한 유지 보수 임계 값 아래로 떨어지면 Bitstamp는 차용 금액을 포함하기 위해 청...

Bitstamp는 역 계약을 제공합니까?
2025-07-23 13:28:52
암호 화폐 거래에서 역 계약 이해 cryptocurrency 파생 상품의 영역에서, 역 계약은 스테이블 코인 또는 피아트 통화가 아니라 BTC 또는 ETH 와 같은 기본 암호 화폐로 정착 및 담보가 표시되는 특정 유형의 선물 또는 영구 계약입니다. 이는 상인이 역 계약...

비트 스탬프의 미래와 영구의 차이점은 무엇입니까?
2025-07-27 05:08:19
비트 스탬프의 선물 계약 이해 Bitstamp의 선물 계약은 거래자가 미리 결정된 가격과 날짜로 Bitcoin 또는 Ethereum과 같은 미래의 암호 화폐를 추측 할 수있는 금융 파생 상품입니다. 이 계약에는 고정 된 만료 날짜가 있어 향후 특정 날에 정착합니다. 선...

비트 스탬프 선물 무역 기록을 찾는 방법은 무엇입니까?
2025-07-23 08:07:56
비트 스탬프 및 선물 거래 가용성 이해 Bitstamp의 서비스 제공의 현재 상태에 따라 Bitstamp가 선물 거래를 지원하지 않음 을 명확히하는 것이 중요합니다. 이 플랫폼은 주로 Spot Cryptocurrency Exchange로 기능하며, 사용자는 현재 시장 ...

비트 스탬프 선물에서 후행 정지를 사용할 수 있습니까?
2025-07-23 13:42:32
암호 화폐 거래에서 후행 중지를 이해합니다 후행 정지는 자산 가격이 유리한 방향으로 이동함에 따라 자동으로 조정되는 동적 유형의 스톱 손실 순서입니다. 정해진 가격 수준으로 고정 된 표준 정지 손실과 달리, 후행 정지는 시장 가격을 지정된 백분율 또는 달러 금액으로 따...

비트 스탬프 선물에서 후행 정지를 사용할 수 있습니까?
2025-07-25 02:28:47
암호 화폐 선물 거래에서 후행 중지를 이해합니다 후행 정지는 시장 가격이 유리한 방향으로 이동함에 따라 자동으로 조정되는 역동적 인 유형의 스톱 손실 순서입니다. 정해진 가격으로 고정 된 표준 정지 손실과 달리, 후행 정지는 정의 된 백분율 또는 달러 거리의 자산 가격...
모든 기사 보기
