블록체인허브 (blockchainhub.kr) - 블록체인 포털
홈 > 포럼 > XJ 블록체인아카이브
XJ 블록체인아카이브 XJ 블록체인 아카이브는 블록체인의 모든 것을 읽고 기록합니다. blog blog

이더리움을 구성하는 3가지: 블록체인, 스마트 컨트랙트, DApps

XJ블록체인 12 749 2018.11.08 12:35

안녕하세요, 블록체인 XJ 입니다.

오늘은 아침부터 비가 내리네요,

미세먼지보다는 훨씬 반갑네요 :)


오늘 준비한 글은 블록체인 이더리움 작동 원리(이더리움을 구성하는 3가지)에 대한 글입니다.

참고한 원문은 이곳에 있습니다.
잘못된 내용은 댓글로 남겨주세요, 참고하겠습니다.

글이 길다고 느껴지시면 맨 아래 요약만 읽으셔도 됩니다 ^^; 




4241944ef79749676af8d616f8515de0_1541647843_3195.png
 
이더리움은 멈추지 않는(Unstoppable) 탈중앙화 애플리케이션(DApp)을 만드는 플랫폼이다.
(Unstoppable 한국어로 그대로 번역해서 단어가 매끄럽지 못합니다. 혹시 적당한 단어가 있다면 댓글로 알려주세요. 반영하도록 하겠습니다)
Unstoppable의 이유는 애플리케이션의 작동을 멈추기 위해선 전 세계에 퍼져있는 수백 대의 컴퓨터의 이더리움 네트워크를 멈춰야 하기 때문이다. 즉, 사실상 불가능하다. 그래서 Unstoppable이라고 하는 것이다.

지금부터는 
이더리움의 작동 원리(내부 구조-3가지 요소) 대하여 최대한 쉬운 단어로 단순화하여 설명하려고 한다.

간단하게 아래 그림으로 그린 것처럼, 이더리움은 여러 개의 레이어(Layer)로 이루어진 구조라고 이해하면 된다.

가장 아래에 깔려 있는 첫 번째 기본이 되는 ‘이더리움 블록체인(Ethereum Blockchain)’ 레이어다.
트랜잭션을 처리하고 지속적으로 공유 데이터베이스를 업데이트하는 대규모 네트워크이다.
두 번째는 소프트웨어 레이어인 ‘스마트 컨트랙트(Smart Contract)’이다.
스마트 컨트랙트는 Solidity라는 프로그래밍 언어를 사용하여 이더리움 블록체인 플랫폼에서 스마트 컨트랙트를 실행할 수 있게 한다. 
마지막 
세 번째 레이어는 ‘DApp(Decentralized Application)'이다.
이더리움 사용자들에게 다양한 서비스를 제공하는 애플리케이션으로 구성되어 있다.
특별히 주목해야 할 점은 이더리움 하드웨어와 소프트웨어 레이어를 활용하여 탈중앙화된 애플리케이션(DApp)을 만들고, 중앙화로 인해 생겨나는 오류들을 제거하며, 계속해서 운영될 수 있게(Unstoppable) 만든다는 것이다. 누구든 함부로 중단시킬 수 없다.

지금부터 각 레이어들을 자세히 알아보도록 하자.

4241944ef79749676af8d616f8515de0_1541647888_2978.png

1. 이더리움 하드웨어 레이어: 블록체인(Blockchain)


당신이 지금 보고 있는 이 글은 물론 웹에서 볼 수 있는 대부분의 내용은 데이터 센터에 있는 서버에 의해서 호스팅 된다.
인터넷 창을 켜고 검색을 하게 되면 컴퓨터(클라이언트)가 해당 서버에 연결하여 원하는 콘텐츠를 다운로드한다.
과거 클라이언트-서버 인프라는 많은 클라이언트에게 콘텐츠를 배포하는 중앙 집중형 저장소(서버)가 거의 없는 인터넷용으로 설계되었지만, 오늘날의 인터넷은 우리 모두가 콘텐츠 제작자이자 사용자이기 때문에 (Web 2.0) 많은 클라이언트들을 다른 클라이언트와 연결하는 것이 가능하게 되었다.
컴퓨터는 거대한 네트워크에 연결할 수 있고 콘텐츠를 생성한 컴퓨터에서 콘텐츠를 요청한 컴퓨터까지 서로 주고받을 수 있다. 콘텐츠를 서로 전달하는 이 대규모 컴퓨터 그룹을 바로 Peer-to-peer network(P2P)라고 부른다.

