블록체인이란?
데이터 저장 단위인 블록을 체인 형태로 이어놓은 형태
블록이란?
데이터를 저장하는 단위
ex) 책 한 페이지, 갤러리에 있는 사진 한 개
블록을 어떤 기준으로 연결할 것인가?
위에서 예시로 들은 책이란 한 페이지 한 페이지를 흐름의 순서대로 엮어 만든 것이다. 갤러리에 있는 사진들은 시간의 순서대로 정렬할 수 있다. 그렇다면 블록은 어떤 기준으로 연결될까? 답은 해시 함수이다.
해시 함수
수학 시간에 배운 함수 y = f(x)들 중에서 특별한 성질을 가진 함수이다. x를 가지고 y를 얻기엔 쉬우나 y를 가지고 x를 얻기는 엄어어어어어어어청 힘들다. 이러한 성질을 비가역성이라고 한다.
ex) 빨간색 물감 + 파란색 물감 (x) => 보라색 물감 (y), 이때 보라색 물감이 주어졌을 때 빨간색 물감과 파란색 물감으로 나누기 힘들다.
비가역성이란 성질을 가지고 블록들이 연결되어 있기 때문에 변조가 힘들다.
ex) 블록 5번을 1번이라고 변조하고 싶다면 엄청 어려운 문제를 4번이나 풀어야 한다.
포크
한 블록에서 해시함수로 이어진 블록이 2개 이상인 경우
ex) 블록체인이 주로 쓰이는 거래장부에서 어떠한 사람이 거래 기록을 자기 마음대로 바꾸었을 경우
이러한 포크가 일어나지 않게 하기 위해 사용되는 것이 합의 알고리즘이다. 합의를 통해 포크를 없애면 하나의 긴 체인이 남는다. 이 체인을 정격 체인이라고 한다. 정격 체인에 있는 기록만이 올바른 기록이라고 인정을 받는다.
합의 알고리즘
체인에 연결될 후보 블록들(위의 예시 사진 중 마지막 2개의 블록)중에서 연결시킬 블록을 합의할 때 필요한 알고리즘
요약
블록체인을 이해하기 위해 블록과 체인을 알아보았다.
블록체인이 포크되지 않고 하나의 체인으로 유지되기 위해서 필요한 것이 합의 알고리즘이다.
앞으로 공부할 것
합의 알고리즘의 종류
참고문헌
www.youtube.com/watch?v=iWpMvpzvqQo
'블록체인' 카테고리의 다른 글
하이퍼레저 패브릭 v1.4 환경구축 (0) | 2021.04.19 |
---|---|
블록체인과 속도 (0) | 2021.03.26 |
What is the "Hyperledger Besu"? (0) | 2021.02.02 |
하이퍼레저 패브릭(Hyperledger Fabric) (0) | 2020.12.26 |
합의 알고리즘 (0) | 2020.12.26 |
댓글