본문 바로가기
비트코인

블록체인 애플리케이션 개발 실전 입문 : Solidity를 이용한 이더리움 스마트 계약 구현 (위키북스 해킹 & 보안 시리즈 11) 2장

by 자유코딩 2018. 3. 30.

블록체인 애플리케이션 개발 실전 입문 : Solidity를 이용한 이더리움 스마트 계약 구현 (위키북스 해킹 & 보안 시리즈 11) 2장

 

2.1.1. 이더리움 클라이언트 소개

 

이더리움의 정의

스마트 계약을 실행 할 수 있는 플랫폼

 

2.1.2.네트워크

 

이더리움의 2가지 네트워크

 

라이브 네트워크

공개 블록체인으로써, 전 세계의 노드가 참가한다.

누구나 트랜잭션을 보낼 수 있고 , 블록체인에 접근 할 수 있다

 

테스트 네트워크

테스트 네트워크도 2가지가 있다.

Modern 테스트 넷

라이브 네트워크처럼 전 세계의 노드가 참가 할 수 있다.

사설 테스트 넷

채굴 난이도 지정 가능 -> 참가하는 노드가 쉽게 채굴 할 수 있다

채굴로 획득한 Ether는 그 테스트 넷 안에서만 사용 할 수 있다

블록체인 네트워크가 달라지면, 블록체인 내용도 달라지고 , 채굴한 Ether도 공유되지 않기 때문에 사용 할 수 없다.

 

2.1.3.Ether

이더리움에 구현된 가상 화폐

Ether는 가상 화폐로써 주고 받을 수 있지만, 계약을 이행하는 수수료로 이용 할 수도 있다.

Ether의 단위는 ether이지만 , 더 작은 단위로 나눌 수 있다.

1 ether 는 10^18 wei와 같다.

 

 단위

Wei 가치 

Wei 

wei 

1 wei 

Kwei 

10^3 wei 

1,000 

Mwei 

10^6 wei 

1,000,000 

Gwei 

10^9 wei

1,000,000,000 

microether 

10^12 wei

1,000,000,000,000 

milliether

10^15 wei

1,000,000,000,000,000 

ether

10^18 wei 

1,000,000,000,000,000,000 

 

Ether이름에 관한 이야기

이더는 영어로 Ether이고, 이건 석유화학물질 에테르입니다.

에테르는 유기용매로서 에테르추출법을 실행하면 가스가 발생합니다.

그래서 Ether도 거래에 사용하면 가스가 발생합니다.

2.1.4 Gas

Ether의 송금과 계약을 실행하기 위해서는 수수료가 필요하다.

수수료로 지불하는 Ether를 Gas라고 한다.

수수료는 Gas Fee와 Gas Price 에 의해서 결정된다.

 

Gas Fee는 요구하는 자원의 양과 복잡성으로 결정된다.(단위:Gas)

Gas Price 는 현재 Gas의 가격이다.

 

ㅁGasPrice

가스 가격은 1Gas당 가격이다.

단위 : wei/Gas

채굴자는 가스 가격이 높은 트랜잭션부터 실행 합니다.(=블록에서 가져온다)

(https://etherscan.io/chart/gasprice 에서 평균 최대 최소 가스 가격 확인 가능)

 

예) 1Gas 당 10 wei

송금 트랜잭션 가스 수수료 21,000Gas

가스 가격 2.2 * 10^10 wei/Gas => 1가스10^10 wei * 2.2 라는 말

 

(2.2 * 10^10)(=가스 가격) * 21,000(=송금 트랜잭션 가스 수수료) => 4.62 * 10^14

 

예제 ) 만약에 1 ether 가 100 달러라면 송금 할 때 드는 비용은 얼마인가?

 

1 ether가 10^18 wei와 같다는 것을 다시 한번 생각해보겠습니다.

 

1 ether = 100달러 = 10^18 wei

 

4.62 * 10^14를 1 ether가 10^18 wei로 변환 된다는 것을 생각해서 단위를 조금 바꿔 보겠습니다.

 

4.62 * 10^14는 0.462 * 10^15 로 변환됩니다.

 

0.462 * 10^15는 0.0462 * 10^16으로 변환됩니다.

 

0.00462 * 10^17 에서 0.000462 * 10^18 으로 변환됩니다.

 

예제에서는 100 달러(1ether)를 송금하고 있으니까, 0.000462 * 10^18에 100을 곱해줍니다.

 

100(10^2) * 0.000462 * 10^18 => 0.0462 * 10^18 => 송금 비용은 0.0462 달러가 됩니다.

 

Gaslimit 설명

트랜잭션을 실행 할 때, 설정 할 수 있는 인수의 한가지이다.

해당 트랜잭션의 처리에 드는 최대값을 정하는 것이다.

만약, Gaslimit을 넘는다면 그 이상은 처리하지 않고, 실행 전 상태로 돌린다.

 

쉽게 말하면 현재 사용자가 진행하려고 하는 거래(=작업)가 최대 몇 가스를 발생 시킬지에 대한

작업량 예상치입니다.

Gaslimit = 송금 작업에서 소비되는 가스 량

 

GasPrice = '내'가 가스 당 지불할 가격

 

다음 글에서는 Geth 설치와 실행에 대해서 알아보도록 하겠습니다.

댓글