책 리뷰/마스터링 이더리움

챕터 1 - 비트코인과 비교

곰탁 2022. 3. 30. 17:16

개방형 블록체인과 많은 공통 요소는?

 

 - peer-to-peer 네트워크

   : peer란 영어로 동료. 인터넷에 연결된 다수의 개별 사용자들이 중개 기관을 거치지 않고, 직접 데이터를 주고 받는 것을 말함. ( 기존 서버-클라이언트 방식의 데이터 전송과 본질적으로 다른 구조 ) 탈중앙화

 

 - 상태 변경을 동기화 하는 비잔틴 결함 허용 합의

   : 일부 참여자(노드)가 고장나거나 악의적으로 행동하더라도 계속 작동하도록 함.
   ( 해당 모델이 제대로 작동하기 위해서는 네트워크의 악성 노드 수가 시스템의 총 노드의 1/3과 같거나 초과할 수 없다고 가정한 상태에서 돌아감. )
   리더 노드가 백업 노드로 멀티 캐스트 후 클라이언트에게 응답.  그 중 하나가 악의적인 오류를 품고 있더라도, 동일한 결과를 보냄. 리더가 결함이 있으면 해당 리더를 판별하고 다음 리더를 대체용으로 사용하여 삭제할 수 있음.

 

 - 알고리즘( 작업증명 블록체인)

   : PoW( Proof of Work) 트랜잭션이 발생했을 경우 해당 트랜잭션이 유효한 트랜잭션인지에 대한 합의 방법 및 새로운 블록이 진짜인지, 가짜인지에 대한 검증을 수행하는 합의 알고리즘. ( 다른 방식으로 지분증명방식이 있음. 현재 이더는 지분증명 방식이 주를 삼으려고 하는 중 인 것으로 암.)

 

 - 디지털 서명과 해시

   : 디지털 서명이란 문서에 사인이나 인감 날인을 컴퓨터로 실현하기 위한 기술.

   해시란 해시 함수에 의해 얻어지는 값을 간다하게 해시라고 부른다.

( 블록체인이 전자서명과 해시가 중요한 기술인 이유는 데이터 원본 유지와 부인을 방지할 수 있기 때문이다. )

* 해시함수 또는 해시 알고리즘은 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다.

 

 - 디지털 화폐

   : 실물 화폐와 다르게 가치가 전자적으로 저장됨.


이더리움의 목적

 - 디지털 화폐 지급 네트워크가 아님. ( 비트코인과 다른 점.)

 - 월드 컴퓨터로서의 이더리움 플랫폼 사용료를 지불하기 위한 유틸리티 화폐

 

이더리움은 임의성과 무한 복잡성을 가진 코드를 실행할 수 있는 가상머신을 운영하는 범용 프로그래밍을 하기위한 블록체인으로 설계됨.

 

비트코인의 스크립트 언어가 의도적으로 지불조건에 대한 단순한 참/거짓 평가에만 제한.

이더리움 언어는 튜링완전 언어이다.

 

* 튜링완전 : 암호학자 엘런 튜링에 의해 고안된 개념

비트코인은 스마트 컨트랙트를 위해 스크립트 라는 언어를 제공한다. 해당 언어의 특징은 for문과 while을 이용할 수 없고, 조건부 흐름 제어 기능 이외에는 의도적으로 제한한다. (이유는 거래 증명을 할 때 무한 순호나에 빠지는 것을 막기 위함이다.) 튜링완전에서 요구되는 작은 단위로 이루어진 명령문의 반복 실행이 불가능 하다.

 이더리움은 달리 2세대 블록체인 기술로 솔리디티라는 프로그래밍 언어를 제공하고, 스크립트 언어의 튜링 불완전성을 가스라는 개념을 도입하였다. 즉 이더리움은 각 코드 작업마다 수수료인 가스를 부과하는 시스템 기반에서 이루어 지도록 하여 튜링 완전성을 확보했다.

 이러한 튜링 완전성 때문에 이더리움 플랫폼을 기반으로 다양한 분산 앱 (댑)을 이더리움 기반에서는 만들 수 있다.

 

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=mage7th&logNo=221561274756 

 

[ 튜링완전성 ] 개념 및 설명, 이더리움에서의 구현

1. 튜링완전성 개념 튜링완전성의 어원은 수학자 앨런 튜링(Alan M. Turing)으로부터 시작되었다. 수학...

blog.naver.com

 

'책 리뷰 > 마스터링 이더리움' 카테고리의 다른 글

챕터 1 - 이더리움의 탄생  (0) 2022.04.04
챕터 1 - 블록체인 구성요소  (0) 2022.03.31