'2018/05/09'에 해당되는 글 2건

  1. 2018.05.09 Ethereum Virtual Machine(EVM)
  2. 2018.05.09 [용어] Smart Contract(스마트 계약)

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

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










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

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








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

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





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

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

1996년 닉 자보가 처음으로 제안

2013년 비탈릭 부테린(Vitalik buterin)이 비트코인의 소스 코드를 일부 수정하여 스마트 계약 기능을 구현하고자 하였으나, 비트코인 커뮤니티에서 자신의 요구가 받아들여지지 않자, 비트코인을 Fork(소스를 복제)하여 새로 이더리움(Ethereum)이라는 가상화페를 만들고 스마트 계약 기능을 구현하였다.


스마트 계약이란?

특정 조건에 부합하는 이벤트가 발생하면 약속된 계약 내용을 자동적으로 실행하는것


예를 들면,

ICO 모금단계에서 토큰을 지급하는 행위를 스마트 계약으로 구현한다면


"조건에 부합하는 이벤트 : 이더리움 입금

계약내용 : 1이더당 해당 토큰 1만개 지급"


이러한 스마트 계약을 활용하여 DAPP을 개발



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

Ethereum Virtual Machine(EVM)  (0) 2018.05.09
Posted by 모과이IT
,