궁금소

블록체인이 무엇인가? -블록체인의 개념-

후니의 궁금소 2024. 1. 11. 01:40
반응형

앞으로 블록체인에 대한 전반적인 내용을 최대힌 쉽게 소개하겠음.

 

보통 사람들은 블록체인 = 코인이라고 생각하는 경우가 대다수, 아니 100중에 99.5명은 그렇다고 생각할거임.

 

결론부터 말하자면 코인은 블록체인 시스템을 유지하기 위한 하나의 수단일 뿐임. 

(예외적으로 비트코인은 오직 화폐시스템의 계혁을 바라면서 나온 블록체인임 즉 목적이 코인이라는 뜻)

 

나무위키에 따르면 블록체인이란

 

"분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술이다." 라고 적혀있음. 이 문장에서 코인에 대한 어떠한 정보도 찾아볼 수 없음.

 

결국 블록체인이란 데이터 위변조 방지 기술인 것임. 블록체인이 나오게 된 계기를 예를 들어 차근차근 설명해 보겠음. 

 

 

1. Alice라는 사람이 여러 사람의 통장을 관리하고 있다고 가정함. 거래 내역들은 수첩(블록체인에서는 "원장", "Ledger"라고 표현)에 모두 기록해놓는 상태.

 

이때, Eve가 Bob에게 1달러를 송금하려고 함. 이때 Eve와 Bob은 둘다 계좌에 10달러의 금액이 있는 상태.

 

송금이 완료 되고 Alice는 수첩에 "Eve가 Bob에게 1달러를 송금함."이라는 문장을 적고 함께 각자의 계좌 내역을 변경함. "Eve 9달러, Bob 11달러".

 

그런데 Eve는 악의적인 마음을 품고 이러한 계좌 내역을 임의대로 변경함. "Bob이 Eve에게 1달러를 송금함." "Eve 11달러 Bob 9달러".

 

Alice는 나중에 조작 흔적을 발견함.

 

2. Alice는 수첩을 금고에 보관하기 시작. (여기서 금고란 그냥 파일에 비밀번호를 적어놨다고 생각)

 

그럼에도 불구하고 Eve는 금고를 따서 자기 멋대로 조작함.

 

Alice는 나중에 조작 흔적을 발견함.

 

3. 화가 난 Alice는 Hash함수를 도입함.

 

해쉬란 어떠한 평문을 해쉬함수에 넣으면 출력값으로 만들어지는 일련의 숫자와 문자를 의미함.

 



위 사진과 같이 input의 길이에는 상관없이 해쉬함수를 통한 output으로 항상 같은 길이의 문자열을 뱉어버리고, input의 미소한 변화라고 해도 

이전과는 완전히 다른 해시를 만들어버림.

 



이렇게 Alice는 거래 내역 밑에 해쉬값또한 적어놓음.

 

이때 Eve는 또 장부(수첩)을 몰래 열어보고 기록을 변경시킨 다음 새로운 해시를 만들어냄.

 



아까 말했듯이 input의 사소한 변화라도 hash값은 완전히 다른 hash값이 도출되어버림.

 

Alice는 이러한 해쉬 함수의 변화를 감지하고 또 해킹 방지를 위한 어떠한 추가적인 장치가 있어야한다고 생각함.

 

5. Alice는 개별 거래에 대한 기록을 복잡하게 만들어야 한다고 생각을 하고

 

매번 거래 내역을 새로 넣을 때 마다 해당 기록과 바로 전의 해시로 부터 생성된 해시를 삽입함.

 

그에 따라 개별 기록은 바로 전의 기록에 따라 결정되게 됨.

 



이제 Eve는 거래 내역을 변경시키기를 원하는 경우 그 전에 있던 모든 해시를 변경시켜야 됨.

 

그럼에도 Eve는 돈을 훔치고자 하는 욕구가 너무 강해서 모든 해시를 변경하기 시작함.

 

6. Alice는 또 보안성을 강화하기 위해 다른 장치를 넣어버림. 바로 Nonce값을을 도입함.

 

그는 매번 기록을 입력할 때마다 새로운 숫자를 더하기로함. 이 숫자는 Nonce(넌스)라고 불리는 것으로 매번 해시가 '00'으로 끝나도록 한 것.

 


이제 Eve는 숫자 조작을 하려면 매 줄마다 넌스값을 찾기 위해 몇 시간이고 시간을 허비해야 함.

 

여기서 중요한 점은 사람들 뿐만 아니라 컴퓨터도 이러한 넌스값을 쉽게 파악하지 못하는 점이다.

 

7. 나중에 Alice는 기록이 너무나도 많아져서 장부를 이런식으로 유지할 수 없음을 깨닫고 5천건의 거래를 기록하고 이를 한 페이지의 스프레드시트로 전환함.

 

한편 Bob은 이 모든 거래가 올바르게 기록되었는지 확인 가능하다.(블록체인의 특징. 모든사람들이 거래 내역을 확인할 수 있음)

 

Alice는 전세계에 걸쳐있는 5천대가 넘는 컴퓨터에 장부를 뿌리고 페이지가 추가될때 마다 규칙대로 해쉬의 맨 끝 두자리가 0인것을 도출하게끔 하는 넌스값을 찾게함.

 

이렇게 한 페이지에 이전 페이지의 해쉬를 포함하고 있으며, Eve는 장부 조작을 위해 각 페이지의 해쉬값이 동일하게 하는 문장들을 모두 찾아야함.

 

여기서 해쉬함수는 비가역적 함수로, 결과를 토대로 input값을 알 수 없다는 특징을 가지고 있으므로, 사실상 해킹이 불가능하다고 보면 됨.

 

 

여기서 페이지란 블록체인의 "블록"을 의미하며, 한 블록에 여러개의 거래(블록체인에선 트랜잭션)가 적혀있음.

 

각 블록에 이전 블록의 해쉬값이 적혀있으므로 마치 체인처럼 연결되었다 해서 블록체인의 용어가 탄생한거임.

 

결국 채굴한다는 것은 해당 조건에 맞는 넌스값을 찾는거임.

 

즉 아까 말한 것 처럼 블록체인은 이러한 블록생성을 다른 사람들에게 맡기고 블록이 생성될 때 그 보상으로 코인을 주는 개념이라고 생각하면 된다.

 

맨 처음 말했던 것 처럼 코인은 시스템 유지의 수단일뿐 목적이 아니다.

 
반응형