반응형

안녕하세요.

3장에서는 블록체인을 이루는 기술 4가지를 소개하는데요. 

1. 해시함수 

2. 비대칭 암호화 기법

3. 전자서명

4. 해시퍼즐

 

 

1. 해시함수

 해시함수부터 설명하자면 해시함수란 입력의 길이와 상관없이 항상 고정된 길이의 출력을 생성하는 함수입니다.

비트코인의 블록체인에서 사용되는 해시함수는 SHA-256(secure Hash Algorithm 256)입니다. 

글자 하나차이로 결과값이 완전히 달라졌습니다.

해시 함수의 가장 큰 특징은 입력값이 조금만 바뀌어도 결과값이 완전히 달라진다는 것 입니다. 위의 사진을 보시면 

'.' , ','의 차이인데도 결과값이 아예 다르죠?? 

 

 

자! 그렇다면 비트코인에서 해시함수는 어떻게 쓰일까요? 바로 머클 트리에서 사용됩니다.

비트코인은 모든 트랜잭션, 즉 거래에 관한 하나의 해시값을 저장하기 위해 머클 트리를 사용하는데요.

여기서 Tx7이 두 개인 이유는 트랜잭션을 짝수의 개수로 맞추기 위함입니다

두개의 트랜잭션끼리 짝을 짓고 해쉬함수를 통해 도출된 해시 값들을 또 두개씩 짝지어서 최종적으로 모든 트랜잭션을 대표하는 해쉬값이 도출되게 됩니다.

이런 방식을 통해서 블록 내에 있는 2천 ~ 3천개의 모든 트랜잭션은 최종 32바이트 길이의 머클트리 루트의 해시 값으로 요약되어 블록헤더에 저장되는 것입니다!

 

2.암호화 기법

비트코인은 비대칭형 암호화 기법을 사용하는데요. 비대칭형 암호화 기법이란 쉽게 말해서 암호화를 하는 키와 복호화(암호화된 문장을 복원하는 것)를 하는 키가 다른 암호화 기법을 말합니다. 

이 서로 다른 암호화 키와 복호화 키는 쌍을 이루는 특징이 있습니다.

 

3.전자서명 

전자 서명이란 송신자의 메시지 전체를 해시 값으로 만든다음 이를 개인키로 서명한 것을 전자 서명이라고 합니다

 

수신자는 전달받은 전자서명을 송신자의 공개키로 복원한 값과 전달받은 메시지를 해시한 값을 대조해 진위를 파악합니다. 아까 설명했듯 메시지의 값이 조금만 달라져도 해시 값은 다르기 때문에 누군가 중간에 메시지를 조작했다면 전자서명을 통해 얻은 해시값과 메시지를 해쉬한 값이 달라져 조작유무를 파악할 수 있게 됩니다.

 

4. 해시 퍼즐

해시 퍼즐을 이해하려면 우선 작업 증명에 대해서 알아야하는데 작업 증명이란 서비스를 신청하는 자에게 결코 작지않으면서도 처리 가능한 수준의 과제를 요구하는 것으로 보통 컴퓨터 계산 자원을 소모하는 것을 말합니다.

비트코인에 구현된 해시퍼즐을 쉽게 예를 들면 4자리 비밀번호 잠금장치로 비유를 할 수 있습니다 잠금장치를 열려면 0~9999를 다 대입해봐야하는데 무식하게 모든 경우의 수를 대입한 후에 비밀번호를 알게되어 장부에 거래내역을 기록하게되면 또 비밀번호가 리셋되고 시간이 지남에 따라 비밀번호는 4자리에서 6자리~~무한대로 늘게됩니다 그리하여 비트코인의 채굴속도는 반감기에 따라 느려지게 되는 것입니다.

 

 

반응형
반응형

2장에서는 블록체인에 개념에 대한 간단한 용어 정리가 나옵니다. 블록체인 개념에 앞서 간단히 알아두면 이해하기 편한 개념들입니다. 간단한 단어들을 이해하고 책에 대한 내용을 이해하면 쉽게 블록체인을 접할 수 있습니다. 

 

2.1.1 노드와 피어 

 

1. 노드: 네트워크 상에서 컴퓨터를 꼭짓점으로 표현한 것

2. 피어: 각 노드 입장에서 특별히 자신과 직접적으로 연결돼 있는 노드를 피어라고 부름

 

2.1.2 일의 분산대 일의 중복

1. 분산 시스템: 일반적인 분산 시스템으로서 여러 서버가 일을 나눠 처리함으로써 작업의 효율성이나 서비스의 가용성을 높이는 것을 목적

 장점: 분산된 일을 처리하기 때문에 속도 상승, 중앙 서버가 고장 나도 모든 서비스가 중단되는 것을 방지해 가용성 높임

 

