관리 메뉴

A seeker after truth

이더리움과 솔리디티 입문(1) - 블록체인 개론 본문

Blockchain

이더리움과 솔리디티 입문(1) - 블록체인 개론

dr.meteor 2019. 10. 10. 23:53

*본문은 경희대 블록체인 학회원으로서 같은 해 상반기 동안 블록체인 기초 교육을 이수한 뒤 2019년 7월 경 <이더리움과 솔리디티 입문>(위키북스,2018) 을 읽으며 문서에 메모한 내용을 옮겨온 것입니다.

*소웨 = 소프트웨어, 하웨 = 하드웨어, 플밍 = 프로그래밍, 데베 = 데이터베이스, 컴터 = 컴퓨터, 컴과 = 컴퓨터 과학, 알고 = 알고리즘, 컴네 = 컴퓨터 네트워크 의 줄임말입니다.

 

1.     블록체인 개론

1)    블록체인이 지배하리라!

-      블록체인 = 완전한 분산형, P2P 소웨 네트워크. 암호화를 사용해 애플리케이션을 안전하게 호스팅 하고, 데이터를 저장하며, 실세계의 금전적 가치를 디지털적으로 쉽게 전송할 수 있는 수단.

-      암호화 = 메시지를 부호화하는 통신 기술. 이 기술은 수천 개의 유사 시스템으로 이뤄진 하나의 보안 컴퓨팅 환경이 중앙 권한 없이, 단일 소유자 없이 실행되도록 만든다.

 

이더리움 = 이더리움 프로토콜, 프로토콜을 사용하는 컴퓨터로 작성된 이더리움 네트워크, 이 두 가지의 개발을 진행하기 위한 이더리움 플젝.

문명의 가장 잔인한 불완전성 중 많은 부분이 블록체인의 킬러 애플리케이션이 될 수 있다

암호 경제학, 네트워크를 보호하는 보상 및 불이익 제도 체계를 이해하는 것이 어렵다.

 

계좌 관리 및 계좌 간 가치 교환의 기본 단위(= 암호화폐, 코인, 토큰)를 갖춘 키트.

본질적으로 교환 단위 = 특정 시스템 내에서만 사용할 수 있는 돈, “증서(scrip)”가 곧 토큰.

블록체인은 메쉬 네트워크 또는 LAN과 같은 방식으로 작동.

동일한 소웨를 실행하는 피어(peer) 컴퓨터에 연결된다.

웹 브라우저를 통해 이런 p2p 네트워크 중 하나에 액세스 하려면 web3.js와 같은 특수 소웨 라이브러리를 사용하고 자스 api를 통해 어플의 프론트엔드 (브라우저에서 볼 수 있는 gui)를 백엔드(블록체인)로 연결해야 한다.

금융 계약 = 스마트 계약. 시스템 내부 다른 사용자와의 계약을 작성한 것을 말함

튜링 완전성은 둘째 치고, 더 중요한 특징은 상태(state)를 저장할 수 있는 능력.

상태 저장(stateful) 시스템 = 시간의 흐름에 따른 정보의 변화를 감지하고 기억할 수 있는 시스템.

제어 흐름(컴퓨터 용어) = 컴퓨팅 명령이 실행되거나 평가되는 순서. 조건문&반복문.

프로토콜(컴퓨터 용어)  = 컴퓨터가 시스템 또는 네트워크에 연결, 참여, 정보를 전송하는 방법을 설명하는 규칙. 하웨 소웨 일반 언어 지침이 포함될 수 있다.

 

 

2)    블록체인의 3요소

블록체인은 많은 컴퓨터로 분산된 DB(Database. 데이터베이스) 또는 그로 복제되는 DB로 간주할 수 있다. 이 단어가 표현하는 혁신은 네트워크의 여러 노드가 다른 순서로 트랜잭션을 수신하더라도 그 순서를 조정할 수 있는 기능!

트랜잭션을 서로 다른 순서로 수신하게 되는 것은 보통 물리적 거리로 인한 네트워크 대기 시간 때문.