이더리움 하드웨어(Ethereum Hardware) 레이어는 트랜잭션을 계산하고 공유 원장에 순서대로 기록하는 P2P 네트워크이다. 
네트워크에서 공유되는 모든 정보 즉 발생하는 모든 트랜잭션을 기록할 수 있는 탈중앙화 된 데이터베이스를 구축한다.
네트워크에 있는 각각의 컴퓨터를 노드(Node)라고 부른다.
노드는 들어오는 트랜잭션의 유효성을 확인하고, 다음 블록으로 구성한 다음 전체 이더리움 네트워크에 있는 노드들에게 알린다(Broadcast). 
이곳에 가면 실시간으로 트랜잭션을 처리하는 이더리움 네트워크를 확인할 수 있다.

4241944ef79749676af8d616f8515de0_1541647919_9504.png

트랜잭션에는 가치(Value)와 정보(Information) 모두 포함된다.
그전의 이더리움 글에서도 가치와 정보 이야기를 계속했는데 정확히 어떤 의미인지 모르는 사람들도 있을 것이다.
나도 공부하며 많은 글들을 읽고 있는데 영어에서 표현하는 가치와, 정보.. 여간 헷갈리는 게 아니다.
우선 이 글에서 말하는 
‘가치’는 Ether, 이더리움 플랫폼의 디지털 통화이다.
그리고 
‘정보’는 데이터를 전달하고 작업을 트리거 할 수 있는 코드(Code)이다.
이 부분은 이더리움의 소프트웨어 레이어와 더 관련이 있으며 하드웨어 레이어는 인터넷을 통해 연결된 수백 대의 컴퓨터로 이루어진 것이다.

누구나 노트북에서 코드를 실행하고 네트워크 트랜잭션을 처리할 수 있다.
비트코인처럼 이더리움 네트워크도 인센티브 제도가 있다.
실제로 사람들은 (노드, node) ‘Ether’를 보상으로 받는다.
이것은 플랫폼에서 실행되는 애플리케이션을 사용하는데 쓸 수 있는 중요한 자산이다.

짧은 설명이지만 여러분이 이더리움 하드웨어 레이어를 전반적으로 이해하기에는 충분할 것이다.
만약 컴퓨터가 어떻게 작업하고 트랜잭션을 어떻게 처리하는지에 대해 자세히 알고 싶다면
이 글을 읽는 것을 추천한다.


2. 이더리움 소프트웨어 레이어: Solidity


이더리움 플랫폼의 유연성은 초기 비트코인과 블록체인 애호가들 사이에서 큰 인기를 끌었다.
사실, 비트코인은 가치를 거래(교환) 하는 통화(Currency)로 만 설계되어 있는 반면 이더리움은 비트코인 기술을 확장하고 더 광범위한 범용 블록체인을 구축하기 위해 개발되었다.
(일전에 설명한 … 이더리움은 비트코인의 하드 포크..)
이더리움 소프트웨어 레이어는 통화뿐만 아닌 집, 빌딩, 신원, 예술 작품의 저작권 등 
모든 형태의 가치 거래를 가능하게 설계되었다.

그렇게 하기 위해 Solidity라는 완전히 새로운 프로그래밍 언어가 탄생하게 된다.
자바스크립트(JavaScript)와 매우 유사하다.
Solidity를 사용하여 개발자들은 기본 트랜잭션 로직을 ‘스마트 컨트랙트’라는 간단한 프로그램으로 작성할 수 있다.

예를 들어보자.
철수와 영희가 민수에게 5 ETH를 보내면, 자동으로 민수의 지갑에서 수연이에게 2 ETH가 보내진다.
스마트 컨트랙트는 이와 같은 논리를 실제로 실행할 수 있다.
(사실 이 예시만으로는 스마트 컨트랙트가 완전히 이해가 되지 않을 것입니다. 이 부분보다 더 길게 설명된 글은 여기를 참조 바랍니다.)

