블록체인이란?

0Xkong
DOKDO DAO
9 min readApr 13, 2022

--

“누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하고, 여러 대의 컴퓨터에 이를 복제해 저장하는 분산형 데이터 저장기술이다. 여러 대의 컴퓨터가 기록을 검증하여 해킹을 막는다.”

-네이버 지식백과, 블록체인 요약문

0. 들어가며

흔히 ‘코인’이라 부르는 암호화폐의 실현에는 ‘블록체인’이라는 기술이 핵심적인 요소가 됩니다. Web 3.0, DAO, 탈중앙화와 같이 미래를 이끌어나갈 기술 트랜드들은 하나같이 블록체인을 기반으로 하고 있습니다. 그렇기에 블록체인을 이해하는 것은 다가올 사회를 준비하는데 있어 매우 중요한 일입니다. 하지만, 블록체인이 무엇인지 알아보기 위해 검색하면 ‘트랜잭션’, ‘마이닝’, ‘해시함수’ 등 어려운 용어가 많이 나오기에 이해가 어려울 수도 있습니다. 그렇기에 블록체인이 무엇인지 최대한 쉽게 설명하는 글의 필요성이 느껴져 이 글을 작성합니다.

1. 블록체인이란?

블록체인이란 말 그대로 블록 + 체인을 의미합니다. 즉, 블록체인은 블록으로 체인을 만든다는 의미입니다. 그렇다면 도대체 블록은 무엇이고, 체인은 무엇일까요? 하나씩 차근차근 살펴보겠습니다.

블록이란?

블록이란, 한 번에 일어난 일을 적은 것입니다. 예를 들어, 여러 사람이 소설을 같이 쓰는 릴레이 소설을 쓴다고 해봅시다. 이 릴레이 소설의 규칙은 특이하게도 자신이 소설 속 인물이 되도록 쓰고, 자신이 쓸 차례가 되면 자신이 어떤 행동을 했는지 쓰는 것입니다. 허니팟, 스완, 콩, 귱이 소설을 쓴다면 다음과 같이 진행될 것입니다.

릴레이소설을 쓸 경우

이처럼 각 인물이 한 행동을 하나씩 적어나감으로써 소설 한 편을 쓸 수 있습니다. 누군가 이 릴레이 소설의 뒷부분을 쓰려고 한다면, 적혀있는 각각의 행동을 통해 지금 상황이 허니팟이 콩에게 총을 겨누고 있는 긴장감 있는 상황이라는 것을 알 수 있을 것입니다. 즉, 각각의 인물이 한 번에 했던 일을 적어놓고 그것을 이어서 본다면, 지금은 어떤 상황인지 알 수 있습니다.

위에서 언급했듯, 블록은 한 번에 일어난 일을 적은 것입니다. 그리고 릴레이 소설의 예시에서 알 수 있듯이 한 번에 일어난 일들, 블록들을 모아서 보면 현재의 상황을 알 수 있습니다. 이것이 블록체인에서 말하는 블록의 기본 원리입니다. 좀 더 자세히 알기 위해 이번에는 코인에서 쓰이는 블록체인의 블록을 예시로 들어보겠습니다.

코인을 송금할 경우

위의 예시에서, 콩과 스완은 보유한 코인의 수가 변하지 않았고 허니팟과 귱은 보유한 코인이 1 비트씩 적어졌다는 것을 알 수 있습니다. 이처럼, 코인을 주고받거나, 구매/판매한 내역을 블록으로 전부 모아서 보면 지금 누가 코인을 얼마나 갖고 있는지 알 수 있습니다. 기존의 금융체계에서는 각자의 은행 잔고를 컴퓨터 상에 저장해두고, 잔고를 계속해서 수정하는 방식으로 현재 고객들이 갖고 있는 잔액을 관리해왔습니다. 하지만, 블록체인에서는 블록 단위로 관리되는 거래 내역을 통해 현재의 잔액을 관리한다는 차이가 있습니다.