2. 블록체인(중복 시스템): 동일한 일을 중복하여 처리, 자원과 시간 투입되지만, 일을 중복하기 때문에 효율성이 극도로 저하, 모든 노드가 일을 반복 후 일치시키므로 결과의 신뢰도가 향상 , 작업의 효율성 희생하고 신뢰도를 높인 시스템

 

2.1.3 브로드 캐스팅

1. 브로드 캐스팅: 상대방을 특정하지 않고, 모든 접속자에게 데이터를 전송하는 방식

> 이를 통해 모든 노드는 동등한 데이터를 갖게 된다, 블록체인에서는 어떤 노드라도 더 많은 데이터를 가질 수 없으며, 모두가 동일한 데이터를 갖게 됨

 

2.1.4 트랜잭션

 

1. 트랜잭션: 금융 분야에서 모든 금융 거래를 폭넓게 의미하고 IT 분야에서는 보통 업무 처리 단위를 이야기한다.

 

2. 블록체인 트랜잭션: ‘거래 내역을 기록’하는 것

 

3. 블록체인: 즉 약 10여분 동안 네트워크에 제출된 트랜잭션(거래내역)을 모아 블록 단위로 처리하고 그 블록 단위로 순서대로 기록하고 있는 것 

 

2.1.5 채굴 & 지갑 소프트웨어

 

1. 블록체인 에서 채굴 = 기록

 

2. 지갑 소프트웨어: 지갑은 주소라는 계정 생성하고 나만의 암호키를 생성해 늘 안전한 거래를 가능하게 해 준다.

 

3. 비트코인 지갑 역할 

 1) 비트코인 주소 생성

 2) 계정 관리를 위한 개인키/ 공개키의 생성과 관리

 3) 비트코인 거래(=트랜잭션)를 시스템에 제출

 4) 비트코인 잔액 관리 등 기타 기능 

 

2.2.1 블록체인의 정의 

 

블록체인: ‘자발적으로 구성된 익명의 네트워크’ 의미하고 네 가지 성질을 만족하도록 설계된 것을 정의

 

1. 각 노드는 자의로 네트워크 구성원으로 참여하거나 탈퇴할 수 있어야 하고 이를 통제하는 어떠한 서버도 없어야 한다. 따라서 구성은 동적이며 어떠한 제약도 없어야 한다.

2. 모든 노드는 동일한 권리와 의무, 정보를 가져야 하며, 어느 한 노드도 더 많은 권한이나 의무, 정보를 가져서는 안 된다.

3. 각 노드는 원할 경우, 향상 기록 및 검증에 참여할 수 있는 권리가 보장되어야 한다.

4. 기록의 불변성은 첫째, 기록자 선정의 무작위성과 둘째, 기록 변경 자체의 어려움이라는 속성을 모두 갖춘 방식으로 구현되어야 한다.

 

> 쉽게 요약하자면 

1번 속성은 자율적인 형성 강조

2번은 내부자에 의한 시스템 남용 방지

3번은 기록 자체에 관한 신뢰를 위한 요소

4번 3에 더해 기록의 비가역성(본디의 모습으로 더하지 않음)을 추구

 

2.2.2 블록체인의 기능적 관점의 정의

 

전산학 관점: “ 익명의 비동기화 네트워크에서 발생하는 사건들을 중앙 서버의 관여 없이도 일관성 있게 순서를 정할 수 있는 장치”

 

 

이번 시간에 는 간단한 블록체인 용어들에 대하여 알아봤습니다. 다음 글에서는 블록체인 이루는 기반 기술에 대하여 알아보겠습니다. 

 

 

반응형
반응형

 비트코인과 가상자산의 실체라는 책을 한 권 모두를 읽고 각각의 장에서는 무엇이 중점적으로 다뤄진 내용인지 내용적인 측면을 읽고 그림을 보면서 책에 대한 전반적인 내용을 설명하겠다. 또한 이 책을 읽고 많은 지식들이 공유되었으면 하는 바람으로 글을 써봅니다. 책을 읽고 중요한 핵심 내용 이외에 내용들은 빼고 간략하고 그림을 통해 이해하기 쉽게 설명해보도록 하겠다. 

 

1.1장 비트코인과 블록 비교 

 기본적으로 비트코인은 블록과 체인의 합성어로 이해할 수 있다. 과거에 비트코인이 처음 나오고 제네시스 블록(흔히 최초의 비트코인 블록이라고 한다)이 생성되고 2020-05-11년 기준 643000번 블록 기준으로 현재까지 생성되었다. 과거의 최초의 블록을 채굴(블록을 만들었을 때) 최초의 보조금은 50비트코인이고, 643000번째 블록의 보조금은 6.25로 상당한 차이가 있는 것을 볼 수 있다. 블록을 만들면(채굴하면) 그 대가로 만든 이는 대가로 보상금이라는 비트코인을 얻는다. 현재까지 많은 반감기를 거치면서 비트코인의 채굴 보상금(보조금 + 수수료)은 적어진 것을 알 수 있다.

 