또한 이더리움은 누구든지 이더리움 사용자와 교환이 가능한 새로운 디지털 화폐(사실상 ‘토큰’이 더 정확하다)를 만들 수 있다.
카페에서 사용하는 포인트를 디지털화하는 것부터 특정 시장에서 새로운 경제를 창조하는 것(토큰 이코노미)까지 다양한 애플리케이션으로 구현이 가능하다.

아래 그림을 보면 Solidity 코드가 어떻게 생겼는지 볼 수 있다.
이 기본적인 스마트 컨트랙트는 새로운 토큰을 생성하고 다른 사용자에게도 전송할 수 있다.

4241944ef79749676af8d616f8515de0_1541647985_3647.png
모든 이더리움 코드는 github.com에서 확인 가능한 오픈 소스이다.
코드를 보고 작성할 줄 안다면 누구나 위에서 보여준 코드를 
다운로드하여 새로운 애플리케이션을 무료로 개발할 수 있다. 이더리움의 오픈 소스 특성은 누구나 새로운 코드 작성할 수 있고, 공유가 가능하다는 것이다.
Wikipedia를 생각하면 쉽다. 누구나 편집자가 되어 새로운 정보와 기사를 추가하거나 편집할 수 있다.
이처럼, 이더리움 플랫폼도 비슷하다.
커뮤니티가 계속해서 새로운 코드를 추가하고, 개발하고, 버그를 발견하여 수정하여 전체 이더리움 플랫폼이 발전되고 있음을 보여준다.


Solidity 프로그래밍 언어를 배우고 싶은 사람이 있다면 이더리움 공식 웹사이트와 무료 교육 사이트를 확인하면 된다.

요약하자면, 이더리움 소프트웨어 레이어는 소프트웨어 개발자들이 가치(Ether)를 프로그래밍하여 전송이 가능하게 하며, 스마트 컨트랙트를 설계할 수 있게 한다.
모든 스마트 컨트랙트 코드는 공개된 소스여서 실제로 실행되는 프로그램인지 확인이 가능하다.

3. 이더리움 애플리케이션 레이어: DApps


위에서 설명한 첫 번째, 두 번째 레이어의 조합을 통해 이더리움은 타사의 애플리케이션을 실행할 수 있는
탈중앙화된 글로벌 슈퍼컴퓨터 역할을 할 수 있게 된다.
초기에는 많은 사람들이 이더리움의 ‘Token emission’ 기능을 사용하여 새로운 프로젝트 초기 자본 조달(ICO) 하는 데만 한정된 활동만 했었다.
하지만 이더리움 애플리케이션은 금융/경제적인 부분(단순히 토큰 발행이 아닌..)을 뛰어넘어 큰 확장이 가능하다고 본다.
현재 이더리움에 900개 이상의 애플리케이션이 있으며, 그중 약 30%가 활발하게 활동 중이고 나머지 70%는 아직 개발 중이다.

4241944ef79749676af8d616f8515de0_1541648040_6157.png

계속해서 이야기하지만, 이더리움은 모든 이들에게 오픈돼 있고 투명하다.
많은 개발자들이 모여 이더리움 플랫폼의 기능과 애플리케이션의 확장을 위해 더 강력하고 큰 커뮤니티를 구축하고 있다.

공공, 탈중앙형 애플리케이션을 구축하게 된다면 몇 가지 이점이 있다.

*투명성
누구나 코드를 읽을 수 있으며 애플리케이션이 코드대로(약속한 대로) 작동하는지 확인할 수 있다. 모든 트랜잭션도 공개되며 어디로부터 온 건지 추적이 가능하다.

*탄력성
일단 애플리케이션이 이더리움에서 한번 실행되면 중지하는 것은 불가능하다.

*발전되는 코드(code)
코드가 공개돼 있기 때문에 해커들이 코드를 읽고 공격할 수 있다.
그래서 최대한 빨리, 효과적으로 버그를 수정할 수 있어야 한다. 이러한 이유로 더 나은, 더 안정적인 코드가 나온다.

매일 새로운 블록체인 프로젝트들이 쏟아지고 있다.
특별히 여러 애플리케이션들이 현재 우리가 살고 있는 세상이 더 나아지기를 바라는 마음에서 시작하는 프로젝트들이 많다(예: 
WWF).
기대하는 것은 이더리움이 현재 인터넷이 가지고 있는 여러 문제들을 더 투명하고, 개인 정보 보호를 지향하며, 더 나은 미래로 전환하는데 큰 역할을 할 수 있기를 바란다.