요약하면, 거래 내역(블록)을 하나씩 적어놓은 뒤, 이를 모아놓고 봐서 현재의 잔액을 유추하는 방식이 블록체인의 방식입니다. 이런 방식을 사용해도 가장 중요한 내용인 고객의 잔고를 확인하는 것에는 문제가 없다는 것은 충분히 납득할 수 있습니다. 하지만, 어째서 “이런 불편한 방식을 굳이 왜 사용하는가?”라는 생각이 들 수 있습니다. 이는 블록체인의 두 번째 핵심 단어, 체인을 통해서 알 수 있습니다.

체인이란?

체인이란, 일어난 일들을 나열해서 묶어놓은 것입니다. 다시 말해, 블록을 서로 연결한 것을 체인이라고 부릅니다. 체인이 무엇인지에 대해 설명하는 것은 사실 너무 단순한 내용이라 별로 중요하지 않습니다. 중요한 것은, 블록들을 왜 체인으로 묶어서 관리하냐는 것입니다.

체인으로 묶인 블록들은, 블록체인을 사용하는 모든 사람들에게 공유됩니다. 즉, 한 블록체인의 모든 사용자들은 체인의 복사본을 각자 소유하고 있습니다. 블록체인에서는 모든 거래내역의 복사본을 각 사용자가 소유하기 위해서 블록을 체인으로 묶어서 관리합니다.

체인은 모두에게 공유된다

모든 사용자가 체인의 복사본을 갖고 있어야하기 때문에 서로의 체인에 다른 내용의 블록이 있지는 않은지, 자신이 갖고 있는 체인에 아직 추가되지 않은 블록이 있는지 등을 계속 확인해줘야합니다. 만약 다른 사람들의 체인과 자신의 체인이 일치하지 않는다면, 다른 사람들의 체인을 받아와서 자신의 체인을 수정해야하는 번거로운 작업을 필요로 합니다.

하지만, 블록으로 거래 내역을 관리하고 체인을 복사하며 체인을 관리해주는 이 번거로운 작업은 하나의 이점으로 모두 상쇄가 됩니다. 바로 뛰어난 ‘안정성’과 ‘보안’입니다. 이를 위해 거래 내역을 조작하려는 해커가 해킹을 시도하는 상황을 예로 들겠습니다.

해킹이 일어났을 때

해커가 어느 사용자를 해킹해서 체인을 수정한다해도, 해커는 자신이 원하는 결과를 얻을 수 없습니다. 왜냐하면 다른 사람들이 갖고 있는 체인의 정보와 해킹당한 사용자의 체인의 내용이 서로 달라지기 때문입니다. 다른 사람들이 허니팟의 해킹당한 체인을 보더라도 다른 체인들과 내용이 다르기 때문에 잘못된 것을 눈치챌 것입니다. 마찬가지로 허니팟은 자신의 체인과 다른 사람의 체인의 내용이 다르기 때문에, 이를 일치시키는 작업을 통해 해킹당한 블록을 원상복구 시킬 것입니다. 결국 해커의 노력은 헛수고로 돌아가게 됩니다.

해커가 체인을 자신이 원하는데로 수정 하려면 블록체인 사용자들의 체인의 절반 이상을 동시에 해킹 해야합니다. 하지만, 이는 다음과 같은 이유에서 매우 어려워집니다.

· 사용자들의 체인 절반 이상의 수정 권한을 뺏는 것은 매우 힘들다.

· 수정 권한을 뺏는데 성공한다 쳐도, 동시에 수정하지 않는다면 결국 복구될 것이다.

· 하지만 동시에 절반 이상의 체인을 수정하는 것은 컴퓨터 성능의 한계 때문에 힘들다.

이렇듯 거래내역을 블록으로 만들어내고, 체인을 복사하고, 체인을 일치시키는 번거로운 작업은 그 이상으로 해커가 해킹을 시도하는 작업을 훨씬 더 번거롭고 어렵게 만들어냅니다. 그렇기 때문에 이를 감수하고 블록체인을 사용하는 것입니다. 물론 그 밖에도 새로운 블록을 체인에 연결할 때 쓰이는 기술이나 새로운 블록을 만들 때 쓰이는 기술 때문에도 해킹은 더욱 더 힘들지만, 이는 다른 글에서 다루도록 하겠습니다.

블록체인이란?