이런 도달 시간 불일치를 해결한 것이 블록체인. 블록체인은 3가지 기술을 합쳐서 만들었다.

P2p 네트워킹(중앙 관리 기관에 의존하지 않고 통신할 수 있는 컴퓨터 방식), 비대칭 암호화(특정 수신자에 대해 모든 사람이 보낸 사람의 진위 여부를 확인할 수 있으면서도 의도된 수신자만 메시지 내용을 읽을 수 있음. 비트&이더는 자격 증명 집합을 만들어 토큰 소유자만이 토큰을 전송할 수 있게 한다), 암호 해싱(모든 데이터에 대해 고유의 작은 지문을 생성해 대규모 데이터셋을 신속하게 비교하고, 데이터가 변경되지 않았음을 확인하는 안전한 방법이다. 머클 트리 데이터 구조는 거래의 정렬된 순서를 기록하는 데 사용된다. 이 순서는 네트워크 상의 컴퓨터에 대한 비교의 기초 역할을 하는 지문으로 해싱되고 신속한 동기화가 가능하다.)!!

? 비트코인은 하나의 가상머신이다. 네트워크의 여러 노드에 분산되어 저장되는 간단한 데이터 베이스가 곧 가상 머신이기 때문.

이더리움은 비트코인과 상극 관계. 이더는 미래의 암호화폐가 단 하나의 탈중앙화 시스템이 될 수 없다는 입장을 암묵적으로 채택했다. 대신 탈중앙화 시스템의 분산 네트워크로써 다양한 용도와 가치를 지닌 암호화 토큰을 쉽고 빠르게 정의해 실제로 사용할 수 있는 역할을 하게 된다.

 

 

3)    비트코인 = 폰지 사기?

이더는 통화보다는 암호 재화에 가깝다.

비트코인을 실제 가치의 뭔가로 변환하는 유일한 방법은 법정 화폐와 비트코인 사이의 거래가 가능한 온라인 거래소에 접속해 다른 구매자를 찾는 방법뿐이다. 그게 아니고선 비트나 이더를 현금으로 교환해줄 수 있는 신뢰할 수 있는 단체/정부/법인이 없다. 이게 그들이 갖는 유일한 취약점이다. ‘최종 회수자가 없다는 점’.

 

 

4)    화폐가 아닌 재화인 이더

현대의 법정화폐와 비트 둘다 어떤 것에도 뒷받침되지 않지만, 둘은 차이가 있다.

전자는 정부에 의해 그 지위가 인정되며, 세금을 지불하고 국채를 사면 누구든지 기본적으로 보유할 수 있다.

암호화폐는 대중들에게 어떻게 받아들여질지가 숙제로 남아 있다. 오늘날 이러한 디지털 토큰은 기존 법정화폐 시스템 상에 있는 빠르고 안전한 공공 결제 시스템으로 인식되고 있으며, 비자 및 마스터카드와 같은 회사에서 사용하는 중앙 집중식 지불 네트워크 기술을 언젠가 대체하기 위한 실험적 구축 작업이 진행되고 있다.

 

 

5)    그레샴의 법칙

금융 상품, 계약, 보험 증권 등이 암호화폐로 표시되는 것이 중요한 이유는 뭘까?

화폐는 많은 유가 증권과 자산을 살 수 있는 수단이며, 그렇기에 저축할 만한 가치를 지닌다. 그런데 이더리움 네트워크를 사용하면 누구나 신뢰할 수 있는 자체 실행 금융 계약(스마트 계약)을 작성해 이를 통해 추후에 이더를 움직일 수 있다. 이를 통해 미래에 영향을 미치는 재정적 계약을 만들 수 있고, 계약서 상의 이해 관계자는 이더를 통해 가치를 보관할 수 있게 된다.

이 법칙의 정의는 사람들은 가치가 있는 통화를 저장하고 비축하지만 가치가 떨어질 것으로 예상하는 통화는 지출한다.

 

 

?) 프로토콜의 위력

오늘날 기술 산업을 주도하는 영역은 어플리케이션 영역이다.

