보조 제목
간단한 비유: Java 가상 머신이 Java 언어에 있는 것처럼 EVM은 Ethereum에 있습니다.
개발을 하기 전에 프로그래머는 Java 코드를 바이트코드로 컴파일해야 하지만 컴퓨터는 바이트코드를 인식할 수 없습니다.자바 가상 머신의 기능은 바이트코드를 컴퓨터 시스템이 인식할 수 있는 기계 코드 명령으로 컴파일한 다음 실행하는 것입니다. 컴퓨터에서 실행합니다. 마찬가지로 EVM은 프로그래머가 Solidity로 작성된 계약 코드를 사용하여 Ethereum 환경에서 실행할 수 있도록 하기 위해 존재합니다.
이더리움은 컴퓨터 환경과 동일하며 EVM은 계약 코드를 이더리움이 실행하도록 인식할 수 있는 기계 코드로 컴파일하는 역할을 담당합니다. 네트워크가 상대적으로 번창할 때, 즉 개발자가 애플리케이션을 구축하기 위한 수요가 상대적으로 강할 때 이더리움 네트워크에는 매일 또는 매시간 수천 개의 새로운 코드가 작성됩니다. 그러나 이러한 계약 코드를 시스템이 인식할 수 있는 언어 신호로 컴파일할 수 없으면 특정 지침 및 프로그램으로 변환할 수 없습니다. 따라서 EVM은 이더리움 생태계에서 가장 중요한 자원 변환기라고 할 수 있습니다. 그 없이는 Ethereum의 코드가 적용될 수 없습니다. 개발자가 프로그래밍 언어를 작성하기 위해 끊임없이 노력하더라도 업데이트를 중지하는 것과 같습니다. 프로그램의 코드가 업데이트를 중지하면 프로그램이 종료되고 있음을 의미합니다. 또한 EVM이 없으면 아무도 이더리움 프로토콜에서 프로그램 소프트웨어를 실행할 수 없습니다. 시스템에 작성하는 코드에 버그가 가득하기 때문입니다.
보조 제목
가장 중요한 두 가지 개념인 가상 머신과 Turing 완전성 이해
우선, 가상 머신(Virtual Machine)은 소프트웨어로 시뮬레이션되고 완전한 하드웨어 시스템 기능을 가지며 완전히 격리된 환경에서 실행되는 완전한 컴퓨터 시스템을 말합니다.
즉, 물리적 컴퓨터에서 수행할 수 있는 작업을 가상 머신에서 구현할 수 있습니다. 기존 운영 체제의 새로운 가상 이미지를 생성함으로써 가상 머신은 Windows 시스템과 정확히 동일한 기능을 갖지만 독립적으로 실행되며 실제 시스템에 영향을 미치지 않습니다.
따라서 이더리움 가상 머신(EVM)은 이더리움 스마트 컨트랙트의 운영 환경이며 시스템의 노드는 EVM을 사용하여 자체 DAPP를 실행할 수 있다고 이해할 수 있습니다. 또한 이더리움 가상 머신의 운영 환경은 메인 체인과 완전히 분리되어 있기 때문에 자연스럽게 테스트 환경을 형성합니다. 이러한 종류의 테스트 환경은 블록체인 기술에 대한 경험이 없는 많은 개발자에게 오류 코드가 이더리움 스마트 계약에 전혀 영향을 미치지 않기 때문에 과감하게 시도하고 실수할 수 있는 기회를 제공합니다.
둘째, 튜링 컴플리트(Turing complete)는 오늘날 컴퓨터의 전신인 최초의 튜링 기계를 발명한 영국의 수학자 앨런 튜링(Alan Turing)의 이름을 딴 전문 용어입니다. 나중에 컴퓨터 산업에서는 복잡한 계산을 처리할 수 있는 계산을 지칭하기 위해 튜링 완전성을 사용했습니다. 이론적으로 이더리움은 모든 유형과 기능의 컴퓨터 프로그램을 배포할 수 있지만 이러한 프로그램은 우리가 일반적으로 보는 것처럼 중앙 집중화되지 않고 분산되며 이 모든 것은 EVM의 기본 설계에 기인해야 합니다. 이러한 관점에서 비트코인은 분산 원장일 뿐이며 어떤 애플리케이션도 실행할 수 없기 때문에 튜링 완전체가 아닙니다.
보조 제목
EVM 실행 프로세스의 핵심 모듈
EVM의 운영은 이더리움의 생태계를 중심으로 밀접하게 이루어집니다. 따라서 우리에게 생소하지만 친숙하게 느껴지는 많은 이더리움 용어들은 사실 EVM과 밀접한 관련이 있습니다.
첫 번째는 opcode입니다. EVM은 Opcode를 통해 Solidity가 작성한 명령을 해석하고 번역합니다. 현재 EVM에는 140개 이상의 서로 다른 opcode가 있으며 EVM에서 직접 발행한 명령과 유사합니다. 예를 들어 CREAT opcode는 스마트 계약 생성에 해당하고 STOP opcode는 실행 중인 계약을 일시 중지하는 것을 의미합니다.
두 번째는 가스 요금입니다. 가스 요금은 EVM 환경에서 코드를 실행하는 데 사용되는 리소스이며 "gwei"(이더 단위)로 측정됩니다. 특히, 휴대폰에 다운로드하는 모든 애플리케이션이 전력과 메모리를 필요로 하는 것처럼 트랜잭션을 실행하려면 컴퓨팅 리소스와 저장 공간을 소비해야 합니다. 암시적 소비의 이 부분은 체인에서 명시적 가스 요금 비용으로 직관적으로 변환됩니다. EVM과 자동차 및 휘발유와 같은 가스 요금 간의 관계는 EVM이 명령을 실행할 때마다 해당하는 양의 가스 요금을 소비합니다.
마지막은 EVM과 모든 이더리움 사용자가 연결될 수 있는 전송 기능을 실행하는 것입니다. EVM 전송의 구체적인 단계는 다음과 같습니다.
1) 송금 금액, 서명의 유효성 등 오류가 없는지 확인
2) 전송에 필요한 가스 요금을 계산하고 가스 요금을 청구하는 명령을 실행합니다.
3) 지정된 주소로 디지털 자산을 전송합니다.
보조 제목
EVM 퍼블릭 체인의 개념과 중요한 트렌드에 대한 간략한 분석
이더리움은 공공 체인 트랙에서 확고하게 선도적인 위치에 있으며, 생태계 응용 프로그램의 수와 고정된 총 포지션의 양 측면에서 업계의 대다수를 차지합니다. 따라서 시장의 주류 퍼블릭 체인은 모두 EVM과 호환되므로 EVM 퍼블릭 체인이라고 합니다.
EVM 호환성은 퍼블릭 체인에 구축된 스마트 계약을 말하며, 이더리움에서 빠르고 편리하며 저렴한 비용으로 마이그레이션하고 원활하게 앞뒤로 이동할 수 있습니다. 현재 많은 퍼블릭 체인의 개발에서 EVM 호환 기능은 Ethereum 유출 프로젝트를 수행하는 기능을 극대화하기 위해 의도적으로 구현되며 이는 모바일 인터넷 게임 플레이의 배수와 유사합니다. 따라서 많은 퍼블릭 체인 프로젝트 당사자들은 EVM 호환성을 가장 큰 판매 포인트이자 매력으로 인식하게 될 것입니다.
보조 제목
eWASM이란 무엇입니까? EVM과의 관계는 무엇입니까?
이더리움 생태계에 익숙한 친구는 이더리움 2.0이 이더리움의 궁극적인 형태라는 것을 알고 POW-to-POS 메커니즘을 실현한 후 모든 컴퓨팅 작업을 고성능으로 처리할 수 있으며 심지어 Web2 인터넷 제품과 비교할 수 있습니다. 그러나 EVM의 현재 기본 설계 및 성능에 따르면 EVM은 실제로 이더리움 2.0의 이상적인 상태에 적응할 수 없습니다. 따라서 eWASM(WebAssemly의 ETH 버전)은 EVM의 후속 제품이자 대체 제품이 되었습니다.
WebAssemly는 웹상의 어셈블리이며 최근 몇 년 동안 등장한 웹 실행 환경으로 스택 기반 가상 머신용으로 설계된 이진 명령 형식입니다. JavaScript와 비교하여 더 나은 성능, 더 낮은 저장 비용, 더 안전한 실행 환경, 더 많은 언어 지원 등의 장점이 있습니다.
가정에 따르면 eWASM은 EVM보다 성능과 확장성이 좋기 때문에 Solidity, C++, Rust, AssemblyScript 등과 같은 프로그래밍 언어를 지원할 수 있고 계약 개발이 더 쉬울 것입니다. eWASM은 현재 웹 표준과도 호환되므로 일반 브라우저에서 더 쉽게 실행할 수 있어 사용자가 확장 프로그램 없이 DApp에 액세스할 수 있습니다.
또한 이더리움만이 WASM을 기본 실행 엔진으로 사용하는 것이 아니라 EOS, Dfinity, Polkadot, Tron, Cardano, Spacemesh 등이 모두 WASM을 채택했거나 사용하고 있습니다.
오늘 공유할 내용은 여기까지이고 나중에 다른 트랙의 주요 프로젝트에 대한 분석을 제공하겠습니다. 관심있으신 분들은 주목하시면 됩니다. 나는 또한 때때로 최첨단 상담과 프로젝트 검토를 정리하고 함께 탐구할 통화계의 모든 같은 생각을 가진 사람들을 환영합니다.
오늘 공유할 내용은 여기까지이고 나중에 다른 트랙의 주요 프로젝트에 대한 분석을 제공하겠습니다. 관심있으신 분들은 주목하시면 됩니다. 나는 또한 때때로 최첨단 상담과 프로젝트 검토를 정리하고 함께 탐구할 통화계의 모든 같은 생각을 가진 사람들을 환영합니다.
