안녕하세요, 주니스타입니다.
오늘은 블록체인에 대한 개념을 알아볼 것입니다.
2022년 2월 3일 포스팅에서 하드포크에 대해 자세한 설명을 하는 글을 쓰기로 했습니다.
▼2022년 2월 3일▼
https://junistar.tistory.com/77
하드포크를 설명하기 전에 블록체인을 먼저 알아야 하드포크를 이해할 수 있기 때문에 블록체인에 관한 글을 쓰게 되었습니다.
다들 끝까지 봐주시길 바랍니다.
■ 블록체인
블록에 데이터를 담아 체인 형태로 연결, 수많은 컴퓨터에 동시에 이를 복제해 저장하는 분산형 데이터 저장 기술이다.
공공 거래 장부라고도 부른다.
중앙 집중형 서버에 거래 기록을 보관하지 않고 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며, 거래 때마다 모든 거래 참여자들이 정보를 공유하고 이를 대조해 데이터 위조나 변조를 할 수 없도록 돼 있다.
블록체인의 출발은?
나카모토 사토시가 2007년 글로벌 금융위기 사태를 통해 중앙집권화된 금융시스템의 위험성을 인지하고 개인 간 거래가 가능한 블록체인 기술을 고안했다.
이후 2009년 사토시는 블록체인 기술을 적용해 암호화폐인 비트코인을 개발했다.
블록체인 활용 분야는?
블록체인에 저장하는 정보는 다양하기 때문에 블록체인을 활용할 수 있는 분야도 매우 광범위하다.
대표적으로 가상통화에 사용되는데, 이때는 블록에 금전 거래 내역을 저장해 거래에 참여하는 모든 사용자에게 거래 내역을 보내주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다.
이 밖에도 전자 결제나 디지털 인증뿐만 아니라 화물 추적 시스템, P2P 대출, 원산지부터 유통까지 전 과정을 추적하거나 예술품의 진품 감정, 위조화폐 방지, 전자투표, 전자시민권 발급, 차량 공유, 부동산 등기부, 병원 간 공유되는 의료기록 관리 등 신뢰성이 요구되는 다양한 분야에 활용할 수 있다.
블록체인의 종류는?
블록체인은 크게 퍼블릭 블록체인과 프라이빗 블록체인으로 나뉜다.
퍼블릭 블록체인은 모두에게 개방돼 누구나 참여할 수 있는 형태로 비트코인, 이더리움 등 가상통화가 대표적이다.
프라이빗 블록체인은 기관 또는 기업이 운영하며 사전에 허가를 받은 사람만 사용할 수 있다.
참여자 수가 제한돼 있어 상대적으로 속도가 빠르다.
■ 블록체인 관련 용어
· 블록 (block)
블록은 데이터를 저장하는 단위로, 바디(body)와 헤더(header)로 구분된다.
바디에는 거래 내용이, 헤더에는 머클해시(머클루트)나 넌스(nounce, 암호화와 관련되는 임의의 수) 등의 암호코드가 담겨 있다.
블록은 약 10분을 주기로 생성되며, 거래 기록을 끌어 모아 블록을 만들어 신뢰성을 검증하면서 이전 블록에 연결하여 블록체인 형태가 된다.
여기서 처음 시작된 블록을 제네시스 블록이라고 부른다.
즉, 제네시스 블록은 그 앞에 어떤 블록도 생성되지 않은 최초의 블록을 말한다.
· 노드 (node)
블록체인은 중앙 집중형 서버에 거래 기록을 보관, 관리하지 않고 거래에 참여하는 개개인의 서버들이 모여 네트워크를 유지 및 관리한다.
이 개개인의 서버, 즉 참여자를 노드라고 한다.
중앙 관리자가 없기 때문에 블록을 배포하는 노드의 역할이 중요하며, 참여하는 노드들 가운데 절반 이상의 동의가 있어야 새 블록이 생성된다.
노드들은 블록체인을 컴퓨터에 저장해 놓고 있는데, 일부 노드가 해킹을 당해 기존 내용이 틀어져도 다수의 노드에게 데이터가 남아 있어 계속적으로 데이터를 보존할 수 있다.
· 해시함수
어떤 데이터를 입력해도 같은 길이의 결과를 도출하는 함수이다.
도출되는 결과가 중복될 가능성이 낮고, 결과 값으로 입력 값을 역으로 추정하기 어렵다.
이 때문에 해시 값을 비교하면 데이터의 변경이 발생했는지 파악할 수 있다.
해시함수는 SHA(Secure Hash Algorithm)-1이 처음 고안된 후 더 발전된 형태의 SHA-2(SHA 256)가 나왔는데, 이것을 블록체인에서 사용하고 있다.
SHA-2는 어떤 길이의 값을 입력해도 결과가 256비트로 도출된다.
요약: 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하고, 여러 대의 컴퓨터에 이를 복제해 저장하는 분산형 데이터 저장기술이다. 여러 대의 컴퓨터가 기록을 검증하여 해킹을 막는다.
출처: 시사상식사전, pmg 지식엔진 연구소
이렇게만 봐서는 이해가 잘 가지 않으실 겁니다.
예시를 들어 설명하겠습니다.
주니라는 사람이 스타라는 사람에게 돈을 줘야하는 상황이 생겼습니다.
그러면 주니의 돈이 은행을 거쳐 스타에게 건네집니다.
이것은 우리가 일반적로 사용하는 거래 방법입니다.
은행이 중개인으로 제 3자가 끼어드는 것입니다.
하지만 블록체인은 다릅니다.
10명의 사람이 있다고 가정해봅시다.
이 사람들은 서로에 대해 모르고 오직 계좌와 거래 내역만 알고 있습니다.
10명의 사람들 중 A라는 사람이 B라는 사람에게 돈을 주어야 하는 상황이 생겼습니다.
그때 A가 B에게 돈을 주겠다고 사람들에게 말했습니다.
그리고 이 내용을 노트에 적어달라고 합니다.
사람들은 A에게 돈이 있는지 잔고와 거래 내역을 확인합니다.
문제없다고 판단한 사람들은 A가 말한대로 노트에 거래 내역을 적습니다.
이렇게 거래가 완료됩니다.
다른 거래가 있을 때에도 똑같이 노트에 기록합니다.
그렇다면 왜 블록체인이라고 하는 걸까요?
앞서 설명했던 예시에서 사람들이 썼던 노트가 블록이라고 해봅시다.
사람들은 각자 동일하게 거래 내역이 적힌 블록을 가지고 있습니다.
그러나 블록이 가득 차면 다른 블록을 쌓아 내용을 채웁니다.
그리고 블록끼리 연결지어 보관합니다.
연결 짓는 것을 체인이라고 합니다.
그래서 블록체인이라고 하는 겁니다.
유용한 정보를 얻어가셨길 바랍니다.
다들 잘 보셨다면 공감과 댓글 부탁드립니다.