Take a closer look at Ethereum.
#1.Summary.
이더리움이란 게 전에 짧게 썼던 글로 설명이 되기는 커녕 부족한 부분에 많기에 좀 더 공부하면서 알게 된 내용들에 대해 설명해보겠고, 이더리움을 어느 정도 아시는 분이 이 글을 보면 굳이 보실 필요는 없다. 예전 글에 비해 중복되는 내용도 많고 난 아직 걸음마 단계라는 것을 미리 말씀드리고 싶다.
#2.BitCoin vs Ethereum.
#2-1 많은 차이점이 있지만 이더리움은 튜링 완전성이라는 개념을 통해 비트코인보다 좀 더 많은 것을 할 수 있게 되었다.
#2-2 여러 글에서 말했지만 스마트 계약이라는 개념이 이더리움의 핵심.
#2-3 이더리움은 비탈릭 뷰테린이라는 러시아 사람이 만듬.
#2-4 이더리움의 화폐는 Ether(이더)
CF) 이더 != Gas(이더랑 Gas랑 같은 개념 X).
#2-5 이더리움은 EVM(Ethereum Virtual Machine)이라는 컴퓨터 런타임 환경을 통해 돌린다.
#2-6 비트코인은 처음에 전자 P2P 화폐로 개발되었다. 언어는 상당히 간단하고 장부에 다 적으면 된다. 즉 프로그래밍적으로 상당히 간단한 함수이다. 이더리움은 전자화폐+블록체인 기반 다양한 계약 조건을 수행하기 위해 누차 언급했던 스마트 계약이라는 개념을 도입했다.
#2-7 비트코인은 단순한 스택 기반의 스크립트 언어라서 기초적인 함수만 사용한다.반대로 이더리움은 모든 계약의 조건을 다 구현하기 위해서 좀 더 복잡하다. 즉 비트코인은 정해져 있는 기능만 돌아갈 수 있고, 이더리움은 Dapp이라는 것을 통해 무궁무진한 플랫폼으로 기능할 것이다.
#3.Etherium review and more.
#3-1 블록체인 기반의 분산 컴퓨팅 플랫폼이다.
#3-2 튜링 완전한 프로그래밍 언어를 포함하고 있어 스마트 계약과 분산 어플리케이션을 구현할 수 있다.
#3-3 EVM을 통해 모든 참가자(node)들의 PC에서 동일한 연산을 수행하며 이를 통해 동일한 상태에 합의한다. 전 세계 모든 참가자가 동일한 하나의 PC로 돌리는 것과 동일하기에 세계 컴퓨터(World Computer)라고 한다.
#3-4 암호화 자체 화폐 토큰인 Ether(이더)가 있으며 계좌 간 송금 및 가스 구입을 통한 이더리움의 자원 사용에 쓰인다.
#3-5 스마트 계약(Smart Contract) ==> 온라인 상에서 특정 계약 조건을 실행한다.스마트 계약 자체가 코드로서 블록체인 위에 기록되기 때문에 어느 누구도 처음 명시된 조건 이외의 경우 계약 조건을 바꿀 수 없고 특정 조건을 만족시키는 경우는 계약의 내용이 자동적으로 무조건 실행되도록 설계되어 있다.
#3-6 Dapp(Decentralized Applications) ==> 중앙중개기관 없이 다양한 종류의 서비스를 사용자들에게 제공하는 어플리케이션.기존에 있던 어플리케이션의 백엔트 코드가 중앙 서버에서 실행된다면 Dapp의 백엔드 코드는 분산화된 P2P 네트워크에서 실행된다.
#3-7 가스(Gas)는 이더리움의 자원을 사용하는데 필요한 원재료..연료.
즉 이더리움의 연산력을 사용하기 위해서는 특정 대가를 지불해야 하는데 이게 바로 가스(Gas).
이더와 가스가 분리되어 있는 이유는 연산력의 시장 가격과 연산력 측정의 단위를 분리하기 위해서다.
#4.Account.
#4-1 외부 소유 계좌(EOA ==> Externally Owned Account) ==> 개인 키(Private Key)를 가지고 통제할 수 있는 계좌로서 다른 계좌로 이더를 송금하거나 메시지를 보낼 수 있다.
#4-2 계약 계좌(CA ==> Contract Account) ==> 계약의 코드에 의해 통제되는 계좌.계약 계좌가 특정 메시지를 받게 되면 계좌내 코드가 실행되며 내부 저장 공간에 정보를 읽고 쓸 수 있다.
#5.Account Structure.
#5-1 논스(Nonce) ==> 거래가 반복되어 시행되는 것을 막기 위한 카운터 값.
#5-2 이더량(Ether Balance) ==> 계좌가 보유하고 있는 이더의 양.
#5-3 계약 코드(Contract Code) ==> 실제로 실행될 계약의 내용을 적혀져 있는 코드로서 계약 계좌의 경우에만 존재.
#5-4 저장 공간(Storage) ==> 계약에 필요한 정보들을 저장하는 공간으로서 계약 계좌의 경우에만 존재.
#6.What I want to say.
#6-1 이더리움을 포함한 대부분의 블록체인은 데이터의 저장 및 가공의 높은 중복성을 가지고 있다.전 세계 참가자들이 동일한 데이터를 저장하고 동일한 연산을 중복되게 실시하기에 결국 사용할 수 있는 자원은 당연히 한계가 있다.
#6-2 비허가성 블록체인이기 때문에, 즉 누구나 블록체인을 읽고 쓸 수 있기에 일명 공유지의 비극(Tragedy Of Commons)을 막기 위해 한정된 자원에 비용을 매길 필요가 대두되고 있다.
#7.Development Phase of Ethereum.
1단계(Frontier) ==> 이더리움의 가장 기초적인 형태로서 커맨드 라인 인터페이스를 통해 이더 계약을 업로드하고 실행시킬 수 있다. 채굴자들은 채굴을 시작하고 거래소에서 이더 거래가 가능하다. 분산 어플리케이션(Dapp)을 테스트할 수 있고 이더를 구입하여 자신의 소프트웨어를 이더리움에 업로드 가능하다.
2단계(Homestead) ==> 홈스테드 단계는 프론티어에 대한 광범위한 테스트가 끝나고 코어 개발자들이 안정적이고 안전하다고 판단될 때 시작한다. 홈스테드 단계의 이더리움은 안전하다고 판단될 수 있다. 2단계까지는 이더리움의 베타(Beta)버전으로서 이더리움의 주요 프로젝트들이 처음 개발 및 구현되었다.
3단계(Metropolis) ==> 기술을 모르는 일반인들도 사용할 수 있는 공식 인터페이스가 출시되었다. 이더리움 네트워크 위에서 다양한 프로그램들이 제대로 작동하게 되며 강력한 생태계를 갖춰가기 시작한다.
4단계(Serenity) ==> 이더리움의 마지막 단계로서 에너지 낭비가 심한 작업증명(POW)을 자산증명으로(POS)으로 전환한다. 네트워크의 확장성이 개선되어 처리속도가 빠르고 효율적이 되며 초보자들도 사용하기 쉬운 단계이다. 채굴을 없애더라도 안정적인 네트워크 확보 가능하다.
'#Virtual Currency & BlockChain' 카테고리의 다른 글
Related articles on Bitcoin. (0) | 2018.09.21 |
---|---|
Hawala System. (0) | 2018.07.27 |
Bitcoin Related Sites. (0) | 2018.07.20 |
ECDSA Source Code. (0) | 2018.07.20 |
Add Bitcoin Content. (0) | 2018.07.20 |