이더랑 비트는 프로토콜에서 많은 것을 제공하기 때문에 어플 계층이 상대적으로 얇다. 실제로 현재까지 많은 비트코인 기반 회사는 이미 구성된 효과적인 지불 네트워크 위에 최소한의 어플 계층을 쌓았다. 새로운 네트워크 프로토콜을 발동시키는 빠르고 유례없는 새로운 방법이 등장했다.

전통적인 웹 어플은 사용자 데이터를 저장하고 교환하도록 설계되어야 하기 때문에 많은 비용이 소요되며, 신뢰를 이끌어내기 위해 악의적인 행위자를 격리할 수 있는 시스템이 필요하다. 실제로 사슬 데이터 센터들은 방폭망과 철조망으로 둘러싸여 있다. 이런 사설 인프라 계층에서 제공하는 보안이 안전한 분산 네트워크로 대체되면, 온라인 비즈니스 운영자는 오버헤드 비용을 크게 절감할 수 있다. 보안성이 뛰어나 경제적이기에 상당한 파괴력을 지니고 있다.

 

 

8) 결제 시스템에 응용하기

어플 백엔드에서 솔리디티 코드를 사용하면 타사 라이브러리나 고급 플밍 노하우 없이도 소액 결제, 사용자 계정 및 기능을 간단한 컴퓨터 프로그램에 추가할 수 있다.

자스 어플이 퍼블릭 이더리움 블록체인과 상호작용하기 위해 필요한 소웨 라이브러리는 web3.js뿐이다.

지적 재산권, 라이선스, 콘텐츠 로열티와 같은 분야로 이더리움 응용 가능. 플랫폼의 경쟁 상대가 될 수 있다.

이더 네트워크에서 컴퓨팅 시간에 대한 비용을 지불한다는 것은, 트랜잭션을 실행하고 스마트 계약에 포함된 데이터의 저장에 드는 비용을 포함한다.

스마트 계약을 실행하고 이더 잔고에서 수수료를 지불하면 해당 데이터가 다음 블록에 포함된다. 모든 노드가 모든 계약의 전체 상태 데이터베이스를 유지해야 하기 때문에 모든 노드가 데이터베이스를 로컬로 쿼리할 수 있다.

 

채굴 = 이더 네트워크에 가입해 트랜잭션 유효성 검사를 하는 것

채굴 노드는 협의를 통해 시스템 전반의 트랜잭션 순서에 대한 합의에 도달한다.

이 과정은 전기를 소비하므로 비용이 들며, 채굴자들은 채굴한 블록에 대해 5이더에 해당하는 보상을 받음. 그리고 네트워크에서 스크립트를 실행하는 대가로 가스’(gas)를 받기도 한다. 이 서버의 전기세 비용은 이더란 암호 재화에 본질적인 가치를 부여하는 요소 중 하나다. 채굴 기계를 운영하기 위해 전기 회사에게 실제 돈을 지불했다는 뜻이기 때문이다.

미스트 = 네이티브 이더리움 브라우저.

 

이더 어플은 단일 서버에서 호스팅되지 않지만, 어플 내부는 자바스크립트처럼 보이는 간단한 스마트 계약 파일이다. 이 어플은 우선적으로 로컬에서 생성되며, 후에 전체 네트워크로 전파하여 분산된 방식으로 호스트 되도록 만들 수 있다. 즉 네트워킹, 앱 호스팅, 데이터 바인딩을 하나로 결합한다. 하지만 배포 과정은 매우 까다롭다.

유동성 = 코인의 유통 및 이용 가능성 -> 높으면 코인 가격 안정화, 네트워크 효과

이더리움을 포크해서 만든 블록체인 = 프라이빗 블록체인.

 

이더는 프로토콜 수준의 신뢰 및 보안성을 통해 소웨 구축에 대한 또 다른 접근법을 제공한다. 오늘날 http 웹에 구축된 어플 데이터 계층보다 더 신뢰할 수 있는 환경에서 기업과 소비자가 상호작용할 수 있는 새로운 기회를 열고 있다.