[정보] 쉽게 이해하는 블록체인 기술(2)

* 이전 내용

쉽게 이해하는 블록체인 기술(1): https://steemit.com/kr/@loum/1


이전 강의에서는 암호화폐가 암호 + P2P 네트워크로 구성된다는 것을 배웠습니다.
그리고, P2P 네트워크의 구성은 1) 권한이 같은 다수의 피어(노드)들이 2) 그 중에서 일부의 피어들과 연결된다는 것을 알았습니다.

실제로, 비트코인은 최대 8개(?)의 피어와 이더리움의 패리티는 25개의 피어와 연결이 됩니다.

이와 같이, p2p 네트워크에서 다수의 피어들이 하나의 블록체인(DB)를 유지하는 것이 블록체인 기술이라고 했습니다.

이 다수의 피어, 더 구체적으로는 체굴자들이 하나의 블록체인을 P2P 네트워크에서 유지하기 하기 위해서, 채굴자들이 서로 합의를 해야 한다는 것도 알았습니다.

사실, 암호화폐에서 합의 알고리즘이 가장 어렵습니다.


두번재 강의는 블록체인의 구성과 채굴에 대해서 간단히 알아보겠습니다.

이번 강의는 비트코인의 블록체인에 대한 것입니다.

아래의 그림과 같이, 블록체인은 블록 + 체인으로 이루어져 있습니다.

아래의 블록체인에 대한 그림을 주의 깊게 보시기 바랍니다.

블록체인의 특징은 첫번째로 추가전용(append only)의 DB이고 또는 로그 DB입니다.

즉, 내용을 추가만 할 수 있고, 삭제 기능은 없습니다.

두번째로 블록을 주기적으로 생성하고 이를 체인으로 연결하는 것이 특징입니다.

이 방법은 좀 구식방법이죠! 왜냐하면, 기존 서버는 거래(이벤트)를 즉시 처리를 하기 때문입니다.

그러면 왜 이런 구식 방법을 사용할까요?

이는 p2p 네트워크 때문이고, 다수의 피어(채굴자)들이 블록을 누가 만들 것인가를 합의를 해야 하기 때문입니다.

이 때문에, 즉시 처리가 불가능하고, (평균적인) 일정한 시간동안 거래(데이터)를 모아서 거래를 처리하는 방법을 사용합니다.

구체적으로, 블록은N'거래의 모음'으로 1) 소유권 이전 기록, 즉 거래 기록을 포함하고, 또한 2) 거래 위조 방지 등을 위한 헤더부를 더 포함합니다.

1.png

아래의 그림은 블록체인을 보여주고 있습니다.

블록은 세부분으로 구성됩니다.

즉 1) 거래부 2) 헤더부와 3) 블록해시(블록 ID)로 이루어집니다.

먼저 거래부는 다수의 거래 기록을 포함합니다.

두번째 헤더부는 보안용 추가 데이터를 포함합니다.

마지막으로 블록 해시는 해더부에 있는 모든 데이터를 넣어서 만들어집니다.

이 때문에, 헤더부에 어떤 변화가 생기면 당연히 블록 해시가 변하게 됩니다.

비트코인의 헤더부는 6개로 구성이 되어있습니다.

당연히 이 6개 중 하나라도 변하면, 블록해시가 변합니다.

하지만, 이중에서 4개는 반드시 알아야 하며, 암기해 두시면 상당히 도움이 됩니다.

먼저 prev_hash는 체인을 만듭니다.

아래 그림과 같이 block1은 block0의 블록해시, 즉 A를 포함하며, 이것을 이전해시인 prev_hash라고 합니다.

이것에 의해, 아래 그림과 같이 블록이 체인으로 연결되는 것입니다.

즉, 현재 블록에 이전 블록의 블록해시가 반드시 포함되기 때문에 블록이 체인으로 연결되어 블록체인이 되는 것입니다.

mrkl_root는 머클 루트(merkle root)로 이진 머클 트리를 가리키는 것이고, 여기서 알아야 할 것은 거래부에 포함된 거래가 하나라도 바뀌면 머클 루트가 변한다는 것입니다.

이때문에 이것은 거래의 위조 방지 기능을 가집니다.

bits는 이것을 통해서 타겟과 난이도를 구합니다.

타겟을 구하는 수식에 비츠(bits)를 넣으면, 바로 타겟을 구할 수 있습니다.

bits과 nonce은 합의 알고리즘인 작업증명(PoW)을 위한 것입니다.

PoW 합의 알고리즘은 아래와 같습니다.

먼저, 비츠로 타겟을 구하고, 난스(nonce)를 0부터 +1씩 증가시키면서 블록해시를 구하고, 이것이 타켓과 같거나 작은지를 검사를 합니다. 만일 같거나 작으면 원하는 블록해시를 찾은 것이고 아니면, 난스를 +1해서 다시 원하는 블록해시를 찾는 과정을 반복합니다.

