TIL DAY 213

오늘 배운 일
블록체인 1탄
우선 블록체인은 블록과 체인의 합성이이다.
분산원장 기술 기반으로 작동하는 탈중앙화 네트워크 시스템이다!
쉽게 설명하면 일정 기간 발생한 거래 내역의 데이터베이스라고 할 수 있다.
그럼 탈중앙화 시스템은 무슨 말일까?
- 의사 결정이나 제어가 특정한 하나의 기관이나 서버가 아닌 다수의 합의에 의해 이루어지는 시스템!

출처 : https://steemit.com/kr/@coininformation/dapp-decentralized-application
블록체인 역사
시초는 사토시 나카모토라는 가명을 쓴 개발자가 은행이나 정부 같은 대규모 기관의 중앙 집중화를 방지하기 위해 비트코인을 개발!
해당 암호화폐의 핵심 기술은 블록체인!
특성
- 무신뢰성
- 익명성
- 추적 가능성
- 탈중앙화
- 분산원장
- 불변성
- 합의된 알고리즘
1 무신뢰성
- 제3자를 신뢰하지 않고, 참여자들이 익명인 상태에서도 시스템이 돌아가는 특성을 가지고 있다.
- 가능한 이유는 투명성인데, 기존의 금융 기관을 믿고 돈을 거래하는과 달리 블록체인을 통해서 누구나 거래 내역들을 확인할 수 있어 빠르게 거래가 성사된다.
2 익명성
- 공개키와 지갑 주소를 통해 거래를 할 수 있다.
- 블록체인의 거래 내역들을 모두가 볼 수 있다 해도, 거래 당사자들의 신원은 드러나지 않는다.
- 그 이유는 해시값이라는 요소때문에 가능하다!
3 추적 가능성
- 블록체인은 말 그래도 블록을 체인에 연결시키는데, 전 블록과 다음 블록은 똑같은 해시값이라는 걸 가지고 있다.
- 모든 거래들을 주소를 가지고 있다.
4 탈중앙화
- 아까 설명했듯이, 중앙화된 시스템이랑 반대 개념으로 한 곳에서 거래를 결정하는게 아니라 모두가 투명하게 내역 확인이 가능하다!
5 분산원장
- 모든 블록체인 사용자들은 똑같은 정보를 공유하고 있다.
- 한 곳에 정보를 저장하는게 아니라, 여러 곳에 분산!
6 불변성
- 리액트를 공부했다면, 한 번쯤 들어봤을 용어
- 말 그대로, 한 번 만들어진 블록의 데이터는 변경할 수 없다.
7. 합의 알고리즘
- 아무리 무신뢰성이라도, 데이터의 신뢰는 중요!
- 사용자들 다같이 합의를 통해 결정을 내린다.
최초의 블록체인 블록은 무엇일까?
- 제네시스 블록이라고 칭하며 블록 0이라고도 부른다.
- 첫 번째 블록이 생성되고 그 이후에 지속적으로 마치 체인되어 이전 블록과 연결된다.
- 보상 코인이라고도 불린다. (채굴자가 첫 번째 블록을 채굴 성공하면, 보상으로 일정 금액의 코인을 지급받는다.)
블록 구조

출처 : https://steemit.com/kr/@yahweh87/3
블록은 두 가지 구조로 형성되어 있다.
헤더와 바디
블록 바디
우선 바디는 거래 내역들의 정보를 갖고 있다. (수수료 금액 포함)
블록 헤더
해시값, 버전, 이전 해시값, 머클루트, 타임스탬프, 난이도 & Bits 그리고 논스가 존재한다.
바디에 있는 거래 내역들을 토대로 헤더에 있는 머클해시값을 만든다.
해시란?
- 해시 값은 데이터를 고유하게 식별하는 고정 길이 숫자 값
- 대용량 데이터를 훨씬 더 작은 숫자 값으로 나타내므로 디지털 서명과 함께 사용
- 만약 해커나 누군가가 블록체인에 이상한 짓을 하면은, 해시값은 빠르게 자동적으로 바뀐다.
- 그리고 수신된 데이터의 해시 값을 전송된 데이터의 해시 값과 비교하여 데이터가 변경되었는지 확인할 수 있다.
- 대표적으로 비트코인의 SHA256은 해시 알고리즘을 쓴다.
( 256비트, 16진수 64자리의 고정된 길이의 문자열을 반환한다. )
끝으로 :
- 계속해서 블록체인에 관한 내용을 작성할 예정이다.
- 진심으로 공부하면서 느끼는데 너무나도 알아야할게 많다 ㅠㅠㅠ