1.2장 블록과 체인

 

블록: 동시에 처리하는 논리적 데이터 단위를 의미

비트코인 블록: 거래내역을 기록하는 저장 단위 

 

비트코인 블록은 누구나 만들 수 있지만 아무나 만들 수는 없다. 이유는 해시 퍼즐이라고 부르는 퀴즈를 풀어야 하기때문이다. 또한 많은 자원이 들기 때문에 블록을 만드는 것은 쉽지 않다. 블록을 연결하여 체인처럼 연결하였다고 하여 블록체인이라고 부른다. 

 

1.3장 비트코인 단위 종류

 1.3.1 비트코인 단위 종류

 1. 사토시

 2. 마이크로 - 비트코인

 3. 밀리 - 비트코인

 4. BTC

 

비트코인갯수 BTC 밀리-비트코인 마이크로- 비트코인 사토시
1 1BTC 1밀리-비트코인 1마이크로 - 비트코인 1sat
1 1BTC
(= 1sat)
0.001BTC
(= 100000sat)
0.00001BTC
(= 1000sat)
0.00000001
BTC

 

 1.3.2 비트코인 최대 매장량: 2100만 BTC

비트코인은 오직 블록이 새로 생성될 때만 발행되고 블록을 만든 사람에게 지급한다. 블록 생성은 '채굴'을 통한 보상금을 확보하기 위한 행위이다. 채굴과 블록 만들기는 동의어이다. 블록을 생성하기 위해서는 일정 시간 이상 계산 자원을 소비해야 하는데 이를 작업 증명(Prove-Of-Work)이라고 한다. 작업 증명이란 누군가가 블록을 만들어 주어야 하는데, 블록을 만들려면 많은 자원을 투입할 만한 적절한 동기부여가 필요한데 이것이 바로 보상금 개념이다. 앞서 최초 블록과 함께 탄생한 보조금이 50 btc라고 설명했는데 21만 개의 블록이 만들어질 때마다 보조금이 절반으로 줄어들도록 설계돼 있다. 

 

이 지표는 비트코인의 총 누적 생산량으로 2140년이 되면 모든 비트코인 채굴이 중단 될 것이라고 한다. 또한 2140년 채굴 보상은 단지 1 사토시 밖에 되지 않는다. 

 

1.4장 사이버 펑크 

 

1975년 IBM은 미국국립표준기술국의 요청에 따라 새로운 암호체계인 DES를 연구했고, 이 암호화 기술은 민간에도 공개, 기존의 암호화 기술은 군이나 정부가 독점한 상태로 개인정보 악용, 스팸메일의 난립과 정부에 의한 프라이버시 침해에 환멸을 느낀 사람들이 프라이버시를 보호하고자 하는 움직임이 발생하였다. 이는 사이버펑크의 탄생의 배경이 된다. 

사이버 펑크는 '컴퓨터 네트워크를 사용할 때 특히 정부기관으로부터 프라이버시를 보호하기 위해 암호화 기술을 사용하는 사람'을 일컫는다.

 

* 데이비드 차움 - 암호화 퍼즐 기반 새로운 화폐

* 웨이 다이 - 분산 전자 캐리 시스템 제안

* 닉 사보 - 비트코인 채굴 모델의 기본 개념 제공

* 아담 백 - 작업증명 기반의 해시 캐시 제안

* 할 피니 - 재사용 가능한 작업 증명 R-POW 제시

>> 사이버펑크는 비트코인의 원형이 된 다양한 거래 시스템을 제안하였다. 

 

비트코인의 목적: 비트코인의 명백한 목적은 프라이버시 보호 금융기관을 배제한 어나니머스 방식을 택함, 절대 익명을 의미한다. 

 

1.5장 지급 결제 시스템

 

1. 지급: A가 40만원 송금 의뢰 

2. 청산: 금융 결제원에서 A은행과 D은행 간에 서로 주고받아야 할 계산 

3. 결제: 한국은행에 각은행이 개설해 둔 당좌예금 계좌가 있다면 은행은 금융 결제원이 계산한 최종 청산 금액에 A은행에 당좌 예금이 D은행으로 이동한다. 

 

 

 

책에 대하여 간단하게 1장을 알아보았다. 다음 글에서는 2장에 대해 책을 알아보겠다. 

반응형
반응형

 

비트코인과 블록체인에 대하여 알아보기 위하여 블록체인 책을 사서 읽어보고 다음 글 부턴 책에 대한 리뷰를 하겠습니다. 책을 읽고 설명하면서 블록체인에 대하여 부족했던 지식들을 쌓아 보겠습니다. 

반응형

+ Recent posts