블록체인 기술, 그게 도대체 뭔데!?
안녕하세요. 오늘은 '블록체인 기술'에 대해 이야기해보려고 합니다.
1. 블록체인 기술
그렇다면 블록체인이란 무엇인지 알아보도록 하겠습니다. 블록체인은 비즈니스 네트워크에서 흔적을 기록하고 자산 흐름을 추적하는 과정을 쉽게 하는 기술입니다. 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술이며 한국에서는 블록체인 기반 암호화폐의 줄임말로 '블록체인'이라 부릅니다.
P2P 방식을 기반으로 소규모 데이터들이 사슬 형태로 무수하게 연결되어 '블록'이라는 분산 데이터 저장 환경에 해당 데이터를 저장하며 누구도 임의로 수정할 수 없고 변경의 결과를 열람할 수 있도록 만드는 기술입니다. P2P 방식은 Peer to Peer의 줄임말로 중앙 서버를 거치지 않고 클라이언트 컴퓨터끼리 직접적으로 통신하는 방식을 의미합니다.
각 블록에는 해당 블록이 발견되기 이전에 사용자들에게 전파되었던 모든 거래 명세가 기록되어 있습니다. 이때 이는 P2P 방식을 통해 모든 사용자에게 동일한 정보가 전달되기 때문에 거래 명세를 임의로 수정하거나 누락되는 것은 불가능합니다. 블록은 발견된 날짜와 이전 블록에 대한 연결고리를 가지고 있으며 이런 블록들이 연결된 것을 블록체인이라고 부릅니다. 쉽게 말하자면 다양한 기록을 한 묶음으로 만드는 기술을 의미합니다.
기존에 전자화폐로 거래하게 되면 이를 모두 중앙 서버에 기록을 보관하게 됩니다. 하지만 블록체인은 모든 사용자에게 거래 기록을 보여주며 서로 비교를 통해 위조를 막습니다.
블록체인은 우리가 흔히 아는 비트코인, 이더리움, 에이다 등등이 돌아갈 수 있는 기반입니다. 쉽게 말하자면 블록체인이라고 하는 것은 블록들이 모여있는 체인입니다. 여기서 블록이라는 단어를 데이터베이스로 바꾸면 블록체인은 더하기만 가능한 데이터 베이스라고 보면됩니다.
이 데이터베이스는 삭제는 불가능하며 추가만 가능한 구조로 이뤄져 있습니다. 오로지 추가만 가능한, 편집도 불가능한 데이터베이스라고 할 수 있습니다. 예를 들어 대학교 학위라는 블록체인이 있다면 내가 가진 대학교 학위는 블록체인에 추가가 되며 절대 편집과 삭제가 불가능합니다. 이 블록체인에 정부는 운전면허증, 지원금 사용명세 등을 기록할 수 있습니다. 해당 정보는 누구도 삭제할 수 없으며 정보 그대로 잘 보관될 수 있습니다.
또한 블록체인은 '탈중앙화'가 가능합니다. '탈중앙화'란 특정 개인이 데이터베이스를 관리할 수 없다는 뜻입니다. 우리 모두가 동일한 데이터베이스를 가지고 있어 누군가 거짓말을 한다면 다들 공통의 정보인 데이터베이스를 가지고 있기 때문에 거짓말은 통하지 않게 됩니다.
즉, 분산된 동일한 데이터베이스라고 보시면 됩니다. 바로 이 때문에 크립토를 감시하거나 통제하기가 힘들어집니다. 너무나 많은 사람이 비트코인 노드를 돌리고 있고, 우리가 모두 동일한 데이터베이스를 가지고 있기 때문에 우리가 모두 컴퓨터를 끄면 비트코인에 대한 정보를 없앨 수 있습니다. 하지만 이는 현실적으로 가능하지 않습니다. 그렇기 때문에 크립토커런시는 정부의 감시나 통제에 대응할 수 있는 것입니다.
2. 블록체인은 어떻게 만들어지는 것인지
이제 '해시(Hash)'에 대한 이야기를 해보려고 합니다. 해시는 수학 함수인데 한 개의 input을 주면 output이 나오는 걸 의미합니다. 여기서 핵심은 '일방향 함수' 이고 '결정론적'이라는 것입니다. 결정론적이라고 하는 것은 하나의 input에 있어 output은 항상 같은 것으로 정해져 있다는 걸 의미합니다. 하지만 이 역은 이뤄지지 않는다는 것입니다. 우리가 딸기주스를 만드는 것과 같은 원리입니다. 우리가 딸기를 갈면 주스가 나오지만, 그 반대는 이뤄질 수 없는 것입니다. 딸기주스는 딸기가 될 수 없습니다.
여기서 이게 중요한 이유는 이 방식이 블록들이 서로 연결된 방식이며 '체인'을 만드는 것입니다. 내가 블록이 되고 비트코인 블록체인에 추가되고 싶다고 하면 해야 하는 것은 비트코인의 결제명세를 모으면 됩니다. 데이터베이스에 해당하는 부분입니다. 이제 '해시'가 필요합니다. 해시도 모아서 하나의 주머니에 담습니다. 이제 내 주머니에는 나의 데이터와 해시가 들어있습니다. 이제 이걸 다시 해시 하는 과정이 필요합니다. 이걸 해시 하면 나만의 해시가 생기고 블록체인에 블록을 추가할 수 있는 것입니다.
조금 더 쉽게 표현해 보자면 나의 데이터를 A, 해시를 B라고 하겠습니다. A+B로 이뤄진 블록이 하나 있습니다. 그리고 우리는 새로운 블록을 만들어 주는데 이 블록은 B+C(새로운 해시) 입니다. 그럼 우리는 A+B블록과 B+C블록을 계속 연결하며 블록체인을 만들어가는 것입니다.
오늘 이렇게 블록체인에 대해서 간략하게 알아보았습니다.