EVM(Ethereum-Virtual-Machine)에 해당되는 글 1건

Ethereum Virtual Machine (EVM)는 Ethereum 블록체인에서 스마트 계약을 실행하는 튜링 완전한 스택 기반 가상 머신입니다.

EVM은 Ethereum에서 스마트 컨트랙트의 런타임 환경입니다. 이는 샌드박스 환경으로, EVM 내부에서 실행되는 코드는 네트워크, 파일 시스템 또는 호스트 머신의 다른 프로세스에 직접 액세스할 수 없습니다. 이 설계는 보안에 매우 중요하며, 악의적인 스마트 컨트랙트가 광범위한 피해를 입히는 것을 방지합니다. EVM은 스택 기반 아키텍처에서 작동하며 바이트코드 명령을 실행합니다. 모든 Ethereum 노드는 EVM의 인스턴스를 실행하여, 스마트 컨트랙트와 관련된 각 트랜잭션 후에 모든 노드가 블록체인의 상태에 동의하도록 합니다. 이 합의 메커니즘은 Ethereum의 운영에 필수적입니다.

EVM의 설계는 임의의 코드를 실행할 수 있도록 하여 Ethereum을 프로그래밍 가능한 블록체인으로 만듭니다. 개발자는 Solidity와 같은 고급 언어로 스마트 컨트랙트를 작성하고, 이를 EVM 바이트코드로 컴파일합니다. EVM이 실행하는 것은 이 바이트코드입니다. EVM은 또한 계정 잔액, 컨트랙트 코드 및 스토리지를 포함하여 Ethereum 상태를 관리합니다. Gas는 스마트 컨트랙트에서 사용되는 계산 및 스토리지 리소스에 대한 비용을 지불하는 데 사용되어 서비스 거부 공격을 방지합니다.

        graph LR
  Center["EVM(Ethereum-Virtual-Machine)에 해당되는 글 1건"]:::main
  Pre_cryptography["cryptography"]:::pre --> Center
  click Pre_cryptography "/terms/cryptography"
  Rel_smart_contracts["smart-contracts"]:::related -.-> Center
  click Rel_smart_contracts "/terms/smart-contracts"
  Rel_solidity["solidity"]:::related -.-> Center
  click Rel_solidity "/terms/solidity"
  Rel_zkevm_zero_knowledge_ethereum_virtual_machine["zkevm-zero-knowledge-ethereum-virtual-machine"]:::related -.-> Center
  click Rel_zkevm_zero_knowledge_ethereum_virtual_machine "/terms/zkevm-zero-knowledge-ethereum-virtual-machine"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 지식 테스트

1 / 3

🧒 5살도 이해할 수 있게 설명

이더리움 가상 머신(EVM)은 이더리움 컴퓨터 안의 엔진과 같아요. 스마트 계약에 담긴 특별한 지침(바이트코드)을 읽어서, 요리사가 레시피를 단계별로 따라 하는 것처럼 행동을 수행하죠. 각 단계마다 '가스'라는 약간의 돈이 드는데, 이건 요리가 영원히 끝나지 않도록 하기 위해서예요.

🤓 Expert Deep Dive

이더리움 가상 머신(EVM)은 스마트 계약을 위해 설계된 결정론적, 스택 기반 실행 환경입니다. 핵심 기능은 이더리움 네트워크 전반에 걸쳐 트랜잭션 호출과 상태 전환을 처리하는 것입니다. EVM 명세는 연산 코드 세트, 256비트 워드 크기, 그리고 연산량을 측정하기 위한 가스 스케줄링 메커니즘을 정의합니다. 결정론은 매우 중요하며, 동일한 초기 상태에서 동일한 바이트코드를 실행하는 모든 노드는 동일한 최종 상태에 도달해야 합니다. 이는 EVM의 상태 전환 함수를 엄격하게 준수함으로써 달성됩니다. 가스 메커니즘은 리소스 남용을 방지하는 동시에 경제적 제약을 도입하여, 특히 트랜잭션 비용 및 처리량 제한과 관련하여 dApp 설계 및 사용자 경험에 상당한 영향을 미칩니다. 아키텍처적 절충점에는 복잡한 연산을 위한 스택 기반 아키텍처의 내재적 한계와 스마트 계약 실행을 위한 가스 효율성 최적화의 어려움이 포함됩니다. EVM의 설계 선택은 후속 블록체인 가상 머신 설계에 영향을 미쳤지만, 동시에 더 높은 성능과 낮은 트랜잭션 수수료를 위한 지속적인 탐구를 강조하며, 이는 레이어 2 솔루션 및 대체 실행 환경과 같은 혁신으로 이어지고 있습니다.

🔗 관련 용어

선행 지식:

📚 출처