만일 블록해시를 찾으면, 채굴자는 다음 블록을 다시 찾게 됩니다.

참고로, 비트코인의 경우 현재 약 2^60 정도를 계산해야 겨우 블록해시를 찾을 수 있다고 합니다.

2.png

이번에는 채굴에 대해서 알아보겠습니다.

채굴은 블록체인 생성과정을 말합니다.

이것은 금속의 채굴과 비슷하게 PoW에서 블록을 생성하는 것이 마치 채굴과 비슷하기 때문에 붙여진 이름입니다.

즉, 엄청나게 계산을 해야 어쩌다가 원하는 블록해시를 발견하고 그 보상이 코인이 주어지기 때문이죠..

앞에서 언급했듯이 암호화폐는 블록을 모아서 주기적으로 생성을 합니다.

비트코인의 블록은 평균 10분마다 생성되며, 약 2500개의 거래를 포함합니다.

3.png

아래는 P2P 네트워크에서 블록생성 과정을 보여줍니다.

그림과 같이 지갑A에서 지갑B로 코인을 보내는 경우를 생각해보겠습니다.

이것을 아래의 P2P네트워크에서 설명을 하면 아래와 같습니다.

빨간색 노드A가 거래를 생성하여 그와 연결된 3개의 이웃 노드에게 이를 전파하고, 이들이 다시 자신과 연결된 이웃 노드에게 전파하는 것을 반복합니다.

그러면 약 1~2초이내에 이 거래가 노드B에 도착을 합니다. 이때는 이 거래가 블록체인에 포함이 안된 상태이며, 이를 unconfirmed transaction(미확인 거래)이라고 합니다.

그 사이 노드(피어)들이 블록해시를 찾으려고 계속 해시 계산을 하고, 이 계산은 블록의 헤더부를 난스를 +1해서 계속 계산합니다. 이 때문에, 비트코인의 계산 능력을 초당 해시 계산능력, 즉 해시레이트(hash rate)로 표시합니다.

그러다가 우연히 보라색 채굴자가 target 과 같거나 작은 블록해시를 찾으면 이를 p2p 네트워크에 전파를 합니다.

블록의 전파는 거래의 전파와 마찬가지로 채굴자와 연결된 이웃 노드에게 전파하고, 이 노드는 다시 자신의 이웃 노드에게 전파를 하여 최종적으로는 이 블록이 거의 전체 노드에 전파됩니다.

이 경우, 지갑A가 거래를 전파했을 때는 아래의 블록체인의 그림과 같이, 블록0과 블록1이로 이루어진 블록체인이 존재했었는데, 이제 보라색의 채굴자가 찾은 블록2가 새로 블록체인에 연결됩니다.

물론, 거래와 블록은 이웃노드에게 전파하기 전에 이를 검증을 하여 이를 통과해야 이를 이웃노드에게 전파를 합니다. 또한 검증을 통과하지 못한 거래 및 블록을 전파한 노드는 불량 노드로 기록되어 여러가지 조치가 취해집니다.

4.png


* 이후의 내용

  1. 합의 알고리즘
  2. 채굴자원문제
  3. EOS 소개
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
192 정보 fun88slot.shop คาสิโนสด และ เดิมพันฟุตบอล leoloo 05-11 19
191 가상화폐 fun88slot.shop ทางเข้าที่ปลอดภัยและรวดเร็ว leoloo 05-11 24
190 가상화폐 fun88slot.shop คาสิโนสด leoloo 05-11 17
189 채굴 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 04-18 33
188 가상화폐 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 04-18 33
187 정보 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 04-18 34
186 채굴 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 04-04 44
185 가상화폐 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 04-04 39
184 정보 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 04-04 46
183 채굴 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 03-23 94
182 가상화폐 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 03-23 103
181 가상화폐 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 03-23 56
180 정보 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 03-23 79
179 정보 ❤️ ✅NEW✅꧂⭐전원 20대✴️한국매니저❇️HD꼴릿실사✨S클래스 라인업❇️극강마인드✴️ 코스프레 03-23 75
178 정보 KEEP!T Column: 블록체인 진영 시리즈(1) 제도권의 시도들 icon Work4Block 04-07 3,255
177 정보 KEEP!T Column: 구글 이후의 시대 - 조지 길더 icon Work4Block 03-15 3,625
176 정보 KEEP!T promotion: 광고에 블록체인의 핵심적 가치를 붙이면 생기는 일 icon Work4Block 03-07 2,844
175 정보 [인터체인 시리즈 I]코스모스 네트워크 I - 데이터 상호운용 방법과 텐더민트 합의 알고리듬 icon Work4Block 01-25 4,188
174 가상화폐 (코인비평) 라인 링크(Link)의 BTC 보상정책과 봉이 김선달 icon Work4Block 01-15 2,617
173 정보 KEEP!T History: 블록체인史 (최종) 블록체인의 새 패러다임을 제시한 이더리움 icon Work4Block 01-10 3,394