본문 바로가기
BlockChain/Ethereum

[Ethereum] 이더리움 플랫폼의 작동 원리

by 손정빈 2019. 4. 23.
728x90
반응형

우선 간단하게 이더리움은 스마트 컨트랙트와 탈중앙화 된 앱인 댑 등의 기술을 통해 다양한 분야에 적용할 수 있는 컴퓨팅 플랫폼입니다.

 

조금 자세하게 설명하자면 이더리움은 스마트 컨트랙트라는 혁신적인 기능을 제공해주는데, 이 기능을 통해 이더리움 개발자들은 거래 세부 내용을 직접 개발 코드로 프로그래밍하고 이를 블록 내에 포함 할 수 있으며 제3자의 개입 없이 특정 계약 조건이 만족되면 자동으로 실행할 수 있습니다. 

 

예를 들어, 특정 사람 간에 어떤 작업을 완료했을 경우 자동으로 암호화폐를 통해 대가를 지급되도록 만들 수 있습니다.

이 기능이 비트코인과 이더리움의 가장 큰 차이점이라고 할 수 있죠.

 

그러면 지금부터 이더리움 플롯폼에 대해서 하나씩 알아보겠습니다.

 

이더리움 단일 상태 모델

이더리움은 네트워크 상에서 서로 모르고 신뢰할 수 없는 개인들 간의 합의 과정을 통해 트랜잭션이 처리되도록 설계되었습니다. 트랜잭션이 발생할 때마다 이에 대한 신뢰여부를 참여자들에게 묻고 과반수가 문제없다는 합의가 될 경우에만 해당 트랜잭션이 처리되어야 하며, 합법적으로 처리된 트랜잭션은 어카운트의 상태 변화를 가져옵니다. 따라서 이더리움 플랫폼을 이해하기 위해서는 이러한 상태 변화를 유발하는 과정을 먼저 이해해야 합니다.

 

현실에서는 위와 같이 한사람의 계좌에서 다른 사람의 계좌로 돈을 송금하는 것과 같이 계좌의 상태 전이를 유발하는 일련의 행위를 트랜잭션이라고 합니다. 실제 현실에서는 은행의 트랜잭션이 발생할 때마다 사람들의 계좌 상태가 변하며, 이 모든 변화는 시간에 따라 일련의 순서를 갖고 서로 영향을 주고 받으며 중앙의 은행 원장에 관련 정보를 모두 기록합니다. 결국, 사람들 간의 모든 거래의 유효성은 중앙 은행에서 관리하고 이를 중앙 원장에 모든 거래 내용을 기록하게 되는 것이죠.

 

또한 상태 전이는 특정 시점의 현재 상태 S가 상태 변이 함수(Apply())에 의해 다른 상태(S')로 전이 되거나 실패하고 이전 상태로 복귀되는 것을 말합니다.

 

여튼 이더리움에서는 이러한 상태라는 것을 이해하는 것이 중요합니다. 이더리움에서 모든 기본 단위는 어카운트(account)인데, 잔액이나 트랜잭션, 스마트 컨트랙트의 컴파일된 중간 코드처럼 필요한 데이터를 저장하기 위한 일련의 저장 공간들은 갖는데 이러한 모든 것을 계좌의 상태라 합니다. 따라서 이더리움의 전체 상태는 전체 계좌의 상태를 말하는 것입니다.

 

이더리움 플랫폼 참조 모델

이더리움 플랫폼은 여러 구성요소로 이루어져 있는데 아래의 그림과 같이 크게 5가지로 나눌 수 있습니다.

- 데이터 계층 : 이더리움에서 다루는 각종 데이터 구조를 정의하고 관련된 데이터를 관리하는 계층

- 합의 계층 : 계좌에 의해 생성된 트랜잭션과 트랜잭션들과 관련된 데이터들이 모여 있는 블록의 유효성을 검증하는 합의 엔진 등을 관리하는 계층

- 실행 계층 : 스마트 컨트랙트와 EVM(ethereum Virtual Machine)의 처리를 담당하는 계층

- 공통 계층 : 이더리움에서 공통적으로 사용하는 기능들을 제공하는 계층

- 응용 계층 : Dapp 등

 

각 계층에 대해서 다음 게시글에서 알아보도록 하겠습니다.

 

반응형

'BlockChain > Ethereum' 카테고리의 다른 글

[Ethereum] 튜링이란?  (0) 2019.04.30
[Ethereum] What is Ethereum?  (0) 2019.04.30
[Ethereum] 엉클블록과 고스트 프로토콜  (0) 2019.04.25
[Ethereum] 계좌와 트랜잭션  (0) 2019.04.23

댓글