*****요약하자면,
이더리움에는 총 3가지 큰 특징(레이어)이 있다.
첫 번째는 블록체인 그 자체의 기술적인 특징(탈중앙화, 투명성, 공개 등등) -> 
하드웨어
두 번째는 Solidity 개발 언어로 탄생한 스마트 컨트랙트 -> 
소프트웨어
세 번째는 첫 번째 + 두 번째 합친 특징 바로, 단순 화폐로써의 기능을 뛰어넘는 다양한 탈중앙화된 애플리케이션 개발 가능 -> 
애플리케이션
 

신고
  • 카카오톡으로 보내기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오스토리로 보내기
  • 네이버밴드로 보내기
  • 네이버로 보내기
  • 텀블러로 보내기
  • 핀터레스트로 보내기

Comments

BlockchainHub 18-11-08 13:29 0   0
좋은 자료 감사합니다 ^^

축하합니다! 행운의 5 HUB가 적립되었습니다 ^.^

우갬 18-11-08 13:45 0   0
이더리움 좋은데 힘을 못써서 ㅠㅠ
초멘토 18-11-08 16:36 0   0
이제 좀 잊읍시다~ 왜 놓치를 못하는겁니꽈~ 이더!!!!!!!
도봉 18-11-08 17:42 0   0
감사감사

축하합니다! 행운의 2 HUB가 적립되었습니다 ^.^

월인천강 18-11-08 23:05 0   0
이런 개념들을 정립하고 구체화해나가고 있는 이더리움에 찬사를 보냅니다.
좋은 포럼이 생겼네요.
코인리치 18-11-13 01:20 0   0
이더리움 이라는 이름이 너무 이뻐서 관심갔던 코인~~^^ 좋은 정보 감사합니다~^^
잔챙이 18-11-19 18:47 0   0
사랑하는 이더리움이 멀어져 가네요 ㅠ ㅠ
분류

중국과 블록체인 1-1편 : 중요한 경쟁, 블록체인(배경) 6

안녕하세요, xj입니다. 오랜만에 블록체인 관련 글을 가져왔습니다. 사실 블록체인 뉴스가 뜨면 가장 관심이 가는 나라가 바로 호주와 중국입니다. 아무래도 호주에서 살았던 경험이 있기도 하고, 조용하고 느린 나라가 '블록체인' 기술을 또 야무지게 가져와 응용하는 걸 보니 신기하기도 하고... :) 또 중국...
601 | 8 | 2018.11.19

이더리움을 구성하는 3가지: 블록체인, 스마트 컨트랙트, DApps 12

안녕하세요, 블록체인 XJ 입니다.오늘은 아침부터 비가 내리네요,미세먼지보다는 훨씬 반갑네요 :)오늘 준비한 글은블록체인 이더리움 작동 원리(이더리움을 구성하는 3가지)에 대한 글입니다.참고한 원문은이곳에 있습니다.잘못된 내용은 댓글로 남겨주세요, 참고하겠습니다.글이 길다고 느껴지시면맨 아래 요약만 읽으...
750 | 14 | 2018.11.08

블록체인 DApp이 되기 위한 4가지 조건과 종류를 알아보자 11

페이스북을 살펴보면 때에 맞는(?) 흐름 혹은 트렌드가 보입니다.예전에는 그냥 보고 읽고 지나갔지만, 이번에는 빨리 캐치하여 공부하려고 합니다 :)블록체인 업계에 계시는 분들이 공통적으로 이야기하던 부분은 바로DApp이었습니다.이제는 블록체인 기술을 대중화시킬만한 킬러 댑이 빨리 나와야 한다는 이야기였지...
972 | 15 | 2018.11.06

안녕하세요, XJ입니다. 15

안녕하세요, XJ입니다.저는 현재 블록체인 업계에서 마케터로 재직 중입니다.처음 회사에 입사하고 블록체인이 뭔지 몰라 공부하기 위해 구글링을 수도 없이 한 것 같습니다.하지만 퀄리티가 있으며 한글로 된 블록체인 글을 찾기는 어려웠습니다.그래서 제가 직접 컨텐츠를 찾아서 번역하여 개인 블로그에 정리하였습니...
857 | 19 | 2018.11.05

추천 최신주간월간

최근글

최근댓글