이번에는 이더리움 가상머신 (EVM)에 대해 설명해보도록 하겠습니다.
먼저, 이더리움이라고 하면 플랫폼 코인이며
ERC20 토큰들의 마더코인이란 사실이 자연스럽게 떠오르실겁니다.
ERC20 토큰들이 만들어지고 동작하는 장소가
바로 이 이더리움 가상머신 입니다.

이더리움 가상머신은 가상의 컴퓨터라고 보시면 됩니다.
그럼 간단하게 어떤 순서로 개발자들은 코드를 작성하고 실행하는지 보여드리겠습니다










먼저, 개발자들은 Solidity라는 언어로 코드를 작성해야 합니다.
작성된 코드를 컴파일하면 Ethereum Bytecodes 로 이더리움 가상머신이 인식 가능한 형태로 변환이 되고
이 변환된 코드가 이더리움 가상머신에서 실행되게 되는 구조입니다.

그럼 제3자가 무한루프가 도는 코드나 매우 고도의 연산량을 필요로 하는
비효율적인 코드들을 많이 생성시킨다면, 이더리움 가상머신에 매우 큰 부하가 걸릴 것입니다.
이를 예방하기 위해 이더리움 가상머신에서 동작하는 모든 코드들은
프로그램 동작단위의 일종인 task 단위로 GAS라는 수수료를 지불해야합니다.
즉, 수행해야하는 코드양이 많을수록 많은 수수료가 요구됩니다.








위 그림은 이더리움 생태계를 나타냅니다.
개발자는 스마트컨트랙트 기술을 활용하여 DApp을 개발합니다.
물론 Solidity 언어를 사용해야 합니다.
그럼 컴파일을통해 이더리움 가상머신에서 해당 코드를 실행할 수 있게 된다.
이때, 이더리움 가상머신을 동작시키는 원동력은 이더리움 노드들입니다.
즉, 채굴자들이 이더리움가상머신을 작동시키고
이로인해 수수료를 수익으로 받게됩니다.

요약하자면, 개발자는 DApp에 관련된 코드를 작성 후
이더리움 가상머신에서 실행시키며 수수료를 지불합니다.
채굴자는 이더리움 가상머신을 동작시키며
발생한 수수료를 지급받습니다.
이더리움 가상머신은 스마트컨트랙트를 처리해주는 컴퓨터라고 이해하시면 좋을듯 합니다.





'개발지식창고 > BlockChain' 카테고리의 다른 글

[용어] Smart Contract(스마트 계약)  (0) 2018.05.09
Posted by 모과이IT
,