“누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하고, 여러 대의 컴퓨터에 이를 복제해 저장하는 분산형 데이터 저장기술이다. 여러 대의 컴퓨터가 기록을 검증하여 해킹을 막는다.”

-네이버 지식백과, 블록체인 요약문

이제 우리는 글 맨 위에 인용해둔 지식백과의 설명을 이해할 수 있습니다. 거래 내역을 하나하나 블록으로 만들어서 체인으로 연결하고, 체인의 복사본을 서로 소유/일치시키는 작업을 통해 해커로부터 보호하는 것. 이것이 바로 블록체인의 의미이자 작동 방식입니다.

2. 코인과 블록체인

암호화폐의 대표주자인 비트코인을 만든 나카모토 사토시는 자신이 원하는 암호화폐를 만들기 위해 블록체인이라는 개념을 고안했다고 합니다. 나카모토 사토시는 은행에서 돈을 관리하는 기존의 금융체계의 문제점을 해결하기 위해 암호화폐, 흔히 말하는 코인을 만들어내기로 하였고, 이것이 바로 비트코인인 것입니다.

블록체인을 만든 나카모토 사토시는 비트코인을 만들었다

즉, 블록체인은 애초에 코인을 만들어내기 위해 만들어낸 기술이므로 코인과 블록체인은 땔 수 없는 관계에 있습니다. 두 개념이 서로 어떤 관계가 있는지 간단히 몇 가지를 나열해보겠습니다.

첫째, 탈중앙화

블록체인 방식은 각 사용자가 소유한 체인이 핵심이므로 은행과 같이 중앙에서 관리해주는 기관이 필요하지 않습니다. 비트코인으로 시작된 코인은 2008년 서브프라임 모기지 사태로 대표되는 중앙 은행 체계의 문제점을 해결하기 위해 고안된 것입니다. 그렇기에, 사용자들 모두가 체인을 소유하여 체계의 신뢰성을 보장해주는 블록체인 기술은 코인의 기본 이념과 일치합니다.

둘째, 보안성

중앙에서 돈을 관리하는 은행의 경우, 수 많은 보안 전문가가 은행 체계의 보안을 유지하고 있습니다. 그렇기에 마치 견고한 성벽에 둘러쌓인 성처럼, 사람들이 은행이 안전하다고 믿을 수 있는 것입니다. 마찬가지로 코인도 결국은 돈이기 때문에 이러한 보안이 보장되어야 합니다. 블록체인은 위에서 설명했듯이 해킹하기 매우 어려운 구조로 이루어져있습니다. 그렇기 때문에 보안성이 보장되는 블록체인은 코인, 다시 말해 돈을 관리하기에 적합한 기술이라고 할 수 있습니다.

셋째, 확장성

은행은 언제나 새로운 고객이 자유롭고 간편하게 계좌를 만들 수 있어야합니다. 블록체인의 사용자가 되기 위해서는 단순히 체인의 복사본을 받고, 자신이 거래를 할 때마다 거래내역을 블록으로 만들어 체인에 추가해주기만 하면 됩니다. 은행과 같은 중앙기관없이 각 개인의 가치를 중요시 여기는 코인의 특성상, 각 개인이 손쉽게 블록체인에 참여할 수 있는 이러한 특성은 코인의 확장성을 보장해줍니다.

3. Conclusion

탈중앙화 시대가 찾아오면서 탈중앙화 체계의 화폐가 되어줄 암호화폐, 코인의 중요성은 나날이 높아지고 있습니다. 코인과 블록체인의 긴밀한 관계로 인해 코인을 이해하기 위해서는, 더 나아가 탈중앙화 시대를 이해하기 위해서는 블록체인을 공부하고 이해하는 것은 피할 수 없는 일이 되었습니다.

이 글에서는 블록체인이 무엇인지 이해하는 것을 목표로 하고 있기 때문에, 블록체인에 새로운 블록을 추가하는 ‘트랜잭션’이나 블록을 검증하는 ‘전자서명’, ‘마이닝’ 같은 키워드들은 다루지 않고 있습니다. 이러한 키워드를 이해하는 것은 블록체인을 더 깊이 이해하게 해주며, 다른 글들을 통해 앞으로 차근차근 다루고자 합니다.

--

--